velxio/frontend/src/components/editor
David Montero b5a80a65b9 feat(editor): add BOM-export button + handleExportBom flow
Phase 3 D3.1 — front-end half of the BOM export. The toolbar gains a
new spreadsheet-icon button next to the existing project-export button.
On click:

  1. POST is NOT used — the backend endpoint is GET-based and streams a
     CSV. We just open the URL.
  2. 402 (Pro-required) routes the user to /pricing?from=bom_export
     so the page can show the right upgrade narrative.
  3. 401 routes to /login with redirect-back.
  4. 200 triggers a Blob download with Content-Disposition filename.

i18n key editor.toolbar.exportBom added in en/es/pt-br/zh-cn — the
" — Pro" suffix on the tooltip hints at the gating without forcing the
user to discover it only on click.

The button is shown to everyone, not hidden by plan. Free/Maker users
clicking it gets the 402 route to /pricing, which is intentional — that
is the upgrade-discovery funnel we want, not a silent locked icon.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 03:12:52 +02:00
..
CodeEditor.tsx feat(editor): Monaco syntax highlight for 8080/Z80 assembly 2026-05-19 00:49:51 -03:00
CompilationConsole.tsx feat(compile): expose compile logs via Zustand store + UI slot 2026-05-14 16:44:05 +02:00
EditorToolbar.css feat(editor): enhance toolbar layout with center slot for file tabs and improve responsiveness 2026-04-28 23:23:20 -03:00
EditorToolbar.tsx feat(editor): add BOM-export button + handleExportBom flow 2026-05-29 03:12:52 +02:00
FileExplorer.css
FileExplorer.tsx feat(import): unify project import — accept .vlx and .zip in both entry points 2026-05-22 20:55:06 +02:00
FileTabs.css refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00
FileTabs.tsx feat(editor): translate FileExplorer + FileTabs to 9 locales (Editor block 2) 2026-05-09 03:08:51 -03:00
retroAsmLanguage.ts feat(editor): Monaco syntax highlight for 8080/Z80 assembly 2026-05-19 00:49:51 -03:00