refactor(frontend): fix undefined --danger-color, dedup formatDate & require2FAOptions, drop double plan.css import

- base.css: var(--danger-color) (undefined, no fallback -> inherited color) -> var(--danger)
- attendanceHelpers: re-export formatDate from formatters instead of a byte-identical copy
- dashboard.ts: remove dead duplicate require2FAOptions (canonical copy is in settings.ts)
- settings.ts: remove unused @deprecated systemSettingsOptions alias
- PlanWork: drop redundant per-page plan.css import (loaded globally in AdminApp)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
BOHA
2026-06-06 02:22:51 +02:00
parent c5f986adc1
commit 522afefc80
5 changed files with 7 additions and 16 deletions

View File

@@ -265,7 +265,7 @@ img {
border-radius: var(--border-radius-sm);
background: var(--bg-tertiary);
border: 1px solid var(--border-color);
color: var(--danger-color);
color: var(--danger);
font-family: var(--font-mono);
font-size: 11px;
line-height: 1.5;

View File

@@ -9,12 +9,8 @@ export const dashboardOptions = () =>
staleTime: 60_000,
});
export const require2FAOptions = () =>
queryOptions({
queryKey: ["settings", "2fa"],
queryFn: () =>
jsonQuery<{ require_2fa: boolean }>("/api/admin/totp/required"),
});
// require2FAOptions lives in ./settings.ts (the single definition consumers
// import). The duplicate copy that used to be here was dead.
export interface Session {
id: number | string;

View File

@@ -76,9 +76,6 @@ export const systemInfoOptions = () =>
),
});
/** @deprecated Use systemInfoOptions instead — this query fetches system-info, not system settings. */
export const systemSettingsOptions = systemInfoOptions;
export const require2FAOptions = () =>
queryOptions({
queryKey: ["settings", "2fa"],

View File

@@ -15,7 +15,7 @@ import PlanCategoriesModal from "../components/PlanCategoriesModal";
import Forbidden from "../components/Forbidden";
import { projectListOptions, type Project } from "../lib/queries/projects";
import { planCategoriesOptions, type PlanCategory } from "../lib/queries/plan";
import "../plan.css";
// plan.css is imported once globally in AdminApp.tsx — no per-page re-import.
const MONTH_NAMES = [
"Leden",

View File

@@ -21,11 +21,9 @@ interface AttendanceRecord {
}>;
}
export const formatDate = (dateStr: string | null | undefined): string => {
if (!dateStr) return "—";
const d = new Date(dateStr);
return d.toLocaleDateString("cs-CZ");
};
// formatDate is defined once in ./formatters and re-exported here so existing
// importers of attendanceHelpers keep working without a duplicate definition.
export { formatDate } from "./formatters";
/** Extract time as HH:MM from a datetime string without timezone conversion */
const extractTime = (datetime: string): string => {