diff --git a/apps/picture/apps/web/src/lib/components/board/CanvasToolbar.svelte b/apps/picture/apps/web/src/lib/components/board/CanvasToolbar.svelte index c099f086d..52c6c0032 100644 --- a/apps/picture/apps/web/src/lib/components/board/CanvasToolbar.svelte +++ b/apps/picture/apps/web/src/lib/components/board/CanvasToolbar.svelte @@ -17,7 +17,7 @@ deselectAll, } from '$lib/stores/canvas'; import { boardSettings } from '$lib/stores/boards'; - import Button from '$lib/components/ui/Button.svelte'; + import { Button } from '@manacore/shared-ui'; import Konva from 'konva'; import { CaretLeft, diff --git a/apps/picture/apps/web/src/lib/components/board/ImagePickerModal.svelte b/apps/picture/apps/web/src/lib/components/board/ImagePickerModal.svelte index 187c29141..645e12e3e 100644 --- a/apps/picture/apps/web/src/lib/components/board/ImagePickerModal.svelte +++ b/apps/picture/apps/web/src/lib/components/board/ImagePickerModal.svelte @@ -5,9 +5,7 @@ import { canvasItems, addCanvasItem } from '$lib/stores/canvas'; import { getImages } from '$lib/api/images'; import { addBoardItem } from '$lib/api/boardItems'; - import { toastStore } from '@manacore/shared-ui'; - import Modal from '$lib/components/ui/Modal.svelte'; - import Button from '$lib/components/ui/Button.svelte'; + import { toastStore, Modal, Button } from '@manacore/shared-ui'; import { MagnifyingGlass, Image as ImageIcon, Check } from '@manacore/shared-icons'; interface Props { diff --git a/apps/picture/apps/web/src/lib/components/board/ImagePropertiesPanel.svelte b/apps/picture/apps/web/src/lib/components/board/ImagePropertiesPanel.svelte index f2e914ef5..c73055c5a 100644 --- a/apps/picture/apps/web/src/lib/components/board/ImagePropertiesPanel.svelte +++ b/apps/picture/apps/web/src/lib/components/board/ImagePropertiesPanel.svelte @@ -1,8 +1,7 @@ - - diff --git a/apps/picture/apps/web/src/lib/components/ui/Card.svelte b/apps/picture/apps/web/src/lib/components/ui/Card.svelte deleted file mode 100644 index 0d1ad28ad..000000000 --- a/apps/picture/apps/web/src/lib/components/ui/Card.svelte +++ /dev/null @@ -1,20 +0,0 @@ - - -
- {@render children()} -
diff --git a/apps/picture/apps/web/src/routes/app/board/+page.svelte b/apps/picture/apps/web/src/routes/app/board/+page.svelte index 3907416bf..174da2b48 100644 --- a/apps/picture/apps/web/src/routes/app/board/+page.svelte +++ b/apps/picture/apps/web/src/routes/app/board/+page.svelte @@ -14,10 +14,7 @@ removeBoardFromList, } from '$lib/stores/boards'; import { getBoards, deleteBoard, duplicateBoard } from '$lib/api/boards'; - import { PageHeader } from '@manacore/shared-ui'; - import Button from '$lib/components/ui/Button.svelte'; - import Modal from '$lib/components/ui/Modal.svelte'; - import { toastStore } from '@manacore/shared-ui'; + import { PageHeader, Button, Modal, toastStore } from '@manacore/shared-ui'; import { Plus, SquaresFour, Image, Trash } from '@manacore/shared-icons'; let loadingMore = $state(false); diff --git a/docs/CONSOLIDATION_OPPORTUNITIES.md b/docs/CONSOLIDATION_OPPORTUNITIES.md index ceb88a646..ba5c18920 100644 --- a/docs/CONSOLIDATION_OPPORTUNITIES.md +++ b/docs/CONSOLIDATION_OPPORTUNITIES.md @@ -12,7 +12,7 @@ | ~~**HOCH**~~ | ~~App Settings Stores~~ | ~~600-700 LOC~~ ✅ **323 LOC entfernt** | ~~Mittel~~ | | **HOCH** | Main.ts/CORS Patterns | 1.800 LOC | Mittel | | ~~**MITTEL**~~ | ~~TypeScript Configs~~ | ~~400 LOC~~ ✅ **~280 LOC entfernt** | ~~Niedrig~~ | -| **MITTEL** | UI Component Cleanup | 400 LOC | Niedrig | +| ~~**MITTEL**~~ | ~~UI Component Cleanup~~ | ~~400 LOC~~ ✅ **~74 LOC entfernt** | ~~Niedrig~~ | | ~~**MITTEL**~~ | ~~Vite Configs~~ | ~~300 LOC~~ ✅ **~350 LOC entfernt** | ~~Niedrig~~ | | ~~**MITTEL**~~ | ~~Navigation Stores~~ | ~~50 LOC~~ ✅ **~50 LOC entfernt** | ~~Niedrig~~ | | ~~**NIEDRIG**~~ | ~~Drizzle Configs~~ | ~~200 LOC~~ ✅ **~160 LOC entfernt** | ~~Niedrig~~ | @@ -238,17 +238,18 @@ export const { isSidebarMode, isNavCollapsed } = createSimpleNavigationStores({ --- -### 3.2 MITTEL: Sofort löschbare Duplikate (144 LOC) +### ~~3.2 MITTEL: Sofort löschbare Duplikate~~ ✅ TEILWEISE ERLEDIGT -**Picture App hat lokale Kopien von shared-ui Komponenten:** +**Picture App - Status (29.01.2026):** -| Datei | LOC | shared-ui Alternative | -|-------|-----|----------------------| -| `apps/picture/apps/web/src/lib/components/ui/Button.svelte` | 53 | `@manacore/shared-ui/Button` | -| `apps/picture/apps/web/src/lib/components/ui/Input.svelte` | 70 | `@manacore/shared-ui/Input` | -| `apps/picture/apps/web/src/lib/components/ui/Card.svelte` | 21 | `@manacore/shared-ui/Card` | +| Datei | LOC | Status | +|-------|-----|--------| +| ~~`Button.svelte`~~ | ~~53~~ | ✅ Migriert zu `@manacore/shared-ui` | +| ~~`Card.svelte`~~ | ~~21~~ | ✅ Gelöscht (unbenutzt) | +| ~~`Input.svelte`~~ | ~~70~~ | ✅ Bereits vorher gelöscht | -**Aktion:** Lösche lokale Dateien, importiere aus shared-ui. +**Verbleibendes:** +- `Modal.svelte` könnte migriert werden, aber hat unterschiedliche API (`open` vs `visible`) --- @@ -430,7 +431,7 @@ export default createDrizzleConfig({ dbName: 'chat' }); | ~~Metrics zu shared-nestjs-metrics migrieren (6 Backends)~~ | ~~350~~ → **709** | ~~Niedrig~~ | ✅ Erledigt | | ~~Picture Input.svelte löschen (unbenutzt)~~ | ~~70~~ | ~~Niedrig~~ | ✅ Erledigt | | ~~Sleep-Duplikat entfernen~~ | ~~8~~ | ~~Minimal~~ | ✅ Erledigt | -| Picture UI-Komponenten (Button/Card) | 74 | Niedrig | Offen | +| ~~Picture UI-Komponenten (Button/Card)~~ | ~~74~~ → **74** | ~~Niedrig~~ | ✅ Erledigt | | AppSlider Wrapper evaluieren (8 Apps) | - | Niedrig | Nicht nötig (sind Lokalisierungs-Wrapper) | ### Phase 2: Stores & Configs (3-5 Tage, ~1.500 LOC)