fix(analitik): program_eklendi yalnız gerçek eklemede atılsın
Olay, profilsiz ziyaretçide program listeye girmeyip profil kapısı
açıldığında da atılıyordu (kapiAcildi dalı else'e düşüyordu); seri
"ekleme"yi değil "+ tıklaması"nı ölçüyordu (09-analitik-tur2, S6).
- Buton: yalnız sonuc.eklendi iken {kaynak, yol: "dogrudan"}.
- profilTamamlandi: bekleyen program listeye girdiyse (ekle() true)
{kaynak, yol: "kapi"}.
- OlayAdi yorumuna seri kırılması notu.
Davranış değişmez: profilsiz + hâlâ kapıyı açar.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -52,8 +52,11 @@ export function ProgramEkleButonu({
|
||||
toast.info(`Listen ${MANUEL_LISTE_MAX} tercihe ulaştı.`);
|
||||
} else if (sonuc.zatenVar) {
|
||||
toast.info("Bu program zaten seçtiklerinde.");
|
||||
} else {
|
||||
olay("program_eklendi", { kaynak });
|
||||
} else if (sonuc.eklendi) {
|
||||
// Yalnız gerçek eklemede: profilsiz + kapıyı açar (kapiAcildi) ve
|
||||
// program o an listeye girmez — o yolun olayı kapı tamamlanınca
|
||||
// profilTamamlandi içinden {yol: "kapi"} ile atılır.
|
||||
olay("program_eklendi", { kaynak, yol: "dogrudan" });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
import { useSyncExternalStore } from "react";
|
||||
import type { Program } from "@/types/yokatlas";
|
||||
import { olay } from "@/lib/analitik";
|
||||
import { PROFIL_DEGISTI_EVENT, sonucHref, type TercihProfili } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||
import { tercihProfiliOku, tercihProfiliTamamlandiMi } from "@/features/sihirbaz/sihirbaz-profil";
|
||||
import {
|
||||
@@ -250,7 +251,14 @@ export function profilTamamlandi(
|
||||
const bekleyen = durum.bekleyen;
|
||||
const hedef = durum.bekleyenHedef;
|
||||
if (bekleyen) {
|
||||
ekle(programdanManuelTercih(bekleyen.program, profil.sira, bekleyen.kaynak));
|
||||
const eklendi = ekle(
|
||||
programdanManuelTercih(bekleyen.program, profil.sira, bekleyen.kaynak),
|
||||
);
|
||||
// Kapıdan geçen +: program ancak şimdi listeye girdi. Butondaki
|
||||
// {yol: "dogrudan"} atışının eşi; liste doluysa/zaten varsa atılmaz.
|
||||
if (eklendi) {
|
||||
olay("program_eklendi", { kaynak: bekleyen.kaynak, yol: "kapi" });
|
||||
}
|
||||
}
|
||||
durum = {
|
||||
...durum,
|
||||
|
||||
@@ -20,6 +20,9 @@ export type OlayAdi =
|
||||
| "liste_olusturuldu"
|
||||
| "liste_guncellendi"
|
||||
| "liste_revize"
|
||||
// Seri kırılması: bu düzeltmenin canlıya çıktığı tarihten önce = +
|
||||
// tıklaması (kapı açılsa da atılıyordu), sonrası = gerçek ekleme
|
||||
// ({yol: "dogrudan" | "kapi"}); seriler karşılaştırılamaz.
|
||||
| "program_eklendi"
|
||||
| "netler_goruntulendi"
|
||||
| "danisman_sorusu"
|
||||
|
||||
Reference in New Issue
Block a user