Dev'de API anahtarı yokken üretilen mock rapor DB'ye kaydediliyordu;
anahtar sonradan eklenince kullanıcı başına tek rapor kuralı yüzünden o
bayat mock gerçek AI çıktısıymış gibi servis edilmeye devam ediyordu.
Rapor tablosunu okuyan her yer (sonuc/listem/yazdir/odeme-sonuc sayfaları,
liste action'ları, soru API'si, dev panel) artık src/lib/rapor-kaydi.ts
içindeki kullanicininRaporu() kapısından geçiyor: gerçek AI aktifken
mock üretimi kayıt "yok" sayılır, kullanıcı gerçek listeyi yeniden üretir.
Yeni mock kayıtlar devMock işareti taşır; eskiler metin ön ekinden tanınır.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Updated Dockerfile to create a cache directory for Next.js runtime, ensuring proper permissions and ownership.
- Enhanced the authentication flow by updating the magic link expiration time from 5 to 15 minutes, improving user experience and reducing login issues.
- Added user-friendly error handling for invalid or expired magic links, providing clear feedback on the login page.
- Adjusted email templates to reflect the new 15-minute validity period for magic links.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Tüm AI akışı OpenRouter üzerinden (openai SDK, varsayılan model
deepseek/deepseek-v4-flash, OPENROUTER_MODEL ile değiştirilebilir);
Anthropic/Gemini/lokal sağlayıcı seçimi ve SDK'ları kaldırıldı.
- Rapor: aday havuzu dilim başına 20 (60 program, ~8k token prompt);
AI şeması sabit uzunluklu üç liste (hayal 5 / dengeli 13 / garanti 6 —
dağılım şema düzeyinde zorlanır), sıra + dilim + riskNotu + trendOzeti
gerçek sıra geçmişinden deterministik üretilir; 184 sn → ~12 sn.
- Sohbet: akış ortası zaman aşımı artık sessizce yutulmaz (kesik cevap
tam cevap gibi kaydedilmiyordu, kredi iadesi çalışmıyordu); istemci
hata anında durumu sunucudan senkronlar, boş balon bırakmaz.
- aiHataMesaji, openai SDK'nın .name'i "Error" kalan abort/timeout
hatalarını da yakalar; meraklisina şeması yeni akışla senkronlandı.
- CI: OPENROUTER_API_KEY / OPENROUTER_MODEL secret'ları; eski AI
secret'ları kaldırıldı. next.config serverExternalPackages sadeleşti.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Added new scripts for database operations and temporary production in package.json.
- Integrated KaydetBannerLazy component into the layout for improved user notifications.
- Enhanced API error handling in the soru route to mark credit exhaustion.
- Updated the IletisimPage for better button styling and user experience.
- Refactored ListemPage to streamline user flow and improve session handling.
- Removed unused ListePaneli component to clean up the codebase.
- Added @google/genai dependency for enhanced AI capabilities.
- Updated CI workflow to include new environment variables for AI integration.
- Refactored AI client to support multiple providers and improved key management.
- Enhanced email templates for better user engagement and clarity.
- Updated error handling in AI-related functions to provide clearer feedback.
- Made various improvements to the application structure and code clarity.
- Updated app.db to reflect recent changes.
- Added a Suspense-wrapped SosyalKanitBandi component in the Home page for improved user engagement.
- Refactored the sendMagicLinkEmail function in auth.ts to handle errors more effectively, ensuring users receive appropriate feedback on email sending issues.
- Removed the Rybbit live visitor widget from the site footer for a cleaner design.
- Updated AGENTS.md with new guidelines for UI consistency, including badge and modal styles.
- Refactored layout.tsx to improve the placement of the progressive blur effect.
- Enhanced NotFound component text for better user guidance.
- Replaced HeroFocusButton with HeroBaslik and KapanisCta in the Home component for improved clarity.
- Added SiteFooter to multiple pages for consistent footer display.
- Removed ListemSekmeleri component and adjusted ListemPage to streamline functionality.
- Updated various components to ensure consistent styling and user experience.
- Introduced a new "detay" script in package.json for additional processing.
- Refactored ListemSekmeleri component to improve tab functionality and state management.
- Updated UI elements for better user interaction and clarity, including renaming "Seçtiklerim" to "Kendi Listem" for consistency across the application.
- Made adjustments to related components for improved integration and user experience.
- Dev paneli: DEV çipinden layoutId morph ile büyüyüp küçülür (kritik sönümlü
spring), yarı saydam malzeme (backdrop-blur + saturate), basışta anında
scale geri bildirimi, Escape ile kapanış, reduced-motion/transparency desteği
- TypingAnimation ve TextLoop: prefers-reduced-motion'da sonsuz döngü durur,
ilk metin sabit gösterilir
- kt-unblur: reduced-motion'da blur çözülmesi yerine kısa yumuşak belirme
- Sihirbaz: reduced-motion'da adım geçişinde height/x anında oturur;
adım noktalarında transition-all yerine kapsamlı geçiş özellikleri
- Sihirbaz il adımındaki arama kutusu kaldırıldı; tüm iller program sayısına
göre sıralı çip olarak listelenir
- /giris: spinner yerine kartın iskeletini gösteren route-level Skeleton
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Kritik (K1-K6) sonrası kalan tüm maddeler:
- Değer önce: girişsiz kullanıcı sihirbaz bitince /giris yerine /sonuc'taki
ücretsiz tabloya gider (?hazir=1); AI CTA'sı "5 deneme kredinle listeni
kur — giriş yap" paneli + sabit alt karttan verilir, girişte otomatik üretim
- Ö1-Ö10: paywall kopyası, aranabilir il seçimi, "Seçtiklerim" adlandırması,
gizlilik/koşullar/iletişim sayfaları, danışman özeti + uyarılar, revizyon
kutusu, dilim özeti + tek şehir uyarısı, eksik veri rozetleri, magic link
yeniden gönder, mobil sohbet kısayolu
- G1-G5: binlik ayraçlı input + inline hata, adım göstergesi, route-level
loading/error/not-found, dürüst konumlandırma kartı, dürüst buton etiketleri
- Seçtiklerim butonu liste boşken gizli; ilk eklemede belirir
- Dev süperadmin paneli (yalnızca development): hızlı giriş, kredi/paket/rapor
senaryoları, sahte ödeme dönüşü
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Updated the `page.tsx` component to enhance user experience with new UI elements and improved layout.
- Modified the `funnel-banner.tsx` to include dynamic text and improved styling for better engagement.
- Adjusted the `liste-paneli.tsx` to provide clearer information on user credits and package details.
- Enhanced the `rapor-listesi.tsx` to display additional data points for better insights.
- Updated the database schema in `app.db` to reflect recent changes in the application logic.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Modified redirects in next.config.ts to change the destination for "/sohbet" to "/listem".
- Added new dependencies in package.json: marked, motion, react-markdown, remark-breaks, remark-gfm, shiki, and use-stick-to-bottom.
- Updated pnpm-lock.yaml to reflect the new package versions and dependencies.
- Removed obsolete stack files for Flutter, Nuxt, Nuxt.js, React Native, and Svelte from the UI/UX Pro Max skill data.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>