Files
kolaytercih/src/components/header-gate.tsx
bilalgursen a71740767d feat(odeme): checkout ekranında site kromunu daralt
Ödeme adımında ekranda ~20 kaçış yolu vardı (SEO footer kolonları, katalog
arama, user nav) ve geri sayım banner'ı kart formunun üstünde duruyordu.
Ayrıca layout'un alt progressive blur katmanı iyzico iframe'inin son
satırlarını bulanıklaştırıyordu.

- kromGizliMi: /odeme kroma kapatıldı, /odeme/sonuc istisna tutuldu
  (orada kullanıcıyı ürüne döndürmek istiyoruz)
- OdemeUstSerit: SiteHeader'ın tasarım dilinde daraltılmış şerit — logo
  bilerek link değil, tek çıkış "Paket sayfasına dön"
- Sipariş özeti kartı kaldırıldı: ürün ve tutar /paket'te seçiliyor,
  iyzico da ödeme butonunda tutarı gösteriyor
- Yasal linkler + iyzico logo bandı ayrı footer yerine doğrudan formun
  altında; bant sayfada artık tek kez görünüyor

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 07:03:32 +03:00

31 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use client";
import { usePathname } from "next/navigation";
// Site kromunun (banner, header, üst/alt blur) gizleneceği rotalar
// (tam eşleşme veya alt yol). KaydetBanner da aynı listeye uyar.
// /odeme: checkout ekranında nav/arama/geri sayım birer kaçış yolu; üstelik
// alt blur katmanı iyzico iframe'inin son satırlarını bulanıklaştırıyor.
const HIDDEN_PREFIXES = ["/giris", "/odeme"];
// Kromun geri geldiği istisnalar: ödeme sonucu sayfasında kullanıcıyı ürüne
// döndürmek istiyoruz, o yüzden orada tam krom kalır.
const ISTISNA_PREFIXES = ["/odeme/sonuc"];
function yolEslesir(pathname: string, prefixler: string[]) {
return prefixler.some(
(p) => pathname === p || pathname.startsWith(`${p}/`),
);
}
export function kromGizliMi(pathname: string) {
if (yolEslesir(pathname, ISTISNA_PREFIXES)) return false;
return yolEslesir(pathname, HIDDEN_PREFIXES);
}
export function HeaderGate({ children }: { children: React.ReactNode }) {
const pathname = usePathname();
if (kromGizliMi(pathname)) return null;
return <>{children}</>;
}