Skip to content

Rebuild dashboard with design system - #209

Open
clbotdev wants to merge 3 commits into
mainfrom
use-design-system
Open

clbotdev wants to merge 3 commits into
mainfrom
use-design-system

Conversation

@clbotdev

@clbotdev clbotdev commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Rebuild the web dashboard shell and screens with @codelitdev/design-system.
  • Align the sidebar, app switcher, account menu, dialogs, notifications, and full-bleed Connect panes with the product references.
  • Provide MCP, CLI, and SDK/REST connection guidance, including host-aware CLI endpoint instructions.

Validation

  • bun run lint
  • bun run prettier
  • bun run test
  • bun --filter @medialit/api build
  • bun --filter @medialit/web build
  • bun run test:integration:stack (REST, MCP, and CLI suites passed locally using the shared Mailpit)

Comment thread apps/web/app/app/[keyid]/files/media-library.tsx Fixed
Comment thread apps/web/components/ui/sidebar.tsx Fixed
@clbotdev
clbotdev marked this pull request as ready for review October 11, 2026 08:17
rajat1saxena and others added 2 commits October 11, 2026 13:50
The web app now goes through session routes on the API for everything
it does with files. The app's API key no longer leaves the API.

API
- Add session routes for uploads: POST /api/apps/:keyId/media/signature
  and POST /api/apps/:keyId/media/:mediaId/seal. They share the
  signature and seal logic with the public routes.
- Add single and bulk delete. Bulk delete looks files up in one query,
  removes up to 10 at a time, and reports deleted and failed counts.
- Add GET /api/apps/:keyId/summary and an "others" count per app.
- Classify file kinds with one rule (media/kind.ts) and its SQL twin,
  so counts, filters and storage totals agree whatever the MIME type's
  case. Dashboard media responses now include `kind`.
- Validate page (whole number from 1) and limit (1 to 100), and cap
  search at 200 characters.
- Resolve the session once per request and rate-limit dashboard
  routes per user.
- Test the dashboard routes against PGlite: sessions, ownership,
  summaries, filters, paging, signatures, sealing and bulk delete.

Web
- Upload with @medialit/uploader (resumable tus), then seal. Remove
  the web routes for upload, seal, delete and get-media; the browser
  calls the API through the /api proxy.
- Rework the file preview dialog: real file preview, access details,
  and "Copy temporary link" for private files.
- Add bulk select and delete with confirmation, a table view, and a
  sort menu.
- Take file counts and kinds from the API, and show --endpoint in CLI
  instructions unless the API is the CLI's default endpoint.
- Drop session checks in server actions that the API already makes,
  and remove a leftover debug log.
- Align buttons, the account menu, loaders and file cards with the
  design system, and keep card metadata on one line.

This branch has not been deployed

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

3 participants