hykocx 980f9cc5a0 refactor(ui): implement mouse-driven multi-block selection with text and marquee modes
- add `sameSet` helper to compare two Sets for equality
- add `dragRef` to track drag state (mode, startBlockId, origin coords)
- replace `selectionchange`-based detection with `mousemove`/`mouseup` listeners
- support `text` mode: stay native until cursor leaves origin block, then switch to `block` mode
- support `block` mode: extend selection across blocks as cursor moves between them
- support `marquee` mode: rect-based selection when mousedown starts outside a contentEditable
- use `sameSet` to avoid redundant `setSelectedBlockIds` calls on unchanged selections
2026-04-25 18:05:34 -04:00
2026-04-12 12:50:14 -04:00
2026-04-25 18:01:22 -04:00

ZEN

Une plateforme multi-usage construite sur l'essentiel, rien de plus, rien de moins.

banner

Warning

Ce projet est en développement actif et n'est pas encore prêt pour une utilisation en production. L'API, la structure et les fonctionnalités peuvent changer à tout moment.

Fonctionnalités

  • Système de modules dynamiques - Créez des modules sans modifier le code principal
  • Authentification - Authentification et autorisation des utilisateurs intégrées
  • Tableau de bord - Génération automatique d'interfaces d'administrations
  • Routeur API - API RESTful avec authentification
  • Système d'emails - Templates d'emails avec React Email
  • Stockage - Stockage de fichiers compatible S3
  • Paiements - Intégration Stripe
  • Tâches planifiées - Gestion des tâches programmées

Démarrage

Pour les instructions d'installation et de configuration, voir INSTALL.md.

Développement

Pour contribuer au projet, voir CONTRIBUTING.md et DEV.md.

Pour signaler une faille de sécurité, voir SECURITY.md.

S
Description
Une plateforme multi-usage construite sur l'essentiel, rien de plus, rien de moins.
Readme GPL-3.0 18 MiB
Languages
JavaScript 99.4%
CSS 0.6%