feat: add dashboard icon
Backend / Lint i formatowanie (push) Successful in 4s
Backend / Testy i kontrakt API (push) Successful in 5s
Panel / Lint, typy i build (push) Successful in 19s
Backend / Testowy build obrazu (push) Successful in 14s

This commit is contained in:
mmacierzanka committed 2026-08-21 21:53:32 +02:00
1 parent 07041ac881
commit 7e78e3cd19
5 files changed
+16 -9

No files matched your search

+1
View File
@@ -4,6 +4,7 @@
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ŻyrarBOT - Dashboard Kolejki</title> <title>ŻyrarBOT - Dashboard Kolejki</title>
<link rel="icon" type="image/jpeg" href="/icon.jpeg" />
<link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link <link
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

+5 -7
View File
@@ -106,18 +106,16 @@ body {
.logo-icon { .logo-icon {
width: 48px; width: 48px;
height: 48px; height: 48px;
background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
border-radius: 14px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: white;
box-shadow: 0 4px 15px var(--primary-glow);
} }
.logo-icon i { .logo-image {
width: 24px; width: 48px;
height: 24px; height: 48px;
object-fit: cover;
border-radius: 14px;
} }
.logo-text h1 { .logo-text h1 {
+5 -2
View File
@@ -1,6 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed } from 'vue' import { computed } from 'vue'
import { Music } from 'lucide-vue-next'
import type { BotStatus, GuildSettings } from '@/types/status' import type { BotStatus, GuildSettings } from '@/types/status'
const props = defineProps<{ const props = defineProps<{
@@ -23,7 +22,11 @@ const label = computed(() =>
<header class="main-header"> <header class="main-header">
<div class="logo-area"> <div class="logo-area">
<div class="logo-icon"> <div class="logo-icon">
<Music /> <img
src="/icon.jpeg"
alt=""
class="logo-image"
>
</div> </div>
<div class="logo-text"> <div class="logo-text">
<h1>ŻyrarBOT</h1> <h1>ŻyrarBOT</h1>
+5
View File
@@ -85,6 +85,11 @@ class Application:
os.makedirs(self.settings.static_dir, exist_ok=True) os.makedirs(self.settings.static_dir, exist_ok=True)
@self.web.get("/icon.jpeg", include_in_schema=False)
async def favicon() -> FileResponse:
"""Serve the dashboard icon before the SPA guild fallback route."""
return FileResponse(os.path.join(self.settings.static_dir, "icon.jpeg"))
@self.web.get("/{guild_route}", include_in_schema=False) @self.web.get("/{guild_route}", include_in_schema=False)
async def guild_panel(guild_route: str) -> FileResponse: async def guild_panel(guild_route: str) -> FileResponse:
"""Serve the SPA for a direct link to a guild view.""" """Serve the SPA for a direct link to a guild view."""