Initial commit: site code, layouts, content (images added separately)

Fixes duplicate placeholder cover image on the 3 newest blog posts,
broken aspect-ratio classes on the albums listing page, and a
non-responsive fixed sidebar on the chat page.
This commit is contained in:
Dr. Jones
2026-07-08 06:18:17 +00:00
commit d9961a76ad
80 changed files with 9438 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
{{ define "main" }}
<div class="bg-gray-900 py-16 px-4 sm:px-6 lg:px-8" x-data="contactPage()" x-init="initContactPage()">
<article class="max-w-3xl mx-auto">
<h1 class="text-4xl font-extrabold text-gray-100 tracking-tight sm:text-5xl mb-8">{{ .Title }}</h1>
<div class="mt-6 prose prose-emerald prose-lg prose-invert max-w-none">
{{ .Content }}
</div>
</article>
</div>
<script>
function contactPage() {
return {
initContactPage() {
// Check auth status and show/hide form
setTimeout(() => {
const authState = window.MembershipAPI.getAuthState();
const paywallMessage = document.querySelector('.paywall-message');
const paywallContent = document.querySelector('.paywall-content');
const membershipOnly = document.querySelectorAll('.membership-only');
const guestOnly = document.querySelectorAll('.guest-only');
if (authState.authenticated) {
if (paywallMessage) paywallMessage.style.display = 'none';
if (paywallContent) paywallContent.style.display = 'block';
membershipOnly.forEach(el => el.style.display = 'block');
guestOnly.forEach(el => el.style.display = 'none');
} else {
if (paywallMessage) paywallMessage.style.display = 'block';
if (paywallContent) paywallContent.style.display = 'none';
membershipOnly.forEach(el => el.style.display = 'none');
guestOnly.forEach(el => el.style.display = 'block');
}
}, 100);
}
}
}
</script>
{{ end }}