Sifa professional network frontend (Next.js, React, TailwindCSS)
sifa.id/
1'use client';
2
3import { useTranslations } from 'next-intl';
4import { ArrowSquareOut } from '@phosphor-icons/react';
5import { useProfileEdit } from '@/components/profile-edit-provider';
6
7interface DataTransparencyCardProps {
8 did: string;
9}
10
11export function DataTransparencyCard({ did }: DataTransparencyCardProps) {
12 const t = useTranslations('dataTransparency');
13 const { previewMode } = useProfileEdit();
14
15 if (previewMode) return null;
16
17 const viewerUrl = `https://atproto.at/viewer?uri=${did}`;
18
19 return (
20 <section
21 className="mt-4 rounded-xl border border-border bg-card p-4"
22 aria-labelledby="data-transparency-title"
23 >
24 <h2 id="data-transparency-title" className="text-sm font-semibold">
25 {t('title')}
26 </h2>
27 <p className="mt-1 text-sm text-muted-foreground">{t('body')}</p>
28 <a
29 href={viewerUrl}
30 target="_blank"
31 rel="noopener noreferrer"
32 className="mt-3 inline-flex items-center gap-1.5 text-sm font-medium text-primary underline-offset-4 hover:underline"
33 >
34 {t('viewRawData')}
35 <ArrowSquareOut className="h-4 w-4" weight="bold" aria-hidden="true" />
36 </a>
37 </section>
38 );
39}