vinindkoeb/admin-ui
carsten d360e704df Tilføj permanent test-rute + rute-vælger i admin-UI'et
Opretter en ny, rigtig rute ("Fælles Vinindkøb (test)", id 9,
test.vinindkoeb.dk, afsender "Test - Fælles Vinindkøb"
<test@vinindkoeb.dk>) direkte i databasen, så brugeren kan teste hele
flowet — inkl. rigtig mail-udsendelse via Postal — uden at røre de
308 rigtige deltagere. Mere robust end de midlertidige isolerede
sandboxes brugt til verifikation indtil nu.

Med to ruter under samme organisation kan admin-UI'et ikke længere
antage "der er kun én rute": RouteContext.tsx (samme mønster som
AuthContext) henter ruterne én gang efter login og holder det valgte
rute-id (persisteret i localStorage). Layout.tsx får en rute-vælger i
navbaren (kun vist når der er mere end én rute). ParticipantsPage,
RoundsPage og TemplatesPage havde hver deres egen "GET /routes, brug
routes[0]"-logik — omskrevet til at læse fra useRoute() i stedet, så
de automatisk genindlæser når man skifter rute.

DNS-post og reverse proxy-indgang for test.vinindkoeb.dk skal
stadig sættes op manuelt uden for denne kodebase, samme mønster som
vinindkoeb.dk/admin.vinindkoeb.dk.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 03:11:28 +02:00
..
src Tilføj permanent test-rute + rute-vælger i admin-UI'et 2026-09-29 03:11:28 +02:00
.gitignore Opgave 11a: React admin-scaffold + domænebaseret hosting 2026-09-29 00:41:03 +02:00
.oxlintrc.json Opgave 11a: React admin-scaffold + domænebaseret hosting 2026-09-29 00:41:03 +02:00
index.html Opgave 11a: React admin-scaffold + domænebaseret hosting 2026-09-29 00:41:03 +02:00
package-lock.json Opgave 11b (del 1): frontend-infrastruktur + Deltagere-CRUD 2026-09-29 01:24:40 +02:00
package.json Opgave 11b (del 1): frontend-infrastruktur + Deltagere-CRUD 2026-09-29 01:24:40 +02:00
README.md Opgave 11a: React admin-scaffold + domænebaseret hosting 2026-09-29 00:41:03 +02:00
tsconfig.app.json Opgave 11a: React admin-scaffold + domænebaseret hosting 2026-09-29 00:41:03 +02:00
tsconfig.json Opgave 11a: React admin-scaffold + domænebaseret hosting 2026-09-29 00:41:03 +02:00
tsconfig.node.json Opgave 11a: React admin-scaffold + domænebaseret hosting 2026-09-29 00:41:03 +02:00
vite.config.ts Opgave 11a: React admin-scaffold + domænebaseret hosting 2026-09-29 00:41:03 +02:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the Oxlint configuration

If you are developing a production application, we recommend enabling type-aware lint rules by installing oxlint-tsgolint and editing .oxlintrc.json:

{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "plugins": ["react", "typescript", "oxc"],
  "options": {
    "typeAware": true
  },
  "rules": {
    "react/rules-of-hooks": "error",
    "react/only-export-components": ["warn", { "allowConstantExport": true }]
  }
}

See the Oxlint rules documentation for the full list of rules and categories.