Changelog
All notable changes to the Westside Team Hub are recorded here.
2026-05-03 (session 1)
Favicon and iOS home screen icon
- –Added
app/icon.svg— blue gradient background (#3570AD→#1B4A7A) with white "W" and orange (#F26620) accent bar, matching the Westside Community Church brand - –Added
app/apple-icon.tsx— 180×180 PNG generated viaImageResponsefor iOS home screen bookmarks
Google OAuth — production domain
- –Updated Google Cloud Console OAuth client to include
https://westside.teamas an authorized origin and redirect URI
2026-04-30 (session 5)
Bookshelf links — Staff Tools, Volunteer, and Leader pages
- –Staff Tools tab: added a Bookshelf card to the tools grid linking to
westsidecommunitychurch.com/bookshelf - –Volunteer page: added an orange banner across the bottom of the page linking to the Bookshelf
- –Leader page: added a blue banner between the Playbooks section and the Resources section linking to the Bookshelf
2026-04-30 (session 4)
Move Assessments — stats widget
- –Added AssessmentStats component that fetches completion counts from the Move Assessments API (
ASSESSMENT_STATS_URL) with a 1-hour server-side cache - –Displays two numbers: Last 28 Days and YTD, using the actual Move Assessments mountain range logo
- –Clicking anywhere on the widget opens
https://jcm-liart.vercel.app - –Staff dashboard: appears as the first card in the top metric row, separated from the three playbook/expiry cards by a vertical divider; mountain logo displayed prominently in black on white
- –Leader dashboard (
/leader): compact orange banner just above the Weekend Checklist section - –Volunteer dashboard (
/volunteer): compact orange banner just above the Quick Links section; mountain logo tinted orange to match the banner background - –URL stored in
ASSESSMENT_STATS_URLenv var (not hardcoded)
Staff Checklist — auto-create weekly
- –Removed the manual + New Week button and date picker from the Weekend Checklist
- –The checklist now automatically creates the upcoming Saturday's week on Wednesdays when it doesn't already exist, silently in the background
2026-04-30 (session 3)
Ministry Health Dashboard — Students metric
- –Added Students % column (col Q) to the health data feed
- –Appears in the Advanced view only under Spiritually Curious — not shown on the standard scorecard
- –All subsequent column indices shifted to accommodate the new column
2026-04-30 (session 2)
Staff Dashboard — Ministry Health Dashboard (new)
- –New Health tab added to the staff dashboard, second position after Checklist
- –Reads live data from the Ministry Health Google Sheet via service account — 15-minute cache
- –Standard view (default): latest week's scorecard organized across 5 funnel sections — Not Interested, Spiritually Curious, Jesus, Community, Mission — each metric showing current value and week-over-week change
- –Advanced view: sparkline area chart per metric with hover tooltips, plus a full scrollable data table of all historical weeks (newest first)
- –Targets displayed as Next (blue) and Stretch (purple) badges on each metric card:
- Fixed goals: Online Engagement, New Profiles, Contact List, Attendance, Kids %, Salvations, HCLI Grads, Dream Team
- Formula-derived: TC Active, A&S Serving, Active Giving Units, and Leaders all calculated from the in-person attendance goal
- Baptisms target dynamically computed as 90% (Next) and 98% (Stretch) of latest Salvations In Process
2026-04-30
Ministry Picker — Hospitality Added
- –Added Hospitality as a ministry option in the ministry picker, available to both volunteers and leaders
Staff Login — Platform Overview Video
- –Embedded the staff platform overview video directly on the login page
- –Layout is now two-column: video on the left, sign-in card on the right (stacks vertically on mobile)
2026-04-29
Landing Page — Overview Video
- –Added a "Watch a quick overview" link to the landing page hero, below the subtitle
- –Clicking opens a centered modal with the YouTube overview video embedded and autoplaying
- –Modal closes on outside click or Escape key; no page takeover
2026-04-28
Staff Dashboard — Playbook Builder (new)
- –New Build Playbook tab added to the staff dashboard, visible to all staff
- –4-step guided wizard for creating playbooks; 4-step wizard for resources (type, metadata, content, review)
- –Step 1: choose Playbook, Resource, or Validate an existing document (skips straight to the validator)
- –Metadata fields pre-fill owner name and email from the signed-in user's session
- –Title validation warns if "Playbook" or "Resource" is missing from the document name
- –Tier picker explains visibility at each level (Tier 1 = everyone, Tier 2 = leaders + staff, Tier 3 = staff only)
- –Published date defaults to today; expiry defaults to one year out
- –Resource content step adapts labels and placeholder text to the selected resource type (Script, Conversation, Form, Template, Video)
- –Review screen (6 phase cards):
- Phase 1: step-by-step doc creation in Shared drives → ministry drive → \*. Playbooks folder
- Phase 2: metadata copy block with a collapsible advanced section for placing metadata in the Google Docs page header
- Phase 3: document body copy block
- Phase 4: heading styles visual showing exactly which toolbar dropdown to use and which style to apply to each section
- Phase 5: tier-aware sharing permissions with a visual Share button mockup and General access dialog — Tier 1 gets "Anyone with the link", Tier 2 offers two options, Tier 3 defaults to "Westside Community Church" with a rarely-needed restricted option
- Phase 6: inline validator so staff never need to leave the screen
2026-04-27 (session 2)
Leader Dashboard — Safety
- –Incident Report card now shows two buttons: "File Report →" (solid) and "Incident Report Playbook →" (outlined)
- –Added Facility Project / Maintenance Request card with solid button
Volunteer Dashboard
- –Incident Report card updated to match leader — added "Incident Report Playbook →" button below "File Report →"
Changelog
- –
/changelogpage added to the app — rendersCHANGELOG.mdat build time, no login required - –Footer "Changelog" link now points to
/changeloginstead of the Google Doc
Reimbursement Email
- –Mailto link now pre-fills the email body with amount, event, mailing address, and receipt attachment prompt
2026-04-27
Staff Dashboard
- –Expiring tab now defaults to your owned items; "Show all" checkbox reveals all system-wide expiring/expired items
- –Added Owner column to Expiring tab table
- –Renamed "Validate" tab to "Validate Playbook"
- –Fixed GoCo link →
https://secure.goco.io/login - –Fixed PEX link →
https://www.pexcard.com - –Reimbursement request email now includes a pre-filled body template (amount, event, mailing address, receipt prompt)
- –Added favicons to Tools tab cards
Leader Login
- –Added show/hide passcode toggle (eye icon)
- –Added "Remember passcode on this device" checkbox (stored in localStorage)
Homepage
- –Renamed "Team / Group Leader" card to "Leader"
- –Updated Leader card description to list team leaders, service leaders, group leaders, and shepherds
Footer
- –Added beta notice: "This website is in beta. Please DM Steve Barker if you run into broken or missing features."
2026-04-26
Resources
- –Resources section added to volunteer and leader dashboards
- –Volunteer dashboard: Tier 1 resources only
- –Leader dashboard: Tier 1–2 resources only; Tier 3 content hidden
- –PDFs and videos with "resource" in their name now appear in resource tables (metadata read from Drive file Description field)
- –Videos inside
*.Playbooksfolders are fetched as resources - –All resource sources (Docs, named PDFs/videos, folder videos) deduplicated by file ID
Playbooks
- –Department and Ministry filters on staff Playbooks tab are now dynamic (pulled from live data)
- –Department filter cascades into Ministry filter; selecting a department scopes the ministry list
- –Comma-separated department values split correctly in filters
- –Placeholder department values ("All", "All Departments", "N/A") excluded from dropdown
Metadata parsing
- –Resource metadata fields beyond
Resource:title are now all optional — docs are no longer dropped for missing/unrecognized Type - –Fixed field bleed-through bug where a blank field captured the next field's label as its value
Doc Validator (new — staff dashboard "Validate Playbook" tab)
- –Validates any Google Doc, PDF, or video by URL or file ID
- –Checks file name, folder placement (
*.Playbooks), all metadata fields, and Drive sharing permissions - –Permission check cross-references tier with expected sharing level (Tier 1–2: anyone; Tier 3: domain/restricted)
- –PDFs and videos validated from Drive file Description field
- –"The Playbooks Playbook" help link shown at bottom of results
Branding
- –Header renamed from "Westside Team Hub" to "Westside Team"
Scripts
To generate a draft changelog entry for the current branch:
bash scripts/changelog-entry.sh