From 7d2b2ddd711ec7eb04a38f987f245ddd45ac1e1a Mon Sep 17 00:00:00 2001 From: bilalgursen Date: Sat, 8 Aug 2026 01:34:50 +0300 Subject: [PATCH] =?UTF-8?q?refactor:=20liste=20feature'=C4=B1=20=E2=80=94?= =?UTF-8?q?=20manuel-liste=20toptan=20ta=C5=9F=C4=B1nd=C4=B1=20(Faz=207)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - src/components/manuel-liste/ → src/features/liste/: kayitli-liste-actions → liste-actions, store → liste-store, dogrula → liste-dogrula, giris-url → liste-giris-url, oturum-sinyali → liste-oturum-sinyali, profil-kapisi-store → hooks/use-tercih-profili; 12 tsx → components/ - program-tablosu.tsx ve tercih-haritasi.tsx da features/liste/components'a geldi (rapor ve katalog cross-import ediyor) - app/layout.tsx'in 3 global mount'u (ListeCekmecesiLazy, KaydetBannerLazy, TercihProfiliKapisiLazy) yeni feature yollarından import ediliyor - liste-queries.ts /sonuc dönüşümüyle Faz 9'da gelecek - Davranış değişikliği yok; store/localStorage anahtarları aynı Co-Authored-By: Claude Fable 5 --- src/app/layout.tsx | 6 +++--- src/app/listem/listem-bos-cta.tsx | 2 +- src/app/listem/listem-govde.tsx | 2 +- src/app/odeme/sonuc/rapor-yok-cta.tsx | 2 +- src/app/sonuc/page.tsx | 4 ++-- src/components/arama-funnel-karti.tsx | 2 +- src/features/katalog/components/bolum-program-listesi.tsx | 2 +- src/features/katalog/components/katalog-arama.tsx | 2 +- .../katalog/components/universite-program-tablosu.tsx | 2 +- src/features/kullanici/components/user-nav.tsx | 4 ++-- .../liste/components}/cihaz-ikonlari.tsx | 0 .../liste/components}/kaydet-banner-lazy.tsx | 0 .../liste/components}/kaydet-banner.tsx | 6 +++--- .../liste/components}/liste-cekmecesi-lazy.tsx | 0 .../liste/components}/liste-cekmecesi.tsx | 8 ++++---- .../liste/components}/liste-senkron.tsx | 6 +++--- .../liste/components}/listem-butonu.tsx | 2 +- .../liste/components}/manuel-harita.tsx | 4 ++-- .../liste/components}/program-ekle-butonu.tsx | 4 ++-- src/{ => features/liste}/components/program-tablosu.tsx | 2 +- .../liste/components}/secimlerim-paneli.tsx | 4 ++-- src/{ => features/liste}/components/tercih-haritasi.tsx | 0 .../liste/components}/tercih-profili-kapisi-lazy.tsx | 0 .../liste/components}/tercih-profili-kapisi.tsx | 2 +- .../liste/hooks/use-tercih-profili.ts} | 2 +- .../liste/liste-actions.ts} | 2 +- .../dogrula.ts => features/liste/liste-dogrula.ts} | 0 .../giris-url.ts => features/liste/liste-giris-url.ts} | 0 .../liste/liste-oturum-sinyali.ts} | 0 .../store.ts => features/liste/liste-store.ts} | 2 +- src/features/pazarlama/components/hero-baslik.tsx | 2 +- src/features/pazarlama/components/hero-focus-button.tsx | 2 +- src/features/pazarlama/components/meraklisina-demo.tsx | 2 +- src/features/sihirbaz/components/cta-sira-form.tsx | 2 +- src/features/sihirbaz/components/hero-form.tsx | 2 +- src/features/sihirbaz/components/sira-gerekli.tsx | 2 +- src/lib/harita-pinler.ts | 2 +- 37 files changed, 43 insertions(+), 43 deletions(-) rename src/{components/manuel-liste => features/liste/components}/cihaz-ikonlari.tsx (100%) rename src/{components/manuel-liste => features/liste/components}/kaydet-banner-lazy.tsx (100%) rename src/{components/manuel-liste => features/liste/components}/kaydet-banner.tsx (96%) rename src/{components/manuel-liste => features/liste/components}/liste-cekmecesi-lazy.tsx (100%) rename src/{components/manuel-liste => features/liste/components}/liste-cekmecesi.tsx (98%) rename src/{components/manuel-liste => features/liste/components}/liste-senkron.tsx (94%) rename src/{components/manuel-liste => features/liste/components}/listem-butonu.tsx (98%) rename src/{components/manuel-liste => features/liste/components}/manuel-harita.tsx (93%) rename src/{components/manuel-liste => features/liste/components}/program-ekle-butonu.tsx (96%) rename src/{ => features/liste}/components/program-tablosu.tsx (99%) rename src/{components/manuel-liste => features/liste/components}/secimlerim-paneli.tsx (99%) rename src/{ => features/liste}/components/tercih-haritasi.tsx (100%) rename src/{components/manuel-liste => features/liste/components}/tercih-profili-kapisi-lazy.tsx (100%) rename src/{components/manuel-liste => features/liste/components}/tercih-profili-kapisi.tsx (99%) rename src/{components/manuel-liste/profil-kapisi-store.ts => features/liste/hooks/use-tercih-profili.ts} (99%) rename src/{components/manuel-liste/kayitli-liste-actions.ts => features/liste/liste-actions.ts} (98%) rename src/{components/manuel-liste/dogrula.ts => features/liste/liste-dogrula.ts} (100%) rename src/{components/manuel-liste/giris-url.ts => features/liste/liste-giris-url.ts} (100%) rename src/{components/manuel-liste/oturum-sinyali.ts => features/liste/liste-oturum-sinyali.ts} (100%) rename src/{components/manuel-liste/store.ts => features/liste/liste-store.ts} (99%) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 1c13d8d..97fcb66 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -5,9 +5,9 @@ import localFont from "next/font/local"; import { Toaster } from "@/components/ui/sonner"; import { SiteHeader } from "@/components/site-header"; import { SiteTopBanner } from "@/components/site-top-banner"; -import { ListeCekmecesiLazy } from "@/components/manuel-liste/liste-cekmecesi-lazy"; -import { KaydetBannerLazy } from "@/components/manuel-liste/kaydet-banner-lazy"; -import { TercihProfiliKapisiLazy } from "@/components/manuel-liste/tercih-profili-kapisi-lazy"; +import { ListeCekmecesiLazy } from "@/features/liste/components/liste-cekmecesi-lazy"; +import { KaydetBannerLazy } from "@/features/liste/components/kaydet-banner-lazy"; +import { TercihProfiliKapisiLazy } from "@/features/liste/components/tercih-profili-kapisi-lazy"; import { HeaderGate } from "@/components/header-gate"; import { ProgressiveBlur } from "@/components/ui/skiper-ui/skiper41"; import { DevPanel } from "@/components/dev/dev-panel"; diff --git a/src/app/listem/listem-bos-cta.tsx b/src/app/listem/listem-bos-cta.tsx index f08c56f..ec5f5dc 100644 --- a/src/app/listem/listem-bos-cta.tsx +++ b/src/app/listem/listem-bos-cta.tsx @@ -4,7 +4,7 @@ import Link from "next/link"; import { ArrowRight } from "lucide-react"; import { Button } from "@/components/ui/button"; import { PagePixelDivider } from "@/components/pixel-decor"; -import { useTercihProfili } from "@/components/manuel-liste/profil-kapisi-store"; +import { useTercihProfili } from "@/features/liste/hooks/use-tercih-profili"; import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler"; /** diff --git a/src/app/listem/listem-govde.tsx b/src/app/listem/listem-govde.tsx index 059c4ec..8ef3ef7 100644 --- a/src/app/listem/listem-govde.tsx +++ b/src/app/listem/listem-govde.tsx @@ -18,7 +18,7 @@ import { import { Button } from "@/components/ui/button"; import { RaporListesi } from "@/components/rapor-listesi"; import { useGorunumOlayi } from "@/components/use-gorunum-olayi"; -import { TercihHaritasi } from "@/components/tercih-haritasi"; +import { TercihHaritasi } from "@/features/liste/components/tercih-haritasi"; import { pinleriTuret } from "@/lib/harita-pinler"; import type { RaporSonuc } from "@/features/rapor/types/rapor"; import { SohbetClient, type DanismanOzeti, type Mesaj } from "./sohbet-client"; diff --git a/src/app/odeme/sonuc/rapor-yok-cta.tsx b/src/app/odeme/sonuc/rapor-yok-cta.tsx index 7b2bc68..71bdb0d 100644 --- a/src/app/odeme/sonuc/rapor-yok-cta.tsx +++ b/src/app/odeme/sonuc/rapor-yok-cta.tsx @@ -3,7 +3,7 @@ import Link from "next/link"; import { ArrowRight } from "lucide-react"; import { Button } from "@/components/ui/button"; -import { useTercihProfili } from "@/components/manuel-liste/profil-kapisi-store"; +import { useTercihProfili } from "@/features/liste/hooks/use-tercih-profili"; import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler"; /** diff --git a/src/app/sonuc/page.tsx b/src/app/sonuc/page.tsx index 8cf27d0..b995e3c 100644 --- a/src/app/sonuc/page.tsx +++ b/src/app/sonuc/page.tsx @@ -6,8 +6,8 @@ import { kullanicininRaporu } from "@/lib/rapor-kaydi"; import { tadimlikSec } from "@/lib/tadimlik-havuzu"; import { SihirbazBolumu } from "@/features/sihirbaz/components/sihirbaz-cagri-karti"; import { TadimlikSatiri } from "./tadimlik-satiri"; -import { ProgramTablosu } from "@/components/program-tablosu"; -import { ManuelHarita } from "@/components/manuel-liste/manuel-harita"; +import { ProgramTablosu } from "@/features/liste/components/program-tablosu"; +import { ManuelHarita } from "@/features/liste/components/manuel-harita"; import { SiteFooter } from "@/components/site-footer"; import { SiraGerekli } from "@/features/sihirbaz/components/sira-gerekli"; diff --git a/src/components/arama-funnel-karti.tsx b/src/components/arama-funnel-karti.tsx index 84e6cec..c221bc6 100644 --- a/src/components/arama-funnel-karti.tsx +++ b/src/components/arama-funnel-karti.tsx @@ -14,7 +14,7 @@ import { SIHIRBAZ_AC_EVENT, sonucHref } from "@/features/sihirbaz/sihirbaz-sabit import { profilToplamaAc, useTercihProfili, -} from "@/components/manuel-liste/profil-kapisi-store"; +} from "@/features/liste/hooks/use-tercih-profili"; const FUNNEL_METINLERI = [ "Sıralamana en uygun listeyi birlikte kuralım.", diff --git a/src/features/katalog/components/bolum-program-listesi.tsx b/src/features/katalog/components/bolum-program-listesi.tsx index ba9fc1c..d7896fb 100644 --- a/src/features/katalog/components/bolum-program-listesi.tsx +++ b/src/features/katalog/components/bolum-program-listesi.tsx @@ -10,7 +10,7 @@ import { ProgramSiraGecmisi, ProgramTabanTrendi, } from "@/components/program-liste-verileri"; -import { ProgramEkleButonu } from "@/components/manuel-liste/program-ekle-butonu"; +import { ProgramEkleButonu } from "@/features/liste/components/program-ekle-butonu"; import { ProgramNetleriButonu } from "./program-netleri"; import { UniLogo } from "@/components/uni-logo"; import { diff --git a/src/features/katalog/components/katalog-arama.tsx b/src/features/katalog/components/katalog-arama.tsx index 3d26f97..a5765b7 100644 --- a/src/features/katalog/components/katalog-arama.tsx +++ b/src/features/katalog/components/katalog-arama.tsx @@ -12,7 +12,7 @@ import { profilDuzenlemeyiAc, sonucaGitIste, useTercihProfili, -} from "@/components/manuel-liste/profil-kapisi-store"; +} from "@/features/liste/hooks/use-tercih-profili"; import { PUAN_TURU_ETIKET } from "@/features/sihirbaz/sihirbaz-sabitler"; import { olay } from "@/lib/analitik"; import { diff --git a/src/features/katalog/components/universite-program-tablosu.tsx b/src/features/katalog/components/universite-program-tablosu.tsx index b6e2035..af39dde 100644 --- a/src/features/katalog/components/universite-program-tablosu.tsx +++ b/src/features/katalog/components/universite-program-tablosu.tsx @@ -7,7 +7,7 @@ import { ProgramTabanTrendi, programEtkinSira, } from "@/components/program-liste-verileri"; -import { ProgramEkleButonu } from "@/components/manuel-liste/program-ekle-butonu"; +import { ProgramEkleButonu } from "@/features/liste/components/program-ekle-butonu"; import { ProgramNetleriButonu } from "./program-netleri"; import { Table, diff --git a/src/features/kullanici/components/user-nav.tsx b/src/features/kullanici/components/user-nav.tsx index 396436a..5b43f6a 100644 --- a/src/features/kullanici/components/user-nav.tsx +++ b/src/features/kullanici/components/user-nav.tsx @@ -2,8 +2,8 @@ import Link from "next/link"; import { Coins } from "lucide-react"; import { getCurrentUser } from "@/lib/session"; import { Button } from "@/components/ui/button"; -import { ListemButonu } from "@/components/manuel-liste/listem-butonu"; -import { ListeSenkron } from "@/components/manuel-liste/liste-senkron"; +import { ListemButonu } from "@/features/liste/components/listem-butonu"; +import { ListeSenkron } from "@/features/liste/components/liste-senkron"; import { RybbitIdentify } from "@/components/rybbit-identify"; import { SignOutButton } from "./sign-out-button"; diff --git a/src/components/manuel-liste/cihaz-ikonlari.tsx b/src/features/liste/components/cihaz-ikonlari.tsx similarity index 100% rename from src/components/manuel-liste/cihaz-ikonlari.tsx rename to src/features/liste/components/cihaz-ikonlari.tsx diff --git a/src/components/manuel-liste/kaydet-banner-lazy.tsx b/src/features/liste/components/kaydet-banner-lazy.tsx similarity index 100% rename from src/components/manuel-liste/kaydet-banner-lazy.tsx rename to src/features/liste/components/kaydet-banner-lazy.tsx diff --git a/src/components/manuel-liste/kaydet-banner.tsx b/src/features/liste/components/kaydet-banner.tsx similarity index 96% rename from src/components/manuel-liste/kaydet-banner.tsx rename to src/features/liste/components/kaydet-banner.tsx index 5e2434c..8c78cc0 100644 --- a/src/components/manuel-liste/kaydet-banner.tsx +++ b/src/features/liste/components/kaydet-banner.tsx @@ -16,9 +16,9 @@ import { useGorunumOlayi } from "@/components/use-gorunum-olayi"; import { olay } from "@/lib/analitik"; import { kromGizliMi } from "@/components/header-gate"; import { CihazCifti, IsletimSistemiLogosu } from "./cihaz-ikonlari"; -import { useManuelListe } from "./store"; -import { useOturumDurumu } from "./oturum-sinyali"; -import { useGirisUrl } from "./giris-url"; +import { useManuelListe } from "../liste-store"; +import { useOturumDurumu } from "../liste-oturum-sinyali"; +import { useGirisUrl } from "../liste-giris-url"; const KAPATMA_KEY = "kolaytercih.kaydet-banner-kapali"; const ESIK = 3; diff --git a/src/components/manuel-liste/liste-cekmecesi-lazy.tsx b/src/features/liste/components/liste-cekmecesi-lazy.tsx similarity index 100% rename from src/components/manuel-liste/liste-cekmecesi-lazy.tsx rename to src/features/liste/components/liste-cekmecesi-lazy.tsx diff --git a/src/components/manuel-liste/liste-cekmecesi.tsx b/src/features/liste/components/liste-cekmecesi.tsx similarity index 98% rename from src/components/manuel-liste/liste-cekmecesi.tsx rename to src/features/liste/components/liste-cekmecesi.tsx index 8c0f009..f55fa92 100644 --- a/src/components/manuel-liste/liste-cekmecesi.tsx +++ b/src/features/liste/components/liste-cekmecesi.tsx @@ -47,9 +47,9 @@ import { RISK_ETIKET, type RiskSeviyesi } from "@/lib/risk"; import { bolumBazAdi, turkishSlugify } from "@/lib/slug"; import { olay } from "@/lib/analitik"; import { CihazCifti, IsletimSistemiLogosu } from "./cihaz-ikonlari"; -import { sonucaGitIste } from "./profil-kapisi-store"; -import { useOturumDurumu } from "./oturum-sinyali"; -import { useGirisUrl } from "./giris-url"; +import { sonucaGitIste } from "../hooks/use-tercih-profili"; +import { useOturumDurumu } from "../liste-oturum-sinyali"; +import { useGirisUrl } from "../liste-giris-url"; import { MANUEL_LISTE_MAX, cekmeceAc, @@ -60,7 +60,7 @@ import { useManuelListe, yenidenSirala, type ManuelTercih, -} from "./store"; +} from "../liste-store"; // Slug kuralları katalog.ts'tekiyle aynı (bolumBazAdi/uniAdiNormalize + // turkishSlugify); katalog haritaları DB'deki tüm isim/universite diff --git a/src/components/manuel-liste/liste-senkron.tsx b/src/features/liste/components/liste-senkron.tsx similarity index 94% rename from src/components/manuel-liste/liste-senkron.tsx rename to src/features/liste/components/liste-senkron.tsx index be6a298..d06e8bb 100644 --- a/src/components/manuel-liste/liste-senkron.tsx +++ b/src/features/liste/components/liste-senkron.tsx @@ -13,9 +13,9 @@ import { useEffect, useRef } from "react"; import { PROFIL_DEGISTI_EVENT } from "@/features/sihirbaz/sihirbaz-sabitler"; import { tercihProfiliOku, tercihProfiliYaz } from "@/features/sihirbaz/sihirbaz-profil"; -import { listeOku, sunucuylaBirlestir, useManuelListe } from "./store"; -import { oturumDurumuBildir } from "./oturum-sinyali"; -import { listeSenkronla, listeyiKaydet } from "./kayitli-liste-actions"; +import { listeOku, sunucuylaBirlestir, useManuelListe } from "../liste-store"; +import { oturumDurumuBildir } from "../liste-oturum-sinyali"; +import { listeSenkronla, listeyiKaydet } from "../liste-actions"; const DEBOUNCE_MS = 2000; diff --git a/src/components/manuel-liste/listem-butonu.tsx b/src/features/liste/components/listem-butonu.tsx similarity index 98% rename from src/components/manuel-liste/listem-butonu.tsx rename to src/features/liste/components/listem-butonu.tsx index db701e2..35bb7ff 100644 --- a/src/components/manuel-liste/listem-butonu.tsx +++ b/src/features/liste/components/listem-butonu.tsx @@ -11,7 +11,7 @@ import { cekmeceDegistir, useCekmeceAcik, useManuelListe, -} from "./store"; +} from "../liste-store"; export function ListemButonu() { const liste = useManuelListe(); diff --git a/src/components/manuel-liste/manuel-harita.tsx b/src/features/liste/components/manuel-harita.tsx similarity index 93% rename from src/components/manuel-liste/manuel-harita.tsx rename to src/features/liste/components/manuel-harita.tsx index 03b3396..d7b78a2 100644 --- a/src/components/manuel-liste/manuel-harita.tsx +++ b/src/features/liste/components/manuel-harita.tsx @@ -5,10 +5,10 @@ // abonedir; ekleme/çıkarma/sürükleme anında haritaya yansır. import { useMemo, useState } from "react"; -import { TercihHaritasi, type HaritaPin } from "@/components/tercih-haritasi"; +import { TercihHaritasi, type HaritaPin } from "@/features/liste/components/tercih-haritasi"; import { ilKonum, uniAdiNormalize, uniKonum } from "@/lib/harita"; import type { RiskSeviyesi } from "@/lib/risk"; -import { useManuelListe } from "./store"; +import { useManuelListe } from "../liste-store"; // Aynı üniversitede birden çok tercih varsa pinde kötü risk baskın olsun const RISK_AGIRLIK: Record = { diff --git a/src/components/manuel-liste/program-ekle-butonu.tsx b/src/features/liste/components/program-ekle-butonu.tsx similarity index 96% rename from src/components/manuel-liste/program-ekle-butonu.tsx rename to src/features/liste/components/program-ekle-butonu.tsx index ed2ecce..f65739a 100644 --- a/src/components/manuel-liste/program-ekle-butonu.tsx +++ b/src/features/liste/components/program-ekle-butonu.tsx @@ -9,8 +9,8 @@ import { MANUEL_LISTE_MAX, useManuelListe, type ManuelKaynak, -} from "./store"; -import { programEkleIste } from "./profil-kapisi-store"; +} from "../liste-store"; +import { programEkleIste } from "../hooks/use-tercih-profili"; type ProgramOzet = Pick< Program, diff --git a/src/components/program-tablosu.tsx b/src/features/liste/components/program-tablosu.tsx similarity index 99% rename from src/components/program-tablosu.tsx rename to src/features/liste/components/program-tablosu.tsx index 5b1be51..78042ea 100644 --- a/src/components/program-tablosu.tsx +++ b/src/features/liste/components/program-tablosu.tsx @@ -30,7 +30,7 @@ import { TableRow, } from "@/components/ui/table"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; -import { ProgramEkleButonu } from "@/components/manuel-liste/program-ekle-butonu"; +import { ProgramEkleButonu } from "@/features/liste/components/program-ekle-butonu"; import { ProgramNetleriButonu } from "@/features/katalog/components/program-netleri"; import { UniLogo } from "@/components/uni-logo"; diff --git a/src/components/manuel-liste/secimlerim-paneli.tsx b/src/features/liste/components/secimlerim-paneli.tsx similarity index 99% rename from src/components/manuel-liste/secimlerim-paneli.tsx rename to src/features/liste/components/secimlerim-paneli.tsx index 30ad6fe..cfa6631 100644 --- a/src/components/manuel-liste/secimlerim-paneli.tsx +++ b/src/features/liste/components/secimlerim-paneli.tsx @@ -23,12 +23,12 @@ import { MANUEL_LISTE_MAX, useManuelListe, type ManuelTercih, -} from "./store"; +} from "../liste-store"; import { profilDuzenlemeyiAc, sonucaGitIste, useTercihProfili, -} from "./profil-kapisi-store"; +} from "../hooks/use-tercih-profili"; const RISK_STIL: Record = { guvenli: { nokta: "bg-emerald-500", kenar: "border-l-emerald-500" }, diff --git a/src/components/tercih-haritasi.tsx b/src/features/liste/components/tercih-haritasi.tsx similarity index 100% rename from src/components/tercih-haritasi.tsx rename to src/features/liste/components/tercih-haritasi.tsx diff --git a/src/components/manuel-liste/tercih-profili-kapisi-lazy.tsx b/src/features/liste/components/tercih-profili-kapisi-lazy.tsx similarity index 100% rename from src/components/manuel-liste/tercih-profili-kapisi-lazy.tsx rename to src/features/liste/components/tercih-profili-kapisi-lazy.tsx diff --git a/src/components/manuel-liste/tercih-profili-kapisi.tsx b/src/features/liste/components/tercih-profili-kapisi.tsx similarity index 99% rename from src/components/manuel-liste/tercih-profili-kapisi.tsx rename to src/features/liste/components/tercih-profili-kapisi.tsx index d6cd283..47ffb88 100644 --- a/src/components/manuel-liste/tercih-profili-kapisi.tsx +++ b/src/features/liste/components/tercih-profili-kapisi.tsx @@ -37,7 +37,7 @@ import { useProfilKapisi, type BekleyenHedef, type BekleyenProgram, -} from "./profil-kapisi-store"; +} from "../hooks/use-tercih-profili"; const PUAN_TURLERI_SECENEK = [ { deger: "say", etiket: "Sayısal" }, diff --git a/src/components/manuel-liste/profil-kapisi-store.ts b/src/features/liste/hooks/use-tercih-profili.ts similarity index 99% rename from src/components/manuel-liste/profil-kapisi-store.ts rename to src/features/liste/hooks/use-tercih-profili.ts index afd9b7f..47316e8 100644 --- a/src/components/manuel-liste/profil-kapisi-store.ts +++ b/src/features/liste/hooks/use-tercih-profili.ts @@ -15,7 +15,7 @@ import { riskleriYenile, useManuelListe, type ManuelKaynak, -} from "./store"; +} from "../liste-store"; export type BekleyenProgram = { program: Pick< diff --git a/src/components/manuel-liste/kayitli-liste-actions.ts b/src/features/liste/liste-actions.ts similarity index 98% rename from src/components/manuel-liste/kayitli-liste-actions.ts rename to src/features/liste/liste-actions.ts index fc2affe..7cf8a7a 100644 --- a/src/components/manuel-liste/kayitli-liste-actions.ts +++ b/src/features/liste/liste-actions.ts @@ -18,7 +18,7 @@ import { MANUEL_LISTE_MAX, dogrula, type ManuelTercih, -} from "@/components/manuel-liste/dogrula"; +} from "@/features/liste/liste-dogrula"; export type ListeSenkronSonucu = | { ok: true; items: ManuelTercih[]; profil: TercihProfili | null } diff --git a/src/components/manuel-liste/dogrula.ts b/src/features/liste/liste-dogrula.ts similarity index 100% rename from src/components/manuel-liste/dogrula.ts rename to src/features/liste/liste-dogrula.ts diff --git a/src/components/manuel-liste/giris-url.ts b/src/features/liste/liste-giris-url.ts similarity index 100% rename from src/components/manuel-liste/giris-url.ts rename to src/features/liste/liste-giris-url.ts diff --git a/src/components/manuel-liste/oturum-sinyali.ts b/src/features/liste/liste-oturum-sinyali.ts similarity index 100% rename from src/components/manuel-liste/oturum-sinyali.ts rename to src/features/liste/liste-oturum-sinyali.ts diff --git a/src/components/manuel-liste/store.ts b/src/features/liste/liste-store.ts similarity index 99% rename from src/components/manuel-liste/store.ts rename to src/features/liste/liste-store.ts index 1a1fabf..3b34f8e 100644 --- a/src/components/manuel-liste/store.ts +++ b/src/features/liste/liste-store.ts @@ -15,7 +15,7 @@ import { dogrula, type ManuelKaynak, type ManuelTercih, -} from "./dogrula"; +} from "./liste-dogrula"; // Doğrulama katmanı sunucu action'larıyla paylaşılır (bkz. dogrula.ts); // mevcut import yolları kırılmasın diye buradan re-export edilir. diff --git a/src/features/pazarlama/components/hero-baslik.tsx b/src/features/pazarlama/components/hero-baslik.tsx index 35dae0b..a4f0bcd 100644 --- a/src/features/pazarlama/components/hero-baslik.tsx +++ b/src/features/pazarlama/components/hero-baslik.tsx @@ -1,6 +1,6 @@ "use client"; -import { useTercihProfili } from "@/components/manuel-liste/profil-kapisi-store"; +import { useTercihProfili } from "@/features/liste/hooks/use-tercih-profili"; // Hero başlığı: sıralama girilmemişse tanıtım metni, kayıtlı profil varsa // aynı şablonla (vurgulu italik orta parça) aksiyon metnine dönüşür. diff --git a/src/features/pazarlama/components/hero-focus-button.tsx b/src/features/pazarlama/components/hero-focus-button.tsx index 3ed43ee..8441502 100644 --- a/src/features/pazarlama/components/hero-focus-button.tsx +++ b/src/features/pazarlama/components/hero-focus-button.tsx @@ -3,7 +3,7 @@ import Link from "next/link"; import { ArrowRight } from "lucide-react"; import { Button } from "@/components/ui/button"; -import { useTercihProfili } from "@/components/manuel-liste/profil-kapisi-store"; +import { useTercihProfili } from "@/features/liste/hooks/use-tercih-profili"; import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler"; export function HeroFocusButton() { diff --git a/src/features/pazarlama/components/meraklisina-demo.tsx b/src/features/pazarlama/components/meraklisina-demo.tsx index c37fd8c..6dc4f6e 100644 --- a/src/features/pazarlama/components/meraklisina-demo.tsx +++ b/src/features/pazarlama/components/meraklisina-demo.tsx @@ -16,7 +16,7 @@ import { } from "react"; import Link from "next/link"; import { ArrowRight } from "lucide-react"; -import { useTercihProfili } from "@/components/manuel-liste/profil-kapisi-store"; +import { useTercihProfili } from "@/features/liste/hooks/use-tercih-profili"; import { PUAN_TURU_ETIKET, sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler"; import type { DilimKey, SihirbazFacetleri } from "@/types/yokatlas"; diff --git a/src/features/sihirbaz/components/cta-sira-form.tsx b/src/features/sihirbaz/components/cta-sira-form.tsx index 37201a1..9957a62 100644 --- a/src/features/sihirbaz/components/cta-sira-form.tsx +++ b/src/features/sihirbaz/components/cta-sira-form.tsx @@ -27,7 +27,7 @@ import { } from "./sihirbaz-adimlar-lazy"; import { authClient } from "@/lib/auth-client"; import { olay, siraKovasi } from "@/lib/analitik"; -import { useTercihProfili } from "@/components/manuel-liste/profil-kapisi-store"; +import { useTercihProfili } from "@/features/liste/hooks/use-tercih-profili"; import type { SihirbazFacetleri } from "@/types/yokatlas"; import { sonucHref, type SihirbazSecimleri } from "@/features/sihirbaz/sihirbaz-sabitler"; import { tercihProfiliYaz } from "@/features/sihirbaz/sihirbaz-profil"; diff --git a/src/features/sihirbaz/components/hero-form.tsx b/src/features/sihirbaz/components/hero-form.tsx index 536cbc7..1f67657 100644 --- a/src/features/sihirbaz/components/hero-form.tsx +++ b/src/features/sihirbaz/components/hero-form.tsx @@ -21,7 +21,7 @@ import { olay, siraKovasi } from "@/lib/analitik"; import { profilDuzenlemeyiAc, useTercihProfili, -} from "@/components/manuel-liste/profil-kapisi-store"; +} from "@/features/liste/hooks/use-tercih-profili"; import type { SihirbazFacetleri } from "@/types/yokatlas"; import { PUAN_TURU_ETIKET, sonucHref, type SihirbazSecimleri } from "@/features/sihirbaz/sihirbaz-sabitler"; import { tercihProfiliYaz } from "@/features/sihirbaz/sihirbaz-profil"; diff --git a/src/features/sihirbaz/components/sira-gerekli.tsx b/src/features/sihirbaz/components/sira-gerekli.tsx index 4c9cc12..10073ae 100644 --- a/src/features/sihirbaz/components/sira-gerekli.tsx +++ b/src/features/sihirbaz/components/sira-gerekli.tsx @@ -13,7 +13,7 @@ import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler"; import { sonucaGitIste, useProfilKapisi, -} from "@/components/manuel-liste/profil-kapisi-store"; +} from "@/features/liste/hooks/use-tercih-profili"; export function SiraGerekli() { const router = useRouter(); diff --git a/src/lib/harita-pinler.ts b/src/lib/harita-pinler.ts index d95d9cc..346b0d1 100644 --- a/src/lib/harita-pinler.ts +++ b/src/lib/harita-pinler.ts @@ -1,7 +1,7 @@ // Rapordan Türkiye haritası pinleri türetir — /sonuc ve /listem ortak kullanır. import type { RaporSonuc } from "@/features/rapor/types/rapor"; -import type { HaritaPin } from "@/components/tercih-haritasi"; +import type { HaritaPin } from "@/features/liste/components/tercih-haritasi"; import { ilKonum, uniAdiNormalize, uniKonum } from "@/lib/harita"; import { dilimdenRisk, riskHesapla, type RiskSeviyesi } from "@/lib/risk";