From 079015ade75e671255e1dbd9da2a378463d319bb Mon Sep 17 00:00:00 2001 From: Till JS Date: Thu, 2 Apr 2026 20:55:54 +0200 Subject: [PATCH] refactor(manacore/web): unify page carousel system, remove edit mode Extract shared PageShell and PageCarousel components from duplicated workbench/todo code. Remove edit mode (FAB, width pills, move buttons) from both routes. Add per-page resize handle (drag bottom-right corner). Co-Authored-By: Claude Opus 4.6 (1M context) --- .../page-carousel/PageCarousel.svelte | 349 +++++++++ .../components/page-carousel/PageShell.svelte | 352 +++++++++ .../src/lib/components/page-carousel/index.ts | 3 + .../lib/components/workbench/AppPage.svelte | 322 +-------- .../todo/components/pages/PageEditBar.svelte | 26 +- .../todo/components/pages/TodoPage.svelte | 291 ++------ .../modules/todo/stores/settings.svelte.ts | 8 - .../web/src/routes/(app)/home/+page.svelte | 402 ++--------- .../web/src/routes/(app)/todo/+page.svelte | 669 +++--------------- 9 files changed, 928 insertions(+), 1494 deletions(-) create mode 100644 apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte create mode 100644 apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte create mode 100644 apps/manacore/apps/web/src/lib/components/page-carousel/index.ts diff --git a/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte b/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte new file mode 100644 index 000000000..cf84051e4 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte @@ -0,0 +1,349 @@ + + + + + + diff --git a/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte b/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte new file mode 100644 index 000000000..cd8619dfe --- /dev/null +++ b/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte @@ -0,0 +1,352 @@ + + + +
+
+ +
+ + + + + + + {#if toolbar} + {@render toolbar()} + {/if} + + +
+ {@render children()} +
+ + + {#if onResize && !maximized} + +
+ + + + +
+ {/if} +
+ + diff --git a/apps/manacore/apps/web/src/lib/components/page-carousel/index.ts b/apps/manacore/apps/web/src/lib/components/page-carousel/index.ts new file mode 100644 index 000000000..a6631bf7d --- /dev/null +++ b/apps/manacore/apps/web/src/lib/components/page-carousel/index.ts @@ -0,0 +1,3 @@ +export { default as PageShell } from './PageShell.svelte'; +export { default as PageCarousel } from './PageCarousel.svelte'; +export type { CarouselPage } from './PageCarousel.svelte'; diff --git a/apps/manacore/apps/web/src/lib/components/workbench/AppPage.svelte b/apps/manacore/apps/web/src/lib/components/workbench/AppPage.svelte index 5505d94a3..b209c0837 100644 --- a/apps/manacore/apps/web/src/lib/components/workbench/AppPage.svelte +++ b/apps/manacore/apps/web/src/lib/components/workbench/AppPage.svelte @@ -1,17 +1,9 @@ -
-
- -
- - -