Files
kolaytercih/docs/gece-vardiyasi/2026-09-22/37-yazilimci-navbar-ve-g1-duzeltme.md
bilalgursen 2b350d0c5d content(rehber): gece vardiyasının 14 yeni yazısı + 2 düzeltme, ekip raporları ve kurallar
14 yeni rehber yazısı (hepsi editör denetiminden geçti, 46 yazıda 829 iç link
tarandı, 0 kırık hedef; 180+ DB rakamı yazıların kendi filtreleriyle yeniden
koşuldu):

  taban-siralamalari-alti-yilda-nasil-degisti · kac-net-ile-hangi-bolum ·
  siralama-bandlari-hangi-kapilar-acilir · ayni-bolum-farkli-universite-siralama-farki ·
  hangi-bolumlerin-kontenjani-azaldi · yeni-acilan-bolumler-nasil-degerlendirilir ·
  bilgisayar-mi-yazilim-muhendisligi-mi · kktc-universiteleri-okunur-mu ·
  yapay-zekaya-tercih-sordum-guvenilir-mi · ek-madde-1-puanim-yetiyor-mu ·
  universitede-ilk-hafta-ders-kaydi-muafiyet-kayit-dondurma · yks-2027-takvimi ·
  rehber-ogretmenler-icin-veri-kaynaklari · bolumumu-sevmedim-hangi-kapilar-var

İki canlı yazı düzeltildi:
- veliler-icin-tercih-rehberi: veli diliyle kapanış; altındaki "sıralamanı gir"
  kutusu artık veliye ölü uç değil
- bos-kontenjanlar-ne-anlatiyor: "birkaç yüz kişilik fark" aslında ~9 bin
  (ÖSYM 265.356 ↔ bizim 256.532); payda açıklaması tersti — ek kontenjan
  paydaya girseydi oran düşerdi. guncelleme alanı eklendi (sitemap lastmod).

Kurallar (AGENTS.md):
- Yayın sonrası arama motoru bildirimi: URL denetimi yalnız canlıda 200 dönen
  adrese; kota sayacı; mülk/hesap notu; sitemap grep kuralı
- Yıkıcı git komutları yasak: reset/checkout --/restore/clean/stash
- Tarayıcı açma: tasarımcı ve UX gerekli gördüğünde açabilir (yetenek için
  .claude/agents/tasarimci.md'ye tarayıcı araçları eklendi)

docs/gece-vardiyasi/2026-09-22/ — 34 rapor: CEO kararları ve kapanış turu,
marka/ödeme analizi, sıfır ödeme teşhisi, SEO konu planı, veri kalitesi,
editör denetimi, CTO şartnamesi, yazılımcı ve güvenlik raporları, SABAH-OZETI.

docs/ekip/YAYIN-KUYRUGU.md — Search Console bildirim kuyruğu.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 23:25:34 +03:00

12 KiB
Raw Blame History

37 — Yazılımcı: navbar taşması + G1 harita/metin düzeltmesi

Tarih: 22 Eylül 2026 · Rol: yazilimci · Şartname: 36-tasarimci-g1-ve-navbar.md İşaret: [D] koşarak doğruladım · [Ç] koddan çıkarım


Özet (5 madde)

  1. İki dal, sırayla, ayrı ayrı commit'lendi. duzeltme/navbar-tasmasi (1 commit, main'den) ve funnel/sonuc-ilk-ekran (mevcut dala 2 commit eklendi, geçmiş yeniden yazılmadı). Push/merge yok, main'e commit yok.
  2. Navbar: tasarımcının Alternatif 1'i uygulandı — iki etiket span'inden hem xl hem sm görünürlük sınıfları kaldırıldı. aria-label'ların ikisi de zaten yerindeydi, doğrulandı; erişilebilirlik değişmedi. Alternatif 2'ye (Nasıl çalışır?) dokunulmadı.
  3. G1 (a): <ManuelHarita /> tablonun altına alındı (silinmedi, geri getirilmedi). Yeni sıra: tadımlık → tablo → harita → sihirbaz → dipnot. Sıraya bağlı stiller yeni sıraya göre denetlendi; harita ilk çocuk olmaktan çıktığı için kendi mt-16 boşluğunu almak zorunda kaldı (bkz. §Sapmalar 1).
  4. G1 (b): tadimlik-satiri.tsx paragrafına "ilk üçü hemen açılır" eklendi; ayrı [Bilal] commit'i, dalın tepesinde. İki [Bilal] commit'inin de tek tek düşürülebilir olduğu ters yama denemesiyle doğrulandı [D].
  5. Doğrulama iki dalda da temiz: next typegen ✓ · tsc --noEmit → 0 · pnpm lint → 0 [D]. pnpm install/pnpm build talimat gereği koşulmadı; tarayıcı/dev sunucusu açılmadı.

