BlueSky & more on desktop
lazurite.stormlightlabs.org/
tauri
rust
typescript
bluesky
appview
atproto
solid
1import { Icon } from "$/components/shared/Icon";
2import { Show } from "solid-js";
3
4type LexiconIconProps = { class?: string; src: string | null; title: string };
5
6export function LexiconIcon(props: LexiconIconProps) {
7 return (
8 <div class={`flex items-center justify-center rounded-xl bg-primary/15 ${props.class ?? ""}`.trim()}>
9 <Show when={props.src} fallback={<Icon kind="folder" class="text-primary text-xl" />}>
10 {(src) => (
11 <img
12 class="h-full w-full rounded-xl object-cover p-2"
13 src={src()}
14 alt={`${props.title} favicon`}
15 loading="lazy" />
16 )}
17 </Show>
18 </div>
19 );
20}