diff --git a/src/components/SiteFooter.astro b/src/components/SiteFooter.astro index c9c6d7c..ed68ec6 100644 --- a/src/components/SiteFooter.astro +++ b/src/components/SiteFooter.astro @@ -1,50 +1,115 @@ --- const { fullBleedOnMobile = false } = Astro.props; -const outerClass = fullBleedOnMobile - ? "mt-0 w-full max-w-[1200px] mx-auto px-0 sm:px-8" - : "mt-0 w-full max-w-[1200px] mx-auto px-4 sm:px-8"; + +const quickLinks = [ + { label: "About Us", href: "/about" }, + { label: "Support Us", href: "/support-us" }, + { label: "Volunteer Application", href: "/volunteer-application" }, + { label: "Participant Application", href: "/participant-application" }, + { label: "News", href: "/events" }, + { label: "Contact Us", href: "/contact" }, + { label: "Accessibility", href: "/accessibility" }, + { label: "Privacy", href: "/privacy" }, +]; + +const year = new Date().getFullYear(); --- - diff --git a/src/content/news/2024-06-volunteers-summer.md b/src/content/news/2024-06-volunteers-summer.md index 3eba01a..9a77308 100644 --- a/src/content/news/2024-06-volunteers-summer.md +++ b/src/content/news/2024-06-volunteers-summer.md @@ -4,5 +4,6 @@ date: "2024-06-01" summary: "Volunteers summer 2024" image: "/Vols5-2880w-1024x768.avif" slug: "volunteers-summer-2024" +category: "News" --- We welcomed a group of our volunteers to the centre for a catch up and discussion about upcoming events. It’s always great to get together! Find out how you can help out by **[Volunteering for us](/support-us)**. diff --git a/src/content/news/2024-07-summer-awards-2024.md b/src/content/news/2024-07-summer-awards-2024.md index d8c04bd..4548121 100644 --- a/src/content/news/2024-07-summer-awards-2024.md +++ b/src/content/news/2024-07-summer-awards-2024.md @@ -4,6 +4,7 @@ date: "2024-07-01" summary: "Summer awards 2024" image: "/Awardtime-1920w-768x1024.avif" slug: "summer-awards-2024" +category: "Events" --- Last week we had the pleasure of our awards ceremony. It’s always fantastic to see the progress of our riders, ponies and everyone involved in Highland Group RDA. Samantha received an award for.., read Samantha's story . diff --git a/src/content/news/2024-10-race-night.md b/src/content/news/2024-10-race-night.md index 046931c..fff44f5 100644 --- a/src/content/news/2024-10-race-night.md +++ b/src/content/news/2024-10-race-night.md @@ -4,5 +4,6 @@ date: "2024-10-01" summary: "Race night" image: "/race-night.avif" slug: "race-night" +category: "Fundraising" --- ![Alt text](/race-night.avif) diff --git a/src/content/news/2025-12-important-news.md b/src/content/news/2025-12-important-news.md index aef587f..bf7d8fb 100644 --- a/src/content/news/2025-12-important-news.md +++ b/src/content/news/2025-12-important-news.md @@ -4,6 +4,7 @@ date: "2025-12-19" summary: "Important news to share with the community." image: "/important-news.png" slug: "important-news" +category: "News" --- The Highland Riding for the Disabled Group (SCIO 007357) has been operating from diff --git a/src/content/news/2026-01-important-news.md b/src/content/news/2026-01-important-news.md index 6d77239..1707121 100644 --- a/src/content/news/2026-01-important-news.md +++ b/src/content/news/2026-01-important-news.md @@ -4,6 +4,7 @@ date: "2026-01-12" summary: "Important news for January 2026" image: "/news/900px-logo.png" slug: "important-news-january-2026" +category: "News" --- Reelig Estate accepted Highland RDA Group SCIO's decision to terminate the Group's lease agreement at Sandycroft with effect from the end of December 2025. They agreed to enter into a temporary agreement for a grazing licence until the end of February, enabling the group to continue negotiations with an alternative venue. Since exploring that venue other ways forward have all proved unviable. The current Trustees recognise that in order to secure the Group's future, a refreshed Board of Trustees should be formed as soon as practicable with a view to taking Highland Group forward. Once the new Trustees are in place and with the support of the landlords (Reelig Estate), the Group could be in a position to discuss future lease arrangements. diff --git a/src/content/news/2026-03-new-trustees.md b/src/content/news/2026-03-new-trustees.md index dc8fb21..5aac5d8 100644 --- a/src/content/news/2026-03-new-trustees.md +++ b/src/content/news/2026-03-new-trustees.md @@ -4,6 +4,7 @@ date: "2026-03-01" summary: "Four new Trustees have joined Highland RDA, bringing fresh enthusiasm as the Group looks ahead to restarting activities." image: "/news.webp" slug: "new-trustees" +category: "News" --- ## A New Chapter for Highland RDA diff --git a/src/lib/news.ts b/src/lib/news.ts index c8ff3d5..dd692ff 100644 --- a/src/lib/news.ts +++ b/src/lib/news.ts @@ -7,12 +7,13 @@ export type NewsArticle = { summary: string; image?: string; slug: string; + category: string; body: string; html: string; }; type Frontmatter = Partial< - Pick + Pick >; const newsModules = import.meta.glob("/src/content/news/*.md", { @@ -53,6 +54,7 @@ export const newsArticles: NewsArticle[] = Object.entries(newsModules) summary: frontmatter.summary || "", image: frontmatter.image, slug, + category: frontmatter.category || "News", body, html: marked.parse(body) as string, }; diff --git a/src/pages/about.astro b/src/pages/about.astro index 3d34849..860b9cc 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -12,372 +12,417 @@ const pageSeo = { "Highland Group RDA, about Highland RDA, RDA charity, volunteer-led charity Scotland, therapeutic riding, equestrian therapy Highlands", canonicalPath: "/about", }; + +const stats = [ + { number: "1975", label: "Founded" }, + { number: "50+", label: "Years serving the Highlands" }, + { number: "Free", label: "Sessions for all participants" }, + { number: "Tue–Fri", label: "Morning sessions" }, +]; + +const ponies = [ + { name: "Breagh", img: "/Breagh-bc8e70e8-2880w.webp", details: "13.2hh · Mare · 15 yo", desc: "She is very willing and independent", pos: "50% 50%" }, + { name: "Connolly", img: "/connolly-73f3e69f-2880w-2.webp", details: "14.2hh · Gelding · 16 yo", desc: "A true gentleman and everyone's friend", pos: "50% 50%" }, + { name: "Harley", img: "/Harley-6ece9eca-2880w.webp", details: "15.3hh · Gelding · 15 yo", desc: "He is the boss but very obliging", pos: "50% 50%" }, + { name: "Puzzle", img: "/puzzle-5de6e325-2880w.webp", details: "15.3hh · Mare · 14 yo", desc: "She is very sensitive and gentle", pos: "50% 50%" }, + { name: "Lady Suede", img: "/Suede-2880w.webp", details: "13hh · Mare · 23 yo", desc: "RIP October 2024", pos: "50% 50%", memorial: true }, + { name: "Wispa", img: "/Wispa-2880w.webp", details: "14.2hh · Gelding · 15 yo", desc: "RIP 2025", pos: "50% 20%", memorial: true }, +]; + +const testimonials = [ + "Riding helps to correct her posture and protects the spine and hips while it strengthens the muscles. More than that, it gives a sense of achievement and of being just as 'able-bodied' as everyone else on the back of a horse.", + "He feels the responsibility of controlling such a large and powerful animal and it helps him understand life just that bit better. It's also very calming for him, especially at the end of a session when he can nurture the horse by brushing her and giving her some hay.", + "We cannot thank the team at RDA Highland enough for what they've done for our child. To see only the individual and the pure joy of achievement, and not the disability is a tremendous gift. Our whole family benefits from these sessions. Thank you.", + "RDA's gentle, calm and serene atmosphere coupled with the warm sentient creature that she can bond with and enjoy without needing words. I think it helps her to feel calm and grounded and gives a huge sense of achievement. RDA is such an important part of our lives.", +]; --- -
+ + + + + + + + + +
-
+ + +
+
+
-
+
+

