Skip to content

Feature - Add full-page templates collection#736

Open
markmead wants to merge 17 commits into
mainfrom
feature/templates-collection
Open

Feature - Add full-page templates collection#736
markmead wants to merge 17 commits into
mainfrom
feature/templates-collection

Conversation

@markmead

@markmead markmead commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds a new templates content collection alongside application/marketing/neobrutalism, with its own listing/detail routes and site nav/search wiring
  • Ships two full-page templates composed from existing HyperUI components: an analytics dashboard (sidebar, topbar, stat cards, orders table) and a SaaS landing page (header, hero, stats, features, pricing, newsletter, footer)
  • Adds a "Components used" list on template pages, linking each part of the page back to the real HyperUI component it's built from

Test plan

  • astro check — no new type errors (pre-existing TypographyMapper.astro errors unrelated to this change)
  • astro build — all 87 pages build, including both new template pages
  • Verified rendered "Components used" list resolves correct titles/links for both templates

markmead and others added 7 commits July 5, 2026 10:15
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 5, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
hyperui e3719e8 Commit Preview URL

Branch Preview URL
Jul 08 2026, 08:10 PM

markmead and others added 4 commits July 5, 2026 10:36
Previously each entry linked to the whole category page and showed its
title, not the specific variant a template actually copied from.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The SaaS landing page footer was double-counted: its newsletter form
is part of the "Large with newsletter form" footer variant itself, not
a separate newsletter-signup component.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…ed section

Adds Customers, Orders, Billing, and Settings pages to the analytics
dashboard template as separate static pages sharing the same sidebar
shell, and drops the Components used section since only templates used it.
@markmead markmead marked this pull request as draft July 8, 2026 08:43
@markmead markmead marked this pull request as ready for review July 8, 2026 08:46
markmead and others added 6 commits July 8, 2026 09:57
Enhances analytics dashboard templates by adding client-side search and status filtering for customers (template 2) and orders (template 3). Rows are now tagged with data attributes, filters update visibility in real time, and each table shows an empty-state row when nothing matches. The compiled `public/component.css` was regenerated to include the new utility classes used by these controls.
Introduces a reusable `TemplateDisclaimer` component and surfaces it on the templates index plus the analytics dashboard and SaaS landing template pages. Updates template descriptions to clearly position them as starting points rather than production-ready builds, and refreshes minor analytics dashboard example details (sidebar class ordering and card sample data).
Add commit/date metadata for `application/charts`, `templates/analytics-dashboard`, and `templates/saas-landing-page` in `src/data/git-metadata.json` so these pages show accurate last-updated information.
Remove the toggle button’s `md:hidden` class so it remains visible anywhere the wrapper is shown (`< lg`), and add `shrink-0` to the wrapper to prevent it from collapsing in flex layouts.
Update the template collection frontmatter for analytics-dashboard and saas-landing-page to use `wrapper: h-[800px]` in both files, making their preview container heights consistent.
…sues

Nav and sidebar toggle checkboxes were display:none, taking them out of
the tab order so keyboard-only users couldn't open mobile nav or the
dashboard sidebar at all. Switched them to sr-only (matching the
pattern already used by the settings toggles) and added
aria-expanded/aria-controls plus a focus-visible ring on the trigger.

Also fixes a semantic-HTML issue (destructive "Delete team" action was
an <a>, now a <button>), and a reversed currency format ("30$" instead
of "$30") that was present in the templates and in the existing
marketing/pricing components.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new templates content collection to the HyperUI Astro site, wiring it into navigation and search, and introducing full-page template examples (plus a new application/charts component set) backed by new public/examples HTML.

Changes:

  • Introduce templates collection with listing + detail routes and SEO constants.
  • Add new template + charts MDX entries and corresponding example HTML pages (including Chart.js-powered examples).
  • Wire templates into site nav/search and update supporting types/metadata generation.

Reviewed changes

