mix skua.gen.pages (Skua v0.4.0)

Copy Markdown View Source

Generates editable starter pages and wires their routes:

mix skua.gen.pages

Creates:

  • <App>Web.SiteNav — a shared top nav (Overview · Components, plus auth-aware links: a signed-in user's email + Log out, or Register / Sign in). It's injected into Layouts.app, so every <Layouts.app>-wrapped page (auth pages, dashboard) gets it, and rendered directly by the homepage (which has no layout of its own).
  • <App>Web.HomeLive at / — a hero with the live Phoenix + Skua version badges and a showcase of real Skua components (cards, badges, form inputs, an alert, tabs, a table, and a list).
  • <App>Web.DashboardLive at /dashboard — an authenticated page with a left sidebar (Dashboard / Settings + Log out pinned to the bottom) and a content area of Skua stat cards.

Run mix skua.install first (so the Skua components are imported) and, for the auth-aware nav + the dashboard's auth gate, mix skua.gen.auth.

Routing

/ is pointed at HomeLive via Skua.Install.Patches.router/1. /dashboard is inserted into the :require_authenticated_user live_session that phx.gen.auth generates, so it sits behind login. If auth isn't installed (no such live_session), the dashboard route is added to the plain / scope instead and a notice is printed — it then renders for everyone until you add auth.

Idempotent: re-running overwrites the generated pages and leaves the routes + the Layouts.app nav injection in place.