+ About Us +

+
+

+ Enriching lives through horses in the Highlands since 1975. +

+

+ We are a voluntary organisation based at Sandycroft, Reelig, Kirkhill — providing free therapeutic and recreational riding for people with disabilities across the Highlands. +

- +
+ + +
+
+
+
+ "Our mission is to bring about meaningful and positive changes in the health and well-being of people with physical or mental disabilities through activities with our horses and ponies." +
+
+
+
+ + +
+
+
+

Who we are

+

+ A community of volunteers, coaches, and horses. +

+

+ Highland Group RDA is entirely self-funded and run by committed volunteers and qualified coaches. We have been part of the community for over five decades, welcoming riders with a wide range of physical and mental disabilities. +

+

+ We are a member of the national Riding for the Disabled Association (RDA) and the Grampian and Highland Regional RDA, and a registered Scottish Charitable Incorporated Organisation (SC007357). +

+
+
+

What we do

+

+ Riding, carriage driving, and so much more. +

+

+ We provide free riding and carriage driving sessions for participants with a wide range of disabilities. Working with horses improves balance, coordination, confidence, and provides a uniquely meaningful interaction with animals. +

+

+ Sessions run Tuesday to Friday mornings from our base at Sandycroft. Each session is supported by trained volunteers and supervised by qualified coaches. +

