grain.social is a photo sharing platform built on atproto.
at main 33 lines 931 B view raw
1import { LabelValueDefinition } from "$lexicon/types/com/atproto/label/defs.ts"; 2import { profileLink } from "../utils.ts"; 3import { Dialog } from "./Dialog.tsx"; 4 5export function LabelDefinitionDialog({ 6 labelValueDefinition, 7 labelByHandle, 8}: Readonly<{ 9 labelValueDefinition: LabelValueDefinition; 10 labelByHandle: string; 11}>) { 12 const enLocale = labelValueDefinition.locales?.find( 13 (locale) => locale.lang === "en", 14 ); 15 return ( 16 <Dialog id="mod-decision-dialog"> 17 <Dialog.Content class="gap-2"> 18 <Dialog.X class="fill-zinc-950 dark:fill-zinc-50" /> 19 <Dialog.Title>{enLocale?.name}</Dialog.Title> 20 <p>{enLocale?.description}</p> 21 <p> 22 Source:{" "} 23 <a 24 href={profileLink(labelByHandle)} 25 class="text-sky-500 hover:underline" 26 > 27 @{labelByHandle} 28 </a> 29 </p> 30 </Dialog.Content> 31 </Dialog> 32 ); 33}