/** * ShareDialog - Modal for generating share links for medication schedules * Allows sharing schedule view for a specific person */ import { useTranslation } from "react-i18next"; export interface ShareDialogProps { show: boolean; sharePeople: string[]; shareSelectedPerson: string; onShareSelectedPersonChange: (person: string) => void; shareSelectedDays: number; onShareSelectedDaysChange: (days: number) => void; shareGenerating: boolean; shareLink: string | null; onShareLinkChange: (link: string | null) => void; shareCopied: boolean; onShareCopiedChange: (copied: boolean) => void; onClose: () => void; onGenerateShareLink: () => Promise; onCopyShareLink: () => void; } export function ShareDialog({ show, sharePeople, shareSelectedPerson, onShareSelectedPersonChange, shareSelectedDays, onShareSelectedDaysChange, shareGenerating, shareLink, onShareLinkChange, shareCopied, onShareCopiedChange, onClose, onGenerateShareLink, onCopyShareLink, }: ShareDialogProps) { const { t } = useTranslation(); if (!show) return null; return (
e.stopPropagation()}>

🔗 {t("share.title")}

{t("share.description")}

{sharePeople.length === 0 ? (

{t("share.noPeople")}

) : shareLink ? (

{t("share.linkGenerated")}

(e.target as HTMLInputElement).select()} />
{shareCopied && {t("share.copied")}}
) : (
)}
); }