feat(board): redesign classifieds + Slack channel creation

Adds AdminGhost bot token for admin-only Slack channel creation, refreshes
BoardPostCard/Form layouts, and expands admin board-channels management.
This commit is contained in:
Jennie Robinson Faber 2026-04-14 20:20:17 +01:00
parent 6f3d088763
commit 9a560f2a3b
14 changed files with 544 additions and 158 deletions

View file

@ -1,5 +1,5 @@
<template>
<PageShell title="Board" :subtitle="pageSubtitle">
<PageShell title="Bulletin Board" :subtitle="pageSubtitle">
<!-- Action bar -->
<div class="action-bar">
<button type="button" class="new-post-btn" @click="openNewForm">
@ -71,6 +71,7 @@
:key="post._id"
:post="post"
:channels="channels"
:tags="cooperativeTags"
:editable="isAuthor(post)"
@edit="handleEdit"
@delete="handleDelete"
@ -302,17 +303,27 @@ onMounted(async () => {
/* ---- FORM WRAPPER ---- */
.form-wrapper {
padding: 20px 24px;
padding: 16px 24px;
border-bottom: 1px dashed var(--border);
max-width: 640px;
}
/* ---- POST GRID ---- */
/* ---- POST GRID (masonry via CSS columns) ---- */
.post-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
column-count: 2;
column-gap: 16px;
padding: 20px 24px;
}
.post-grid > * {
display: block;
width: 100%;
margin: 0 0 16px;
}
@media (min-width: 1400px) {
.post-grid {
column-count: 3;
}
}
/* ---- LOADING / EMPTY ---- */
.loading-state {
@ -340,7 +351,7 @@ onMounted(async () => {
/* ---- RESPONSIVE ---- */
@media (max-width: 1024px) {
.post-grid {
grid-template-columns: 1fr;
column-count: 1;
}
}
@media (max-width: 768px) {