Lots of UI fixes
This commit is contained in:
parent
1f7a0f40c0
commit
e8e3b84276
24 changed files with 3652 additions and 1770 deletions
|
|
@ -1,15 +1,23 @@
|
|||
<template>
|
||||
<div>
|
||||
<!-- Page Header -->
|
||||
<!-- Page Header - Context aware -->
|
||||
<PageHeader
|
||||
v-if="!isAuthenticated"
|
||||
title="Join Ghost Guild"
|
||||
subtitle="Become a member of our community and start building a more worker-centric future for games."
|
||||
theme="gray"
|
||||
size="large"
|
||||
/>
|
||||
<PageHeader
|
||||
v-else
|
||||
title="You're Already a Member!"
|
||||
:subtitle="`Welcome back, ${memberData?.name || 'member'}. You're already part of Ghost Guild in the ${memberData?.circle || 'community'} circle.`"
|
||||
theme="gray"
|
||||
size="large"
|
||||
/>
|
||||
|
||||
<!-- Membership Sign Up Form -->
|
||||
<section class="py-20 bg-[--ui-bg]">
|
||||
<section v-if="!isAuthenticated" class="py-20 bg-[--ui-bg]">
|
||||
<UContainer class="max-w-4xl">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-[--ui-text] mb-4">
|
||||
|
|
@ -325,6 +333,59 @@
|
|||
</UContainer>
|
||||
</section>
|
||||
|
||||
<!-- Member Info Section - Shows for logged-in members -->
|
||||
<section v-if="isAuthenticated" class="py-20 bg-[--ui-bg]">
|
||||
<UContainer class="max-w-4xl">
|
||||
<div class="bg-[--ui-bg-elevated] rounded-xl p-8 mb-8">
|
||||
<h2 class="text-2xl font-bold text-[--ui-text] mb-6">
|
||||
Your Membership
|
||||
</h2>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
|
||||
<div class="bg-[--ui-bg] rounded-lg p-6">
|
||||
<h3 class="text-sm font-medium text-[--ui-text-muted] mb-2">
|
||||
Circle
|
||||
</h3>
|
||||
<p class="text-xl font-semibold text-[--ui-text] capitalize">
|
||||
{{ memberData?.circle || "Community" }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-[--ui-bg] rounded-lg p-6">
|
||||
<h3 class="text-sm font-medium text-[--ui-text-muted] mb-2">
|
||||
Contribution
|
||||
</h3>
|
||||
<p class="text-xl font-semibold text-[--ui-text]">
|
||||
${{ memberData?.contributionTier || "0" }} CAD/month
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col sm:flex-row gap-4">
|
||||
<UButton to="/member/dashboard" size="lg">
|
||||
Go to Dashboard
|
||||
</UButton>
|
||||
<UButton to="/member/profile" variant="outline" size="lg">
|
||||
Edit Profile
|
||||
</UButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-blue-50 dark:bg-blue-900/20 rounded-lg p-6">
|
||||
<h3 class="text-lg font-semibold text-[--ui-text] mb-3">
|
||||
Want to change your circle or contribution?
|
||||
</h3>
|
||||
<p class="text-[--ui-text] mb-4">
|
||||
You can update your circle and adjust your monthly contribution at
|
||||
any time from your profile settings.
|
||||
</p>
|
||||
<UButton to="/member/profile" variant="soft" color="primary">
|
||||
Update Membership Settings
|
||||
</UButton>
|
||||
</div>
|
||||
</UContainer>
|
||||
</section>
|
||||
|
||||
<!-- How Ghost Guild Works -->
|
||||
<section class="py-20 bg-[--ui-bg-elevated]">
|
||||
<UContainer>
|
||||
|
|
@ -361,10 +422,10 @@
|
|||
Circle-Specific Guidance
|
||||
</h3>
|
||||
<ul class="text-[--ui-text] space-y-2">
|
||||
<li>Curated resources for your stage</li>
|
||||
<li>Connection with peers on similar journeys</li>
|
||||
<li>Relevant workshop recommendations</li>
|
||||
<li>Targeted support for your challenges</li>
|
||||
<li>Resources for your stage</li>
|
||||
<li>Connection with peers</li>
|
||||
<li>Workshop recommendations</li>
|
||||
<li>Support for your challenges</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -453,6 +514,14 @@ import {
|
|||
getContributionTierByValue,
|
||||
} from "~/config/contributions";
|
||||
|
||||
// Auth state
|
||||
const { isAuthenticated, memberData, checkMemberStatus } = useAuth();
|
||||
|
||||
// Check authentication status on mount
|
||||
onMounted(async () => {
|
||||
await checkMemberStatus();
|
||||
});
|
||||
|
||||
// Form state
|
||||
const form = reactive({
|
||||
email: "",
|
||||
|
|
@ -492,7 +561,6 @@ const {
|
|||
verifyPayment,
|
||||
cleanup: cleanupHelcimPay,
|
||||
} = useHelcimPay();
|
||||
const { checkMemberStatus } = useAuth();
|
||||
|
||||
// Form validation
|
||||
const isFormValid = computed(() => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue