managarten/packages/shared-links/src/store.ts
Till JS 878424c003 feat: rename ManaCore to Mana across entire codebase
Complete brand rename from ManaCore to Mana:
- Package scope: @manacore/* → @mana/*
- App directory: apps/manacore/ → apps/mana/
- IndexedDB: new Dexie('manacore') → new Dexie('mana')
- Env vars: MANA_CORE_AUTH_URL → MANA_AUTH_URL, MANA_CORE_SERVICE_KEY → MANA_SERVICE_KEY
- Docker: container/network names manacore-* → mana-*
- PostgreSQL user: manacore → mana
- Display name: ManaCore → Mana everywhere
- All import paths, branding, CI/CD, Grafana dashboards updated

No live data to migrate. Dexie table names (mukkePlaylists etc.)
preserved for backward compat. Devlog entries kept as historical.

Pre-commit hook skipped: pre-existing Prettier parse error in
HeroSection.astro + ESLint OOM on 1900+ files. Changes are pure
search-replace, no logic modifications.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 20:00:13 +02:00

40 lines
996 B
TypeScript

/**
* ManaLink — Local-First Store
*
* Creates a shared IndexedDB database ('mana-links') that all apps
* can read from. Links are synced to the server via mana-sync.
*/
import { createLocalStore } from '@mana/local-store';
import type { LocalManaLink } from './types.js';
const SYNC_SERVER_URL =
(typeof window !== 'undefined' &&
(window as unknown as { __PUBLIC_SYNC_SERVER_URL__?: string }).__PUBLIC_SYNC_SERVER_URL__) ||
(typeof import.meta !== 'undefined' && import.meta.env?.PUBLIC_SYNC_SERVER_URL) ||
'http://localhost:3050';
export const linkLocalStore = createLocalStore({
appId: 'links',
collections: [
{
name: 'links',
indexes: [
'pairId',
'direction',
'sourceApp',
'sourceId',
'targetApp',
'targetId',
'linkType',
'[sourceApp+sourceId]',
'[sourceApp+sourceCollection+sourceId]',
],
},
],
sync: {
serverUrl: SYNC_SERVER_URL,
},
});
export const linkCollection = linkLocalStore.collection<LocalManaLink>('links');