diff --git a/frontend/src/components/drawer/LetterItem.tsx b/frontend/src/components/drawer/LetterItem.tsx index 0c1cd58..418b521 100644 --- a/frontend/src/components/drawer/LetterItem.tsx +++ b/frontend/src/components/drawer/LetterItem.tsx @@ -2,6 +2,15 @@ import { LockIcon, LockKeyOpenIcon } from "@phosphor-icons/react"; import { useNavigate } from "react-router-dom"; import { PATHS } from "../../config/routes"; +interface LetterItemProps { + preview: string; + timestamp: string; + id: string; + status: "DRAFT" | "SEALED" | "BURNED"; + unlock_at?: string; + isLocked?: boolean; +} + export function LetterItem({ preview, timestamp, @@ -9,14 +18,7 @@ export function LetterItem({ status, unlock_at, isLocked = false, -}: { - preview: string; - timestamp: string; - id: string; - status: "DRAFT" | "SEALED" | "BURNED"; - unlock_at?: string; - isLocked?: boolean; -}) { +}: LetterItemProps) { const navigate = useNavigate(); function handleNavigate(): void { if (isLocked) return; diff --git a/frontend/src/components/reader/BurnModal.tsx b/frontend/src/components/reader/BurnModal.tsx index 4fdb372..e5e5154 100644 --- a/frontend/src/components/reader/BurnModal.tsx +++ b/frontend/src/components/reader/BurnModal.tsx @@ -1,12 +1,19 @@ import { CampfireIcon, FlameIcon, XCircleIcon } from "@phosphor-icons/react"; import { useEffect, useState } from "react"; +interface BurnModalProps { + burnLetter: () => void; + isBurning: boolean; + setShowBurnModal: (show: boolean) => void; + setRevealState: (state: "sealed" | "revealed" | "burning" | "burned") => void; +} + export function BurnModal({ burnLetter, isBurning, setShowBurnModal, setRevealState, -}) { +}: BurnModalProps) { const [flameOn, setFlameOn] = useState(0); const [rotate, setRotate] = useState(0); const [burnClicked, setBurnClicked] = useState(false); diff --git a/frontend/src/components/reader/ShareModal.tsx b/frontend/src/components/reader/ShareModal.tsx index 20bfc2e..4c094b2 100644 --- a/frontend/src/components/reader/ShareModal.tsx +++ b/frontend/src/components/reader/ShareModal.tsx @@ -4,7 +4,12 @@ import { XCircleIcon, } from "@phosphor-icons/react"; -export function ShareModal({ shareLink, setShareLink }) { +interface ShareModalProps { + shareLink: string | null; + setShareLink: (link: string | null) => void; +} + +export function ShareModal({ shareLink, setShareLink }: ShareModalProps) { const copyToClipboard = async () => { if (!shareLink) return; await navigator.clipboard.writeText(shareLink); diff --git a/frontend/src/pages/Reader.tsx b/frontend/src/pages/Reader.tsx index ef09c98..537334b 100644 --- a/frontend/src/pages/Reader.tsx +++ b/frontend/src/pages/Reader.tsx @@ -44,7 +44,7 @@ export default function Reader() { const [isDecrypting, setIsDecrypting] = useState(true); const [revealState, setRevealState] = useState< - "sealed" | "revealed" | "burned" + "sealed" | "revealed" | "burned" | "burning" >("sealed"); const [error, setError] = useState<{ message: string;