--- name: frontend-routes description: >- Guide and reference for constructing valid client-side frontend routes in Dashfront. Use this skill whenever an agent needs to navigate the user to specific pages, entities, or views. --- # Dashfront Frontend Routes Reference guide for the backend LLM agent when emitting route navigation actions (e.g. redirecting or deep-linking the user). --- ## 1. Quick Route Construction Matrix | Destination | Path Pattern | Parameters / Construction | Example | |:---|:---|:---|:---| | **Article Search / Index** | `/artikel` | Query params: `?target={query}&filter={filter}&offset={n}` | `/artikel?target=kabel` | | **Article Detail** | `/artikel/:sku` | Encode SKU: `/artikel/${encodeURIComponent(sku)}` | `/artikel/ART-10042` | | **Warehouse / Stock** | `/artikel/lager` | Static | `/artikel/lager` | | **Brands** | `/artikel/marken` | Static | `/artikel/marken` | | **Label Templates** | `/artikel/vorlagen` | Static | `/artikel/vorlagen` | | **Attributes & Features** | `/artikel/merkmale` | Static | `/artikel/merkmale` | | **Category Tree Root** | `/kategorien` | Static | `/kategorien` | | **Category Subtree** | `/kategorien/*` | Join encoded slugs: `/kategorien/${slug1}/${slug2}` | `/kategorien/elektronik/kabel` | | **Delivery List** | `/lieferung` | Static | `/lieferung` | | **New Delivery Draft** | `/lieferung/neu` | Static (receipt & draft line editor) | `/lieferung/neu` | | **Delivery Detail** | `/lieferung/:deliveryId` | Delivery document ID: `/lieferung/${deliveryId}` | `/lieferung/42` | | **Suppliers Directory** | `/lieferung/lieferanten` | Static | `/lieferung/lieferanten` | | **Quote List (Angebote)** | `/auftrag` | Static | `/auftrag` | | **New Quote** | `/auftrag/neuesangebot` | Static draft form (Neues Angebot) | `/auftrag/neuesangebot` | | **Quote Detail** | `/auftrag/:quoteId` | Quote document ID: `/auftrag/${quoteId}` | `/auftrag/1001` | | **Order List (Bestellungen)**| `/auftrag/bestellung` | Static | `/auftrag/bestellung` | | **New Order** | `/auftrag/bestellung/neu` | Static draft form | `/auftrag/bestellung/neu` | | **Order Detail** | `/auftrag/bestellung/:orderId` | Order document ID: `/auftrag/bestellung/${orderId}` | `/auftrag/bestellung/2005` | | **Shipments (Ausliefern)** | `/auftrag/ausliefern` | Static (shipment manifests & parcels) | `/auftrag/ausliefern` | | **Payments (Zahlungen)** | `/auftrag/zahlungen` | Static (order payments ledger) | `/auftrag/zahlungen` | | **Customer List** | `/kunde` | Static | `/kunde` | | **New Customer** | `/kunde/neu` | Static form | `/kunde/neu` | | **Customer Detail** | `/kunde/:entityId` | Customer entity ID: `/kunde/${entityId}` | `/kunde/312` | | **Customer Groups** | `/kunde/gruppen` | Static (pricing & customer tiers) | `/kunde/gruppen` | | **Article History** | `/infos` or `/infos/articlehistory` | Static | `/infos/articlehistory` | | **Global History** | `/infos/globalhistory` | Static audit log | `/infos/globalhistory` | | **Statistics** | `/infos/statistics` | Static KPIs & charts | `/infos/statistics` | --- ## 2. Parameter Details & Rules ### Articles (`/artikel`) - **SKU detail**: Always use `encodeURIComponent(sku)` if the SKU contains slashes, spaces, or special characters. - Path: `/artikel/${encodeURIComponent(sku)}` - Example: SKU `A/123` becomes `/artikel/A%2F123` - **Search Query**: - `target`: Search text (min 3 chars to activate search index). - `filter`: Category or facet filter. - `offset`: Pagination offset (integer). - Example: `/artikel?target=schrauben&offset=20` ### Categories (`/kategorien`) - The route uses hierarchical URL slugs, **not** numeric category IDs. - Format: `/kategorien/{parentSlug}/{childSlug}` - Note: Legacy `/artikel/kategorien/*` is automatically redirected to `/kategorien/*`. ### Inbound Deliveries (`/lieferung`) - `:deliveryId`: ID of the delivery document (manifest). - To start a new incoming goods intake or receipt reconciliation, route to `/lieferung/neu`. ### Quotes & Orders (`/auftrag`) - Distinction: - Quotes (Angebote) live at `/auftrag` and `/auftrag/:quoteId`. - Orders (Bestellungen) live at `/auftrag/bestellung` and `/auftrag/bestellung/:orderId`. - Shipments (Ausliefern) live at `/auftrag/ausliefern` (connected to shipment manifests and packages). - Payments (Zahlungen) live at `/auftrag/zahlungen` (payment bookings and payment balances). - Both IDs (`quoteId`, `orderId`) are document IDs. ### Customers (`/kunde`) - `:entityId`: Numeric ID of the entity/customer record (e.g. `entity.id`). - Opens contact addresses, communications, and customer data tiles.