diff --git a/src/components/ui/loader.tsx b/src/components/ui/loader.tsx index caccb3c..92694c7 100644 --- a/src/components/ui/loader.tsx +++ b/src/components/ui/loader.tsx @@ -334,16 +334,13 @@ export function TextShimmerLoader({ lg: "text-base", } + // prompt-kit'in özgün gradyanı `--muted-foreground/--foreground` token'ı ve + // projede tanımsız bir `shimmer` keyframe'i kullanıyordu (hareket etmiyordu). + // Sitenin tek parıltı kaynağı shadcn `shimmer` utility'sidir (currentColor + // üstünden; liste-uretici.tsx ve tercih-degisti-modali.tsx ile aynı), renk + // çağıranın `text-slate-*` sınıfından gelir, karanlık mod token'dan döner. return ( -
+
{text}
) diff --git a/src/features/rapor/components/sohbet-client.tsx b/src/features/rapor/components/sohbet-client.tsx index 59a8846..e0be39b 100644 --- a/src/features/rapor/components/sohbet-client.tsx +++ b/src/features/rapor/components/sohbet-client.tsx @@ -54,7 +54,7 @@ import { TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; -import { DotsLoader } from "@/components/ui/loader"; +import { DotsLoader, TextShimmerLoader } from "@/components/ui/loader"; import { Skeleton } from "@/components/ui/skeleton"; import { olay } from "@/lib/analitik"; import type { ProfilAlani } from "@/lib/danisman-profil"; @@ -283,9 +283,10 @@ export function DanismanBaslik() { /** Danışman mesajlarının avatarı — KolayTercih markası. `canli` iken (cevap * beklenirken/yazılırken) panel başlığındaki DanışmanlaKonuş işareti gibi * yerinde nabız atar: danışmanın "düşündüğü" avatardan okunur. `aracta` iken - * (danışman veriye bakıyor, "…bakıyorum" hapı dönüyor) kareler sırayla - * birbirinin yerine yürür; araç bitince nabza döner. Her geçişte ve cevap - * bitince kareler yumuşakça yerine oturur. + * (danışman veriye bakıyor, "…bakıyorum" hapı dönüyor) kareler site + * başlığındaki logoyla aynı "rota" koreografisini oynar (her kare sıradakinin + * yerine süzülür; site-header.tsx, animasyonlu-mark.tsx); araç bitince nabza + * döner. Her geçişte ve cevap bitince kareler yumuşakça yerine oturur. * `renk="turuncu"`: panel başlığındaki DanışmanlaKonuş işaretinin rengi — * yalnız "Danışman uyarısı" balonunda (durağan; hareket "düşünüyor" demek). */ export function DanismanAvatar({ @@ -304,7 +305,7 @@ export function DanismanAvatar({ > @@ -989,6 +990,16 @@ export function SohbetClient({ const piller = aracPilleri(m); // Soru formu balonun altında (sohbet-anketi.tsx) const anket = mesajinAnketi(m); + // soru_sor aracı hap çizmez (arac-pilleri.tsx HAPSIZ_ARACLAR); + // sorular üretilirken (parça henüz output-available değil) + // formun yerinde shimmer satırı durur, form gelince kalkar. + const soruHazirlaniyor = m.parts.some( + (p) => + p.type === "tool-soru_sor" && + "state" in p && + p.state !== "output-available" && + p.state !== "output-error", + ); return ( {baglantilariIsaretle(metin)} - ) : ( + ) : soruHazirlaniyor ? null : ( )} + {soruHazirlaniyor ? ( +
+ +
+ ) : null} {anket ? (