"use client"; import React, { useState } from "react"; import { JournalPost, MoodType, PostType } from "./types"; import { MOODS } from "./mockData"; import { X, Feather, Sparkles, Tag, StickyNote, BookOpen, Code, Camera, Volume2, Check } from "lucide-react"; interface NewPostModalProps { isOpen: boolean; onClose: () => void; onAddPost: (post: JournalPost) => void; } export const NewPostModal: React.FC = ({ isOpen, onClose, onAddPost, }) => { const [type, setType] = useState("sticky"); const [mood, setMood] = useState("spark"); const [title, setTitle] = useState(""); const [content, setContent] = useState(""); const [marginNote, setMarginNote] = useState(""); const [tagInput, setTagInput] = useState(""); const [codeSnippet, setCodeSnippet] = useState(""); const [stampedText, setStampedText] = useState("KARALAMA"); if (!isOpen) return null; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (!content.trim()) return; const now = new Date(); const dateStr = now.toLocaleDateString("tr-TR", { day: "2-digit", month: "short", year: "numeric", }).toUpperCase(); const timeStr = now.toLocaleTimeString("tr-TR", { hour: "2-digit", minute: "2-digit", }); const moodObj = MOODS.find((m) => m.id === mood) || MOODS[0]; const tags = tagInput .split(",") .map((t) => t.trim().replace(/^#/, "")) .filter((t) => t.length > 0); if (tags.length === 0) tags.push("yeni-not"); const newPost: JournalPost = { id: `post-${Date.now()}`, type, date: dateStr, timestamp: timeStr, mood, moodLabel: moodObj.label, title: title.trim() ? title : undefined, content, marginNotes: marginNote.trim() ? [marginNote.trim()] : undefined, tags, likes: 1, stampedText: stampedText || moodObj.stampText, codeSnippet: type === "code" && codeSnippet.trim() ? codeSnippet : undefined, codeLanguage: type === "code" ? "typescript" : undefined, }; onAddPost(newPost); // Reset form setTitle(""); setContent(""); setMarginNote(""); setTagInput(""); setCodeSnippet(""); onClose(); }; return (
e.stopPropagation()} > {/* Washi Tape across top */}
{/* Header */}

Yeni Düşünce Karala

Aklına gelen o saçma veya harika şeyi hemen kaydet

{/* Format Selector */}
{/* Mood Selector */}
{MOODS.filter((m) => m.id !== "all").map((m) => ( ))}
{/* Title (for notebook or code) */} {type !== "sticky" && (
setTitle(e.target.value)} placeholder="Yazı veya karalama başlığı..." className="w-full px-3 py-2 text-sm bg-white/80 border border-[#18181B]/15 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#E11D48]/30 font-serif" />
)} {/* Main Content */}