+
+
+
+ + +
+
+
+ {stats.map((s) => ( +
+

+ {s.number} +

+

+ {s.label} +

+
+ ))} +
+
+
+ + +
+
+ Our ponies -
-
-

- Who, why, where, when & how? -

-
-

- Highland Group RDA was established in 1975. -

-

- We are located at our own premises just outside - Kirkhill, near Inverness. We operate from Spring - to Autumn 4 days per week. The majority of our - participants are Inverness and Ross-shire based - with a reach including Glenurquhart, Dingwall - and Inverness. -

-

- We are completely self-funded and rely on income - from donations for our sessions, fundraising - from local events and available grants to fund - our services, upkeep of our facilities and most - importantly fund the care and training of our - wonderful ponies. -

-
-
+
+
+

+ Our ponies +

+
+

+ The heart of everything we do. +

+

+ Our ponies are carefully selected and trained to work safely with riders of all abilities. They are well cared for, happy, and central to the therapeutic experience we offer. +

+

+ You can support them directly by sponsoring a pony — covering the costs of hoof trimming, hay, vet visits, and more. +

- Donate via JustGiving + Sponsor a pony +
-
-
-
+
+
+

+ Meet the ponies +

+
+
+ {ponies.map((pony) => ( +
+
+ {pony.name} +
+
+

+ {pony.name} +

+

+ {pony.details} +

+

+ {pony.desc} +

+
+
+ ))} +
+
+
+ + +
+
+

+ What families say +

+
+
+ {testimonials.map((quote) => ( +
+
+

+ "{quote}" +

+
+ ))} +
+
+
+

Featured story

+

Samantha's Story

+

+ Read how Samantha's RDA sessions have not only improved her physical and mental wellbeing, but helped her overcome her prognosis of never being able to walk. +

+
+ + Read her story (PDF) + + +
+
+
+ + +
+
+

+ Volunteers & coaches +

+
+

+ We couldn't do it without you. +

+

+ Our sessions are made possible by a dedicated team of volunteers — side walkers, horse leaders, groomers, and more. You don't need any horse experience to join us. +

+

+ Qualified RDA coaches supervise all sessions and provide ongoing training and support for our volunteer team. +

+ -

- Our Star Participants + Apply to volunteer + + +

+
+ Our volunteers +
+
+ + +
+
+
+

+ Find us +

+
+

+ Based at Sandycroft, Reelig.

-

+ We are based at Sandycroft, Reelig, Kirkhill — on the outskirts of Inverness. +

