diff --git a/app/(main)/traffic/page.tsx b/app/(main)/traffic/page.tsx index e06c7d9e..d9277118 100644 --- a/app/(main)/traffic/page.tsx +++ b/app/(main)/traffic/page.tsx @@ -529,9 +529,9 @@ function DetailHeader({ range, setRange, children }: { range: Range; setRange: (r: Range) => void; children: ReactNode }) { return ( -
+
{children}
-
+
{TRAFFIC_RANGE_KEYS.map((r) => (
-
+
{!(effectiveMode === "flows" && range === "30d") && (!isLive || !(effectiveMode === "flows" ? liveError : trafficError)) && )} -
+
- {range === "30d" &&

Выбор сервера: активность за последние 24 часа. Месячный отчёт — справа.

} + {range === "30d" &&

Выбор сервера: активность за последние 24 часа. Месячный отчёт — в деталях сервера.

}
{sortedFlowCards.map((card) => (
- - + + {analyticsLoading &&

Загрузка аналитики…

} {currentAnalytics?.error && Аналитика недоступна{currentAnalytics.error}}
) : ( -
+
{/* ── left panel ── */}
@@ -1375,8 +1375,8 @@ export default function TrafficPage() {
{/* ── detail panel ── */} - - + + {isLive && effectiveMode === "servers" && (
diff --git a/components/traffic/flow-analytics-panel.tsx b/components/traffic/flow-analytics-panel.tsx index 30e70a20..ed2cb5c8 100644 --- a/components/traffic/flow-analytics-panel.tsx +++ b/components/traffic/flow-analytics-panel.tsx @@ -374,7 +374,7 @@ export function FlowAnalyticsDetail({ return ( <> -
+

{card.name}

@@ -383,7 +383,7 @@ export function FlowAnalyticsDetail({ {card.site}
-
+
-
+
{RANGE_KEYS.filter(r => r !== "30d" || monthlyAvailable).map((r) => (