980f9cc5a0340d4c17691fc915f9dc77214f0b0d
- 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
ZEN
Une plateforme multi-usage construite sur l'essentiel, rien de plus, rien de moins.
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.
Languages
JavaScript
99.4%
CSS
0.6%
