A calm place to write long-form, and publish it to the open social web.
skypress.blog/
1---
2import { KNOWN_PROVIDERS, type ProviderId } from '../lib/publish/providers';
3
4interface Props {
5 provider: ProviderId | null;
6 size?: number;
7 class?: string;
8}
9
10const { provider, size = 14, class: className } = Astro.props;
11
12// Glyph + label data is shared with the React `ProviderLogo.tsx` via lib/publish/providers.
13// `body` is a hardcoded registry constant (never user/PDS content), so `set:html` is trusted.
14const logo = provider ? KNOWN_PROVIDERS[ provider ] : null;
15---
16
17{
18 logo && (
19 <svg
20 class={className}
21 width={size}
22 height={size}
23 viewBox={logo.viewBox}
24 role="img"
25 aria-label={logo.label}
26 set:html={logo.body}
27 />
28 )
29}