Reference
Legacy and unused code
Code, settings and templates in the ASC repositories that are not live, and places where the code or older documentation contradicts current behaviour.
The storefront has been rebuilt in stages since 2024, and earlier versions were often left in place. A file being present, or described in older documentation, is not evidence that it runs. Search for references before relying on or deleting anything.
| Item | Replaced by | Notes |
|---|
google-cloud-api/ | asc-api-membership-pass, since 10 June 2026 | Its children/save route fails since the Full Name field was removed from the form, and its DELETE route reads parameters that do not exist. The Cloud Run service built from it still responds at its previous address. Confirm in Google Cloud whether it can be deleted |
Root gcloud-api:* scripts, .vscode/launch.json, .vscode/tasks.json | Nothing | Only serve google-cloud-api/ |
misc/zapier-scripts/ | shopify-zoho-integration | 2024 Zapier code steps |
misc/zapier-scripts/membership-pass/deprecated/ | Membership passes as cart swaps | Earlier discount code approach |
Theme setting value membership_pass_webhook | asc-api-membership-pass | No setting definition and no code reads it |
documentation/ | doc-site/content/ | Kept for reference |
asc-layout.excalidraw, asc-layout.png | System overview | December 2024, shows gcloud-api and no club search |
| Item | Status |
|---|
sections/asc-cart-items.liquid, snippets/camp-cart-item.liquid, snippets/asc-cart-actions.liquid | Previous cart. Turned off in templates/cart.json |
sections/main-cart-footer.liquid | Turned off in templates/cart.json |
sections/main-cart-items.liquid, assets/cart.js | Only loaded by the turned-off ASC Items section |
snippets/cart-drawer.liquid, assets/cart-drawer.js, assets/cart-notification.js | Only used when Cart type is drawer. It is notification |
documentation/diagrams/membership-pass-cta.* | Accurately describes asc-cart-actions.liquid, not the live cart |
| Item | Status |
|---|
sections/main-product-orig.liquid, sections/main-search-stripped.liquid, sections/related-products.liquid | Not referenced and cannot be added |
sections/announcement-bar.liquid, collage.liquid, collection-list.liquid, featured-product.liquid, newsletter.liquid, products-carousel.liquid, quick-order-list.liquid, slideshow.liquid | Dawn sections not placed anywhere, but staff can add them |
snippets/globo.filter.product.liquid | Former filter app. Not rendered |
snippets/icon-asc-calendar-filled.liquid, snippets/icon-asc-pin-filled.liquid | Not rendered |
Blocks and most settings in sections/main-product.liquid | Ignored by its markup. Only the CVP settings work |
templates/page.city-and-sports.json | References seven sections that exist only on the unmerged redesign branch |
templates/page.find-a-camp-sport-testing.json, page.get-started-test.json, page.get-started-testing.json | Test copies |
templates/page.contact.json, page.book-a-camp.json, page.sport.json, page.less-offer-for-belgra.json, page.less-offer-for-genesi.json | Probably unused. Check page assignments in Shopify Admin before deleting |
theme/mcps/ | Not theme files |
An alternate template is only safe to delete when no page, product or collection in Shopify Admin is assigned to it. That assignment is not in the repository.
| Item | Status |
|---|
styles.bundle.js, camp-booking.css | Written by the build, not loaded |
styles.js | 2024 output of the old CSS config, not loaded |
date-picker.bundle.js | Loaded on every page. Its only target element is inside a Liquid comment |
asc-003-tracking.js | A/B test tracking with all calls commented out. Not loaded |
map_style.json, markerclusterer.min.js, stylised-dropdown.js | Not referenced |
component-cart-drawer.css, component-cart-items.css, component-cart-notification.css, component-mega-menu.css, component-menu-drawer.css, component-predictive-search.css, details-disclosure.js, predictive-search.js, search-form.js, jquery-3.7.1.min.map | Dawn files not referenced |
| Setting | Why |
|---|
| Theme setting Afterpay Logo | Not read |
| ASC Footer, Outer bottom text | Not rendered. Copyright Bar's setting is used |
| Camp Location, CTA Destination | The link is always Google Maps |
| Camp Finder, Search CTA Destination | Written to JavaScript only. The button links to /pages/get-started |
| ASC Header, Sign in label | The button uses translation strings |
| Variant metafield Sort Priority | Not used for ordering |
| Product metafield Sport Safety Information | The theme reads a variant key instead |
| Location metaobject date fields and Sort Priority | Not read |
| Page metafield Related Resource | Not read |
| Item | Status |
|---|
src/css/tw_out.css and the postcss, postcss:build scripts | Output not imported by anything |
src/webpack-css.config.js, watch:css script | Paths no longer resolve |
serve script | webpack-dev-server not installed |
participantDetailsSchema and validateInputs in src/components/CampBooking.tsx | Never called |
addToCart in src/components/utils.tsx | No callers |
src/components/ui/datepicker.tsx, src/components/ui/calendar.tsx | Not used |
window.AirDatepicker, window.AirDatepickerLocaleEn in src/js/custom.js | No consumer |
src/@types/zoho.ts | Only Club is used |
Root dependencies hono, maplibre-gl, swiper, html-webpack-plugin, init, npx, shadcn-ui, chokidar, concurrently, cross-env, ts-loader, ts-node, @webpack-cli/generators, @radix-ui/react-icons, and pdfjs-dist in src/package.json | No importer in this repository |
| Item | Status |
|---|
.shopifyignore, .shopify/metafields.json | From before the theme became a submodule |
components.json | Points at files that are not at the root |
TODO.md | Empty |
seo-urls.js | One-off |
.github/workflows/sync-live-changes.yml steps for dev-content and dev-seo | Branches do not exist, so each run fails after merging staging |
README.md development commands | Scripts no longer exist. See Local development |
These are places where code, settings or older documentation disagree with actual behaviour. They are recorded rather than fixed, because fixing them changes storefront behaviour.
| Discrepancy | Detail |
|---|
| Saved children lose some fields | See Booking form |
| Pass expiry is not enforced on the storefront | See Membership passes |
| Week number on some camp cards may be off by one | sections/camp-list.liquid and sections/booking-ctas.liquid use a 1-based loop index into the 0-based variant options. snippets/geojson-variant.liquid does it correctly |
booking-ctas.liquid reads product.options where product is not defined | Same cards |
Suburb filter needs In Season to be true | Every other check treats blank as in season |
Only the first 50 locations reach window.theme.locations on product pages | layout/theme.product.liquid does not paginate |
| Hotjar is not loaded on product pages | Present only in layout/theme.liquid |
| Mobile Camps by city links partner programs to their Landing Page | Desktop uses the menu item's link |
| Mobile Camps by city always shows the membership pass promotion | Ignores Show Membership Pass |
| Countdown Banner click toggles an element that does not exist | No visible effect |
| Third ASC - Webhooks setting is labelled "Brochure Download Webhook" | Its id is form_submission_webhook |
| FAQPage structured data is hard-coded | Does not follow FAQ entries |
documentation/SPORTS.md and documentation/PHYSICALPRODUCTS.md describe partner camp and product tags as separating products | partner camp does nothing. Zoho separation uses ecommerce-product |
documentation/NAVIGATION.md refers to "Main menu" | The header uses new-main-menu |
documentation/CAMPS.md says to swap camps by editing the order | Use the Camp Swap app |
documentation/TECHSTACK.md lists one Cloud Run service and develop and staging branches | There are two services, and no develop branch |
- Search both repositories for the file name or handle, including JSON templates and
config/settings_data.json.
- For a snippet, also search for
render calls that use a variable name.
- For a template, check Shopify Admin for assigned pages, products or collections.
- For an app file, check whether the app is still installed under Apps in Shopify Admin.
- Delete on a branch, preview it, and check the affected pages.