Selaa lähdekoodia

Present view: add brand logo to the header

Mirrors the cycle SVG used in the main page header so the
presentation/beamer view carries the same brand mark.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
chiappa 1 päivä sitten
vanhempi
sitoutus
f10a1dd617
1 muutettua tiedostoa jossa 28 lisäystä ja 8 poistoa
  1. 28 8
      views/sprints/present.twig

+ 28 - 8
views/sprints/present.twig

@@ -9,14 +9,34 @@
       data-beamer="1">
 
     <header class="flex items-center justify-between gap-4 px-4 py-2 border-b bg-slate-50 dark:bg-slate-800 dark:border-slate-700">
-        <div class="flex items-baseline gap-3">
-            <h1 class="text-lg font-semibold tracking-tight">{{ sprint.name }}</h1>
-            <p class="text-slate-600 text-xs dark:text-slate-400">
-                {{ sprint.startDate }} – {{ sprint.endDate }}
-                {% if sprint.isArchived %}
-                    · <span class="inline-block px-1.5 py-0.5 text-[10px] bg-slate-200 text-slate-600 rounded dark:bg-slate-700 dark:text-slate-300">archived</span>
-                {% endif %}
-            </p>
+        <div class="flex items-center gap-3">
+            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="24" height="24" aria-hidden="true" class="block shrink-0" fill="none">
+                <defs>
+                    <radialGradient id="brand-cycle-glow-present" cx="32" cy="32" r="20" gradientUnits="userSpaceOnUse">
+                        <stop offset="0"   stop-color="#6366f1" stop-opacity="0.55"/>
+                        <stop offset="0.6" stop-color="#6366f1" stop-opacity="0.12"/>
+                        <stop offset="1"   stop-color="#6366f1" stop-opacity="0"/>
+                    </radialGradient>
+                </defs>
+                <circle cx="32" cy="32" r="20" fill="url(#brand-cycle-glow-present)"/>
+                <path d="M52 32 A20 20 0 1 1 32 12" stroke="currentColor" stroke-width="3.5" stroke-linecap="round"/>
+                <path d="M44 8 L52 12 L48 20" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
+                <circle cx="32" cy="32" r="5"  fill="#6366f1"/>
+                <circle cx="48" cy="20" r="2.5" fill="currentColor" opacity="0.55"/>
+                <circle cx="52" cy="40" r="2.5" fill="currentColor" opacity="0.55"/>
+                <circle cx="40" cy="50" r="2.5" fill="currentColor" opacity="0.55"/>
+                <circle cx="20" cy="48" r="2.5" fill="currentColor" opacity="0.55"/>
+                <circle cx="14" cy="32" r="2.5" fill="#10b981"/>
+            </svg>
+            <div class="flex items-baseline gap-3">
+                <h1 class="text-lg font-semibold tracking-tight">{{ sprint.name }}</h1>
+                <p class="text-slate-600 text-xs dark:text-slate-400">
+                    {{ sprint.startDate }} – {{ sprint.endDate }}
+                    {% if sprint.isArchived %}
+                        · <span class="inline-block px-1.5 py-0.5 text-[10px] bg-slate-200 text-slate-600 rounded dark:bg-slate-700 dark:text-slate-300">archived</span>
+                    {% endif %}
+                </p>
+            </div>
         </div>
         <div class="flex items-center gap-3">
             <div data-status