Files
dashfront/.agents/skills/frontend-routes/SKILL.md
2026-10-13 22:05:30 +02:00

82 lines
4.5 KiB
Markdown

---
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.