aboutsummaryrefslogtreecommitdiff
path: root/lume/src/_components/XeblogSlide.tsx
blob: 09c75bc6888617c7058418f554bef37b9834676d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
export interface XeblogSlideProps {
  name: string;
  essential?: boolean;
  desc?: string;
}

export default function XeblogSlide({ name, essential, desc }: XeblogSlideProps) {
  return (
    <figure class={essential ? "xeblog-sides-essential" : "xeblog-slides-fluff"}>
      <picture>
        <source
          type="image/avif"
          srcset={`https://cdn.xeiaso.net/file/christine-static/talks/${name}.avif`}
        />
        <source
          type="image/webp"
          srcset={`https://cdn.xeiaso.net/file/christine-static/talks/${name}.webp`}
        />
        <img
          alt={desc || `Slide ${name}`}
          loading="lazy"
          src={`https://cdn.xeiaso.net/file/christine-static/talks/${name}.jpg`}
        />
      </picture>
      {desc && <figcaption>{desc}</figcaption>}
    </figure>
  );
}