Vue 3 + TypeScript rewrite of the Script Viewer GitHub Pages app. The public route contract is unchanged:
/Script-Viewer//Script-Viewer/list/:serviceType/Script-Viewer/plan/:serviceType/:planId/:type?
- Copy
.env.exampleto.env. - Set:
VITE_PCO_APP_IDVITE_PCO_SECRETVITE_CORS_PROXY_URL
- Install dependencies with
npm install. - Start the app with
npm run dev.
npm run devstarts the Vite dev server.npm run buildcreates the production build indist/.npm run testruns the Vitest suite.npm run lintruns ESLint.npm run deploypublishesdist/to GitHub Pages.
src/api/pcoClient.tscontains low-level fetch, proxy, and auth behavior.src/services/planningCenterService.tsnormalizes Planning Center data for the UI.src/services/planTransforms.tshandles clock calculation and template-driven row shaping.src/composables/contains the route-scoped loaders for plan lists and plan details.src/config/planTemplates.tsowns the view templates and service type options.
The app still uses browser-side Planning Center credentials for v1, but that behavior is isolated behind the typed API layer so proxy/auth can move server-side later without rewriting the UI.