refactor: liste feature'ı — manuel-liste toptan taşındı (Faz 7)
- 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 <noreply@anthropic.com>
This commit is contained in:
@@ -5,9 +5,9 @@ import localFont from "next/font/local";
|
|||||||
import { Toaster } from "@/components/ui/sonner";
|
import { Toaster } from "@/components/ui/sonner";
|
||||||
import { SiteHeader } from "@/components/site-header";
|
import { SiteHeader } from "@/components/site-header";
|
||||||
import { SiteTopBanner } from "@/components/site-top-banner";
|
import { SiteTopBanner } from "@/components/site-top-banner";
|
||||||
import { ListeCekmecesiLazy } from "@/components/manuel-liste/liste-cekmecesi-lazy";
|
import { ListeCekmecesiLazy } from "@/features/liste/components/liste-cekmecesi-lazy";
|
||||||
import { KaydetBannerLazy } from "@/components/manuel-liste/kaydet-banner-lazy";
|
import { KaydetBannerLazy } from "@/features/liste/components/kaydet-banner-lazy";
|
||||||
import { TercihProfiliKapisiLazy } from "@/components/manuel-liste/tercih-profili-kapisi-lazy";
|
import { TercihProfiliKapisiLazy } from "@/features/liste/components/tercih-profili-kapisi-lazy";
|
||||||
import { HeaderGate } from "@/components/header-gate";
|
import { HeaderGate } from "@/components/header-gate";
|
||||||
import { ProgressiveBlur } from "@/components/ui/skiper-ui/skiper41";
|
import { ProgressiveBlur } from "@/components/ui/skiper-ui/skiper41";
|
||||||
import { DevPanel } from "@/components/dev/dev-panel";
|
import { DevPanel } from "@/components/dev/dev-panel";
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import Link from "next/link";
|
|||||||
import { ArrowRight } from "lucide-react";
|
import { ArrowRight } from "lucide-react";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { PagePixelDivider } from "@/components/pixel-decor";
|
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";
|
import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import {
|
|||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { RaporListesi } from "@/components/rapor-listesi";
|
import { RaporListesi } from "@/components/rapor-listesi";
|
||||||
import { useGorunumOlayi } from "@/components/use-gorunum-olayi";
|
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 { pinleriTuret } from "@/lib/harita-pinler";
|
||||||
import type { RaporSonuc } from "@/features/rapor/types/rapor";
|
import type { RaporSonuc } from "@/features/rapor/types/rapor";
|
||||||
import { SohbetClient, type DanismanOzeti, type Mesaj } from "./sohbet-client";
|
import { SohbetClient, type DanismanOzeti, type Mesaj } from "./sohbet-client";
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { ArrowRight } from "lucide-react";
|
import { ArrowRight } from "lucide-react";
|
||||||
import { Button } from "@/components/ui/button";
|
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";
|
import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import { kullanicininRaporu } from "@/lib/rapor-kaydi";
|
|||||||
import { tadimlikSec } from "@/lib/tadimlik-havuzu";
|
import { tadimlikSec } from "@/lib/tadimlik-havuzu";
|
||||||
import { SihirbazBolumu } from "@/features/sihirbaz/components/sihirbaz-cagri-karti";
|
import { SihirbazBolumu } from "@/features/sihirbaz/components/sihirbaz-cagri-karti";
|
||||||
import { TadimlikSatiri } from "./tadimlik-satiri";
|
import { TadimlikSatiri } from "./tadimlik-satiri";
|
||||||
import { ProgramTablosu } from "@/components/program-tablosu";
|
import { ProgramTablosu } from "@/features/liste/components/program-tablosu";
|
||||||
import { ManuelHarita } from "@/components/manuel-liste/manuel-harita";
|
import { ManuelHarita } from "@/features/liste/components/manuel-harita";
|
||||||
import { SiteFooter } from "@/components/site-footer";
|
import { SiteFooter } from "@/components/site-footer";
|
||||||
import { SiraGerekli } from "@/features/sihirbaz/components/sira-gerekli";
|
import { SiraGerekli } from "@/features/sihirbaz/components/sira-gerekli";
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import { SIHIRBAZ_AC_EVENT, sonucHref } from "@/features/sihirbaz/sihirbaz-sabit
|
|||||||
import {
|
import {
|
||||||
profilToplamaAc,
|
profilToplamaAc,
|
||||||
useTercihProfili,
|
useTercihProfili,
|
||||||
} from "@/components/manuel-liste/profil-kapisi-store";
|
} from "@/features/liste/hooks/use-tercih-profili";
|
||||||
|
|
||||||
const FUNNEL_METINLERI = [
|
const FUNNEL_METINLERI = [
|
||||||
"Sıralamana en uygun listeyi birlikte kuralım.",
|
"Sıralamana en uygun listeyi birlikte kuralım.",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import {
|
|||||||
ProgramSiraGecmisi,
|
ProgramSiraGecmisi,
|
||||||
ProgramTabanTrendi,
|
ProgramTabanTrendi,
|
||||||
} from "@/components/program-liste-verileri";
|
} 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 { ProgramNetleriButonu } from "./program-netleri";
|
||||||
import { UniLogo } from "@/components/uni-logo";
|
import { UniLogo } from "@/components/uni-logo";
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
profilDuzenlemeyiAc,
|
profilDuzenlemeyiAc,
|
||||||
sonucaGitIste,
|
sonucaGitIste,
|
||||||
useTercihProfili,
|
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 { PUAN_TURU_ETIKET } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||||
import { olay } from "@/lib/analitik";
|
import { olay } from "@/lib/analitik";
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import {
|
|||||||
ProgramTabanTrendi,
|
ProgramTabanTrendi,
|
||||||
programEtkinSira,
|
programEtkinSira,
|
||||||
} from "@/components/program-liste-verileri";
|
} 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 { ProgramNetleriButonu } from "./program-netleri";
|
||||||
import {
|
import {
|
||||||
Table,
|
Table,
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import Link from "next/link";
|
|||||||
import { Coins } from "lucide-react";
|
import { Coins } from "lucide-react";
|
||||||
import { getCurrentUser } from "@/lib/session";
|
import { getCurrentUser } from "@/lib/session";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { ListemButonu } from "@/components/manuel-liste/listem-butonu";
|
import { ListemButonu } from "@/features/liste/components/listem-butonu";
|
||||||
import { ListeSenkron } from "@/components/manuel-liste/liste-senkron";
|
import { ListeSenkron } from "@/features/liste/components/liste-senkron";
|
||||||
import { RybbitIdentify } from "@/components/rybbit-identify";
|
import { RybbitIdentify } from "@/components/rybbit-identify";
|
||||||
import { SignOutButton } from "./sign-out-button";
|
import { SignOutButton } from "./sign-out-button";
|
||||||
|
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ import { useGorunumOlayi } from "@/components/use-gorunum-olayi";
|
|||||||
import { olay } from "@/lib/analitik";
|
import { olay } from "@/lib/analitik";
|
||||||
import { kromGizliMi } from "@/components/header-gate";
|
import { kromGizliMi } from "@/components/header-gate";
|
||||||
import { CihazCifti, IsletimSistemiLogosu } from "./cihaz-ikonlari";
|
import { CihazCifti, IsletimSistemiLogosu } from "./cihaz-ikonlari";
|
||||||
import { useManuelListe } from "./store";
|
import { useManuelListe } from "../liste-store";
|
||||||
import { useOturumDurumu } from "./oturum-sinyali";
|
import { useOturumDurumu } from "../liste-oturum-sinyali";
|
||||||
import { useGirisUrl } from "./giris-url";
|
import { useGirisUrl } from "../liste-giris-url";
|
||||||
|
|
||||||
const KAPATMA_KEY = "kolaytercih.kaydet-banner-kapali";
|
const KAPATMA_KEY = "kolaytercih.kaydet-banner-kapali";
|
||||||
const ESIK = 3;
|
const ESIK = 3;
|
||||||
@@ -47,9 +47,9 @@ import { RISK_ETIKET, type RiskSeviyesi } from "@/lib/risk";
|
|||||||
import { bolumBazAdi, turkishSlugify } from "@/lib/slug";
|
import { bolumBazAdi, turkishSlugify } from "@/lib/slug";
|
||||||
import { olay } from "@/lib/analitik";
|
import { olay } from "@/lib/analitik";
|
||||||
import { CihazCifti, IsletimSistemiLogosu } from "./cihaz-ikonlari";
|
import { CihazCifti, IsletimSistemiLogosu } from "./cihaz-ikonlari";
|
||||||
import { sonucaGitIste } from "./profil-kapisi-store";
|
import { sonucaGitIste } from "../hooks/use-tercih-profili";
|
||||||
import { useOturumDurumu } from "./oturum-sinyali";
|
import { useOturumDurumu } from "../liste-oturum-sinyali";
|
||||||
import { useGirisUrl } from "./giris-url";
|
import { useGirisUrl } from "../liste-giris-url";
|
||||||
import {
|
import {
|
||||||
MANUEL_LISTE_MAX,
|
MANUEL_LISTE_MAX,
|
||||||
cekmeceAc,
|
cekmeceAc,
|
||||||
@@ -60,7 +60,7 @@ import {
|
|||||||
useManuelListe,
|
useManuelListe,
|
||||||
yenidenSirala,
|
yenidenSirala,
|
||||||
type ManuelTercih,
|
type ManuelTercih,
|
||||||
} from "./store";
|
} from "../liste-store";
|
||||||
|
|
||||||
// Slug kuralları katalog.ts'tekiyle aynı (bolumBazAdi/uniAdiNormalize +
|
// Slug kuralları katalog.ts'tekiyle aynı (bolumBazAdi/uniAdiNormalize +
|
||||||
// turkishSlugify); katalog haritaları DB'deki tüm isim/universite
|
// turkishSlugify); katalog haritaları DB'deki tüm isim/universite
|
||||||
@@ -13,9 +13,9 @@
|
|||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
import { PROFIL_DEGISTI_EVENT } from "@/features/sihirbaz/sihirbaz-sabitler";
|
import { PROFIL_DEGISTI_EVENT } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||||
import { tercihProfiliOku, tercihProfiliYaz } from "@/features/sihirbaz/sihirbaz-profil";
|
import { tercihProfiliOku, tercihProfiliYaz } from "@/features/sihirbaz/sihirbaz-profil";
|
||||||
import { listeOku, sunucuylaBirlestir, useManuelListe } from "./store";
|
import { listeOku, sunucuylaBirlestir, useManuelListe } from "../liste-store";
|
||||||
import { oturumDurumuBildir } from "./oturum-sinyali";
|
import { oturumDurumuBildir } from "../liste-oturum-sinyali";
|
||||||
import { listeSenkronla, listeyiKaydet } from "./kayitli-liste-actions";
|
import { listeSenkronla, listeyiKaydet } from "../liste-actions";
|
||||||
|
|
||||||
const DEBOUNCE_MS = 2000;
|
const DEBOUNCE_MS = 2000;
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ import {
|
|||||||
cekmeceDegistir,
|
cekmeceDegistir,
|
||||||
useCekmeceAcik,
|
useCekmeceAcik,
|
||||||
useManuelListe,
|
useManuelListe,
|
||||||
} from "./store";
|
} from "../liste-store";
|
||||||
|
|
||||||
export function ListemButonu() {
|
export function ListemButonu() {
|
||||||
const liste = useManuelListe();
|
const liste = useManuelListe();
|
||||||
@@ -5,10 +5,10 @@
|
|||||||
// abonedir; ekleme/çıkarma/sürükleme anında haritaya yansır.
|
// abonedir; ekleme/çıkarma/sürükleme anında haritaya yansır.
|
||||||
|
|
||||||
import { useMemo, useState } from "react";
|
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 { ilKonum, uniAdiNormalize, uniKonum } from "@/lib/harita";
|
||||||
import type { RiskSeviyesi } from "@/lib/risk";
|
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
|
// Aynı üniversitede birden çok tercih varsa pinde kötü risk baskın olsun
|
||||||
const RISK_AGIRLIK: Record<RiskSeviyesi, number> = {
|
const RISK_AGIRLIK: Record<RiskSeviyesi, number> = {
|
||||||
@@ -9,8 +9,8 @@ import {
|
|||||||
MANUEL_LISTE_MAX,
|
MANUEL_LISTE_MAX,
|
||||||
useManuelListe,
|
useManuelListe,
|
||||||
type ManuelKaynak,
|
type ManuelKaynak,
|
||||||
} from "./store";
|
} from "../liste-store";
|
||||||
import { programEkleIste } from "./profil-kapisi-store";
|
import { programEkleIste } from "../hooks/use-tercih-profili";
|
||||||
|
|
||||||
type ProgramOzet = Pick<
|
type ProgramOzet = Pick<
|
||||||
Program,
|
Program,
|
||||||
@@ -30,7 +30,7 @@ import {
|
|||||||
TableRow,
|
TableRow,
|
||||||
} from "@/components/ui/table";
|
} from "@/components/ui/table";
|
||||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
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 { ProgramNetleriButonu } from "@/features/katalog/components/program-netleri";
|
||||||
import { UniLogo } from "@/components/uni-logo";
|
import { UniLogo } from "@/components/uni-logo";
|
||||||
|
|
||||||
@@ -23,12 +23,12 @@ import {
|
|||||||
MANUEL_LISTE_MAX,
|
MANUEL_LISTE_MAX,
|
||||||
useManuelListe,
|
useManuelListe,
|
||||||
type ManuelTercih,
|
type ManuelTercih,
|
||||||
} from "./store";
|
} from "../liste-store";
|
||||||
import {
|
import {
|
||||||
profilDuzenlemeyiAc,
|
profilDuzenlemeyiAc,
|
||||||
sonucaGitIste,
|
sonucaGitIste,
|
||||||
useTercihProfili,
|
useTercihProfili,
|
||||||
} from "./profil-kapisi-store";
|
} from "../hooks/use-tercih-profili";
|
||||||
|
|
||||||
const RISK_STIL: Record<RiskSeviyesi, { nokta: string; kenar: string }> = {
|
const RISK_STIL: Record<RiskSeviyesi, { nokta: string; kenar: string }> = {
|
||||||
guvenli: { nokta: "bg-emerald-500", kenar: "border-l-emerald-500" },
|
guvenli: { nokta: "bg-emerald-500", kenar: "border-l-emerald-500" },
|
||||||
@@ -37,7 +37,7 @@ import {
|
|||||||
useProfilKapisi,
|
useProfilKapisi,
|
||||||
type BekleyenHedef,
|
type BekleyenHedef,
|
||||||
type BekleyenProgram,
|
type BekleyenProgram,
|
||||||
} from "./profil-kapisi-store";
|
} from "../hooks/use-tercih-profili";
|
||||||
|
|
||||||
const PUAN_TURLERI_SECENEK = [
|
const PUAN_TURLERI_SECENEK = [
|
||||||
{ deger: "say", etiket: "Sayısal" },
|
{ deger: "say", etiket: "Sayısal" },
|
||||||
@@ -15,7 +15,7 @@ import {
|
|||||||
riskleriYenile,
|
riskleriYenile,
|
||||||
useManuelListe,
|
useManuelListe,
|
||||||
type ManuelKaynak,
|
type ManuelKaynak,
|
||||||
} from "./store";
|
} from "../liste-store";
|
||||||
|
|
||||||
export type BekleyenProgram = {
|
export type BekleyenProgram = {
|
||||||
program: Pick<
|
program: Pick<
|
||||||
@@ -18,7 +18,7 @@ import {
|
|||||||
MANUEL_LISTE_MAX,
|
MANUEL_LISTE_MAX,
|
||||||
dogrula,
|
dogrula,
|
||||||
type ManuelTercih,
|
type ManuelTercih,
|
||||||
} from "@/components/manuel-liste/dogrula";
|
} from "@/features/liste/liste-dogrula";
|
||||||
|
|
||||||
export type ListeSenkronSonucu =
|
export type ListeSenkronSonucu =
|
||||||
| { ok: true; items: ManuelTercih[]; profil: TercihProfili | null }
|
| { ok: true; items: ManuelTercih[]; profil: TercihProfili | null }
|
||||||
@@ -15,7 +15,7 @@ import {
|
|||||||
dogrula,
|
dogrula,
|
||||||
type ManuelKaynak,
|
type ManuelKaynak,
|
||||||
type ManuelTercih,
|
type ManuelTercih,
|
||||||
} from "./dogrula";
|
} from "./liste-dogrula";
|
||||||
|
|
||||||
// Doğrulama katmanı sunucu action'larıyla paylaşılır (bkz. dogrula.ts);
|
// 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.
|
// mevcut import yolları kırılmasın diye buradan re-export edilir.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"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
|
// 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.
|
// aynı şablonla (vurgulu italik orta parça) aksiyon metnine dönüşür.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { ArrowRight } from "lucide-react";
|
import { ArrowRight } from "lucide-react";
|
||||||
import { Button } from "@/components/ui/button";
|
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";
|
import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||||
|
|
||||||
export function HeroFocusButton() {
|
export function HeroFocusButton() {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import {
|
|||||||
} from "react";
|
} from "react";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { ArrowRight } from "lucide-react";
|
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 { PUAN_TURU_ETIKET, sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||||
import type { DilimKey, SihirbazFacetleri } from "@/types/yokatlas";
|
import type { DilimKey, SihirbazFacetleri } from "@/types/yokatlas";
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import {
|
|||||||
} from "./sihirbaz-adimlar-lazy";
|
} from "./sihirbaz-adimlar-lazy";
|
||||||
import { authClient } from "@/lib/auth-client";
|
import { authClient } from "@/lib/auth-client";
|
||||||
import { olay, siraKovasi } from "@/lib/analitik";
|
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 type { SihirbazFacetleri } from "@/types/yokatlas";
|
||||||
import { sonucHref, type SihirbazSecimleri } from "@/features/sihirbaz/sihirbaz-sabitler";
|
import { sonucHref, type SihirbazSecimleri } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||||
import { tercihProfiliYaz } from "@/features/sihirbaz/sihirbaz-profil";
|
import { tercihProfiliYaz } from "@/features/sihirbaz/sihirbaz-profil";
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import { olay, siraKovasi } from "@/lib/analitik";
|
|||||||
import {
|
import {
|
||||||
profilDuzenlemeyiAc,
|
profilDuzenlemeyiAc,
|
||||||
useTercihProfili,
|
useTercihProfili,
|
||||||
} from "@/components/manuel-liste/profil-kapisi-store";
|
} from "@/features/liste/hooks/use-tercih-profili";
|
||||||
import type { SihirbazFacetleri } from "@/types/yokatlas";
|
import type { SihirbazFacetleri } from "@/types/yokatlas";
|
||||||
import { PUAN_TURU_ETIKET, sonucHref, type SihirbazSecimleri } from "@/features/sihirbaz/sihirbaz-sabitler";
|
import { PUAN_TURU_ETIKET, sonucHref, type SihirbazSecimleri } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||||
import { tercihProfiliYaz } from "@/features/sihirbaz/sihirbaz-profil";
|
import { tercihProfiliYaz } from "@/features/sihirbaz/sihirbaz-profil";
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler";
|
|||||||
import {
|
import {
|
||||||
sonucaGitIste,
|
sonucaGitIste,
|
||||||
useProfilKapisi,
|
useProfilKapisi,
|
||||||
} from "@/components/manuel-liste/profil-kapisi-store";
|
} from "@/features/liste/hooks/use-tercih-profili";
|
||||||
|
|
||||||
export function SiraGerekli() {
|
export function SiraGerekli() {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Rapordan Türkiye haritası pinleri türetir — /sonuc ve /listem ortak kullanır.
|
// Rapordan Türkiye haritası pinleri türetir — /sonuc ve /listem ortak kullanır.
|
||||||
|
|
||||||
import type { RaporSonuc } from "@/features/rapor/types/rapor";
|
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 { ilKonum, uniAdiNormalize, uniKonum } from "@/lib/harita";
|
||||||
import { dilimdenRisk, riskHesapla, type RiskSeviyesi } from "@/lib/risk";
|
import { dilimdenRisk, riskHesapla, type RiskSeviyesi } from "@/lib/risk";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user