feat: integrate shared-links into Calendar, Contacts, and ManaCore

Add @manacore/shared-links to Calendar, Contacts, and ManaCore apps.
Link store initializes alongside tag store in each app's layout, syncs
when authenticated, and is ready for cross-app linking.

Also fix broken workspace references in moodlit (shared-feedback-service
→ feedback, shared-feedback-ui removed, shared-subscription-ui →
subscriptions).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-30 10:53:44 +02:00
parent 06e5d9e22b
commit 1bbf0ef41e
7 changed files with 66 additions and 2 deletions

View file

@ -44,6 +44,7 @@
"dependencies": {
"@manacore/credits": "workspace:^",
"@manacore/local-store": "workspace:*",
"@manacore/shared-links": "workspace:*",
"@manacore/qr-export": "workspace:*",
"@manacore/shared-auth": "workspace:*",
"@manacore/shared-auth-stores": "workspace:*",

View file

@ -9,6 +9,7 @@
import { PillNavigation, TagStrip } from '@manacore/shared-ui';
import type { PillNavItem, PillDropdownItem } from '@manacore/shared-ui';
import { tagLocalStore, tagMutations, useAllTags } from '$lib/stores/tags.svelte';
import { linkLocalStore, linkMutations } from '@manacore/shared-links';
import { manacoreStore } from '$lib/data/local-store';
import {
todoReader,
@ -220,6 +221,7 @@
await Promise.all([
manacoreStore.initialize(),
tagLocalStore.initialize(),
linkLocalStore.initialize(),
// Cross-app readers (read-only, no sync — owning apps handle sync)
todoReader.initialize(),
calendarReader.initialize(),
@ -239,6 +241,7 @@
const getToken = () => authStore.getValidToken();
manacoreStore.startSync(getToken);
tagMutations.startSync(getToken);
linkMutations.startSync(getToken);
// Initialize dashboard from IndexedDB
await dashboardStore.initialize();