fix: use private helcimApiToken for all server-side Helcim API calls

This commit is contained in:
Jennie Robinson Faber 2026-04-04 13:37:34 +01:00
parent ccd1d0783a
commit d31b5b4dac
53 changed files with 1755 additions and 572 deletions

View file

@ -24,35 +24,51 @@
</div>
</div>
<!-- UPCOMING EVENTS + WIKI -->
<!-- UPCOMING EVENTS + WIKI (full-bleed row dividers: border on full-width row, padding on inset only) -->
<div class="content-row two-col">
<div class="content-block">
<div class="label">Upcoming Events</div>
<div class="block-inset">
<div class="label">Upcoming Events</div>
</div>
<div v-if="events?.length" class="event-list">
<div v-for="event in events" :key="event._id" class="event-item">
<span class="event-date">{{ formatDate(event.date) }}</span>
<span class="event-title">
<NuxtLink :to="`/events/${event._id}`">{{ event.title }}</NuxtLink>
</span>
<CircleBadge v-if="event.circle" :circle="event.circle" />
<div class="block-inset event-item-inner">
<span class="event-date">{{ formatDate(event.date) }}</span>
<span class="event-title">
<NuxtLink :to="`/events/${event._id}`">{{ event.title }}</NuxtLink>
</span>
<CircleBadge v-if="event.circle" :circle="event.circle" />
</div>
</div>
</div>
<p v-else class="empty">No upcoming events</p>
<div v-else class="block-inset">
<p class="empty">No upcoming events</p>
</div>
</div>
<div class="content-block">
<div class="label">Recently in the Wiki</div>
<div class="block-inset">
<div class="label">Recently in the Wiki</div>
</div>
<div class="wiki-list">
<div class="wiki-item">
<a href="/wiki">Revenue sharing models</a>
<div class="block-inset wiki-item-inner">
<a href="/wiki">Revenue sharing models</a>
</div>
</div>
<div class="wiki-item">
<a href="/wiki">What is a cooperative studio?</a>
<div class="block-inset wiki-item-inner">
<a href="/wiki">What is a cooperative studio?</a>
</div>
</div>
<div class="wiki-item">
<a href="/wiki">Governance structures</a>
<div class="block-inset wiki-item-inner">
<a href="/wiki">Governance structures</a>
</div>
</div>
<div class="wiki-item">
<a href="/wiki">Legal incorporation guide</a>
<div class="block-inset wiki-item-inner">
<a href="/wiki">Legal incorporation guide</a>
</div>
</div>
</div>
</div>
@ -164,6 +180,7 @@ const formatDate = (dateStr) => {
.content-row {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
align-items: stretch;
border-bottom: 1px dashed var(--border);
}
.content-row.two-col {
@ -174,6 +191,14 @@ const formatDate = (dateStr) => {
border-right: 1px dashed var(--border);
min-width: 0;
overflow-wrap: break-word;
align-self: stretch;
}
.content-row.two-col .content-block {
padding: 24px 0;
}
.content-row.two-col .block-inset {
padding-left: 28px;
padding-right: 28px;
}
.content-block:last-child { border-right: none; }
.content-block h2 {
@ -218,16 +243,23 @@ details p {
/* ---- EVENT LIST ---- */
.event-item {
border-bottom: 1px dashed var(--border);
}
.event-list .event-item:last-child {
border-bottom: none;
}
.event-item-inner {
display: grid;
grid-template-columns: 80px 1fr auto;
gap: 16px;
align-items: baseline;
padding: 10px 0;
border-bottom: 1px dashed var(--border);
padding-top: 10px;
padding-bottom: 10px;
transition: padding-left 0.2s;
}
.event-item:last-child { border-bottom: none; }
.event-item:hover { padding-left: 4px; }
.content-row.two-col .event-item:hover .event-item-inner {
padding-left: calc(28px + 4px);
}
.event-date { color: var(--text-faint); font-size: 12px; }
.event-title { color: var(--text); font-size: 13px; }
.event-title a { color: var(--text); text-decoration: none; }
@ -235,11 +267,16 @@ details p {
/* ---- WIKI LIST ---- */
.wiki-item {
padding: 8px 0;
border-bottom: 1px dashed var(--border);
font-size: 13px;
}
.wiki-item:last-child { border-bottom: none; }
.wiki-list .wiki-item:last-child {
border-bottom: none;
}
.wiki-item-inner {
padding-top: 8px;
padding-bottom: 8px;
}
.wiki-item a { color: var(--text); text-decoration: none; }
.wiki-item a:hover { color: var(--candle); }