Member/Ecology revamp.
This commit is contained in:
parent
fc7ec52574
commit
59d6e97787
31 changed files with 1763 additions and 1010 deletions
|
|
@ -216,6 +216,7 @@
|
|||
<!-- Not Logged In -->
|
||||
<div v-else class="dashed-box">
|
||||
<div class="box-title">Registration</div>
|
||||
<p v-if="!event.membersOnly" class="reg-open">Open to everyone — no membership required</p>
|
||||
<form @submit.prevent="handleRegistration">
|
||||
<div class="field">
|
||||
<label>Name</label>
|
||||
|
|
@ -689,6 +690,11 @@ useHead(() => ({
|
|||
color: var(--text-faint);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.reg-open {
|
||||
font-size: 12px;
|
||||
color: var(--text-dim);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.cal-link {
|
||||
display: block;
|
||||
margin-top: 8px;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<h1>Events</h1>
|
||||
<p>
|
||||
Workshops, meetups, and gatherings for game developers practicing
|
||||
cooperative models.
|
||||
cooperative models. Some events are open to the public.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -59,7 +59,7 @@
|
|||
<div class="event-badges">
|
||||
<span v-if="event.membersOnly" class="members-badge">Members</span>
|
||||
<CircleBadge v-if="event.circle" :circle="event.circle" />
|
||||
<span v-else class="badge all">All</span>
|
||||
<span v-else class="badge all">Public</span>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!filteredEvents?.length" class="empty">No events found</div>
|
||||
|
|
@ -93,31 +93,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PROPOSE AN EVENT -->
|
||||
<!-- TODO: Build /events/propose page + form for members to submit event ideas.
|
||||
Think through before building:
|
||||
- Who can propose? Members only, or any circle?
|
||||
- Required fields: title, description, proposed date/time, target circle,
|
||||
format (workshop/social/talk/etc.), estimated attendance
|
||||
- Approval workflow: does an admin review and publish, or does it auto-post
|
||||
as a draft?
|
||||
- Interest threshold mechanic: can other members +1 a proposal to signal
|
||||
demand before it gets formally scheduled?
|
||||
- Notifications: proposer gets notified when approved/declined
|
||||
See CLAUDE.md product spec for additional context. -->
|
||||
<div class="full-section">
|
||||
<div class="section-label">Have an idea?</div>
|
||||
<DashedBox>
|
||||
<h2>Propose an Event</h2>
|
||||
<p>
|
||||
Members can propose events for any circle. Workshops, social hangs,
|
||||
talks, or anything else that serves the community.
|
||||
</p>
|
||||
<span class="cta cta-soon"
|
||||
>Propose an event → <em>coming soon</em></span
|
||||
>
|
||||
</DashedBox>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -382,34 +357,6 @@ const isAlmostFull = (event) => {
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
/* ---- PROPOSE ---- */
|
||||
.full-section h2 {
|
||||
font-family: var(--font-display);
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: var(--text-bright);
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.full-section p {
|
||||
font-size: 12px;
|
||||
color: var(--text-dim);
|
||||
line-height: 1.7;
|
||||
max-width: 560px;
|
||||
}
|
||||
.cta {
|
||||
display: inline-block;
|
||||
margin-top: 8px;
|
||||
font-size: 12px;
|
||||
color: var(--candle);
|
||||
}
|
||||
.cta-soon {
|
||||
color: var(--text-dim);
|
||||
cursor: default;
|
||||
}
|
||||
.cta-soon em {
|
||||
font-style: normal;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.filter-toggle {
|
||||
display: flex;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue