Appearance
Changelog
2026-07-28 — Card grids detached from collections
Icon Card Grid and Photo Card Grid were treated as home-page slices that had to pull from [Services] and [Industries]. They are now reusable presentation slices — the component is no longer tied to a specific collection, so the same slice can summarise services, capabilities, benefits, industries, locations, projects, etc.
Schema change on each slice (applies to both):
uses:frontmatter entry removed (no atomic collection dependency).Cardsswitched from a[Services]/[Industries]reference object to inline card fields: Icon or Photo + Title + (optional, on Photo) Body. Editors enter card content directly on the slice.- Bounds held at their previous values (
Icon Card Grid: min 1, max 9;Photo Card Grid: min 1, max unset) with a<!-- TODO: confirm max -->on each page — both were previously content-driven (Services × 9, Industries × 6) rather than design-driven, so re-confirmation is required now that the slices are decoupled. - A per-card CTA was not added on either slice — the home-page screenshots do not show one, and a TODO on each page flags it for client confirmation if reuse pressure (e.g. location grids) makes a per-card CTA desirable.
The [Services] and [Industries] collections remain unchanged — they are still referenced by the Navigation Bar dropdowns and any future overview pages may pull from them. Nothing on the home page is forced to consume them.
Resolved Decisions are recorded in decisions.md (Q34). All components remain status: draft — this is a schema change, so the affected pages re-enter review.
2026-07-28 — Renamed card grids
The component titles Icon Card Grid (Services) and Photo Card Grid (Industries) are now just Icon Card Grid and Photo Card Grid. The parentheticals were redundant — both slices already declare their bound collection in frontmatter (uses: and the per-item to: reference), so the reader can see the data source without it being in the title. The sidebar labels are updated in lockstep.
2026-07-28 — Sidebar status pill → dot
The inline status chip beside every sidebar entry (Draft / Reviewed / Approved / Deprecated) was a tinted pill with uppercase text. It is now a small 8px coloured dot — the saturated accent from the old pill's border, kept as the dot fill so the colour map is unchanged. The status label is preserved as the dot's title attribute, so hovering still shows the state. Visual change only; on-page StatusBadge.vue and docs/.vitepress/sidebar.mts data flow are unchanged.
2026-07-28 — Status indicators applied
- Page-level
StatusBadge.vuereworked into a prominent banner (coloured dot + DRAFT / Reviewed / Approved / Deprecated label + plain-English detail). The old pill was easy to miss on a long page; the new banner sits at the top of every page whose frontmatter hasstatus:. - Sidebar entries now carry an inline
Draft/Reviewed/Approved/Deprecatedchip next to every linked component. Status is read from each page's frontmatter at build time bydocs/.vitepress/sidebar.mtsso the sidebar, the on-page banner, andnpm run check:statusall agree.
2026-07-28 — Review pass applied
A six-round scope review (Q10–Q33) was completed and the resolved decisions are applied to the docs site. Decisions are recorded in decisions.md; the highlights below are the client-visible changes.
Atomic + globals
- CTA Button (
docs/atomic/cta-button.md): trailing arrow is now a fixed decoration (not derived from the optionalIcon). The 8 variant screenshots cover the full set of visual states. - Global Settings (
docs/globals/global-settings.md):[Hero Accent Colour]and[Default Eyebrow Colour]are dropped — both are theme-fixed (brand blue / brand red respectively).[CTA Blue]and[CTA Red]are added so the CTA Button resolves its hex value from one place. - Every titled slice had its prose updated to remove the deleted globals; no field reconfiguration needed.
Collections (5 in total, +1 new)
- Services (
docs/collections/services.md): canonical 9 confirmed;Bodyis the single Icon Card Grid paragraph (dropdown stays title-only). - Industries (
docs/collections/industries.md): canonical 6 confirmed;navLabelremains optional;Bodyrenders inside the mobile expanded card and on desktop hover. - Locations (
docs/collections/locations.md): each entry is now a routable landing page at/locations/[slug](Areas dropdown links to it). Schema stays at{Name}only until the page-template design arrives. - Testimonials (
docs/collections/testimonials.md): no schema change —Role & Companystays as a single combined string per Q23. - Team Members (
docs/collections/team-members.md): new collection with placeholder{Photo, Name, Role}. Introduced because the Feature Block side image is now a reference, not inline.
Slices (page assemblies)
- Hero Block:
[Hero Accent Colour]reference removed; title-line-2 colour is now theme-fixed. CTA Section max = 2 confirmed. - Feature Block (
docs/components/home/feature-block.md): side image is now a[Team Members]reference, not inline. - Icon Card Grid (Services) (
docs/components/home/icon-card-grid.md): cards converted from an inline array to a[Services]reference array, bound 1 to 9. - Photo Card Grid (Industries) (
docs/components/home/photo-card-grid.md): cards converted from an inline array to an[Industries]reference array, bound exactly 6. - Stats Band (
docs/components/home/stats-band.md): one sharedIconfor all 4 trust claims. Per-claimIconremoved. - FAQ Block: bound stays loose (min 1, max ?); FAQ stays inline (not a collection).
- Testimonials Block: bound stays loose; reference-only (no inline one-offs).
- CTA Banner (
docs/components/home/cta-banner.md): page group widened fromhometo[home, locations]. Slice is reused on each Location landing page. - Navigation Bar (
docs/components/home/navigation-bar.md): primary nav bound capped at 4; trailing contact bar (Sales / Support phones) confirmed mobile-only. - Footer (
docs/components/home/footer.md): columns stay inline for now; Service / Resources / Company column reference-conversion is held until the corresponding collections exist.
Still held awaiting designs
- Locations page-template fields (Q14 placeholder)
- Team Members full schema (Q30 placeholder)
- CTA Banner exact page list (Q31 placeholder)
- Service overview / Industry overview pages — not currently routable
All components remain status: draft — this pass settled open scope decisions and tightened schema but every page is still awaiting PM/Client review. Run npm run check:status to list outstanding drafts.
2026-07-28 — Initial draft
- Drafted 11 components from
initial/homepage/. - Extracted CTA Button as a site-wide atomic component; 8 button variants (blue/red × primary/secondary × default/hover) are listed on its page.
- Established 4 top-level collections: Services, Industries, Locations, Testimonials, referenced by Icon Card Grid, Photo Card Grid, Navigation Bar and Testimonials Block respectively.
- Built the Global Settings page covering Logo, Tagline, Sales Phone, Support Phone, Office Addresses (exactly 2 — both TotalCare IT offices), Contact Email, Privacy URL, Terms URL, Copyright Text, Default Eyebrow Colour, Hero Accent Colour.
- Renamed docs page group
homepage→homeper Q6. - Mobile Services dropdown is canonical (Q7) — desktop design needs updating to match.
- All components are
status: draftuntil PM review. Runnpm run check:statusto list outstanding drafts.
Open scope questions worth flagging before review
- Confirm canonical list of 9 Services and which fields the Icon Card Grid's long Body copy pulls from.
- Decide whether Industries
navLabel(shorter dropdown label) is exposed or whether the dropdown truncatesTitle. - Decide whether
Bodyon Photo Card Grid industry cards is desktop-visible too or mobile-only. - Decide whether the right-side arrow on every CTA Button variant is a fixed decoration or always derived from the optional Icon field.
- Decide whether blue/red on CTA Button are workspace-variable colours or per-instance colour pickers (currently exposed as a select).
- Decide whether the three Footer column arrays (Services / Resources / Company) pull from collections or stay entered inline.
- Confirm Sales / Support phone render in the mobile nav contact bar as outlined CTA Buttons (the schema exposes them as global strings, the renderer styles them).
- Confirm whether FAQs become a top-level collection or stay inline on FAQ Block.
- Confirm max CTA count on Hero Block — design shows exactly 2.
- Confirm Feature Items is truly fixed at exactly 3.
- Confirm Stats Band claim icons are locked or per-claim customisable.
- Confirm Hero title accent colour is theme-fixed or per-instance ([Hero Accent Colour] global).
Loading comments…