grain.social is a photo sharing platform built on atproto.
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}