Commit graph

12 commits

Author SHA1 Message Date
9ca50a1da8 Add Sanity Studio served at /studio via Docker multi-stage build
Builds studio/ separately during Docker build and copies output to
public/studio/ so it is served as static files by the Astro Node adapter.
Catch-all route redirects deep studio links back to /studio for SPA routing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 12:18:00 +00:00
fc644510af Add Sanity CMS integration
- Install @sanity/client + @portabletext/to-html
- studio/ — Sanity v3 project with post schema (title, slug, date, category,
  summary, cover image with hotspot, Portable Text body). Run with
  `cd studio && npm install && sanity dev` after setting SANITY_STUDIO_PROJECT_ID.
- src/lib/sanity.ts — typed client, GROQ queries, Portable Text → HTML conversion
- src/lib/news.ts — adds getArticles() / getArticle() async functions that prefer
  Sanity when SANITY_PROJECT_ID is set; fall back to local markdown otherwise
- events/index.astro, events/[slug].astro, events/page/[page].astro — switch to
  async getArticles()/getArticle(); [slug].astro drops getStaticPaths() in favour
  of SSR request-time fetch with redirect-on-not-found
- .env.example — documents SANITY_PROJECT_ID / SANITY_DATASET / SANITY_API_TOKEN

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 11:50:35 +00:00
c2fa6b1696 chore: switch to Node adapter for server-side rendering
Replace static output with @astrojs/node standalone adapter
so Nixpacks/Coolify can run the site as a Node server.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 17:38:24 +02:00
ea25680363 Redesign forms to multi-step; add sponsor section and content updates
- Rewrite volunteer-application.astro: 5-step multi-step form with
  progress pills, choice cards, per-step validation, review step,
  and fetch-based submission; matches new site design system
- Rewrite participant-application.astro: 5-step multi-step form
  (Participant, Health & support, Activities, Consent, Review);
  retains all original field names; 27 support question checkboxes
  as interactive cards; callout box; guardian section on step 1
- Add volunteer-reference.astro: new non-public 5-step reference form
  (noindex/nofollow); steps: The applicant, Your details, Relationship,
  Assessment, Declaration; posts to /api/volunteer-reference
- Add functions/api/volunteer-reference.ts: Cloudflare Pages Function
  mirroring volunteer-application pattern with Turnstile + Resend
- Add Ffordes sponsor logo to homepage; replace placeholder sponsor
  boxes with full corporate sponsorship section (£750/annum) with
  four benefit cards and CTAs
- Move ffordes_logo.png to public/sponsors/
- Remove all references to 'carriage driving' and 'free sessions'
  across about.astro, index.astro, privacy.astro, support-us.astro,
  and participant-application.astro
- facebook.astro: styled mock-post feed with like toggle, page header
  card, sidebar, and embed note banner

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 17:03:37 +02:00
Calum Muir
940fa2b2a0 Add mechanical horse news post 2026-02-02 22:09:18 +00:00
Calum Muir
3908924022 Upgrade Astro 2026-01-01 11:24:39 +00:00
Calum Muir
00f6ea6b52 convert to astro 2025-12-27 21:55:52 +00:00
Calum Muir
ddf38dda65 Fix contact email delivery via ACS REST 2025-12-22 12:51:53 +00:00
Calum Muir
aabaaeaa9b Use Azure Communication Services for contact emails 2025-12-22 12:32:05 +00:00
Calum Muir
2962067b23 Optimize hero and card images 2025-12-21 21:18:40 +00:00
Calum Muir
191070c18e Add markdown news system and improve news UX 2025-12-21 19:53:04 +00:00
mrcalumamuir
bdf3250fe5 Initial commit 2025-12-21 10:34:50 +00:00