This repository has no description
1{{ define "layouts/fragments/footerFull" }}
2<div class="w-full p-8 bg-white dark:bg-gray-800">
3 <div class="mx-auto px-4">
4 <div class="flex flex-col text-gray-600 dark:text-gray-400 gap-8">
5 <!-- Desktop layout: grid with 3 columns -->
6 <div class="hidden lg:grid lg:grid-cols-[1fr_minmax(0,1024px)_1fr] lg:gap-8 lg:items-start">
7 <!-- Left section -->
8 <div>
9 <a href="/" hx-boost="true" class="flex gap-2 font-semibold italic no-underline hover:no-underline">
10 {{ template "fragments/logotypeSmall" }}
11 </a>
12 </div>
13
14 {{ $headerStyle := "text-gray-900 dark:text-gray-200 font-bold text-sm tracking-wide mb-1" }}
15 {{ $linkStyle := "text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center" }}
16 {{ $iconStyle := "w-4 h-4 flex-shrink-0" }}
17
18 <!-- Center section with max-width -->
19 <div class="grid grid-cols-4 gap-2">
20 <div class="flex flex-col gap-1">
21 <div class="{{ $headerStyle }}">Legal</div>
22 <a href="/terms" class="{{ $linkStyle }}">{{ i "file-text" $iconStyle }} Terms of service</a>
23 <a href="/privacy" class="{{ $linkStyle }}">{{ i "shield" $iconStyle }} Privacy policy</a>
24 </div>
25
26 <div class="flex flex-col gap-1">
27 <div class="{{ $headerStyle }}">Resources</div>
28 <a href="https://blog.tangled.org" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ i "book-open" $iconStyle }} Blog</a>
29 <a href="https://docs.tangled.org" class="{{ $linkStyle }}">{{ i "book" $iconStyle }} Docs</a>
30 <a href="https://tangled.org/@tangled.org/core" class="{{ $linkStyle }}">{{ i "code" $iconStyle }} Source</a>
31 <a href="https://tangled.org/brand" class="{{ $linkStyle }}">{{ i "paintbrush" $iconStyle }} Brand</a>
32 </div>
33
34 <div class="flex flex-col gap-1">
35 <div class="{{ $headerStyle }}">Social</div>
36 <a href="https://chat.tangled.org" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ i "message-circle" $iconStyle }} Discord</a>
37 <a href="https://web.libera.chat/#tangled" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ i "hash" $iconStyle }} IRC</a>
38 <a href="https://bsky.app/profile/tangled.org" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ i "bluesky" $iconStyle }} Bluesky</a>
39 <a href="https://x.com/tangled_org" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ template "user/fragments/x" $iconStyle }} Twitter (X)</a>
40 </div>
41
42 <div class="flex flex-col gap-1">
43 <div class="{{ $headerStyle }}">Contact</div>
44 <a href="mailto:team@tangled.org" class="{{ $linkStyle }}">{{ i "mail" "w-4 h-4 flex-shrink-0" }} team@tangled.org</a>
45 <a href="mailto:security@tangled.org" class="{{ $linkStyle }}">{{ i "shield-check" "w-4 h-4 flex-shrink-0" }} security@tangled.org</a>
46 </div>
47 </div>
48
49 <!-- Right section -->
50 <div class="text-right">
51 <div class="text-xs">© 2026 Tangled Labs Oy. All rights reserved.</div>
52 </div>
53 </div>
54
55 <!-- Mobile layout: stacked -->
56 <div class="lg:hidden flex flex-col gap-8">
57 {{ $headerStyle := "text-gray-900 dark:text-gray-200 font-bold text-xs tracking-wide mb-1" }}
58 {{ $linkStyle := "text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center" }}
59 {{ $iconStyle := "w-4 h-4 flex-shrink-0" }}
60
61 <div class="mb-4 md:mb-0">
62 <a href="/" hx-boost="true" class="flex gap-2 font-semibold italic no-underline hover:no-underline">
63 {{ template "fragments/logotypeSmall" }}
64 </a>
65 </div>
66
67 <div class="grid grid-cols-1 sm:grid-cols-1 md:grid-cols-4 sm:gap-6 md:gap-2 gap-6">
68 <div class="flex flex-col gap-1">
69 <div class="{{ $headerStyle }}">Legal</div>
70 <a href="/terms" class="{{ $linkStyle }}">{{ i "file-text" $iconStyle }} Terms of service</a>
71 <a href="/privacy" class="{{ $linkStyle }}">{{ i "shield" $iconStyle }} Privacy policy</a>
72 </div>
73
74 <div class="flex flex-col gap-1">
75 <div class="{{ $headerStyle }}">Resources</div>
76 <a href="https://blog.tangled.org" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ i "book-open" $iconStyle }} Blog</a>
77 <a href="https://docs.tangled.org" class="{{ $linkStyle }}">{{ i "book" $iconStyle }} Docs</a>
78 <a href="https://tangled.org/@tangled.org/core" class="{{ $linkStyle }}">{{ i "code" $iconStyle }} Source</a>
79 <a href="https://tangled.org/brand" class="{{ $linkStyle }}">{{ i "paintbrush" $iconStyle }} Brand</a>
80 </div>
81
82 <div class="flex flex-col gap-1">
83 <div class="{{ $headerStyle }}">Social</div>
84 <a href="https://chat.tangled.org" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ i "message-circle" $iconStyle }} Discord</a>
85 <a href="https://web.libera.chat/#tangled" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ i "hash" $iconStyle }} IRC</a>
86 <a href="https://bsky.app/profile/tangled.org" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ i "bluesky" $iconStyle }} Bluesky</a>
87 <a href="https://x.com/tangled_org" class="{{ $linkStyle }}" target="_blank" rel="noopener noreferrer">{{ template "user/fragments/x" $iconStyle }} Twitter (X)</a>
88 </div>
89
90 <div class="flex flex-col gap-1">
91 <div class="{{ $headerStyle }}">Contact</div>
92 <a href="mailto:team@tangled.org" class="{{ $linkStyle }}">{{ i "mail" "w-4 h-4 flex-shrink-0" }} team@tangled.org</a>
93 <a href="mailto:security@tangled.org" class="{{ $linkStyle }}">{{ i "shield-check" "w-4 h-4 flex-shrink-0" }} security@tangled.org</a>
94 </div>
95 </div>
96
97 <div class="text-center">
98 <div class="text-xs">© 2026 Tangled Labs Oy. All rights reserved.</div>
99 </div>
100 </div>
101 </div>
102 </div>
103</div>
104{{ end }}