diff --git a/.artifacts/next-dev.err.log b/.artifacts/next-dev.err.log new file mode 100644 index 0000000..e69de29 diff --git a/.artifacts/next-dev.out.log b/.artifacts/next-dev.out.log new file mode 100644 index 0000000..cdd03f2 --- /dev/null +++ b/.artifacts/next-dev.out.log @@ -0,0 +1,19 @@ + +> mood-tracker-mvp@0.1.0 dev D:\Poyraz\kodlama\Introduction-to-Data-Visualization-Project-Assignment +> next dev "--port" "3010" + +▲ Next.js 16.2.6 (Turbopack) +- Local: http://localhost:3010 +- Network: http://192.168.0.114:3010 +- Environments: .env.local +✓ Ready in 1070ms +Creating turbopack project { + dir: 'D:\\Poyraz\\kodlama\\Introduction-to-Data-Visualization-Project-Assignment', + testMode: true +} + +○ Compiling /login ... + GET /login 200 in 8.7s (next.js: 7.6s, proxy.ts: 335ms, application-code: 738ms) + GET /register 200 in 8.4s (next.js: 8.0s, proxy.ts: 10ms, application-code: 395ms) +[?25h + ELIFECYCLE Command failed with exit code 1. diff --git a/app/(dashboard)/journal/page.tsx b/app/(dashboard)/journal/page.tsx index 661ae89..822c997 100644 --- a/app/(dashboard)/journal/page.tsx +++ b/app/(dashboard)/journal/page.tsx @@ -1,19 +1,19 @@ "use client"; import { useState } from "react"; -import { v4 as uuidv4 } from "uuid"; import { useLiveQuery } from "dexie-react-hooks"; -import { db } from "@/lib/db"; +import { v4 as uuidv4 } from "uuid"; + import { analyzeJournalWithLocalAI } from "@/lib/ai"; +import { db } from "@/lib/db"; +import { Button } from "@/components/ui/button"; import { Card, CardContent, + CardDescription, CardHeader, CardTitle, - CardDescription, - CardFooter, } from "@/components/ui/card"; -import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; @@ -31,22 +31,23 @@ export default function JournalPage() { const [energy, setEnergy] = useState("3"); const [isSubmitting, setIsSubmitting] = useState(false); - // Dexie.js üzerinden günlükleri tarih sırasına göre çekiyoruz (en yeni en üstte) + // Dexie.js üzerinden günlükleri tarih sırasına göre çekiyoruz (en yeni en üstte). const journals = useLiveQuery(() => db.journals.orderBy("date").reverse().toArray(), ); - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault(); + const handleSubmit = async (event: React.FormEvent) => { + event.preventDefault(); if (!content.trim()) return; setIsSubmitting(true); + const now = new Date().toISOString(); const entryId = uuidv4(); - const currentContent = content; // Analiz için metni kopyala + const currentContent = content; try { - // 1. Veriyi veritabanına hemen ekle (Kullanıcı beklemesin) + // Veriyi önce kaydet, AI analizini daha sonra arka planda tamamla. await db.journals.add({ id: entryId, date: now.split("T")[0], @@ -57,12 +58,10 @@ export default function JournalPage() { updated_at: now, }); - // UI'ı Sıfırla setContent(""); setEnergy("3"); setMood("happy"); - // 2. Arka planda AI Analizi başlat try { const aiResult = await analyzeJournalWithLocalAI(currentContent); if (aiResult) { @@ -72,8 +71,7 @@ export default function JournalPage() { ai_summary: aiResult.ai_summary, }); - // Eğer AI görev önerdiyse Görevler tablosuna at (pending / onay bekliyor yapısı eklenebilir ama direkt atalım) - if (aiResult.suggested_tasks && aiResult.suggested_tasks.length > 0) { + if (aiResult.suggested_tasks?.length) { for (const taskTitle of aiResult.suggested_tasks) { await db.tasks.add({ id: uuidv4(), @@ -87,8 +85,8 @@ export default function JournalPage() { } } } - } catch (aiErr) { - console.error("Arka plan AI analizi hatası:", aiErr); + } catch (aiError) { + console.error("Arka plan AI analizi hatası:", aiError); } } catch (error) { console.error("Günlük kaydedilemedi:", error); @@ -104,7 +102,7 @@ export default function JournalPage() { }; return ( -
@@ -119,27 +117,28 @@ export default function JournalPage() {