From 939da13012c3d1f823b7a8f2975459e8dabbe2be Mon Sep 17 00:00:00 2001 From: bilalgursen Date: Thu, 24 Sep 2026 01:36:11 +0300 Subject: [PATCH] =?UTF-8?q?fix(ux):=20/listem=20telefonda=20yana=20ta?= =?UTF-8?q?=C5=9F=C4=B1yordu;=20ba=C5=9Fl=C4=B1k=20yer=20s=C3=B6yl=C3=BCyo?= =?UTF-8?q?r;=20kaydet=20band=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /listem ve üretim ekranındaki ızgaranın telefonda sütun tanımı yoktu; en geniş çocuk sayfayı 434 px'e itiyordu (375 px'te yatay kaydırma). grid-cols-[minmax(0,1fr)] ile düzeldi (ölçüldü: 375) - /listem h1: pazarlama cümlesi yerine "Tercih listen" + "24 tercih: 5 hayal · 13 dengeli · 6 güvenli"; paketsizde eski cümle alt satırda - Başlık düğmeleri 44 px, hover tek turuncu - "Listen yalnızca bu tarayıcıda" bandı telefonda başlığı kelime kelime kırıyordu: metin üstte, düğme altta tam genişlik; kanonik çarpı Co-Authored-By: Claude Opus 5.5 --- .../liste/components/kaydet-banner.tsx | 15 ++++--- .../rapor/components/liste-uretici.tsx | 2 +- .../rapor/components/listem-govde.tsx | 43 +++++++++++++------ .../rapor/components/listem-icerik.tsx | 2 +- 4 files changed, 39 insertions(+), 23 deletions(-) diff --git a/src/features/liste/components/kaydet-banner.tsx b/src/features/liste/components/kaydet-banner.tsx index 8c78cc0..3526d7a 100644 --- a/src/features/liste/components/kaydet-banner.tsx +++ b/src/features/liste/components/kaydet-banner.tsx @@ -58,18 +58,20 @@ export function KaydetBanner() {
{/* Kullanıcının o anki işletim sisteminin logosu: "bu tarayıcıda" mesajını somutlaştırır */}
-
-

+

+

Listen yalnızca bu tarayıcıda

-

+

Giriş yap; {liste.length} seçimin hesabında saklansın, her cihazdan aç{" "} @@ -77,8 +79,7 @@ export function KaydetBanner() {

diff --git a/src/features/rapor/components/liste-uretici.tsx b/src/features/rapor/components/liste-uretici.tsx index b673d7a..8f62125 100644 --- a/src/features/rapor/components/liste-uretici.tsx +++ b/src/features/rapor/components/liste-uretici.tsx @@ -434,7 +434,7 @@ function UretimGovdesi({ uzunSurdu }: { uzunSurdu: boolean }) { {/* Nihai sayfanın (listem-govde) grid'iyle aynı düzen: liste solda, danışman sağda — üretim biter bitmez ekran aynı yerlere oturur. */} -
+
{/* Gelmekte olan tercih listesinin iskeleti */}
diff --git a/src/features/rapor/components/listem-govde.tsx b/src/features/rapor/components/listem-govde.tsx index e5b7de8..f2a6076 100644 --- a/src/features/rapor/components/listem-govde.tsx +++ b/src/features/rapor/components/listem-govde.tsx @@ -39,6 +39,11 @@ import { } from "@/features/liste/hooks/use-tercih-profili"; import { UNIVERSITE_TIPI_ETIKET } from "@/features/sihirbaz/sihirbaz-sabitler"; import { PUAN_TURLERI } from "@/types/yokatlas"; +import { DILIM_ETIKET } from "@/lib/risk"; + +// Başlık satırındaki ikincil düğmeler: 44 px, hover tek turuncu (§4.1, §2.1) +const IKINCIL_BUTON = + "h-11 cursor-pointer px-4 transition-[background-color,border-color,color,transform] duration-150 hover:border-orange-500 hover:bg-orange-50/60 hover:text-orange-500 active:scale-[0.97]"; export function ListemGovde({ rapor, @@ -94,6 +99,10 @@ export function ListemGovde({ ); const acikSatir = kilitliBaslangic ?? rapor.tercihler.length; + const dilimOzeti = useMemo(() => { + const say = (d: string) => rapor.tercihler.filter((t) => t.dilim === d).length; + return `${rapor.tercihler.length} tercih: ${say("hayal")} ${DILIM_ETIKET.hayal.toLocaleLowerCase("tr-TR")} · ${say("dengeli")} ${DILIM_ETIKET.dengeli.toLocaleLowerCase("tr-TR")} · ${say("garanti")} ${DILIM_ETIKET.garanti.toLocaleLowerCase("tr-TR")}`; + }, [rapor]); // Profil client'ta (localStorage) çözülür: ilk render'da null döner, yani // SSR ile aynı "Tercihlerimi düzenle" hâli basılır — hidrasyon uyuşmazlığı @@ -148,7 +157,7 @@ export function ListemGovde({ ); return ( -
+
{/* Harita: listenin coğrafyası — ile dokun, üniversiteleri gör */}
-

- {hasPaket - ? "Yapay Zeka tercih listen" - : "Veriyi ücretsiz incele. Kararı Yapay Zeka ile netleştir."} -

+ {/* Sayfa nerede olduğunu söyler (DESIGN.md §10.1): başlık yer, + altındaki satır listenin sayılarla özeti. */} +
+

+ Tercih listen +

+

+ {dilimOzeti} + {hasPaket ? null : ( + + Veriyi ücretsiz incele, kararı Yapay Zeka ile netleştir. + + )} +

+
{/* Tercih düzenleme her kullanıcıya açık: kapı (layout'ta monte TercihProfiliKapisi) profili günceller, /listem'e döner. @@ -200,9 +219,8 @@ export function ListemGovde({ {farkVar ? (