Adding features

This commit is contained in:
Jennie Robinson Faber 2025-10-05 16:15:09 +01:00
parent 600fef2b7c
commit 2b55ca4104
75 changed files with 9796 additions and 2759 deletions

View file

@ -1,104 +1,114 @@
<template>
<div>
<!-- Hero Section -->
<PageHeader
title="Discover Ghost Guild"
subtitle="A community for game developers exploring cooperative models"
theme="blue"
size="hero"
:show-interactive-area="true"
interactive-content="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
/>
<div class="relative">
<!-- Experimental Hero Section -->
<section class="mb-24">
<div class="relative">
<!-- Large artistic title -->
<h1
class="text-6xl md:text-8xl font-bold text-stone-100 ethereal-text leading-tight mb-8"
>
Become a Ghostie
</h1>
<!-- Join Us Today -->
<section class="py-20 bg-white dark:bg-gray-900">
<UContainer>
<div class="text-center max-w-3xl mx-auto">
<h2 class="text-4xl font-bold text-blue-600 dark:text-blue-400 mb-12">
Join Us Today
</h2>
<div class="space-y-6">
<div class="h-2 bg-blue-500 rounded-full mx-auto max-w-sm" />
<div class="h-12 bg-blue-500 rounded-xl mx-auto max-w-xs flex items-center justify-center">
<UButton to="/join" size="lg" color="primary" class="text-white font-semibold">
Get Started
</UButton>
<!-- Floating subtitle -->
<div class="mb-16">
<p class="text-stone-100 text-lg max-w-md">
A community for creatives and game devs<br />
exploring cooperative models
</p>
</div>
<!-- Decorative elements -->
<div
class="absolute top-0 right-0 w-32 h-32 border border-ghost-800 rounded-full opacity-20"
/>
<div
class="absolute top-20 -left-8 w-16 h-px bg-whisper-500 opacity-40"
/>
</div>
</section>
<!-- Join Section - Offset Layout -->
<section class="mb-32 relative">
<div>
<NuxtLink
to="/join"
class="inline-block px-8 py-3 border border-ghost-600 text-stone-200 hover:bg-ghost-800 hover:border-whisper-500 hover:ethereal-text transition-all duration-500"
>
Join Us Today
</NuxtLink>
</div>
<!-- Decorative corner element -->
<div
class="absolute -right-4 top-0 w-20 h-20 border-t border-r border-ghost-800 opacity-30"
/>
</section>
<!-- Circles - Asymmetrical Grid -->
<section class="mb-32">
<div class="space-y-8">
<div
v-for="(circle, index) in circles"
:key="circle.value"
class="flex gap-8 items-start"
>
<!-- Content -->
<div class="flex-1 max-w-lg">
<h3 class="text-xl text-stone-100 mb-3">{{ circle.label }}</h3>
<p class="text-stone-200 text-sm leading-relaxed mb-4">
{{ circle.description }}
</p>
<!-- Features as inline text -->
<div class="text-sm text-stone-400">
<span v-for="(feature, i) in circle.features" :key="feature">
{{ feature
}}<span v-if="i < circle.features.length - 1"> </span>
</span>
</div>
</div>
<!-- Side accent -->
</div>
</UContainer>
</div>
</section>
<!-- About Our Circles -->
<section class="py-20 bg-gray-50 dark:bg-gray-800">
<UContainer>
<div class="text-center mb-16">
<h2 class="text-4xl font-bold text-blue-600 dark:text-blue-400 mb-8">
About Our Circles
</h2>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<UCard v-for="circle in circles" :key="circle.value" class="h-full">
<template #header>
<div class="flex items-center gap-4 mb-4">
<div v-if="circle.value === 'community'" class="w-8 h-8 bg-blue-500" style="clip-path: polygon(50% 0%, 0% 100%, 100% 100%)" />
<div v-else-if="circle.value === 'founder'" class="w-8 h-8 bg-blue-500 flex items-center justify-center">
<div class="w-4 h-1 bg-white" />
<div class="w-1 h-4 bg-white absolute" />
</div>
<div v-else class="w-8 h-8 bg-blue-500 rounded" />
<h3 class="text-xl font-semibold text-gray-900 dark:text-white">{{ circle.label }}</h3>
</div>
</template>
<div class="space-y-4">
<p class="text-gray-600 dark:text-gray-300">{{ circle.description }}</p>
<div class="space-y-2">
<div class="h-1 bg-blue-500 rounded-full" />
<div class="h-1 bg-blue-300 rounded-full" />
<div class="h-1 bg-blue-200 rounded-full" />
</div>
<ul class="text-sm text-gray-600 dark:text-gray-400 space-y-1">
<li v-for="feature in circle.features" :key="feature" class="flex items-start">
<span class="mr-2"></span>
<span>{{ feature }}</span>
</li>
</ul>
</div>
</UCard>
</div>
</UContainer>
</section>
<!-- Why Join? - Diagonal Layout -->
<section class="mb-32 relative">
<div class="transform -rotate-1">
<h2 class="text-3xl font-light text-stone-200 mb-12">Why Join?</h2>
</div>
<!-- Why Join? -->
<section class="py-20 bg-white dark:bg-gray-900">
<UContainer>
<div class="text-center max-w-4xl mx-auto">
<h2 class="text-4xl font-bold text-blue-600 dark:text-blue-400 mb-12">
Why Join?
</h2>
<div class="bg-blue-50 dark:bg-blue-900/20 rounded-2xl p-12 border border-blue-200 dark:border-blue-800">
<div class="max-w-2xl mx-auto">
<div class="h-2 bg-blue-500 rounded-full mb-8" />
<p class="text-lg text-gray-700 dark:text-gray-300 leading-relaxed">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>
</div>
</div>
</div>
</UContainer>
</section>
<div class="ml-12 relative">
<div
class="absolute -left-4 top-0 w-32 h-px bg-whisper-500 opacity-30 transform rotate-12"
/>
<div class="max-w-2xl">
<p class="text-stone-300 leading-loose text-lg mb-8">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
<p class="text-stone-400 leading-relaxed ml-8">
Sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua.<br />
Ut enim ad minim veniam, quis nostrud exercitation.
</p>
</div>
<div
class="absolute -bottom-8 right-0 text-6xl text-stone-800 opacity-20 font-bold"
>
?
</div>
</div>
</section>
</div>
</template>
<script setup>
import { getCircleOptions } from '~/config/circles'
import { getCircleOptions } from "~/config/circles";
const circles = getCircleOptions()
</script>
const circles = getCircleOptions();
</script>