forked from tangled.org/core
this repo has no description

appview/pages: rework footer

Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.sh>

anirudh.fi 3e162e4e 6ca15469

verified
Changed files
+46 -23
appview
pages
+40 -9
appview/pages/templates/layouts/footer.html
···
{{ define "layouts/footer" }}
-
<div class="w-full p-4 bg-white dark:bg-gray-800 rounded-t drop-shadow-sm">
-
<div class="container mx-auto text-center text-gray-600 dark:text-gray-400 text-sm">
-
<div class="mb-2">
-
<a href="/terms" class="hover:text-gray-900 dark:hover:text-gray-200 underline">Terms of Service</a>
-
&nbsp;•&nbsp;
-
<a href="/privacy" class="hover:text-gray-900 dark:hover:text-gray-200 underline">Privacy Policy</a>
-
</div>
-
<div>
-
<span class="font-semibold italic">tangled</span> &mdash; made by <a href="/@oppi.li">@oppi.li</a> and <a href="/@icyphox.sh">@icyphox.sh</a>
+
<div class="w-full p-4 md:p-8 bg-white dark:bg-gray-800 rounded-t drop-shadow-sm">
+
<div class="container mx-auto max-w-7xl px-4">
+
<div class="flex flex-col lg:flex-row justify-between items-start text-gray-600 dark:text-gray-400 text-sm gap-8">
+
<div class="mb-4 md:mb-0">
+
<a href="/" hx-boost="true" class="flex gap-2 font-semibold italic">
+
tangled<sub>alpha</sub>
+
</a>
+
</div>
+
+
<div class="grid grid-cols-1 sm:grid-cols-1 md:grid-cols-4 sm:gap-6 md:gap-2 gap-6 flex-1">
+
<div class="flex flex-col gap-1">
+
<div class="font-medium text-xs uppercase tracking-wide mb-1">legal</div>
+
<a href="/terms" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline flex gap-1 items-center">{{ i "file-text" "w-4 h-4 flex-shrink-0" }} terms of service</a>
+
<a href="/privacy" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center">{{ i "shield" "w-4 h-4 flex-shrink-0" }} privacy policy</a>
+
</div>
+
+
<div class="flex flex-col gap-1">
+
<div class="font-medium text-xs uppercase tracking-wide mb-1">resources</div>
+
<a href="https://blog.tangled.sh" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center" target="_blank" rel="noopener noreferrer">{{ i "book-open" "w-4 h-4 flex-shrink-0" }} blog</a>
+
<a href="https://tangled.sh/@tangled.sh/core/tree/master/docs" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center">{{ i "book" "w-4 h-4 flex-shrink-0" }} docs</a>
+
<a href="https://tangled.sh/@tangled.sh/core" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center">{{ i "code" "w-4 h-4 flex-shrink-0" }} source</a>
+
</div>
+
+
<div class="flex flex-col gap-1">
+
<div class="font-medium text-xs uppercase tracking-wide mb-1">social</div>
+
<a href="https://chat.tangled.sh" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center" target="_blank" rel="noopener noreferrer">{{ i "message-circle" "w-4 h-4 flex-shrink-0" }} discord</a>
+
<a href="https://web.libera.chat/#tangled" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center" target="_blank" rel="noopener noreferrer">{{ i "hash" "w-4 h-4 flex-shrink-0" }} irc</a>
+
<a href="https://bsky.app/profile/tangled.sh" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center" target="_blank" rel="noopener noreferrer">{{ template "user/fragments/bluesky" "w-4 h-4 flex-shrink-0 hover:text-gray-900 dark:hover:text-gray-200dark:text-white" }} bluesky</a>
+
</div>
+
+
<div class="flex flex-col gap-1">
+
<div class="font-medium text-xs uppercase tracking-wide mb-1">contact</div>
+
<a href="mailto:team@tangled.sh" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center">{{ i "mail" "w-4 h-4 flex-shrink-0" }} team@tangled.sh</a>
+
<a href="mailto:security@tangled.sh" class="hover:text-gray-900 dark:hover:text-gray-200 hover:underline inline-flex gap-1 items-center">{{ i "shield-check" "w-4 h-4 flex-shrink-0" }} security@tangled.sh</a>
+
</div>
+
</div>
+
+
<div class="text-center lg:text-right flex-shrink-0">
+
<div class="text-xs">&copy; 2025 Tangled Labs Oy. All rights reserved.</div>
+
</div>
</div>
</div>
</div>
-12
appview/pages/templates/layouts/topbar.html
···
tangled<sub>alpha</sub>
</a>
</div>
-
<div class="hidden md:flex gap-4 items-center">
-
<a href="https://chat.tangled.sh" class="inline-flex gap-1 items-center">
-
{{ i "message-circle" "size-4" }} discord
-
</a>
-
<a href="https://web.libera.chat/#tangled" class="inline-flex gap-1 items-center">
-
{{ i "hash" "size-4" }} irc
-
</a>
-
-
<a href="https://tangled.sh/@tangled.sh/core" class="inline-flex gap-1 items-center">
-
{{ i "code" "size-4" }} source
-
</a>
-
</div>
<div id="right-items" class="flex items-center gap-4">
{{ with .LoggedInUser }}
<a href="/repo/new" hx-boost="true" class="btn-create hover:no-underline hover:text-white">
+3 -1
appview/pages/templates/legal/privacy.html
···
{{ define "title" }} privacy policy {{ end }}
{{ define "content" }}
<div class="max-w-4xl mx-auto px-4 py-8">
-
<div class="prose prose-gray dark:prose-invert max-w-none">
+
<div class="bg-white dark:bg-gray-800 rounded-lg shadow-sm p-8">
+
<div class="prose prose-gray dark:prose-invert max-w-none">
<h1>Privacy Policy</h1>
<p><strong>Last updated:</strong> {{ now.Format "January 2, 2006" }}</p>
···
<div class="mt-8 pt-6 border-t border-gray-200 dark:border-gray-700 text-sm text-gray-600 dark:text-gray-400">
<p>This Privacy Policy complies with the EU General Data Protection Regulation (GDPR) and other applicable data protection laws.</p>
+
</div>
</div>
</div>
</div>
+3 -1
appview/pages/templates/legal/terms.html
···
{{ define "content" }}
<div class="max-w-4xl mx-auto px-4 py-8">
-
<div class="prose prose-gray dark:prose-invert max-w-none">
+
<div class="bg-white dark:bg-gray-800 rounded-lg shadow-sm p-8">
+
<div class="prose prose-gray dark:prose-invert max-w-none">
<h1>Terms of Service</h1>
<p><strong>Last updated:</strong> {{ now.Format "January 2, 2006" }}</p>
···
<div class="mt-8 pt-6 border-t border-gray-200 dark:border-gray-700 text-sm text-gray-600 dark:text-gray-400">
<p>These terms are effective as of the last updated date shown above and will remain in effect except with respect to any changes in their provisions in the future, which will be in effect immediately after being posted on this page.</p>
+
</div>
</div>
</div>
</div>