Files
kolaytercih/src/components/ui/sonner.tsx
bilalgursen 3394e2e04a
All checks were successful
Deploy / deploy (push) Successful in 4m38s
fix(tasarim): toast açıklaması okunmuyordu — tema light'a sabit, metin ve düğme tasarım dilinde
Bilal (24 Eyl 2026): "İlk programın listende · 1/24" toast'unun açıklaması
okunmuyor. Sebep: sonner temayı next-themes'ten alıyor, sistem koyu
temadayken açıklama beyaza yakın griye dönüyor, zemin beyaz kalıyordu.
Üründe karanlık mod yok; tema light'a sabitlendi. Başlık slate-900
semibold, açıklama slate-600, aksiyon düğmesi koyu hap (h-9 rounded-full).
DESIGN.md §4.16.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-24 12:45:17 +03:00

53 lines
1.4 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 { Toaster as Sonner, type ToasterProps } from "sonner"
import { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon } from "lucide-react"
/**
* Bildirimler (DESIGN.md §4.16). Tema "light"e sabit: üründe karanlık mod
* yok (§1.2); sistem koyu temadayken sonner açıklamayı beyaza yakın griye
* çevirip beyaz zeminde okunmaz hâle getiriyordu (Bilal, 24 Eyl 2026:
* "toast açıklaması okunmuyor"). Metin ve buton renkleri globals.css'te.
*/
const Toaster = ({ ...props }: ToasterProps) => {
return (
<Sonner
theme="light"
className="toaster group"
icons={{
success: (
<CircleCheckIcon className="size-4" />
),
info: (
<InfoIcon className="size-4" />
),
warning: (
<TriangleAlertIcon className="size-4" />
),
error: (
<OctagonXIcon className="size-4" />
),
loading: (
<span className="block size-2.5 animate-pulse rounded-full bg-current" />
),
}}
style={
{
"--normal-bg": "var(--popover)",
"--normal-text": "var(--popover-foreground)",
"--normal-border": "var(--border)",
"--border-radius": "var(--radius)",
} as React.CSSProperties
}
toastOptions={{
classNames: {
toast: "cn-toast",
},
}}
{...props}
/>
)
}
export { Toaster }