feat: production React SPA, file attachments, and UI improvements #24

Merged
forbes merged 1 commits from issue-16-remove-max-width into main 2026-02-08 19:47:01 +00:00
Owner

Summary

This PR replaces the htmx/Go-template frontend with the React SPA as the primary UI served at root (/), adds file attachment backend support, and removes the max-width constraint on the main content area.

Commits

1. feat: production release with React SPA, file attachments, and deploy tooling

Backend:

  • New handlers: file_handlers.go (presigned uploads, item file association, thumbnails), bom_handlers.go (flat BOM, cost roll-up)
  • New DB layer: item_files.go, relationships.go
  • New storage helpers in storage.go
  • Migration 011_item_files.sql
  • Auth handler updates in auth_handlers.go

Frontend:

  • React SPA now serves at / instead of /app/*
  • Removed old htmx templates (items, projects, schemas, audit, settings, login — ~7,000 lines)
  • Removed web.go handler
  • Expanded pages: ProjectsPage, SchemasPage, SettingsPage, LoginPage
  • New component: TagInput
  • New API types and SVG assets

Deploy:

  • Overhauled scripts/deploy.sh
  • Updated systemd service and Docker Compose configs

2. feat(web): remove max-width constraint and reduce main padding

Resolves #16 — removes the 720px max-width on the main content wrapper so the UI fills the viewport.

3. docs: add workflow integration mention to overview

Adds "and workflow" to the SPECIFICATION.md overview sentence describing client integrations.

Issues Addressed

  • Closes #16 (remove max-width constraint)
  • Partially addresses #8 (file attachments — backend support added)
  • Partially addresses #17 (spec now mentions workflow integration)
## Summary This PR replaces the htmx/Go-template frontend with the React SPA as the primary UI served at root (/), adds file attachment backend support, and removes the max-width constraint on the main content area. ## Commits ### 1. `feat: production release with React SPA, file attachments, and deploy tooling` **Backend:** - New handlers: `file_handlers.go` (presigned uploads, item file association, thumbnails), `bom_handlers.go` (flat BOM, cost roll-up) - New DB layer: `item_files.go`, `relationships.go` - New storage helpers in `storage.go` - Migration `011_item_files.sql` - Auth handler updates in `auth_handlers.go` **Frontend:** - React SPA now serves at `/` instead of `/app/*` - Removed old htmx templates (items, projects, schemas, audit, settings, login — ~7,000 lines) - Removed `web.go` handler - Expanded pages: ProjectsPage, SchemasPage, SettingsPage, LoginPage - New component: TagInput - New API types and SVG assets **Deploy:** - Overhauled `scripts/deploy.sh` - Updated systemd service and Docker Compose configs ### 2. `feat(web): remove max-width constraint and reduce main padding` Resolves #16 — removes the 720px max-width on the main content wrapper so the UI fills the viewport. ### 3. `docs: add workflow integration mention to overview` Adds "and workflow" to the SPECIFICATION.md overview sentence describing client integrations. ## Issues Addressed - Closes #16 (remove max-width constraint) - Partially addresses #8 (file attachments — backend support added) - Partially addresses #17 (spec now mentions workflow integration)
forbes added 1 commit 2026-02-08 19:46:12 +00:00
forbes merged commit d504de84a7 into main 2026-02-08 19:47:01 +00:00
forbes deleted branch issue-16-remove-max-width 2026-02-08 19:49:20 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/silo#24