diff --git a/package.json b/package.json
index 815066c..4013a95 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,7 @@
"axios": "^1.13.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
+ "dayjs": "^1.11.20",
"framer-motion": "^12.38.0",
"i18next": "^25.6.0",
"lucide-react": "^1.7.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 22127de..020e36e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -41,6 +41,9 @@ importers:
clsx:
specifier: ^2.1.1
version: 2.1.1
+ dayjs:
+ specifier: ^1.11.20
+ version: 1.11.20
framer-motion:
specifier: ^12.38.0
version: 12.38.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
@@ -1960,6 +1963,9 @@ packages:
resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
engines: {node: '>= 0.4'}
+ dayjs@1.11.20:
+ resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==}
+
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -5657,6 +5663,8 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.2
+ dayjs@1.11.20: {}
+
debug@3.2.7:
dependencies:
ms: 2.1.3
diff --git a/src/app/[locale]/(dashboard)/dashboard/tools/page.tsx b/src/app/[locale]/(dashboard)/dashboard/tools/page.tsx
index b13a226..ff44536 100644
--- a/src/app/[locale]/(dashboard)/dashboard/tools/page.tsx
+++ b/src/app/[locale]/(dashboard)/dashboard/tools/page.tsx
@@ -61,19 +61,37 @@ function ToolCard({
whileHover={{ scale: 1.02 }}
className="group relative h-full glass p-6 rounded-2xl border border-[var(--color-border-faint)] overflow-hidden"
>
- {/* Spotlight */}
+ {/* Spotlight & Glowing Border effect */}
+ {this.state.error?.stack || this.state.error?.message || "Bilinmeyen bir hata oluştu"}
+
+
+ Eski JSON yapısı sebebiyle başlık önerileri bulunamadı. Lütfen analizi yeniden yapın.
+ )} +{analysis.psychologicalTheme || "Veri yok."}
+{analysis.thumbnailConcept || "Veri yok."}
+{neuroDirection}
+Soru analizi bulunamadı.
+{analysis.seoAnalysis.searchIntent || "Belirtilmemiş"}
+{analysis.seoAnalysis.descriptionTemplate || "Belirtilmemiş"}
+{analysis.marketingAnalysis.audiencePsychology || "Belirtilmemiş"}
+{analysis.marketingAnalysis.thumbnailHookAlignment || "Belirtilmemiş"}
+SEO & Pazarlama analizi bulunamadı.
+{point}
+Veri bulunamadı.
+ )} +{item.suggestion}
+Veri bulunamadı.
+ )} +{analysis.crisisManagement.potentialBacklash || "Veri yok."}
+{analysis.crisisManagement.prStrategy || "Veri yok."}
+{sponsor.reasoning}
+{sponsor.integrationIdea}
+Kriz ve Sponsor analizi bulunamadı.
++ Bölüm tasarımınızı başlatmak için analiz butonuna tıklayın. Yapay zeka, referans verilerinizi kullanarak 5 katmanlı bir üretim dosyası hazırlayacaktır. +
+ {episode.status !== 'ANALYZING' && ( + + )} ++ Yeni bölümünüz için boşluk analizi, şeytanın avukatı argümanları, segment yapıları ve görsel DNA oluşturuluyor... +
+{this.state.error?.toString()}
+
+ + Formatınızı yönetin, verisetinizi genişletin ve yeni bölümler tasarlayın. +
++ {project.formatDescription || "Format açıklaması girilmemiş. Ayarlardan ekleyebilirsiniz."} +
+ +{videoError}
} + + {youtubeVideos.length === 0 ? ( +Video eklenmedi.
+{docError}
} + + {manualDocs.length === 0 ? ( +Manuel doküman eklenmedi.
++ Verisetinizi ekledikten sonra ilk bölüm tasarımınızı oluşturun. +
++ Bu format için yeni bir bölümün Ön-Yapım (Pre-Production) sürecini başlatın. +
++ (Legacy) TXT dosyalarını manuel olarak yükleyerek analiz yapmak için bu alanı kullanabilirsiniz. +
+ +{status}
++ Gemini Live Native Audio • 24.0kHz PCM +
+TubeStrategist Master Analysis Report
+ + ${strategy.generatedThumbnail ? `${s.description}
+${strategy.neuroReport.eyeTrackingFocus}
+${strategy.neuroReport.colorPsychology}
+${h.platform}: ${h.text}
`).join('')} +${strategy.seoAnalysis.optimizedTitle}
+${strategy.seoAnalysis.tags.join(', ')}
+"${c.text}"
+Yazar: ${c.username} | Kaynak Dosya: ${c.sourceFile}
+"{strategy.hook || strategy.projectDNA?.coreMessage}"
+Atmosfer: {strategy.projectDNA?.tone || currentTone}
+İçgörü: {strategy.inspiredByGap}
+Hedef Kitle: {strategy.projectDNA.audiencePersona}
+{q}
+{short.description}
+{strategy.crisisManagement.potentialBacklash}
+{strategy.crisisManagement.prStrategy}
+İzleyiciyi videonun sonunda yoruma teşvik edecek kışkırtıcı veya düşündürücü sorular:
+{hook}
++ {strategy.sponsorIntegration} +
+{s.description}
+"{c.text}"
+{c.insightValue}
+{strategy.thumbnailConcept}
+"{strategy.neuroReport.eyeTrackingFocus}"
+{p}
+"{h.text}"
+{strategy.seoAnalysis.tags?.join(', ')}
+Sponsorlu anahtar kelimeler ve rakip açıkları dahil edilmiştir.
+{strategy.seoAnalysis.competitorGap}
+{alt.title}
+ {alt.psychologicalAngle} +Neuro
+"{strategy.seoAnalysis.metaDescription}"
+İçeriğe doğal entegrasyon ve yerel marka önerileri.
+%{strategy.commercialAnalysis.brandSafetyScore}
+Derin analiz butonuyla marka stratejisini ve mail taslaklarını detaylandırabilirsiniz.
++ Beklenmeyen bir hata oluştu. Lütfen aşağıdaki hata detayını kopyalayarak AI asistana iletin: +
+ +Hata Mesajı:
+
+ {error.message}
+
+
+ {error.stack && (
+ <>
+ Stack Trace:
+
+ {error.stack}
+
+ >
+ )}
+
+ {error.digest && (
+ Digest: {error.digest}
+ )} +YouTube Kanal Zekası ve Viral İçerik Kurgulama Motoru
+Projeleriniz Yükleniyor...
++ Hemen yeni bir Tube Strategist projesi oluşturun, rakiplerinizin veya kendi videolarınızın linklerini ekleyerek analizlere başlayın. +
+ +{idea.context}
+{idea.context || idea.description}
+ {idea.hook && ( +Önerilen Kanca (Hook):
+{idea.hook}
+