From 5663c3d3ce1ef87bc6d0c5078dfd773db1f4715a Mon Sep 17 00:00:00 2001 From: Till-JS <101404291+Till-JS@users.noreply.github.com> Date: Thu, 29 Jan 2026 17:08:39 +0100 Subject: [PATCH] fix(matrix-web): inline navigation stores to avoid shared-stores dependency Remove external dependency on @manacore/shared-stores and create local implementation using Svelte 5 runes for better build compatibility. Co-Authored-By: Claude Opus 4.5 --- apps/matrix/apps/web/Dockerfile | 1 - .../apps/web/src/lib/stores/navigation.ts | 40 ++++++++++++++++++- apps/matrix/apps/web/vite.config.ts | 1 - 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/apps/matrix/apps/web/Dockerfile b/apps/matrix/apps/web/Dockerfile index beef3426f..03a3fa1f5 100644 --- a/apps/matrix/apps/web/Dockerfile +++ b/apps/matrix/apps/web/Dockerfile @@ -26,7 +26,6 @@ COPY packages/shared-icons ./packages/shared-icons COPY packages/shared-tailwind ./packages/shared-tailwind COPY packages/shared-theme ./packages/shared-theme COPY packages/shared-types ./packages/shared-types -COPY packages/shared-stores ./packages/shared-stores COPY packages/shared-ui ./packages/shared-ui COPY packages/shared-utils ./packages/shared-utils diff --git a/apps/matrix/apps/web/src/lib/stores/navigation.ts b/apps/matrix/apps/web/src/lib/stores/navigation.ts index 5527a3e14..1aa65fb22 100644 --- a/apps/matrix/apps/web/src/lib/stores/navigation.ts +++ b/apps/matrix/apps/web/src/lib/stores/navigation.ts @@ -1,3 +1,39 @@ -import { createSimpleNavigationStores } from '@manacore/shared-stores'; +// Local implementation of navigation stores +// Previously imported from @manacore/shared-stores, now inlined to avoid dependency issues -export const { isSidebarMode, isNavCollapsed } = createSimpleNavigationStores(); +import { browser } from '$app/environment'; + +// Check if on mobile/tablet width +function checkSidebarMode(): boolean { + if (!browser) return false; + return window.innerWidth < 1024; +} + +// Create reactive stores using Svelte 5 runes +let _isSidebarMode = $state(checkSidebarMode()); +let _isNavCollapsed = $state(false); + +// Listen for resize events +if (browser) { + window.addEventListener('resize', () => { + _isSidebarMode = checkSidebarMode(); + }); +} + +export const isSidebarMode = { + get value() { + return _isSidebarMode; + }, +}; + +export const isNavCollapsed = { + get value() { + return _isNavCollapsed; + }, + toggle() { + _isNavCollapsed = !_isNavCollapsed; + }, + set(value: boolean) { + _isNavCollapsed = value; + }, +}; diff --git a/apps/matrix/apps/web/vite.config.ts b/apps/matrix/apps/web/vite.config.ts index 8ac86dedc..45e4c4fbc 100644 --- a/apps/matrix/apps/web/vite.config.ts +++ b/apps/matrix/apps/web/vite.config.ts @@ -22,7 +22,6 @@ const MANACORE_SHARED_PACKAGES = [ '@manacore/shared-splitscreen', '@manacore/shared-utils', '@manacore/shared-tags', - '@manacore/shared-stores', '@manacore/shared-help-types', '@manacore/shared-help-content', '@manacore/shared-help-ui',