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.
41 lines
1.7 KiB
HTML
41 lines
1.7 KiB
HTML
{{ 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 }}
|
|
|