Skip to content

feat: replace svelte frontend with react + tailwind scaffold - #375

Merged
Scr4tch587 merged 35 commits into
mainfrom
kai/react-frontend
Jul 28, 2026
Merged

feat: replace svelte frontend with react + tailwind scaffold#375
Scr4tch587 merged 35 commits into
mainfrom
kai/react-frontend

Conversation

@Scr4tch587

Copy link
Copy Markdown
Collaborator

What changed

  • removed the Svelte 5 app (components, svelte config, eslint/prettier svelte plugins, `bun.lockb`)
  • scaffolded React 19 + TypeScript + Vite in its place, still managed with bun (`bun.lock` text lockfile)
  • Tailwind CSS v4 (`@tailwindcss/vite`, CSS-first theme) + shadcn/ui (new-york style): generated `button input table dialog card form label sonner` into `src/components/ui/`
  • ported the existing dark design tokens (`--background #0f1117`, `--primary #6c8cff`, etc.) into `src/index.css` as shadcn CSS variables — dark-only, no theme toggle, plus the `.json-*` highlight token colors for the upcoming JSON viewer
  • `vite.config.ts`: keeps the `/api → localhost:3000` dev proxy; sets `base: "/datastream/"` in production builds for GitHub Pages
  • vite now runs under the bun runtime (`bunx --bun vite`) so the installer and JS runtime always agree on native-binding architecture (fixes rollup/esbuild binding mismatches when the local node is a different arch than bun)
  • eslint flat config (typescript-eslint + react-hooks + react-refresh); prettier with the tailwind class-sorting plugin
  • minimal `App.tsx`: header shell only — API client, auth, and browsing UI land in the next PRs of this stack

Why

The frontend is being rebuilt in React for deployment to GitHub Pages, with a create-dataset UI planned later. This PR is the mechanical stack swap, kept separate so the feature PRs on top are reviewable.

Benefit

`package.json` keeps the exact same script names (`format:check`/`lint`/`typecheck`/`build`), so `.pre-commit-config.yaml` and `frontend-ci.yml` need zero changes — all existing hooks and CI pass unchanged.

🤖 Generated with Claude Code

Scr4tch587 and others added 2 commits July 7, 2026 22:22
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Scr4tch587 and others added 11 commits July 27, 2026 22:06
docs: document dataset proposal flow in specs
…ordances

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
feat: api client support for dataset proposals
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
feat: dataset proposal service and endpoint
feat: github rest client for dataset proposals
docs: update specs for react migration
feat: typed api client and api key handling
@Scr4tch587
Scr4tch587 merged commit 3f72938 into main Jul 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants