fix: Orijinal Katalog varsayılan + canonical duplike-kök dedupe
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled

(1) Araç sayfası varsayılanı "Orijinal Katalog" (source) — canonical view'ın
edge-case'leri (duplike/drill-edilmemiş kökler) çözülene kadar.
(2) canonical grouping ad-bazlı dedupe: bazı decode'lar kökü iki kez üretiyor
("Motor, Motor"; Seat Ateca'da her kök 2×) → aynı adı en zengin kopyayla
(parça, sonra çocuk) birleştir. Önceki boş-kök filtresi GERİ ALINDI (drill-
edilmemiş kökleri de siliyordu = "2 kategori" regresyonu).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-06 08:06:08 +03:00
parent 34d97b47ac
commit 013cd43e7e
4 changed files with 39 additions and 22 deletions

View File

@@ -57,9 +57,11 @@ function VehicleDetailPage() {
// When a cross-tree catalog search is active, the normal browse (and its view
// toggle) are hidden in favour of the search results.
const [searchActive, setSearchActive] = useState(false);
// "canonical" (default) = the catalog folded into the unified 20-bucket
// taxonomy; "source" = the raw per-brand OEM tree ("Orijinal Katalog").
const [browseMode, setBrowseMode] = useState<"source" | "canonical">("canonical");
// "source" (default for now) = the raw per-brand OEM tree ("Orijinal
// Katalog"); "canonical" = the catalog folded into the unified 20-bucket
// taxonomy. Default is Orijinal Katalog until the canonical view's edge cases
// (duplicate/undrilled roots on some freshly-decoded catalogs) are ironed out.
const [browseMode, setBrowseMode] = useState<"source" | "canonical">("source");
const changeViewMode = (mode: "grid" | "tree" | "columns") => {
setViewMode(mode);