Copilot reviewed 49 out of 51 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/pages/components/templates/index.astro New templates listing page (collection index).
src/pages/components/templates/[...slug].astro New templates detail route with static paths.
src/layouts/ComponentPost.astro Allow templates entries to use the shared component post layout.
src/data/git-metadata.json Add generated metadata entries for new slugs.
src/content/collection/templates/saas-landing-page.mdx New templates collection entry (SaaS landing page).
src/content/collection/templates/analytics-dashboard.mdx New templates collection entry (analytics dashboard).
src/content/collection/application/charts.mdx New application component entry for charts.
src/content.config.ts Register templates as a new content collection.
src/constants/seo.js Add SEO title/description constants for templates.
src/components/TemplateDisclaimer.astro New disclaimer component for templates pages.
src/components/SiteHeader.astro Add Templates link to primary navigation.
src/components/SearchWrapper.astro Include templates collection results in search.
src/components/RelatedComponents.astro Extend supported categories to include templates.
src/components/DropdownWrapper.astro Adjust mobile dropdown wrapper layout behavior.
src/components/DropdownToggle.astro Adjust dropdown toggle visibility classes.
src/components/DropdownMenu.astro Add Templates link to dropdown menu.
src/components/ComponentCard.astro Extend supported entry types to include templates.
scripts/generate-git-metadata.js Include templates in git-metadata generation.
public/examples/templates/saas-landing-page/1.html Add SaaS landing page full-page template example.
public/examples/templates/analytics-dashboard/1.html Add analytics dashboard template example (overview).
public/examples/templates/analytics-dashboard/2.html Add analytics dashboard template example (customers).
public/examples/templates/analytics-dashboard/3.html Add analytics dashboard template example (orders).
public/examples/templates/analytics-dashboard/4.html Add analytics dashboard template example (billing).
public/examples/templates/analytics-dashboard/5.html Add analytics dashboard template example (settings).
public/examples/marketing/pricing/1.html Fix price formatting in marketing pricing example.
public/examples/marketing/pricing/2.html Fix price formatting in marketing pricing example.
public/examples/application/charts/1.html Add charts example (line chart with range toggle + table).
public/examples/application/charts/1-dark.html Add dark variant for charts example (1).
public/examples/application/charts/2.html Add charts example (weekly orders bar).
public/examples/application/charts/2-dark.html Add dark variant for charts example (2).
public/examples/application/charts/3.html Add charts example (orders status donut).
public/examples/application/charts/3-dark.html Add dark variant for charts example (3).
public/examples/application/charts/4.html Add charts example (revenue sparkline stat card).
public/examples/application/charts/4-dark.html Add dark variant for charts example (4).
public/examples/application/charts/5.html Add charts example (stacked bar by channel).
public/examples/application/charts/5-dark.html Add dark variant for charts example (5).
public/examples/application/charts/6.html Add charts example (combo revenue vs target).
public/examples/application/charts/6-dark.html Add dark variant for charts example (6).
public/examples/application/charts/7.html Add charts example (this year vs last year).
public/examples/application/charts/7-dark.html Add dark variant for charts example (7).
public/examples/application/charts/8.html Add charts example (radar chart).
public/examples/application/charts/8-dark.html Add dark variant for charts example (8).
public/examples/application/charts/9.html Add charts example (polar area chart).
public/examples/application/charts/9-dark.html Add dark variant for charts example (9).
public/examples/application/charts/10.html Add charts example (scatter plot).
public/examples/application/charts/10-dark.html Add dark variant for charts example (10).
public/examples/application/charts/11.html Add charts example (bubble chart).
public/examples/application/charts/11-dark.html Add dark variant for charts example (11).
package.json Add chart.js dependency.
pnpm-lock.yaml Lockfile updates for chart.js addition.
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

<TriangleAlert class="mt-0.5 size-6 shrink-0 text-gray-500" />

<div>
<h2 class="text-xl font-medium">Staring point — not a finished product</h2>
Comment thread package.json
Comment on lines 20 to 24
"@astrojs/sitemap": "3.7.3",
"@lucide/astro": "^1.21.0",
"astro": "7.0.3",
"chart.js": "^4.5.1",
"wrangler": "^4.105.0"
Comment on lines +21 to +23
<ComponentPost {...collection.data}>
<Content components={{ a: ExternalLink }} />
</ComponentPost>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants