velxio/frontend/src
David Montero 737ec5c6eb feat(import): unify project import — accept .vlx and .zip in both entry points
Velxio had two parallel import paths that confused users (reported on
Discord by AgUn / dmontero):

  * Toolbar "Import a project from a .zip file" → Wokwi .zip only
  * File-explorer "Open .vlx file"               → Velxio .vlx only

If you exported a Velxio project as .vlx and tried to bring it back via
the toolbar Import button, you bounced off "wrong format" with no hint
that the .vlx loader was hiding behind the file-explorer save-bar.

Fix: introduce `utils/importProject.ts` as the single dispatcher.  It
sniffs the extension and routes:

  *.vlx  → importVlxFile      (writes directly to stores)
  *.zip  → importFromWokwiZip (returns a payload the caller applies,
                               so the toolbar can still trigger the
                               install-libraries modal afterwards)

Both UI entry points now go through the dispatcher with the same
`accept=".vlx,.zip,application/json,application/zip"` filter:

  * Toolbar "Import project (.vlx Velxio or .zip Wokwi)"
  * File-explorer "Open project (.vlx Velxio or .zip Wokwi)"

The toolbar tooltip is i18n-driven — updated EN + 8 other locales
(es, fr, de, it, pt-br, ja, ru, zh-cn) so every user sees the same
clarification.

Wokwi compatibility kept intact — the .zip path still resolves to
`importFromWokwiZip` and the same library-install modal pops if the
imported project lists libraries we don't have locally.
2026-05-22 20:55:06 +02:00
..
__pro_stub__
__tests__ feat(avr/uart): synthesize bit-level TX waveform on PD1/PE1 2026-05-22 19:49:43 +02:00
assets
components feat(import): unify project import — accept .vlx and .zip in both entry points 2026-05-22 20:55:06 +02:00
data feat(attiny85+customchip): full ATtiny85 ADC/Timer0 + custom-chip pipeline fixes 2026-05-19 18:10:08 -03:00
desktop feat(frontend): desktop overlay (welcome, grace banner, ESP32 prompt) 2026-05-21 04:50:51 +02:00
hooks refactor(oss-split): remove auth/admin/profile frontend from OSS 2026-05-14 15:31:12 -03:00
i18n feat(import): unify project import — accept .vlx and .zip in both entry points 2026-05-22 20:55:06 +02:00
lib feat(frontend): runtime API base + desktop overlay extension points 2026-05-21 04:50:19 +02:00
pages feat(landing): "Try Simulator Free Online" + download CTA slot below 2026-05-22 03:33:21 +02:00
services feat(frontend): runtime API base + desktop overlay extension points 2026-05-21 04:50:19 +02:00
simulation feat(esp32/uart): synthesize bit-level TX waveform on UART0 TX GPIO 2026-05-22 19:58:24 +02:00
store feat(esp32/uart): synthesize bit-level TX waveform on UART0 TX GPIO 2026-05-22 19:58:24 +02:00
tokens feat(landing+theme): multiplier pricing copy + softer canvas 2026-05-13 21:02:48 +02:00
types fix(spice+pipeline): LED visualization, INPUT_PULLUP, ESP32-C3, PWM fade, examples 2026-05-18 21:52:07 -03:00
utils feat(import): unify project import — accept .vlx and .zip in both entry points 2026-05-22 20:55:06 +02:00
velxio-elements
App.css
App.tsx feat(examples): /example/<id> route with pinned URL 2026-05-15 00:14:36 -03:00
entry-server.tsx
index.css feat(auth): welcome email on register + password reset via Odoo mail relay 2026-05-12 17:34:30 -03:00
main.tsx feat(frontend): runtime API base + desktop overlay extension points 2026-05-21 04:50:19 +02:00
seoRoutes.ts
vite-env.d.ts