+
+ Sandycroft, Reelig
+ Kirkhill
+ IV5 7PP +
+

+ Sessions: Tuesday to Friday mornings +

+ - Stories and testimonials + Contact us + + +
+ + +

View on Google Maps

+

Sandycroft, Reelig, Kirkhill, IV5 7PP

+
+
+
+ + +
+
+
+

+ We are able to carry out our life-changing activities thanks to you. +

+

+ Donate, volunteer, or sponsor a pony — every contribution makes a real difference.

- -
-
-

- Featured story -

-

- Samantha's Story -

-
-
-

- Read Samantha's story and find out how her - RDA sessions have not only improved her physical - and mental wellbeing, but helped her to overcome - her prognosis of never being able to walk. -

- - Full story (PDF) - -
- -
-

- Testimonials -

-
-
- -

- Riding helps to correct her posture and - protects the spine and hips while it - strengthens the muscles. More than that, - it gives a sense of achievement and of - being just as 'able-bodied' as - everyone else on the back of a horse. -

-
-
- -

- He feels the responsibility of - controlling such a large and powerful - animal and it helps him understand life - just that bit better. It's also - very calming for him, especially at the - end of a session when he can nurture the - horse by brushing her and giving her - some hay. -

-
-
-
-
- -
-
-
-
-

- Meet the ponies -

-
-
-

- Breagh -

-
-
-

- 13.2hh · Mare · 15 yo -
- She is very willing and independent -

-
-
-

- Connolly -

-
-
-

- 14.2hh · Gelding · 16 yo -
- A true gentleman and everyone's friend -

-
-
-

- Harley -

-
-
-

- 15.3hh · Gelding · 15 yo -
- He is the boss but very obliging -

-
-
-

- Puzzle -

-
-
-

- 15.3hh · Mare · 14 yo -
- She is very sensitive and gentle -

-
-
-

- Lady Suede -

-
-
-

- 13hh · Mare · 23 yo -
- RIP October 2024 -

-
-
-

- Wispa -

-
-
-

- 14.2hh · Gelding · 15 yo -
- RIP 2025 -

-
-
-
-
- -
-
-
-

- Apple foraging video -

