velxio/frontend/src/components
David Montero Crespo 8b14815094 feat(components): pro_only flag + registry merge API + picker gate hook
Three small additions so private overlays can add components gated behind
a paid subscription without forking the picker:

- types/component-metadata.ts: optional pro_only?: boolean field on
  ComponentMetadata. Self-hosters never set it; picker behaves identically.
- services/componentRegistry.ts: new mergeComponents() public method.
  Pro overlay calls this after the default registry has loaded to splice
  in extra components (replacing any with the same id).
- components/ComponentPickerModal.tsx: when a pro_only component is
  clicked, the picker first calls window.__velxio_pro_gate__(component)
  if defined. If the gate returns true, the click is consumed (overlay
  shows an upgrade modal). If absent or returns false, the click passes
  through to onSelectComponent as normal.

Net upstream change: ~25 lines, all backwards-compatible. OSS image
behaves exactly as before since no overlay sets pro_only or installs
the gate.
2026-05-05 10:33:53 -03:00
..
admin feat(activity): add user daily activity metrics and modal for detailed project interaction 2026-04-26 19:39:45 -03:00
analog-ui refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00
components-instruments refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00
customChips Add ESP32 chip demos and comprehensive tests for I2C, SPI, and UART interactions 2026-04-28 19:24:39 -03:00
editor feat: add optional extension hooks for private overlays 2026-05-04 14:03:20 -03:00
examples feat(gallery): add 2 ESP32-CAM examples to the in-app gallery 2026-05-02 22:21:19 -03:00
layout feat: add data-velxio-slot markers for overlay portal targets 2026-05-04 23:28:02 -03:00
raspberry-pi style: update ESLint rules and clean up code formatting across multiple files 2026-04-21 17:14:27 -03:00
simulator feat(webcam): universal compatibility — any webcam on any PC 2026-05-03 00:48:24 -03:00
velxio-components fix(install): unblock self-hosting + drop forced wokwi clones 2026-05-04 00:04:11 -03:00
ComponentPickerModal.css refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00
ComponentPickerModal.tsx feat(components): pro_only flag + registry merge API + picker gate hook 2026-05-05 10:33:53 -03:00
DynamicComponent.tsx refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00