Files
visit.waterschurch.org/src/content/kids.ts
T
Waters ChurchandClaude Fable 5.1 78cd0cc550 Plan Your Visit landing page for visit.waterschurch.org
Next.js 16 static export + PHP 8 API for cPanel/Apache hosting.

- Location-aware campus finder (IP estimate, optional precise location, ZIP search)
- Three-step Plan Your Visit form with separate email/SMS consent
- PHP API: validation, anti-spam, rate limiting, SQLite lead store,
  Mailchimp and Sinch Engage adapters, idempotent retries via cron
- Attribution capture (utm_*, gclid/gbraid/wbraid, fbclid, ttclid, twclid) and
  consent-aware analytics hooks
- Vitest and PHP test suites, cPanel deployment script and docs

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-22 13:22:26 -04:00

74 lines
2.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Waters Kids information. Age groups and safety facts are taken from
* waterschurch.org/about/waters-kids (verified 2026-09-22). Items marked
* `placeholder: true` are NOT verified policies and must be confirmed or
* removed by Waters Church before launch.
*/
export const kidsAgeGroups = [
{ id: "0-2", label: "Early Development", ages: "0–2 yrs", rooms: "Blue & Purple Rooms" },
{ id: "3-5", label: "Preschool & Pre-K", ages: "3–5 yrs", rooms: "Green, Yellow & Orange Rooms" },
{ id: "6-10", label: "Elementary", ages: "6–10 yrs", rooms: "Red Room & Ignite" },
{ id: "11-13", label: "Middle School & Pre-Teen", ages: "11–13 yrs", rooms: "Activate Youth Group" },
] as const;
export type KidsAgeRangeId = (typeof kidsAgeGroups)[number]["id"] | "14-18";
/** Age ranges offered in the form (includes high school for planning purposes). */
export const childAgeRangeOptions: { value: KidsAgeRangeId; label: string }[] = [
{ value: "0-2", label: "0–2" },
{ value: "3-5", label: "3–5" },
{ value: "6-10", label: "6–10" },
{ value: "11-13", label: "11–13" },
{ value: "14-18", label: "14–18 (Waters Youth)" },
];
export interface KidsPoint {
id: string;
title: string;
body: string;
placeholder?: boolean;
}
export const kidsPoints: KidsPoint[] = [
{
id: "checkin",
title: "Check-in",
body:
"Head to the Waters Kids check-in area when you arrive. A team member will register your family, print name tags for your kids, and give you a matching security tag for pickup.",
placeholder: true,
},
{
id: "safety",
title: "Safety & security",
body:
"Every Waters Kids volunteer passes a background check. Waters Church also employs its own security team, uses a security tag system for check-in and pickup, and can page you during the service if your child needs you.",
},
{
id: "ages",
title: "Age groups",
body:
"Kids are grouped by age from newborn through middle school, with programs running at every service time and location. High schoolers are invited to Waters Youth.",
},
{
id: "arrive",
title: "When to arrive",
body:
"For a relaxed first visit, plan to arrive about 15 minutes before the service starts so check-in isn't rushed.",
placeholder: true,
},
{
id: "bring",
title: "What to bring",
body:
"Just your kids. If your little one needs diapers, a bottle, or a snack, label them and hand them to the room leader at check-in.",
placeholder: true,
},
{
id: "needs",
title: "Special needs & accessibility",
body:
"If your child has a special need, allergy, or anything the team should know, tell us at check-in or text ahead of your visit. [Waters Church: confirm available accommodations before launch.]",
placeholder: true,
},
];