-
- -
-
-
- -
+
+ + diff --git a/src/pages/events/index.astro b/src/pages/events/index.astro index 7febed9..4448382 100644 --- a/src/pages/events/index.astro +++ b/src/pages/events/index.astro @@ -3,13 +3,10 @@ import BaseLayout from "../../layouts/BaseLayout.astro"; import SiteHeader from "../../components/SiteHeader.astro"; import SiteFooter from "../../components/SiteFooter.astro"; import { navigationItems } from "../../lib/navigation"; -import { newsArticles, formatNewsDate } from "../../lib/news"; +import { newsArticles } from "../../lib/news"; -const PER_PAGE = 4; -const totalPages = Math.ceil(newsArticles.length / PER_PAGE); -const currentPage = 1; -const pagedArticles = newsArticles.slice(0, PER_PAGE); -const pageHref = (page) => (page === 1 ? "/events" : `/events/page/${page}`); +const featured = newsArticles[0]; +const rest = newsArticles.slice(1); const pageSeo = { title: "News", @@ -19,158 +16,371 @@ const pageSeo = { "Highland RDA news, RDA events, disability riding stories, RDA updates, equestrian therapy news, Highlands charity events", canonicalPath: "/events", }; + +const categoryColors: Record = { + News: { bg: "#e8f0e7", text: "#4a7040" }, + Events: { bg: "#e7eaf5", text: "#3a4a80" }, + Fundraising: { bg: "#fdf3cc", text: "#7a6010" }, +}; + +function formatDate(date: string) { + const d = new Date(date); + if (isNaN(d.getTime())) return date; + return d.toLocaleDateString("en-GB", { day: "numeric", month: "long", year: "numeric" }); +} + +const upcomingEvents = [ + { date: "Spring 2026", day: "TBC", title: "Sessions restart at new venue", time: "TBC", type: "Sessions" }, + { date: "Summer 2026", day: "TBC", title: "Open Day — venue to be confirmed", time: "TBC", type: "Events" }, + { date: "Summer 2026", day: "TBC", title: "Fundraising coffee morning", time: "TBC", type: "Fundraising" }, +]; + +const typeColors: Record = { + Events: "#7DA371", + Sessions: "#5b8fbe", + Fundraising: "#b8962e", +}; --- -
+ + + + + +
-
+ + +
+
+
-
- -
-
-

- Latest News -

-
-

- Updates from Highland Group RDA -

-

- Stories, milestones, and updates from the yard, - our riders, volunteers, and supporters. -

-
+
+

+ Events & News +

+
+

+ What's on at Highland Group RDA. +

+

+ Upcoming events, session news, and fundraising updates from our group. +

- - Donate via JustGiving -
-
-
-
- { - pagedArticles.map((item) => ( - - )) - } + +
+
+
+
+

+ Coming up +

+

+ Upcoming events & sessions +

+
+ + Get in touch + +
+
+ {upcomingEvents.map((ev) => ( +
+
+

+ {ev.date} +

+

+ {ev.day} +

+
+

+ {ev.title} +

+

+ {ev.time} +

+ + {ev.type} + +
+ ))}
- { - totalPages > 1 ? ( - - ) : null - }
- + + +
+
+ + +
+
+

+ Latest +

+

+ News & updates +

+
+
+ {["All", "News", "Events", "Fundraising"].map((cat) => ( + + ))} +
+
+ + + {featured && ( + + {featured.image ? ( + {featured.title} + ) : ( +
+ + +
+
+

+ Stay up to date. +

+

+ Follow us on Facebook or get in touch directly — we share news, events, and updates with our community. +

+ +
+
+
+
+ + diff --git a/src/pages/events/page/[page].astro b/src/pages/events/page/[page].astro index fb556bd..be664e5 100644 --- a/src/pages/events/page/[page].astro +++ b/src/pages/events/page/[page].astro @@ -3,188 +3,202 @@ import BaseLayout from "../../../layouts/BaseLayout.astro"; import SiteHeader from "../../../components/SiteHeader.astro"; import SiteFooter from "../../../components/SiteFooter.astro"; import { navigationItems } from "../../../lib/navigation"; -import { newsArticles, formatNewsDate } from "../../../lib/news"; +import { newsArticles } from "../../../lib/news"; export function getStaticPaths() { - const PER_PAGE = 4; + const PER_PAGE = 6; const totalPages = Math.ceil(newsArticles.length / PER_PAGE); - const pages = Array.from( - { length: totalPages }, - (_, index) => index + 1, - ).filter((page) => page > 1); - - return pages.map((page) => ({ - params: { page: String(page) }, - })); + return Array.from({ length: totalPages }, (_, i) => i + 1) + .filter((page) => page > 1) + .map((page) => ({ params: { page: String(page) } })); } const currentPage = Number(Astro.params.page ?? "1"); -const PER_PAGE = 4; +const PER_PAGE = 6; const totalPages = Math.ceil(newsArticles.length / PER_PAGE); const start = (currentPage - 1) * PER_PAGE; const pagedArticles = newsArticles.slice(start, start + PER_PAGE); -const pageHref = (page) => (page === 1 ? "/events" : `/events/page/${page}`); +const pageHref = (page: number) => (page === 1 ? "/events" : `/events/page/${page}`); const pageSeo = { - title: `News - Page ${currentPage}`, + title: `News — Page ${currentPage}`, description: - "Stay updated with Highland Group RDA news, events, and stories. Discover how our riders, volunteers, and community are making a difference every day.", + "Stay updated with Highland Group RDA news, events, and stories.", keywords: - "Highland RDA news, RDA events, disability riding stories, RDA updates, equestrian therapy news, Highlands charity events", + "Highland RDA news, RDA events, disability riding stories, RDA updates", canonicalPath: `/events/page/${currentPage}`, }; + +const categoryColors: Record = { + News: { bg: "#e8f0e7", text: "#4a7040" }, + Events: { bg: "#e7eaf5", text: "#3a4a80" }, + Fundraising: { bg: "#fdf3cc", text: "#7a6010" }, +}; + +function formatDate(date: string) { + const d = new Date(date); + if (isNaN(d.getTime())) return date; + return d.toLocaleDateString("en-GB", { day: "numeric", month: "long", year: "numeric" }); +} --- -
+ + + + +
-
+ + +
+
+
-
- -
-
-

- Latest News -

-
-

- Updates from Highland Group RDA -

-

- Stories, milestones, and updates from the yard, - our riders, volunteers, and supporters. -

-
+
+

+ Events & News — Page {currentPage} +

+
+

+ What's on at Highland Group RDA. +

- - Donate via JustGiving -
-
-
-
- { - pagedArticles.map((item) => ( - - )) - } + +
+
+ +
+ {pagedArticles.map((post) => ( + + - { - totalPages > 1 ? ( - - ) : null - } + + + {totalPages > 1 && ( + + )} +
- +
+
+ + diff --git a/src/pages/index.astro b/src/pages/index.astro index ff36001..f330331 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -13,39 +13,29 @@ const pageSeo = { canonicalPath: "/", }; -const cardData = [ +const ctaCards = [ { - title: "About Us", - imageUrl: "/about-640.webp", - imageSrcSet: - "/about-320.webp 320w, /about-480.webp 480w, /about-640.webp 640w, /about-960.webp 960w", - href: "/about", - }, - { - title: "Support Us", - imageUrl: "/support-640.webp", - imageSrcSet: - "/support-320.webp 320w, /support-480.webp 480w, /support-640.webp 640w, /support-960.webp 960w", + label: "Fundraising", + title: "Sponsor a pony", + sub: "Your support keeps our ponies healthy and our sessions running — from hoof trimming to hay bales.", + img: "/alineofponies-1920w.webp", + objectPos: "50% 50%", href: "/support-us", }, { - title: "Contact Us", - imageUrl: "/contact-640.webp", - imageSrcSet: - "/contact-320.webp 320w, /contact-480.webp 480w, /contact-640.webp 640w, /contact-960.webp 960w", - href: "/contact", - }, - { - title: "Apply to Volunteer", - imageUrl: "/Vols5-2880w-1024x768.avif", - imageSrcSet: "/Vols5-2880w-1024x768.avif 1024w", + label: "Get involved", + title: "Apply to volunteer", + sub: "No horse experience needed. Sidestep walkers, groomers, fundraisers — all roles make a real difference.", + img: "/Vols5-2880w-1024x768.avif", + objectPos: "50% 30%", href: "/volunteer-application", }, { - title: "Apply to Participate", - imageUrl: "/Samantha-and-Connolly-960.webp", - imageSrcSet: - "/Samantha-and-Connolly-480.webp 480w, /Samantha-and-Connolly-640.webp 640w, /Samantha-and-Connolly-960.webp 960w", + label: "Riding sessions", + title: "Apply to participate", + sub: "We welcome riders and carriage drivers with a wide range of physical and mental disabilities.", + img: "/Samantha-and-Connolly-1280.webp", + objectPos: "50% 38%", href: "/participant-application", }, ]; @@ -61,181 +51,281 @@ const cardData = [ imagesizes="100vw" /> -
+ + + + + + +
-
+ + +
+
+ + +
+ +
+

+ Highland Group RDA · Since 1975 +

+
+

+ Enriching lives through horses in the Highlands. +

+
+ + +
+
+
+ "Our mission is to bring about meaningful and positive changes in the health and well-being of people with physical or mental disabilities through activities with our horses and ponies." +
+
+
+ + + -
+ + + +
+
+

+ Scroll +

+
+
+ + +
+
+

+ Our Story +

+

+ What is Riding for the Disabled? +

+

+ Across the Highlands, we provide free riding and carriage driving sessions to people with a wide range of physical and mental disabilities — connecting them with our ponies in a way that's therapeutic, joyful, and life-changing. +

+
+