Changelog
All notable changes to the Westside Team Hub are recorded here.
2026-07-21
Area Access — per-area viewer lists + admin screen
- –Project Financials is now gated on its own, separate from the campaign giving numbers, so it can be shared without exposing pledges and dollars raised
- –Granted Project Financials to p.quintana@westsidemail.com (giving dashboard stays Steve + Gabe)
- –New Area Access screen in the admin (
/admin): lists each hidden dashboard area with its always-allowed owners, and lets Steve add or remove viewer emails per area - –Viewer lists are stored in the database and take effect the next time that person loads the dashboard; entering campaign data stays restricted to Steve
2026-07-20
Campaign Dashboard — Project Financials
- –New Project Financials section under the Campaign area, tracking the Kinnaman Campus Upgrade draw schedule
- –Each line item shows Budget, Cost to Date, and Remaining Balance, and expands to reveal original budget, change orders, cost from previous periods, costs this draw, % of budget used, and vendor detail
- –Expand all / Collapse all toggle for the line item table
- –Draw selector switches between draws; the newest draw is marked Building, earlier draws Completed
- –Summary boxes for Total Budget, Cost to Date, and Total Remaining Loan Proceeds
- –Loan Proceeds roll-forward: Remaining After Previous Draw, less Current Draw Request, less Unpaid Accrued Interest, to Total Remaining
- –Bar chart comparing budget, cost to date, and remaining balance per line item
- –Link to the source spreadsheet in Google Drive
- –Enter Draw Data form: paste the Cowork-reviewed JSON block, preview it, then save
- –Cost to date, remaining balance, the current draw request, and the closing loan balance are all calculated at display time, so they can never disagree with the line items they sit beside
- –Over-budget lines are shown at full value rather than hidden, and are flagged before saving. The source spreadsheet floors negative balances at zero, so figures here can read lower than the workbook until unbudgeted spend is reallocated
- –A draw whose opening loan balance doesn't match the previous draw's closing balance is flagged on screen
Campaign Dashboard — data entry restricted
- –Entering weekly giving data and draw data is now limited to Steve
- –Viewing the campaign dashboard is unchanged: Steve and Gabe
Church Calendar — playbook shortcut
- –Added a Public Calendar Playbook link beneath Sync from CCB that opens the Search tab with that search already entered
2026-07-09
Church Calendar — event display
- –Each event now links back to its original in CCB via a View in CCB link (opens in a new tab; requires a CCB login)
- –The event's Group now appears on its own line at the end of the description instead of running into the front of it
- –Event descriptions keep their paragraph breaks instead of running together
- –Fixed raw HTML entity codes appearing in descriptions instead of spaces and ampersands
- –Removed the "Work in progress" banner
2026-07-07
Campaign Dashboard — THE TIME IS NOW
- –New Campaign tab in the staff portal, visible only to Steve and Gabe
- –Displays Total Raised, Total Committed (Formal + Implied), Outstanding, and % of committed received as hero numbers
- –Progress bars for Raised vs Goal and Raised vs Committed
- –Giving households breakdown: total, pledgers (started / not started / complete), non-pledge givers
- –Week-over-week deltas (new dollars raised, change in committed, new households) once a second snapshot exists
- –Line chart of Total Raised and Committed over time once 2+ snapshots exist
- –Enter Weekly Data form: paste the Cowork-reviewed JSON block, preview values in a table, then save
- –Duplicate date submissions prompt overwrite confirmation
- –All donor-level data stays in Cowork; only reviewed aggregate totals are stored and displayed
2026-06-30
Move Assessment — mymove.church link
- –Added a small italic
mymove.churchlabel at the bottom of the Move Assessment card (staff dashboard) - –Added the same italic link to the orange banner on the leader and volunteer pages
2026-05-21
Staff Tools — Email Signature Builder
- –New page at
/staff/signaturewith a live-preview email signature generator - –Pre-fills name and email from the signed-in session; staff enter title and phone
- –Copy Signature copies the signature as rich text for direct paste into Gmail (or Apple Mail)
- –Copy HTML copies raw HTML for the advanced
.mailsignaturefile method - –Step-by-step Gmail install instructions built in; Apple Mail and Westside+ guide in the Advanced section
- –Signature Builder and Playbook Builder now appear as cards in a Built-in Tools section at the top of the Tools tab
- –Training Resources section on the Tools tab is now collapsed by default
2026-05-18
Service Count — mobile volunteer label layout
- –On mobile, volunteer row labels (including Production (Cams, Sound) and Production (Upstairs)) now stack above the number input instead of sitting beside it, preventing the input from being too small to use on narrow screens
2026-05-13
Staff Health — metric label updates & submission history
- –Renamed Salvations to Salvations - Raised hands in the detailed/advanced view and data table
- –Standard view shows Salvations ✋ for a cleaner card label
- –Renamed Next Step to Next Step Workshop in the detailed view
- –Added a subtle View submission history link below Leader Notes in the Weekend Service Count section
- –History expands inline with a per-ministry breakdown (Hospitality, Kids, Students, Relational Discipleship), each showing Weekend of | Total | Notes week-by-week
Leader Dashboard — org chart icon on Team section
- –Team section collapse header now shows a small org chart icon
2026-05-12
Leader Dashboard — Requests & Team sections collapsible
- –Added a Requests section to the leader dashboard, collapsed by default, positioned between Service Count and Team
- –Requests section shows Facility Projects and Reimbursement links — the same cards as the staff dashboard Requests tab
- –Made the Team section collapsible as well, also collapsed by default
2026-05-07
Service Count — New (Leader + Staff)
- –Hospitality, Kids, and Students leaders can now submit weekend service counts directly from the leader tab on their phone
- –Each ministry sees its own form matching the data they already track: Hospitality (cars, chairs, programs left, volunteers by role, guests by area), Kids (Nursery/PreK/Elem broken down by kids and volunteers plus directors), Students (MS and HS broken down by students and volunteers)
- –Submissions are per-service (5pm, 9am, 10:30am, 12pm); Students only see 10:30am and 12pm
- –Submission window is open Saturday through Monday only; the card is always visible with last weekend's data shown read-only when closed
- –Leaders can update a previously submitted count at any time during the open window
- –Optional notes field on every form for context (e.g. weather, special events)
- –Card defaults collapsed and sits below the Weekend Checklist on the leader tab
- –Staff Health tab now shows weekend totals broken down by ministry — Adults Services (attendance + volunteers), Kids Services, Student Services — matching the church metrics format; visible to Steve only
2026-05-06
Team Calendar — Staff dashboard only
- –Fixed: Team Calendar was incorrectly appearing on the Leader dashboard under the Team section
- –Calendar is now only shown on the Staff dashboard under the Org Chart tab
2026-05-06
Staff Checklist — Lock/Unlock Legend
- –Added a lock status entry to the legend on the Staff checklist tab (not visible on the leader view)
- –When editable, the legend shows Unlocked – locks Sat M/D at noon
- –When locked, the legend shows Locked – unlocks Wed M/D at noon
- –Checklist now also properly re-opens at noon on the Wednesday following the weekend, matching the Wednesday auto-create cycle
2026-05-05
Merged Tools & Training tabs
- –Combined the Training tab into the Tools tab — the Training Resources list now appears below the tools grid in a single Tools tab
- –Removed the standalone Training tab from the navigation bar
2026-05-05
Team Calendar — Org Chart tab
- –Added a Team Calendar to the Org Chart tab showing time off, birthdays, and work anniversaries for the next 30 days, pulled live from GoCo
- –Calendar displays as a monthly grid; clicking any day with events reveals a detail panel with full names and date ranges
- –Time off (🏖️ blue), birthdays (🎂 amber), and anniversaries (🎉 green) are color-coded throughout
- –Added a Schedule Time Off button at the bottom of the calendar linking directly to GoCo
- –Org Chart tab now shows colored notification dots (blue / amber / green) when any of those events fall within the next 14 days
New Season Group Registration link update
- –Updated the New Season Group Registration form link (form ID 1674 → 1720) on both the Leader and Volunteer pages
Link Admin page
- –Added a private
/adminpage (visible only tosteve@westsidemail.com) accessible via a Link Admin footer link when signed in - –Admin page lets you edit every quick link and tool URL across the site — Growth Groups links, Safety links, Background Check, Westside+, Bookshelf, Staff Tools, and Staff Requests — and save changes instantly without a redeploy
- –All pages (volunteer, leader, staff) now load links dynamically from
/api/linksat runtime, with hardcoded values as safe fallbacks - –Added
SiteConfigPrisma model to persist link overrides in the database (runnpx prisma db pushto apply the schema change)
2026-05-04
Staff Dashboard — Search Bar Redirects to Universal Search
- –Clicking the search bar on the Playbooks or Resources tab now immediately switches to the Search tab, so users search across everything in one place
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