Bana ait olmayan 19 commit'lenmemiş dosyaya dokunulmadı — hiçbiri stage'lenmedi, git add -A/. kullanılmadı, dosyalar yol vererek eklendi. Yasaklı komutların (reset, checkout --, restore, clean, stash) hiçbiri koşulmadı; ters yama denemeleri bile git apply --check ile ağaca dokunmadan yapıldı.


DAL 1 — duzeltme/navbar-tasmasi

Taban: main 9bd448b. 1 commit.

SHA Mesaj
9abfdf4 fix(navbar): pill etiketleri her genişlikte gizli — çakışma kapanır

Dokunulan dosyalar (2): src/features/kullanici/components/user-nav.tsx · src/features/liste/components/listem-butonu.tsx

Ne değişti

  • user-nav.tsx:59 → className="hidden sm:inline lg:hidden xl:inline" → className="hidden" (span korundu, metin DOM'da ama display:none).
  • listem-butonu.tsx:39 → aynı değişiklik.
  • Her iki yerdeki eski yorum ("lg–xl arasında metin gizli") artık yanlış olacağından yeniden yazıldı; kök neden (konteyner 1152'de kilitli, xl yeni yer açmıyor, sağ kümenin bütçesi ~304 px) kodun yanına not düşüldü.
  • Kapsam dışı bırakılan: user-nav.tsx:73'teki kredi etiketi (hidden md:inline lg:hidden) — şartname yalnız iki etiket span'ini sayıyor, dokunulmadı.

Kabul kriterleri

Kriter Durum Nasıl doğrulandı
grep -n "xl:inline|sm:inline" iki dosyada 0 sonuç ✔ GREP_EXIT=1 (eşleşme yok) [D]
aria-label her iki dosyada var ✔ user-nav.tsx:52 aria-label="Yapay Zeka Listem" · listem-butonu.tsx:33 aria-label={\Kendi listem — ${liste.length}/${MANUEL_LISTE_MAX} program`}` [D]
Alternatif 2 uygulanmadı ✔ katalog-arama.tsx dalın diff'inde yok [D]
Tasarımcının hesabı (375 → 284,5/351 · 768 → 555,8/736 · 1280+ pozitif) ✔ [Ç] Kod değişikliği tasarımcının hesapladığı girdiyi birebir üretiyor; piksel ölçümü onun raporundan, ben ölçmedim

Not — grep kriterini kirleten tuzak: ilk yazdığım yorum gerekçeyi anlatırken xl:inline dizesini literal geçiriyordu ve kabul kriteri grep'i 1 sonuç dönüyordu. Yorum, anlamı koruyarak dizeyi içermeyecek biçimde yeniden yazıldı. Kriter artık gerçekten 0.

Doğrulama çıktıları

$ pnpm exec next typegen
Generating route types...
✓ Types generated successfully

$ pnpm exec tsc --noEmit ; echo "TSC_EXIT=$?"
TSC_EXIT=0

$ pnpm lint ; echo "LINT_EXIT=$?"
> kolaytercih@0.1.0 lint
> eslint
LINT_EXIT=0

DAL 2 — funnel/sonuc-ilk-ekran

Mevcut dalın tepesine (d2e1190) 2 commit eklendi; geçmiş yeniden yazılmadı, hiçbir commit amend/rebase edilmedi.

# SHA Mesaj Dosyalar
7 e912665 fix(sonuc): harita tablonun altına alınır — hidrasyon kayması kapanır sonuc/page.tsx, manuel-harita.tsx, tadimlik-satiri.tsx
8 e3519a5 [Bilal] content(tadimlik): paragraf maskenin gerçeğini söyler tadimlik-satiri.tsx

Dalın [Bilal] commit'leri: d2e1190 (6.) ve e3519a5 (8., tepe).

Dalın main'den toplam diff'i hâlâ aynı 6 dosya; yeni dosya eklenmedi.

(a) e912665 — harita tablonun altına

Yeni sıra src/app/sonuc/page.tsx içinde:

118  <TadimlikBolumu sira={sira} tur={turKey} />
124  <SonucProgramTablosu … />
131  <ManuelHarita />
135  <SonucSihirbazi … />

Gerekçe (B1) kodun yanına yorum olarak yazıldı: sunucu snapshot'ı hep boş liste döndüğü için harita yukarıdayken kayıtlı listesi olan dönüş ziyaretçisinde hidrasyondan sonra ~368 px'lik bir blok <main>'in tepesine giriyor, impact fraction ~1. Aşağıda belirince yalnızca sihirbaz + dipnot iteliyor.

Sıraya bağlı stiller — tek tek denetlendi

Eleman Kural Yeni sırada durum
tadimlik-satiri.tsx:127 <section className="mt-16 min-w-0 first:mt-0"> first:mt-0 ✔ Sağlamlaştı. Harita artık üstünde olmadığı için bu <section> <main>'in ilk DOM çocuğu; kural her durumda eşleşiyor, eskiden "harita null'sa" koşuluna bağlıydı. Yorum yeni gerçeğe göre güncellendi.
program-tablosu.tsx:175 <section className="mt-16"> sabit üst boşluk ✔ Değişmedi; tadımlık render edilmediğinde (girişli kullanıcı) ilk çocuk olup mt-16 alıyor — G1 öncesindeki davranışın aynısı, bu commit'in getirdiği bir değişiklik değil.
sihirbaz-cagri-karti.tsx:321 <section className="… mt-16 …"> sabit üst boşluk ✔ Değişmedi.
manuel-harita.tsx:74 kök <div> boşluğu yoktu ⚠ Düzeltildi — bkz. Sapmalar 1.

(b) e3519a5 — [Bilal] metin artığı

tadimlik-satiri.tsx:135 civarı:

Sıralamana uygun bir programın gerekçesi, yerleşme riski ve taban trendi — 24 tercihlik listenin her satırı bu formatta kurulur**, ilk üçü hemen açılır.**

  • Sayı yazıldı, bulanıklaştırılmadı (Bilal'in seçtiği yön).
  • Garanti/vaat dili yok; cümle bir şey eklemiyor, var olan iddiayı sınırlıyor.
  • 3 elle yazıldı: ACIK_SATIR src/lib/rapor-maske.ts:12'de ve o dosya server-only; tadimlik-satiri.tsx ise "use client" — sabit import edilemiyor. Tek kaynak bağı kodun yanına yorum olarak iliştirildi: ACIK_SATIR değişirse bu cümle aynı commit'te değişmeli. [D — rapor-maske.ts:12 okundu, değer 3]

[Bilal] commit'lerinin tek tek düşürülebilirliği — doğrulandı [D]

Dizilim … 2373a9a → d2e1190 [Bilal] → e912665 → e3519a5 [Bilal] olduğu için d2e1190 tepede değil; düşürme yolu git revert (yıkıcı komut yasağına da uygun olan tek yol). Ters yamanın temiz uyguladığı, çalışma ağacına dokunmadan sınandı:

$ git show d2e1190 | git apply --check --reverse -   → EVET (temiz ters yama)
$ git show e3519a5 | git apply --check --reverse -   → EVET (temiz ters yama)

Hunk'lar birbirinden uzak ve kesişmiyor: d2e1190 → satır 188 ve 202 (CTA metni), e3519a5 → satır 133-142 (paragraf). Aralarındaki e912665 ise 123-127 (yorum) bölgesine dokunuyor.

Ana commit'ler [Bilal] commit'leri olmadan derlenir mi?

  • e912665 için [D]: tsc ve lint tam olarak bu commit'in ağacı üzerinde koşuldu (commit'ten hemen önce), ikisi de 0.
  • d2e1190 düşürülürse: o commit yalnızca iki metin dizesini değiştiriyor (Giriş yap ve listeni oluştur → Kendi listemi oluştur ve alt satıra bir cümle), hiçbir tanımlayıcıya dokunmuyor — geri alınması derlemeyi kıramaz [Ç].

Doğrulama çıktıları (dal 2, tepe commit'in ağacında)

$ pnpm exec next typegen
Generating route types...
✓ Types generated successfully

$ pnpm exec tsc --noEmit ; echo "TSC_EXIT=$?"
TSC_EXIT=0

$ pnpm lint ; echo "LINT_EXIT=$?"
> kolaytercih@0.1.0 lint
> eslint
LINT_EXIT=0

/meraklisina şeması el değmedi [D]:

$ git diff --name-only 9bd448b..HEAD | grep -E "huni-semasi|meraklisina|analitik.ts|rapor-maske|credits.ts"
(boş)

Şartnameden sapmalar (2)

  1. manuel-harita.tsx'in kök <div>'ine mt-16 eklendi — şartname yalnız page.tsx'te yer değişimi istiyordu. Gerekçe: haritanın kök öğesinin üst boşluğu yoktu, çünkü <main>'in ilk çocuğuyken boşluğu main'in py-12'sinden alıyordu. Tablonun altına taşınınca tabloya yapışık kalacaktı; sayfadaki diğer bölümlerin hepsi mt-16 kullanıyor (tablo <section>'ı, sihirbaz kartları, tadımlık). Bu bir ritim düzeltmesi, davranış değişikliği değil. Dosya zaten G1'in sahiplik kümesinde. Gözle kontrol edilmeli (aşağı, Bilal'den istenen 1).
  2. İki commit'te yorum güncellemeleri — tadimlik-satiri.tsx:123'teki first:mt-0 yorumu haritanın üstte olduğunu varsayıyordu, page.tsx'teki hiyerarşi yorumu da eski sırayı anlatıyordu. İkisi de yeni sıraya göre yeniden yazıldı; kod değil belge düzeltmesi, ama diff'e giriyor.

Kapsam dışı bırakılanlar (bilerek)

  • B3 (Suspense fallback max-w-6xl ↔ içerik max-w-4xl, 256 px genişlik farkı) — sonuc/page.tsx:47. Bu işin parçası değil, dokunulmadı. Aynı dosyada duruyor; A3 (/sonuc <h1>) dalıyla birlikte gitmesi ucuz olur.
  • B4 ("Giriş sonrası liste hemen üretilir" kredisiz kullanıcıda tutmuyor) — tadimlik-satiri.tsx:188-189, yani d2e1190'ın kendi hunk'ı. Dokunmadım; düzeltilecekse o [Bilal] commit'iyle birlikte ele alınmalı.
  • Navbar'daki küçük bulgular (kredi link'inin erişilebilir adının salt "12" olması, <640 px'te 36 px dokunma hedefi) — şartname bunları istemedi.
  • Alternatif 2 (Nasıl çalışır? gizleme) — Bilal A'yı seçti.

Merge sonrası doğrulanması gerekenler

  1. pnpm build iki dalda da alınmadı (disk talimatı). Push edilecek commit'in kendisi üzerinde alınmalı — çalışma ağacı kirli olduğu için buradaki bir build zaten yanıltıcı olurdu (AGENTS.md "Push öncesi build zorunlu").
  2. Navbar, girişli oturumda 375 / 768 / 1280 px — header tek satıra indi mi, pill'ler ikon+rozet hâliyle tanınabiliyor mu. Tasarımcının hesabı bunu söylüyor ama ölçüm hesapla yapıldı, gözle değil.
  3. Ekran okuyucuyla iki pill — etiket artık yalnız aria-label'dan geliyor; VoiceOver/NVDA'da "Yapay Zeka Listem, bağlantı" ve "Kendi listem — 3/24 program, düğme" duyuluyor mu.
  4. /sonuc, kayıtlı manuel listesi olan oturumda — harita hidrasyonda tablonun altında belirip üstündeki hiçbir şeyi itmiyor mu (B1'in asıl testi), ve tabloyla arasındaki mt-16 boşluğu doğru duruyor mu.
  5. Analitik serisi — tadimlik_goruntulendi için 32 numaralı raporun uyarısı geçerliliğini koruyor; tadımlık hâlâ ilk ekranda, bu commit'ler paydayı değiştirmedi.

guvenlik-uyum denetimi gerekmiyor: iki dalda da para, giriş kimlik doğrulaması ya da kişisel veri akışına dokunulmadı — değişenler yerleşim sırası, iki CSS sınıfı ve bir cümle.

Bilal'den istenen (3 madde)

  1. manuel-harita.tsx'e eklediğim mt-16'yı gözle onayla — harita artık tablonun hemen altında, aradaki boşluk diğer bölümlerle aynı ritimde mi, yoksa fazla/az mı? ~2 dk.
  2. e3519a5 ([Bilal] content(tadimlik): paragraf maskenin gerçeğini söyler) onayı — "…24 tercihlik listenin her satırı bu formatta kurulur, ilk üçü hemen açılır." senin dilin mi? Hayırsa git revert e3519a5; altındaki hiçbir şey etkilenmez (ters yama temiz doğrulandı). ~2 dk.
  3. Navbar'da kalan 1024–1151 px bandı — Alternatif 1 bu dar bantta profilsiz + liste dolu durumda −48 … −1 px açık bırakıyor (tasarımcının hesabı). Alternatif 2'yi (Nasıl çalışır? yalnız ≥1280 px) isteyecek misin, yoksa bu bant kabul mü? ~3 dk.