fix(tasarim): karşılaştırma tablosu kaymıyor; çekmecede tek çarpı; bildirimler eski hâlinde
- Ana sayfa karşılaştırması telefonda/tablette yana kayıyordu: lg altında özellik başına satır + üç sütun, sütun adları yapışık (96/128 px, ölçüldü); lg'de tablo, taşma yok - Liste çekmecesinde kapatma çarpısı ile satır çıkarma çarpısı aynı görünüyordu: satırda çerçevesiz "−" (CircleMinus) - Bildirim (toast) görünümündeki değişiklik geri alındı (uyumsuzdu) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,7 @@ import {
|
||||
import {
|
||||
ArrowRight,
|
||||
Check,
|
||||
CircleMinus,
|
||||
GripVertical,
|
||||
ListChecks,
|
||||
Plus,
|
||||
@@ -491,9 +492,11 @@ function CekmeceSatiri({
|
||||
geriAlinabilirCikar([tercih.id], `${tercih.isim} çıkarıldı`)
|
||||
}
|
||||
onPointerDown={(e) => e.stopPropagation()} // kaydırmayı tetiklemesin
|
||||
className="inline-flex size-11 shrink-0 cursor-pointer items-center justify-center rounded-full border border-slate-200 bg-white text-slate-500 transition-[background-color,border-color,color,transform] duration-150 hover:border-orange-500 hover:bg-orange-50/60 hover:text-orange-500 active:scale-[0.92]"
|
||||
// Satırdan çıkarma "−" ile, çerçevesiz: kapatma çarpısıyla (§4.3)
|
||||
// karışmasın diye çarpı yalnız çekmecenin kendisini kapatır.
|
||||
className="inline-flex size-11 shrink-0 cursor-pointer items-center justify-center rounded-full text-slate-400 transition-[background-color,color,transform] duration-150 hover:bg-orange-50/60 hover:text-orange-500 active:scale-[0.92]"
|
||||
>
|
||||
<X className="size-4" aria-hidden />
|
||||
<CircleMinus className="size-5" aria-hidden />
|
||||
<span className="sr-only">{tercih.isim} listeden çıkar</span>
|
||||
</button>
|
||||
</motion.div>
|
||||
|
||||
@@ -2,13 +2,26 @@ import { CheckCircle2, X } from "lucide-react";
|
||||
|
||||
// Ana sayfadaki karşılaştırma tablosunun hücresi: metin değeri düz yazılır,
|
||||
// boolean değer Var/Yok ikonuna çevrilir.
|
||||
export function ComparisonCell({ value }: { value: boolean | string }) {
|
||||
export function ComparisonCell({
|
||||
value,
|
||||
vurgu = false,
|
||||
}: {
|
||||
value: boolean | string;
|
||||
/** KolayTercih sütunu: metin koyu ve kalın */
|
||||
vurgu?: boolean;
|
||||
}) {
|
||||
if (typeof value === "string") {
|
||||
return <span className="text-sm font-medium">{value}</span>;
|
||||
return (
|
||||
<span
|
||||
className={`block text-sm leading-snug ${vurgu ? "font-semibold text-slate-900" : "font-medium text-slate-600"}`}
|
||||
>
|
||||
{value}
|
||||
</span>
|
||||
);
|
||||
}
|
||||
return value ? (
|
||||
<CheckCircle2 className="mx-auto size-5 text-primary" aria-label="Var" />
|
||||
<CheckCircle2 className="mx-auto size-6 text-primary" aria-label="Var" />
|
||||
) : (
|
||||
<X className="mx-auto size-5 text-muted-foreground/50" aria-label="Yok" />
|
||||
<X className="mx-auto size-5 text-slate-300" aria-label="Yok" />
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user