Stores & State Management
Store Architecture
Section titled “Store Architecture”All state management uses Svelte 5 runes ($state, $derived, $derived.by, $effect) with a Singleton pattern. There are no traditional Svelte stores (writable, readable) in the core stores.
Shared Stores
Section titled “Shared Stores”Located in src/lib/stores/:
userStore
Section titled “userStore”Current authenticated user state.
File: user-store.svelte.ts
// Usageimport { userStore } from '$lib/stores/user-store.svelte';
userStore.user; // Firebase Auth useruserStore.userData; // Firestore user document (User type)userStore.referralCode; // User's referral codeuserStore.isAuthenticated(); // booleanuserStore.getUserId(); // string | nulluserManager
Section titled “userManager”User data management and collection access.
File: user-manager.svelte.ts
import { userManager } from '$lib/stores/user-manager.svelte';
userManager.userData; // Current user document datauserManager.allUsers; // Collection of all usersawait userManager.updateUser(updates, userId);userManager.getUserById(userId);subscriptionManager
Section titled “subscriptionManager”Active subscription data with plan priority logic.
File: subscription-manager.svelte.ts
import { subscriptionManager } from '$lib/stores/subscription-manager.svelte';
subscriptionManager.subscriptionData;// Returns subscription with priority: Elite > Pro > Standard > Free// Falls back to Free plan if no active subscriptionSubscription shape:
{ metadata: { planName: 'Elite' | 'Pro' | 'Standard' | 'Free'; price: string; planStorage: string; }; current_period_start: Timestamp; current_period_end: Timestamp;}storageUserManager
Section titled “storageUserManager”User file storage tracking and limit checking.
File: storage-user-manager.svelte.ts
import { storageUserManager } from '$lib/stores/storage-user-manager.svelte';
storageUserManager.storageData; // Storage usage datastorageUserManager.avatarFileData; // Avatar file recordstorageUserManager.bannerFileData; // Banner file recordstorageUserManager.logoFileData; // Logo file recordstorageUserManager.checkStorageLimit(fileSize); // booleansidebarManager
Section titled “sidebarManager”Dynamic sidebar routing - maps URL paths to sidebar components.
File: sidebar-manager.svelte.ts
import { sidebarManager } from '$lib/stores/sidebar-manager.svelte';
sidebarManager.currentSidebar; // Returns Svelte component for current pathplansManager
Section titled “plansManager”Product and pricing data from Firestore collection groups.
File: plans-manager.svelte.ts
import { plansManager } from '$lib/stores/plans-manager.svelte';
plansManager.products; // Active products (Standard, Elite)plansManager.prices; // Active recurring pricesplansManager.isLoading;userRegistryManager
Section titled “userRegistryManager”User registration system configuration (private beta gating).
File: user-registry-manager.svelte.ts
import { userRegistryManager } from '$lib/stores/user-registry-manager.svelte';
userRegistryManager.currentUserCount;userRegistryManager.userLimit;userRegistryManager.isEnabled;userRegistryManager.hasReachedLimit;userRegistryManager.canAcceptNewUsers();Module-Level Stores
Section titled “Module-Level Stores”Each module has its own stores following the same singleton pattern. Key examples:
| Module | Store | Purpose |
|---|---|---|
| hubs | hubsManager | Hub CRUD, pages, blocks, docs |
| hubs | teamManager | Hub team members and invitations |
| hubs | themeManager | Theme presets and customization |
| hubs | analyticsManager | Hub visitor analytics |
| hyvflow | workspaceManager | Workspaces, portfolios, projects, milestones |
| hyvflow | taskManager | Task CRUD and activity |
| connect | chatManager | Chat conversations and messages |
| profile | profileManager | User profile data |
| profile | followManager | Follow/follower relationships |
| marketplace | marketplaceManager | Service listings and filtering |
| orders | ordersManager | Purchase and sales orders |
| dashboard | dashboardManager | Widget layout and configuration |
| blogs | blogManager | Blog CRUD operations |
| refer-and-earn | referralStore | Referral codes and data |