Skip to content

Add pre-built page templates to speed up project setup #21

Description

@tomny-fleet

Goal

Provide pre-built page templates so developers can spin up new apps faster instead of composing everything from scratch with Radix primitives.

These templates use uzi primitives (Input, Button, Card, etc.) with the right composition, styling, and structure baked in — consistent with uzi’ existing scaffolding like AppShell and TopBar.


Template List

1. Auth Pages

Pages every authenticated app needs. Reusable, composable, consistent with uzi design tokens.

  • AuthCard — Shared card layout wrapper (centered, branded header, form area, divider, footer link)
  • Signin page — Email + password inputs, submit button, "forgot password" link, "no account? sign up" link
  • Signup page — Email + password + confirm password, submit, "already have an account? sign in" link
  • Forgot password page — Email input, submit, "back to sign in" link

Each page is a composition of Card, Input, Label, Button, and Checkbox. No auth logic — just the visual template and form wiring.


2. Data Table

The most tedious thing to build from scratch. A DataTable component with built-in table header, body, pagination, and standard column definition interface.

  • Sortable columns
  • Pagination controls
  • Row actions (edit, delete)
  • Loading state
  • Empty state
  • Selectable rows

3. Settings Page

Extremely common after auth. Grouped form sections with a predictable pattern.

  • Section headings with descriptions
  • Form groups (input fields, toggles, selects)
  • Primary/danger action split ("Save changes" / "Delete")
  • Danger zone section with visual distinction (red border/background)
  • Sticky save/cancel footer

4. Empty State Page

Every list page needs one. A Card with icon, title, description, and action button.

  • Placeholder icon (SVG)
  • Title and description text
  • Action button (e.g., "Create first item")
  • Variants for different empty states (no data, no connection, no permissions)

5. 404 / Error Page

Standard layout with a big code, explanatory text, and a "go back" or "go home" button.

  • ErrorPage — Generic error page component with configurable status code, message, and action
  • NotFoundPage — Specific 404 variant
  • MaintenancePage — Site down / under maintenance variant

Scope

These are visual templates only — no auth logic, no API calls, no state management. They use native HTML form elements where appropriate and uzi primitives for styling and tokens. Each template should be immediately usable as a starting point that developers customize with their own logic.

Relationship to Radix

Radix gives you accessible primitives. uzi gives you primitives plus layout scaffolding (AppShell, TopBar, SidebarNav). These templates extend that philosophy by providing page-level composition — saving the boilerplate of wiring primitives together into common page patterns.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions