Files
SlpSoftware/README.md
T
SluijsensandClaude Sonnet 5 afa500eee6
Continuous Integration / config (pull_request) Successful in 10s
Continuous Integration / prepare (pull_request) Successful in 1m23s
Continuous Integration / build-production (pull_request) Skipped
Continuous Integration / build (pull_request) Successful in 2m1s
Continuous Integration / test (pull_request) Successful in 1m57s
Continuous Integration / deploy-production (pull_request) Skipped
Deploy / deploy (pull_request) Successful in 36s
Continuous Integration / deploy-test (pull_request) Successful in 36s
Gebruik pnpm i.p.v. npm in README
Het project gebruikt pnpm (pnpm-lock.yaml, CI draait pnpm install
--frozen-lockfile), maar de README-instructies en scripts-tabel
verwezen nog naar npm.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 16:09:10 +02:00

2.8 KiB

SLP Software — React Frontend

React frontend for the SLP Software marketing site. Ported 1-to-1 from the static reference designs in References/ (slp-software.html = purple accent, slp-software-rood.html = red accent), with an added visible theme switcher (red default, purple selectable).

Tech Stack

Getting Started

pnpm install
pnpm dev

The app runs at http://localhost:5173/ by default.

Available Scripts

Script Description
pnpm dev Start the Vite dev server
pnpm build Type-check and build a production bundle to dist/
pnpm preview Preview the production build locally
pnpm test Run the test suite once (Vitest)
pnpm test:watch Run the test suite in watch mode
pnpm lint Run ESLint
pnpm format Format the codebase with Prettier

Project Structure

src/
  components/       Presentational React components (Nav, Hero, PackagesSection, ...)
  data/             Static site content (content.ts) — current source of truth for copy/data
  hooks/            usePackagesQuery — placeholder TanStack Query hook
  routes/           TanStack Router route definitions (__root.tsx, index.tsx)
  theme/            Theme system (ThemeProvider, theme tokens)
  test/             Test setup (Vitest + Testing Library)
  fonts.ts          Self-hosted font imports (@fontsource)
  index.css         Global styles + red/purple theme CSS variables
  main.tsx          Application entry point
  router.tsx        Router instance (hash history)
  queryClient.ts    Shared TanStack Query client

Theming

The site defaults to the red theme; visitors can switch to purple via the toggle button in the navigation bar. The chosen theme is persisted in localStorage and restored on future visits. See aidlc-docs/features/react-frontend/construction/react-frontend-app/functional-design/business-rules.md for the full theme business rules.

Deployment Notes

This app builds to a plain static bundle (pnpm builddist/), intended for upload to a traditional web host via FTP. TanStack Router uses hash-based history (/#/route) so that client-side routing keeps working even on hosts without server-side rewrite rules configured. See the feature's NFR Requirements/Design documentation under aidlc-docs/features/react-frontend/ for the rationale.