Feature/add image map editor

This commit is contained in:
dmytro
2026-07-10 08:47:27 +00:00
committed by Igor Martyniuk
parent 1dde907313
commit 2232ef0029
22 changed files with 2099 additions and 35 deletions
+8 -3
View File
@@ -1,6 +1,8 @@
# File Manager Module
The File Manager module provides authenticated file browsing and file operations for the admin app. It has a backend API for storage operations and a frontend UI for browsing, previewing, uploading, renaming, deleting, duplicating, and editing supported files.
The File Manager module provides authenticated file browsing and file operations for the admin app.
It has a backend API for storage operations and a frontend UI for browsing, previewing, uploading,
renaming, deleting, duplicating, and editing supported files.
## Source Map
@@ -31,6 +33,7 @@ The File Manager module provides authenticated file browsing and file operations
- Rename, delete, and duplicate entries.
- Search entries.
- Open an image editor for image files.
- Create and edit image map zones for supported image files.
- Pick files through reusable frontend picker components.
- Insert files into RichText editor through reusable frontend picker components.
- Use local filesystem storage or S3-compatible storage through Adonis Drive.
@@ -72,7 +75,8 @@ type FolderEntry = {
};
```
The frontend maps DTOs into frontend entities and adds UI-oriented metadata such as `parent` and `extension`.
The frontend maps DTOs into frontend entities and adds UI-oriented metadata such as `parent` and
`extension`.
## Ownership Rules
@@ -80,7 +84,8 @@ The frontend maps DTOs into frontend entities and adds UI-oriented metadata such
- Frontend owns navigation, selection, view settings, operation progress, and user interactions.
- React Query owns server state in the frontend.
- MobX stores own local UI and operation state in the frontend.
- Storage adapters must implement `storage_service_interface.ts`; callers should depend on that interface, not a concrete disk implementation.
- Storage adapters must implement `storage_service_interface.ts`; callers should depend on that
interface, not a concrete disk implementation.
- The active storage adapter is selected by `DRIVE_DISK`.
## Common Change Guide