From dea207996ed929d829a51121e5e4e2dd98b97820 Mon Sep 17 00:00:00 2001 From: ayrisdev Date: Wed, 2 Sep 2026 22:58:06 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20kanal=20detay=20sayfas=C4=B1nda=20i?= =?UTF-8?q?=C3=A7=20i=C3=A7e=20girinti=20(segment/aday=20klip)=20netle?= =?UTF-8?q?=C5=9Ftirildi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 3 seviyeli border-left girinti (oturum > segment > aday klip) yerine gerçek kutu (soft-card) blokları — her segment kendi arka planıyla ayrışıyor, adaylar onun içinde daha da net bir alt kutuda. Segment başlığı artık ham dosya yolu değil ("15sn segment · 02.09.2026 20:14" gibi) insan-okur bir etiket — dosya yolu küçük/soluk referans olarak altta kaldı. "Canlı Durum" kartındaki karışık bölümler de (hata/canlı önizleme/log/segment ayarı/manuel başlat) Separator ile ayrıştırıldı. Co-Authored-By: Claude Sonnet 5 --- apps/frontend/app/channels/[id]/page.tsx | 222 ++++++++++++----------- 1 file changed, 117 insertions(+), 105 deletions(-) diff --git a/apps/frontend/app/channels/[id]/page.tsx b/apps/frontend/app/channels/[id]/page.tsx index b2ddc21..3554b48 100644 --- a/apps/frontend/app/channels/[id]/page.tsx +++ b/apps/frontend/app/channels/[id]/page.tsx @@ -21,6 +21,7 @@ import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Badge, type badgeVariants } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import { Separator } from "@/components/ui/separator"; import type { VariantProps } from "class-variance-authority"; export const dynamic = "force-dynamic"; @@ -111,40 +112,12 @@ export default async function ChannelDetailPage({ params }: { params: Promise<{ )} - +

Aktif: {channel.isActive ? "evet" : "hayır"} · Son kontrol:{" "} {channel.lastCheckedAt ? formatTr(channel.lastCheckedAt) : "—"}

-
-
- - -
- - - Boş bırakılırsa global varsayılan kullanılır. Sadece bundan sonra başlayacak kayıtları etkiler. - -
- {status === undefined && (

api-daemon'dan canlı durum alınamadı (servis erişilemez olabilir). @@ -152,7 +125,7 @@ export default async function ChannelDetailPage({ params }: { params: Promise<{ )} {status?.lastPollError && ( -

+
son poll hatası @@ -161,32 +134,64 @@ export default async function ChannelDetailPage({ params }: { params: Promise<{ {formatTr(status.lastPollError.at)}
-
+              
                 {status.lastPollError.message}
               
)} - {status?.recording && activeSession?.liveVideoId && activeSession.liveVideoId !== "forced" && ( -