fix(ui): исправить доступность оболочки и проверку состояния сервера
This commit is contained in:
1 parent
1a9966ec95
commit
c343ce62c8
25 files changed
+78
-21
No files matched your search
@@ -467,7 +467,7 @@ const SEVERITY_META: Record<AlertSeverity, { label: string; dot: string; badge:
|
||||
label: "Критическое",
|
||||
dot: "bg-red-500",
|
||||
badge: "bg-red-100 text-red-700 dark:bg-red-950 dark:text-red-400",
|
||||
chip: "border-red-400 bg-red-500/10 text-red-600 dark:text-red-400",
|
||||
chip: "border-red-400 bg-red-500/10 text-red-700 dark:text-red-400",
|
||||
},
|
||||
warning: {
|
||||
label: "Предупреждение",
|
||||
@@ -726,7 +726,7 @@ function AlertRuleRow({ rule, onToggle, onDelete, onEdit, interactionsDisabled,i
|
||||
!rule.enabled && "opacity-55",
|
||||
)}>
|
||||
{/* toggle */}
|
||||
<FormToggle ariaLabel={"Включить правило "+rule.name} checked={rule.enabled} onChange={v => onToggle(rule.id, v)} disabled={interactionsDisabled||(isLive&&rule.type==="bgp-prefix"&&!rule.enabled)} />
|
||||
<FormToggle className="h-6" ariaLabel={"Включить правило "+rule.name} checked={rule.enabled} onChange={v => onToggle(rule.id, v)} disabled={interactionsDisabled||(isLive&&rule.type==="bgp-prefix"&&!rule.enabled)} />
|
||||
|
||||
{/* severity dot */}
|
||||
<SeverityDot severity={rule.severity} />
|
||||
@@ -746,7 +746,7 @@ function AlertRuleRow({ rule, onToggle, onDelete, onEdit, interactionsDisabled,i
|
||||
{rule.targets.length > 1 ? `${rule.targets.length} объектов` : rule.target}
|
||||
</span>
|
||||
{rule.groupId ? (
|
||||
<span className="text-muted-foreground/80"> · группа</span>
|
||||
<span className="text-muted-foreground"> · группа</span>
|
||||
) : null}
|
||||
{" · "}{rule.condition}
|
||||
</p>
|
||||
@@ -968,7 +968,7 @@ function ServerObjectCardPicker({
|
||||
{loc ? (
|
||||
<p className="text-[10px] text-muted-foreground/90 truncate">{loc}</p>
|
||||
) : null}
|
||||
<p className="text-[9px] text-muted-foreground/80">
|
||||
<p className="text-[9px] text-muted-foreground">
|
||||
{SERVER_ROLES_RU[s.type] ?? s.type}
|
||||
</p>
|
||||
</div>
|
||||
@@ -1122,7 +1122,7 @@ function GreTunnelObjectCardPicker({
|
||||
</span>
|
||||
</div>
|
||||
{r.comment ? (
|
||||
<p className="text-[9px] text-muted-foreground/80 line-clamp-2 mt-1 pl-5 border-t border-border/30 pt-1 leading-snug">
|
||||
<p className="text-[9px] text-muted-foreground line-clamp-2 mt-1 pl-5 border-t border-border/30 pt-1 leading-snug">
|
||||
{r.comment}
|
||||
</p>
|
||||
) : null}
|
||||
@@ -2559,7 +2559,7 @@ function AlertsContent() {
|
||||
className={cn(
|
||||
"text-xs px-3 py-1.5 rounded-full border font-medium transition-colors",
|
||||
onlyActive
|
||||
? "border-emerald-400 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400"
|
||||
? "border-emerald-400 bg-emerald-500/10 text-emerald-700 dark:text-emerald-400"
|
||||
: "border-border bg-muted/40 text-muted-foreground hover:bg-muted",
|
||||
)}>
|
||||
Активных: {active}
|
||||
@@ -2569,8 +2569,8 @@ function AlertsContent() {
|
||||
<span className={cn(
|
||||
"ml-auto text-xs px-3 py-1.5 rounded-full border flex items-center gap-1.5 font-medium",
|
||||
tg.connected
|
||||
? "border-emerald-400 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400"
|
||||
: "border-red-400 bg-red-500/10 text-red-600 dark:text-red-400",
|
||||
? "border-emerald-400 bg-emerald-500/10 text-emerald-700 dark:text-emerald-400"
|
||||
: "border-red-400 bg-red-500/10 text-red-700 dark:text-red-400",
|
||||
)}>
|
||||
<span className={cn("size-1.5 rounded-full", tg.connected ? "bg-emerald-500" : "bg-red-500")} />
|
||||
{tg.connected ? "Telegram: Параметры заполнены" : "Telegram: Не настроен"}
|
||||
|
||||
@@ -22,7 +22,7 @@ export default function MainLayout({ children }: { children: ReactNode }) {
|
||||
К содержимому
|
||||
</a>
|
||||
<AppSidebar />
|
||||
<SidebarInset id="main-content" className="h-svh overflow-hidden">
|
||||
<SidebarInset tabIndex={-1} id="main-content" className="h-svh overflow-hidden">
|
||||
{children}
|
||||
</SidebarInset>
|
||||
<CommandPalette />
|
||||
|
||||
@@ -103,7 +103,7 @@ export default function SettingsPage() {
|
||||
</span>
|
||||
)}
|
||||
{backendStatus === true && (
|
||||
<span className="flex items-center gap-1.5 text-xs text-emerald-600 dark:text-emerald-400">
|
||||
<span className="flex items-center gap-1.5 text-xs text-emerald-700 dark:text-emerald-400">
|
||||
<CheckIcon className="size-3.5" />Доступен
|
||||
</span>
|
||||
)}
|
||||
@@ -121,7 +121,7 @@ export default function SettingsPage() {
|
||||
|
||||
{/* hint when live but backend unreachable */}
|
||||
{mode === "live" && backendStatus === false && (
|
||||
<div className="flex items-start gap-2 py-3 text-xs text-amber-600 dark:text-amber-400">
|
||||
<div className="flex items-start gap-2 py-3 text-xs text-amber-700 dark:text-amber-400">
|
||||
<AlertCircleIcon className="size-3.5 mt-0.5 shrink-0" />
|
||||
<span>Сервер недоступен. Последние полученные данные сохраняются; новые запросы могут завершаться ошибкой.</span>
|
||||
</div>
|
||||
|
||||
Reference in new issue
Block a user