Skip to content
82 linesCodeBlameRaw
1---
2// The header's right side: g1t.sh, its source, and signing up.
3// g1t's social accounts live in g1t.sh's footer, not here.
4import { ChevronRight } from '@lucide/astro';
5---
6
7<nav class="g1t-nav" aria-label="g1t">
8 <a href="https://g1t.sh/">g1t.sh</a>
9 <a href="https://g1t.sh/flagon-io/g1t">Source</a>
10 <a href="https://g1t.sh/register" class="g1t-nav-cta">Sign up<ChevronRight /></a>
11</nav>
12
13<style>
14 .g1t-nav {
15 display: flex;
16 align-items: center;
17 gap: 0.25rem;
18 }
19 /* nav.g1t-nav: the menu's own link rule must not win where these sit
20 at the foot of the phone menu. */
21 nav.g1t-nav a {
22 display: inline-flex;
23 align-items: center;
24 height: 2rem;
25 border-radius: 0.5rem;
26 padding: 0 0.6rem;
27 font-size: 0.875rem;
28 font-weight: 500;
29 white-space: nowrap;
30 color: var(--g1t-muted);
31 text-decoration: none;
32 transition: color 0.15s, background 0.15s;
33 }
34 nav.g1t-nav a:hover {
35 background: var(--g1t-raised);
36 color: var(--g1t-fg);
37 }
38 /* The one call to action: a raised button, its chevron nudging on hover. */
39 nav.g1t-nav .g1t-nav-cta {
40 gap: 0.15rem;
41 margin-left: 0.35rem;
42 padding-inline: 0.75rem 0.5rem;
43 background: var(--g1t-raised);
44 box-shadow: inset 0 0 0 1px var(--g1t-line-strong);
45 color: var(--g1t-fg);
46 font-weight: 600;
47 }
48 nav.g1t-nav .g1t-nav-cta:hover {
49 background: color-mix(in srgb, var(--g1t-accent) 12%, var(--g1t-raised));
50 box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--g1t-accent) 50%, var(--g1t-line-strong));
51 color: var(--g1t-fg);
52 }
53 .g1t-nav-cta :global(svg) {
54 width: 0.875rem;
55 height: 0.875rem;
56 color: var(--g1t-muted);
57 transition: transform 0.15s, color 0.15s;
58 }
59 .g1t-nav-cta:hover :global(svg) {
60 transform: translateX(2px);
61 color: var(--g1t-accent);
62 }
63 /* Tablets and phones: in the header only Sign up stays (the menu keeps
64 the rest). */
65 @media (max-width: 49.99rem) {
66 :global(.g1t-header) nav.g1t-nav a:not(.g1t-nav-cta) {
67 display: none;
68 }
69 :global(.sidebar-content) nav.g1t-nav a {
70 height: 2.5rem;
71 }
72 }
73 /* Phones: Sign up leaves the header for the menu, where it has room. */
74 @media (max-width: 44.99rem) {
75 :global(.g1t-header) .g1t-nav {
76 gap: 0;
77 }
78 :global(.g1t-header) nav.g1t-nav .g1t-nav-cta {
79 display: none;
80 }
81 }
82</style>