"use client"; import React, { useState } from "react"; import { JournalPost } from "./types"; import { X, Heart, Share2, CornerDownRight, Check, BookOpen, Volume2 } from "lucide-react"; interface PostDetailModalProps { post: JournalPost | null; onClose: () => void; onTagClick: (tag: string) => void; } export const PostDetailModal: React.FC = ({ post, onClose, onTagClick, }) => { const [likes, setLikes] = useState(post?.likes || 0); const [hasLiked, setHasLiked] = useState(false); const [copied, setCopied] = useState(false); if (!post) return null; const handleLike = () => { if (!hasLiked) { setLikes((prev) => prev + 1); setHasLiked(true); } else { setLikes((prev) => prev - 1); setHasLiked(false); } }; const handleShare = () => { navigator.clipboard.writeText(window.location.href); setCopied(true); setTimeout(() => setCopied(false), 2000); }; return (
e.stopPropagation()} > {/* Top binder clip */}
{/* Close Button */} {/* Metadata Header */}
{post.date} • {post.timestamp} {post.moodLabel} {post.stampedText && ( {post.stampedText} )}
{/* Post Title */} {post.title && (

{post.title}

)} {/* Polaroid Image if any */} {post.imageUrl && (
{post.imageCaption {post.imageCaption && (
{post.imageCaption}
)}
)} {/* Code Snippet if any */} {post.codeSnippet && (
{post.title || "snippet.rs"} {post.codeLanguage || "code"}
              {post.codeSnippet}
            
)} {/* Body Content */}
{post.content}
{/* Margin Notes */} {post.marginNotes && post.marginNotes.length > 0 && (
Yazarın El Yazısı Notları:
{post.marginNotes.map((note, idx) => (
{note}
))}
)} {/* Tags */}
{post.tags.map((tag) => ( ))}
{/* Actions */}
); };