From 796873e7d36b8ad0b6dff5ec397169010a11ac2f Mon Sep 17 00:00:00 2001 From: dnviti Date: Sat, 29 Nov 2025 01:45:53 +0100 Subject: [PATCH] - --- CLAUDE.md | 28 +++++++++++++++++++++++++++ src/Apollinare.API/apollinare.db-shm | Bin 32768 -> 32768 bytes src/Apollinare.API/apollinare.db-wal | Bin 1001192 -> 1013552 bytes 3 files changed, 28 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index f5c4ace..ab54395 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -52,6 +52,21 @@ XX. **Nome Problema (FIX/IMPLEMENTATO DATA):** - **Problema:** Descrizione breve **Lavoro completato nell'ultima sessione:** +- **FIX: Rimossa Toolbar Contestuale che causava Layout Shift** - COMPLETATO + - **Problema:** Quando si selezionava un oggetto nel canvas, appariva una toolbar aggiuntiva sotto quella principale che causava uno scroll della pagina + - **Soluzione:** Rimossa completamente la toolbar contestuale - le proprietà degli oggetti vengono gestite solo dal `PropertiesPanel` sulla destra + - **Rimosso da EditorToolbar.tsx:** + - Sezione "Contextual Toolbar Row" (desktop) + - Sezione "Contextual toolbar for text/shape" (tablet) + - Funzioni: `handleTextFormat()`, `handleTextAlign()`, `renderContextualToolbar()` + - Componente `ColorPickerButton` + - Costante `COLOR_PRESETS` + - Props: `selectedElement`, `onUpdateSelectedElement` + - Import non più usati: `TextField`, `ToggleButton`, `ToggleButtonGroup`, icone formattazione + - **File modificati:** + - `EditorToolbar.tsx` - Rimossa toolbar contestuale e codice correlato + - `ReportEditorPage.tsx` - Rimossi props `selectedElement` e `onUpdateSelectedElement` dalla chiamata a EditorToolbar + - **NUOVA FEATURE: Selezione Multipla nel Report Editor** - COMPLETATO - Implementato sistema di selezione multipla personalizzato (senza usare ActiveSelection di Fabric.js che causava riposizionamento oggetti) - **Selezione con rettangolo di trascinamento**: trascinando sul canvas vuoto appare rettangolo blu tratteggiato, al rilascio seleziona tutti gli oggetti che intersecano @@ -1174,6 +1189,19 @@ frontend/src/ - Usati refs (`selectedElementIdsRef`, `onSelectElementRef`, etc.) per evitare stale closures negli event handler registrati una sola volta - **File:** `EditorCanvas.tsx`, `ReportEditorPage.tsx` +27. **Toolbar Contestuale Layout Shift (FIX 29/11/2025):** + - **Problema:** Quando si selezionava un oggetto nel canvas del report designer, appariva una toolbar contestuale aggiuntiva sotto quella principale, causando uno scroll/layout shift della pagina + - **Causa:** La toolbar contestuale (`renderContextualToolbar()`) veniva renderizzata condizionalmente quando `selectedElement` era presente, aggiungendo una riga extra all'altezza della toolbar + - **Soluzione:** Rimossa completamente la toolbar contestuale - le proprietà degli oggetti selezionati vengono gestite esclusivamente dal `PropertiesPanel` sulla destra (che è sempre visibile) + - **Rimosso:** + - `renderContextualToolbar()` - funzione che rendeva la toolbar + - `handleTextFormat()`, `handleTextAlign()` - handler per formattazione + - `ColorPickerButton` component - color picker inline + - `COLOR_PRESETS` - palette colori + - Props `selectedElement`, `onUpdateSelectedElement` dall'interfaccia + - Import inutilizzati: `TextField`, `ToggleButton`, `ToggleButtonGroup`, icone formattazione + - **File:** `EditorToolbar.tsx`, `ReportEditorPage.tsx` + ### Schema Database Report System Le tabelle sono già nel DbContext (`AppollinareDbContext.cs`): diff --git a/src/Apollinare.API/apollinare.db-shm b/src/Apollinare.API/apollinare.db-shm index 999dc80327d179b962621299f286fb17b1dc9eed..796f0a94ecadd84c502cd3e9f304fb4f3cf140c8 100644 GIT binary patch delta 170 zcmZo@U}|V!s+V}A%K!pAK+MR%An*-HHv;kPj76U=y)u(>Q(pVkKt+lD^IL~%!EgT` zk*XeO6c~I3lK+taRCr_kRc6*qASZLPFUv*i%~}q8R;*tbzA}8<9LOTgxH+PF1q%Q~ C89Pk? delta 162 zcmZo@U}|V!s+V}A%K!qLK+MR%An+MTHv)0u?=l7F)!M~w%4@$Gs3@^pUB0KUr