test(frontend): add vitest test suite and apply code formatting

This commit is contained in:
zwitschi committed 2026-08-07 16:05:02 +02:00
1 parent e4ffa0b356
commit 6632df0bc7
23 files changed
+2209 -815

No files matched your search

+116 -28
View File
@@ -1,42 +1,130 @@
<!doctype html>
<html lang="en">
<head>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Linear Void Admin</title>
<link rel="stylesheet" href="../src/style.css" />
</head>
</head>
<body class="admin-body">
<body class="admin-body">
<div class="admin-shell">
<aside class="admin-sidebar" aria-label="Primary">
<div class="brand-block">
<div class="brand-badge" aria-hidden="true">LV</div>
<div class="brand-text">Admin</div>
</div>
<aside class="admin-sidebar" aria-label="Primary">
<div class="brand-block">
<div class="brand-badge" aria-hidden="true">LV</div>
<div class="brand-text">Admin</div>
</div>
<button id="logout-btn" type="button" class="btn btn-secondary btn-block">Sign out</button>
<button id="logout-btn" type="button" class="btn btn-secondary btn-block">Sign out</button>
<nav class="admin-nav" aria-label="Admin sections" role="tablist" aria-orientation="vertical">
<button type="button" id="tab-trigger-dashboard" role="tab" class="tab-trigger is-active" data-tab="dashboard" aria-controls="tab-dashboard" aria-selected="true">Dashboard</button>
<button type="button" id="tab-trigger-upload" role="tab" class="tab-trigger" data-tab="upload" aria-controls="tab-upload" aria-selected="false">Upload Video</button>
<button type="button" id="tab-trigger-playlist" role="tab" class="tab-trigger" data-tab="playlist" aria-controls="tab-playlist" aria-selected="false">Playlist</button>
<button type="button" id="tab-trigger-schedule" role="tab" class="tab-trigger" data-tab="schedule" aria-controls="tab-schedule" aria-selected="false">Schedule</button>
<button type="button" id="tab-trigger-moderation" role="tab" class="tab-trigger" data-tab="moderation" aria-controls="tab-moderation" aria-selected="false">Moderation</button>
<button type="button" id="tab-trigger-chat-log" role="tab" class="tab-trigger" data-tab="chat-log" aria-controls="tab-chat-log" aria-selected="false">Chat Log</button>
<button type="button" id="tab-trigger-users" role="tab" class="tab-trigger" data-tab="users" aria-controls="tab-users" aria-selected="false">Users</button>
<button type="button" id="tab-trigger-analytics" role="tab" class="tab-trigger" data-tab="analytics" aria-controls="tab-analytics" aria-selected="false">Analytics</button>
<button type="button" id="tab-trigger-system" role="tab" class="tab-trigger" data-tab="system" aria-controls="tab-system" aria-selected="false">System</button>
</nav>
</aside>
<nav class="admin-nav" aria-label="Admin sections" role="tablist" aria-orientation="vertical">
<button
type="button"
id="tab-trigger-dashboard"
role="tab"
class="tab-trigger is-active"
data-tab="dashboard"
aria-controls="tab-dashboard"
aria-selected="true"
>
Dashboard
</button>
<button
type="button"
id="tab-trigger-upload"
role="tab"
class="tab-trigger"
data-tab="upload"
aria-controls="tab-upload"
aria-selected="false"
>
Upload Video
</button>
<button
type="button"
id="tab-trigger-playlist"
role="tab"
class="tab-trigger"
data-tab="playlist"
aria-controls="tab-playlist"
aria-selected="false"
>
Playlist
</button>
<button
type="button"
id="tab-trigger-schedule"
role="tab"
class="tab-trigger"
data-tab="schedule"
aria-controls="tab-schedule"
aria-selected="false"
>
Schedule
</button>
<button
type="button"
id="tab-trigger-moderation"
role="tab"
class="tab-trigger"
data-tab="moderation"
aria-controls="tab-moderation"
aria-selected="false"
>
Moderation
</button>
<button
type="button"
id="tab-trigger-chat-log"
role="tab"
class="tab-trigger"
data-tab="chat-log"
aria-controls="tab-chat-log"
aria-selected="false"
>
Chat Log
</button>
<button
type="button"
id="tab-trigger-users"
role="tab"
class="tab-trigger"
data-tab="users"
aria-controls="tab-users"
aria-selected="false"
>
Users
</button>
<button
type="button"
id="tab-trigger-analytics"
role="tab"
class="tab-trigger"
data-tab="analytics"
aria-controls="tab-analytics"
aria-selected="false"
>
Analytics
</button>
<button
type="button"
id="tab-trigger-system"
role="tab"
class="tab-trigger"
data-tab="system"
aria-controls="tab-system"
aria-selected="false"
>
System
</button>
</nav>
</aside>
<main class="admin-main" id="admin-main" tabindex="-1">
<div id="tab-content-container" aria-live="polite">Loading...</div>
</main>
<main class="admin-main" id="admin-main" tabindex="-1">
<div id="tab-content-container" aria-live="polite">Loading...</div>
</main>
</div>
<script type="module" src="/src/admin.ts"></script>
</body>
</html>
</body>
</html>