|
1 | 1 | <header class="px-4 sm:px-6 lg:px-8 bg-white dark:bg-gray-900 transition-colors duration-200"> |
2 | | - <div class="flex items-center justify-between border-b border-zinc-100 dark:border-gray-700 py-3 text-sm font-semibold leading-6"> |
3 | | - <div class="flex items-center gap-4"> |
4 | | - <a href="https://www.phoenixframework.org/"> |
5 | | - <img src={~p"/images/logo.svg"} width="36" /> |
6 | | - </a> |
7 | | - <p class="bg-brand/5 dark:bg-brand/10 text-brand rounded-full px-2 font-medium leading-6"> |
8 | | - v{Application.spec(:phoenix, :vsn)} | v{Application.spec(:geo, :vsn)} |
9 | | - </p> |
10 | | - <a |
11 | | - href="https://github.com/dev-guy/geo" |
12 | | - target="_blank" |
13 | | - rel="noopener noreferrer" |
14 | | - class="inline-flex items-center gap-1 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors" |
15 | | - title="View source on GitHub" |
16 | | - > |
17 | | - <img src={~p"/images/github-mark.png"} alt="GitHub" class="h-5 w-5 dark:invert" /> |
18 | | - </a> |
| 2 | + <!-- Mobile-first responsive header --> |
| 3 | + <div class="border-b border-zinc-100 dark:border-gray-700 py-3 space-y-3 sm:space-y-0"> |
| 4 | + <!-- Top row: Logo and essential controls --> |
| 5 | + <div class="flex items-center justify-between"> |
| 6 | + <div class="flex items-center gap-2 sm:gap-4"> |
| 7 | + <a href="https://www.phoenixframework.org/" class="flex-shrink-0"> |
| 8 | + <img src={~p"/images/logo.svg"} width="28" class="sm:w-9" alt="Phoenix Framework" /> |
| 9 | + </a> |
| 10 | + <p class="bg-brand/5 dark:bg-brand/10 text-brand rounded-full px-2 py-1 font-medium text-xs sm:text-sm leading-tight"> |
| 11 | + v{Application.spec(:phoenix, :vsn)} | v{Application.spec(:geo, :vsn)} |
| 12 | + </p> |
| 13 | + </div> |
| 14 | + <div class="flex items-center gap-2 sm:gap-3"> |
| 15 | + <a |
| 16 | + href="https://github.com/dev-guy/geo" |
| 17 | + target="_blank" |
| 18 | + rel="noopener noreferrer" |
| 19 | + class="inline-flex items-center gap-1 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors flex-shrink-0" |
| 20 | + title="View source on GitHub" |
| 21 | + > |
| 22 | + <img src={~p"/images/github-mark.png"} alt="GitHub" class="h-4 w-4 sm:h-5 sm:w-5 dark:invert" /> |
| 23 | + </a> |
| 24 | + <GeoWeb.Components.ThemeToggle.theme_toggle theme={assigns[:theme] || "system"} /> |
| 25 | + </div> |
| 26 | + </div> |
| 27 | + |
| 28 | + <!-- Bottom row: Framework and hosting info (stacked on mobile, inline on larger screens) --> |
| 29 | + <div class="flex flex-col space-y-2 sm:flex-row sm:items-center sm:justify-between sm:space-y-0 text-xs"> |
19 | 30 | <a |
20 | 31 | href="https://ash-hq.org" |
21 | 32 | target="_blank" |
22 | 33 | rel="noopener noreferrer" |
23 | | - class="inline-flex items-center gap-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors" |
| 34 | + class="inline-flex items-center gap-1 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors" |
24 | 35 | title="Built with Ash Framework" |
25 | 36 | > |
26 | 37 | <span>Built with</span> |
27 | 38 | <img |
28 | 39 | src="https://ash-hq.org/images/ash-logo-cropped.svg" |
29 | 40 | alt="Ash Framework" |
30 | | - class="h-4 w-auto" |
| 41 | + class="h-3 w-auto sm:h-4" |
31 | 42 | /> |
32 | | - Ash Framework |
| 43 | + <span class="font-medium">Ash Framework</span> |
33 | 44 | </a> |
34 | | - </div> |
35 | | - <div class="flex items-center gap-4"> |
| 45 | + |
36 | 46 | <a |
37 | 47 | href="https://fly.io" |
38 | 48 | target="_blank" |
39 | 49 | rel="noopener noreferrer" |
40 | | - class="inline-flex items-center gap-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors" |
| 50 | + class="inline-flex items-center gap-1 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors" |
| 51 | + title="Hosted on Fly.io" |
41 | 52 | > |
42 | 53 | <span>Powered by</span> |
43 | 54 | <img |
44 | 55 | src="https://fly.io/static/images/brand/logo-landscape.svg" |
45 | 56 | alt="Fly.io" |
46 | | - class="h-4 w-auto dark:hidden" |
| 57 | + class="h-3 w-auto sm:h-4 dark:hidden" |
47 | 58 | /> |
48 | 59 | <img |
49 | 60 | src="https://fly.io/static/images/brand/logo-landscape-inverted.svg" |
50 | 61 | alt="Fly.io" |
51 | | - class="h-4 w-auto hidden dark:block" |
| 62 | + class="h-3 w-auto sm:h-4 hidden dark:block" |
52 | 63 | /> |
53 | 64 | </a> |
54 | | - <GeoWeb.Components.ThemeToggle.theme_toggle theme={assigns[:theme] || "system"} /> |
55 | 65 | </div> |
56 | 66 | </div> |
57 | 67 | </header> |
58 | 68 | <main class="px-4 py-8 sm:px-6 lg:px-8 bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 transition-colors duration-200"> |
59 | | - <div class="mx-auto max-w-2xl"> |
| 69 | + <div class="mx-auto max-w-6xl"> |
60 | 70 | <.flash_group flash={@flash} /> |
61 | 71 | {@inner_content} |
62 | 72 | </div> |
|
0 commit comments