import { html, LitElement } from "lit"; import { customElement, state } from "lit/decorators.js"; import "./router"; import { Routes } from "@supersoniks/concorde/core/utils/route"; import { tailwind } from "../../../../docs/tailwind"; const defaultRoute = { user: "#user/:id/:slug", }; export type AppRoutes = typeof defaultRoute; Routes.register(defaultRoute); @customElement("sonic-router-demo") export class RouterDemo extends LitElement { static styles = [tailwind]; @state() private routes = { "#home": () => html`

Accueil

Bienvenue sur la démo du router

`, [defaultRoute.user]: ({ slug, id }: { id: string; slug: string }) => html`

Profil Utilisateur ${id}

Slug: ${slug}

`, "#products/(\\d+)/(\\w+)": ([id, slug]: [string, string]) => html`

Produit ${id}

Slug: ${slug}

`, fallback: () => html`

404

Page non trouvée

`, }; render() { return html`

Démo du router

Accueil Utilisateur 123 Produit 456 404
`; } }