diff --git a/apps/mana/apps/web/src/lib/modules/cards/collections.ts b/apps/mana/apps/web/src/lib/modules/cards/collections.ts index c7cd5daeb..76d635385 100644 --- a/apps/mana/apps/web/src/lib/modules/cards/collections.ts +++ b/apps/mana/apps/web/src/lib/modules/cards/collections.ts @@ -24,7 +24,6 @@ export const CARDS_GUEST_SEED = { description: 'Lerne Cards kennen mit diesen Beispiel-Karteikarten.', color: '#6366f1', cardCount: 3, - isPublic: false, }, ], cards: [ diff --git a/apps/mana/apps/web/src/lib/modules/cards/components/CreateDeckModal.svelte b/apps/mana/apps/web/src/lib/modules/cards/components/CreateDeckModal.svelte index d793c702a..04331d7fe 100644 --- a/apps/mana/apps/web/src/lib/modules/cards/components/CreateDeckModal.svelte +++ b/apps/mana/apps/web/src/lib/modules/cards/components/CreateDeckModal.svelte @@ -13,7 +13,6 @@ let title = $state(''); let description = $state(''); - let isPublic = $state(false); let color = $state(DEFAULT_COLOR); let submitting = $state(false); let selectedTagIds = $state([]); @@ -27,7 +26,6 @@ const deck = await deckStore.createDeck({ title: title.trim(), description: description.trim() || undefined, - isPublic, }); submitting = false; @@ -35,7 +33,6 @@ if (deck) { title = ''; description = ''; - isPublic = false; open = false; onClose?.(); } @@ -96,18 +93,6 @@ > -
- - -
-
Tags
{deck.cardCount || 0} Karten - {#if deck.isPublic} + {#if deck.visibility === 'public'} Öffentlich diff --git a/apps/mana/apps/web/src/lib/modules/cards/queries.ts b/apps/mana/apps/web/src/lib/modules/cards/queries.ts index 1743c40fd..5ecbd4741 100644 --- a/apps/mana/apps/web/src/lib/modules/cards/queries.ts +++ b/apps/mana/apps/web/src/lib/modules/cards/queries.ts @@ -18,8 +18,7 @@ export function toDeck(local: LocalDeck): Deck { title: local.name, description: local.description ?? undefined, color: local.color, - isPublic: local.isPublic ?? local.visibility === 'public', - visibility: local.visibility ?? (local.isPublic === true ? 'public' : 'space'), + visibility: local.visibility ?? 'space', tags: [], cardCount: local.cardCount, createdAt: local.createdAt ?? new Date().toISOString(), @@ -83,7 +82,7 @@ export function getDeckById(decks: Deck[], id: string): Deck | undefined { } export function getPublicDecks(decks: Deck[]): Deck[] { - return decks.filter((d) => d.isPublic); + return decks.filter((d) => d.visibility === 'public'); } export function getCardCountForDeck(cards: Card[], deckId: string): number { diff --git a/apps/mana/apps/web/src/lib/modules/cards/stores/decks.svelte.ts b/apps/mana/apps/web/src/lib/modules/cards/stores/decks.svelte.ts index bcf4d49cb..dcac530d6 100644 --- a/apps/mana/apps/web/src/lib/modules/cards/stores/decks.svelte.ts +++ b/apps/mana/apps/web/src/lib/modules/cards/stores/decks.svelte.ts @@ -28,17 +28,13 @@ export const deckStore = { async createDeck(input: CreateDeckInput): Promise { error = null; try { - const initialPublic = input.isPublic ?? false; const newLocal: LocalDeck = { id: crypto.randomUUID(), name: input.title, description: input.description ?? null, color: '#6366f1', cardCount: 0, - isPublic: initialPublic, - // Initialize the unified field too — if the create flow set - // isPublic, mirror it as 'public'; otherwise space-default. - visibility: initialPublic ? 'public' : defaultVisibilityFor(getActiveSpace()?.type), + visibility: defaultVisibilityFor(getActiveSpace()?.type), }; const plaintextSnapshot = toDeck(newLocal); @@ -59,12 +55,6 @@ export const deckStore = { const localUpdates: Partial = {}; if (updates.title !== undefined) localUpdates.name = updates.title; if (updates.description !== undefined) localUpdates.description = updates.description; - if (updates.isPublic !== undefined) { - // Legacy callers still pass isPublic — mirror to visibility - // so the unified field stays in sync until M6.1 hard-drop. - localUpdates.isPublic = updates.isPublic; - localUpdates.visibility = updates.isPublic ? 'public' : 'space'; - } const diff: Partial = { ...localUpdates, @@ -79,20 +69,18 @@ export const deckStore = { }, /** - * Flip a deck's visibility. M6 soft-migration: writes both - * `visibility` and the legacy `isPublic` mirror so the picker - * coexists with the older "public" badge UI until M6.1 hard-drop. + * Flip a deck's visibility. Public decks surface in the cards + * embed-resolver on the user's website. */ async setVisibility(id: string, next: VisibilityLevel) { const existing = await cardDeckTable.get(id); if (!existing) throw new Error(`Deck ${id} not found`); - const before: VisibilityLevel = existing.visibility ?? (existing.isPublic ? 'public' : 'space'); + const before: VisibilityLevel = existing.visibility ?? 'space'; if (before === next) return; const stamp = new Date().toISOString(); await cardDeckTable.update(id, { visibility: next, - isPublic: next === 'public', visibilityChangedAt: stamp, visibilityChangedBy: getEffectiveUserId(), updatedAt: stamp, diff --git a/apps/mana/apps/web/src/lib/modules/cards/types.ts b/apps/mana/apps/web/src/lib/modules/cards/types.ts index afc6829ca..be2d5aaeb 100644 --- a/apps/mana/apps/web/src/lib/modules/cards/types.ts +++ b/apps/mana/apps/web/src/lib/modules/cards/types.ts @@ -11,8 +11,6 @@ export interface LocalDeck extends BaseRecord { color: string; cardCount: number; lastStudied?: string | null; - /** @deprecated Use `visibility`. Mirror kept until M6.1 hard-drop. */ - isPublic: boolean; visibility?: VisibilityLevel; visibilityChangedAt?: string; visibilityChangedBy?: string; @@ -36,8 +34,6 @@ export interface Deck { title: string; description?: string; color: string; - /** @deprecated Use `visibility`. */ - isPublic: boolean; visibility: VisibilityLevel; tags: string[]; cardCount: number; @@ -61,13 +57,11 @@ export interface Card { export interface CreateDeckInput { title: string; description?: string; - isPublic?: boolean; } export interface UpdateDeckInput { title?: string; description?: string; - isPublic?: boolean; } export interface CreateCardInput { diff --git a/apps/mana/apps/web/src/lib/modules/cards/views/DetailView.svelte b/apps/mana/apps/web/src/lib/modules/cards/views/DetailView.svelte index 9cfe6bb38..cacda7926 100644 --- a/apps/mana/apps/web/src/lib/modules/cards/views/DetailView.svelte +++ b/apps/mana/apps/web/src/lib/modules/cards/views/DetailView.svelte @@ -98,7 +98,7 @@
Sichtbarkeit deckStore.setVisibility(deckId, next)} disabledLevels={['unlisted']} /> diff --git a/apps/mana/apps/web/src/lib/modules/memoro/collections.ts b/apps/mana/apps/web/src/lib/modules/memoro/collections.ts index 4c63422f1..049cd0cf2 100644 --- a/apps/mana/apps/web/src/lib/modules/memoro/collections.ts +++ b/apps/mana/apps/web/src/lib/modules/memoro/collections.ts @@ -39,7 +39,6 @@ export const MEMORO_GUEST_SEED = { processingStatus: 'completed' as const, isArchived: false, isPinned: true, - isPublic: false, blueprintId: null, language: 'de', }, diff --git a/apps/mana/apps/web/src/lib/modules/memoro/queries.ts b/apps/mana/apps/web/src/lib/modules/memoro/queries.ts index 760208981..4de56d5a3 100644 --- a/apps/mana/apps/web/src/lib/modules/memoro/queries.ts +++ b/apps/mana/apps/web/src/lib/modules/memoro/queries.ts @@ -35,12 +35,7 @@ export function toMemo(local: LocalMemo): Memo { processingStatus: local.processingStatus, isArchived: local.isArchived, isPinned: local.isPinned, - isPublic: local.isPublic ?? local.visibility === 'public', - // Soft-fallback during M6 soak: legacy rows use isPublic, new - // writes set visibility directly. Keep both in sync via the - // store's setVisibility/setPublic methods until M6.1 drops the - // legacy field. - visibility: local.visibility ?? (local.isPublic === true ? 'public' : 'space'), + visibility: local.visibility ?? 'space', language: local.language, createdAt: local.createdAt ?? new Date().toISOString(), updatedAt: local.updatedAt ?? new Date().toISOString(), diff --git a/apps/mana/apps/web/src/lib/modules/memoro/stores/memos.svelte.ts b/apps/mana/apps/web/src/lib/modules/memoro/stores/memos.svelte.ts index 2c5523fa4..5ab2e1bf1 100644 --- a/apps/mana/apps/web/src/lib/modules/memoro/stores/memos.svelte.ts +++ b/apps/mana/apps/web/src/lib/modules/memoro/stores/memos.svelte.ts @@ -45,7 +45,6 @@ export const memosStore = { processingStatus: data.processingStatus ?? (data.transcript ? 'completed' : 'pending'), isArchived: false, isPinned: false, - isPublic: false, visibility: defaultVisibilityFor(getActiveSpace()?.type), blueprintId: data.blueprintId ?? null, language: data.language ?? null, @@ -141,7 +140,7 @@ export const memosStore = { /** Update a memo's fields. */ async update( id: string, - data: Partial> + data: Partial> ) { const diff: Partial = { ...data, @@ -173,22 +172,18 @@ export const memosStore = { unarchive: (id: string) => memoArchive.unarchive(id), /** - * Flip a memo's visibility. M6 soft-migration: writes both - * `visibility` and the legacy `isPublic` mirror so older readers - * (search index, server snapshots) keep working until the M6.1 - * hard-drop. Public memos surface in the user's website embed - * once a memoro embed-resolver lands. + * Flip a memo's visibility. Public memos surface in the user's + * website embed via the memoro embed-resolver. */ async setVisibility(id: string, next: VisibilityLevel) { const existing = await memoTable.get(id); if (!existing) throw new Error(`Memo ${id} not found`); - const before: VisibilityLevel = existing.visibility ?? (existing.isPublic ? 'public' : 'space'); + const before: VisibilityLevel = existing.visibility ?? 'space'; if (before === next) return; const stamp = new Date().toISOString(); await memoTable.update(id, { visibility: next, - isPublic: next === 'public', visibilityChangedAt: stamp, visibilityChangedBy: getEffectiveUserId(), updatedAt: stamp, diff --git a/apps/mana/apps/web/src/lib/modules/memoro/types.ts b/apps/mana/apps/web/src/lib/modules/memoro/types.ts index 9ba9d810d..a51fd2cc0 100644 --- a/apps/mana/apps/web/src/lib/modules/memoro/types.ts +++ b/apps/mana/apps/web/src/lib/modules/memoro/types.ts @@ -16,14 +16,6 @@ export interface LocalMemo extends BaseRecord { processingStatus: ProcessingStatus; isArchived: boolean; isPinned: boolean; - /** - * @deprecated Soft-migrating to unified `visibility`. Kept for the - * soak window so the converter can fall back to `isPublic` for - * legacy rows that haven't been touched since the M6 rollout. - * Hard-drop once `visibility` has propagated to all rows. - */ - isPublic?: boolean; - /** Unified visibility (M6 pilot — replaces isPublic). */ visibility?: VisibilityLevel; visibilityChangedAt?: string; visibilityChangedBy?: string; @@ -95,8 +87,6 @@ export interface Memo { processingStatus: ProcessingStatus; isArchived: boolean; isPinned: boolean; - /** @deprecated Use `visibility`. Mirror kept until M6.1 hard-drop. */ - isPublic: boolean; visibility: VisibilityLevel; language: string | null; createdAt: string; diff --git a/apps/mana/apps/web/src/lib/modules/memoro/views/DetailView.svelte b/apps/mana/apps/web/src/lib/modules/memoro/views/DetailView.svelte index 4c4a0573c..44a9eba46 100644 --- a/apps/mana/apps/web/src/lib/modules/memoro/views/DetailView.svelte +++ b/apps/mana/apps/web/src/lib/modules/memoro/views/DetailView.svelte @@ -194,7 +194,7 @@
Sichtbarkeit memosStore.setVisibility(memoId, next)} disabledLevels={['unlisted']} /> diff --git a/apps/mana/apps/web/src/lib/modules/picture/queries.ts b/apps/mana/apps/web/src/lib/modules/picture/queries.ts index e2bf198a8..81b96ef09 100644 --- a/apps/mana/apps/web/src/lib/modules/picture/queries.ts +++ b/apps/mana/apps/web/src/lib/modules/picture/queries.ts @@ -38,9 +38,7 @@ export function toImage(local: LocalImage): Image { height: local.height ?? undefined, fileSize: local.fileSize ?? undefined, blurhash: local.blurhash ?? undefined, - // Soft-migration fallback: rows written before M3 only have the - // legacy `isPublic` flag; map it to the nearest visibility level. - visibility: local.visibility ?? (local.isPublic === true ? 'public' : 'private'), + visibility: local.visibility ?? 'private', isFavorite: local.isFavorite, downloadCount: local.downloadCount, rating: local.rating ?? undefined, @@ -68,7 +66,7 @@ export function toBoard(local: LocalBoard): Board { canvasWidth: local.canvasWidth, canvasHeight: local.canvasHeight, backgroundColor: local.backgroundColor, - visibility: local.visibility ?? (local.isPublic === true ? 'public' : 'private'), + visibility: local.visibility ?? 'private', createdAt: local.createdAt ?? new Date().toISOString(), updatedAt: local.updatedAt ?? new Date().toISOString(), }; diff --git a/apps/mana/apps/web/src/lib/modules/picture/stores/boards.svelte.ts b/apps/mana/apps/web/src/lib/modules/picture/stores/boards.svelte.ts index 365ff25bb..275d05854 100644 --- a/apps/mana/apps/web/src/lib/modules/picture/stores/boards.svelte.ts +++ b/apps/mana/apps/web/src/lib/modules/picture/stores/boards.svelte.ts @@ -190,8 +190,7 @@ export const boardsStore = { try { const existing = await db.table('boards').get(id); if (!existing) return { success: false, error: 'Board not found' }; - const before: VisibilityLevel = - existing.visibility ?? (existing.isPublic === true ? 'public' : 'private'); + const before: VisibilityLevel = existing.visibility ?? 'private'; if (before === next) return { success: true }; const now = new Date().toISOString(); diff --git a/apps/mana/apps/web/src/lib/modules/picture/types.ts b/apps/mana/apps/web/src/lib/modules/picture/types.ts index 5436cbc6a..5dd19dd59 100644 --- a/apps/mana/apps/web/src/lib/modules/picture/types.ts +++ b/apps/mana/apps/web/src/lib/modules/picture/types.ts @@ -26,12 +26,6 @@ export interface LocalImage extends BaseRecord { height?: number | null; fileSize?: number | null; blurhash?: string | null; - /** - * @deprecated Use `visibility` instead. Kept for the soft-migration - * window — will be dropped in the hard follow-up once no reader - * references it. See docs/plans/visibility-system.md §M3. - */ - isPublic?: boolean; visibility?: VisibilityLevel; visibilityChangedAt?: string; visibilityChangedBy?: string; @@ -95,11 +89,6 @@ export interface LocalBoard extends BaseRecord { canvasWidth: number; canvasHeight: number; backgroundColor: string; - /** - * @deprecated Use `visibility` instead. Kept during the M3 soft - * migration — dropped in the hard follow-up. - */ - isPublic?: boolean; visibility?: VisibilityLevel; visibilityChangedAt?: string; visibilityChangedBy?: string; diff --git a/apps/mana/apps/web/src/lib/modules/presi/ListView.svelte b/apps/mana/apps/web/src/lib/modules/presi/ListView.svelte index 20d9c3ff5..d34e88b84 100644 --- a/apps/mana/apps/web/src/lib/modules/presi/ListView.svelte +++ b/apps/mana/apps/web/src/lib/modules/presi/ListView.svelte @@ -110,7 +110,7 @@

{deck.title}

{slideCount(deck.id)} Folien - {#if deck.isPublic} + {#if deck.visibility === 'public'} Öffentlich {/if}
diff --git a/apps/mana/apps/web/src/lib/modules/presi/collections.ts b/apps/mana/apps/web/src/lib/modules/presi/collections.ts index 5b8bcdbaa..863701cca 100644 --- a/apps/mana/apps/web/src/lib/modules/presi/collections.ts +++ b/apps/mana/apps/web/src/lib/modules/presi/collections.ts @@ -22,7 +22,6 @@ export const PRESI_GUEST_SEED = { id: ONBOARDING_DECK_ID, title: 'Willkommen bei Presi', description: 'Eine kurze Einfuhrung in die Prasentations-App.', - isPublic: false, }, ], slides: [ diff --git a/apps/mana/apps/web/src/lib/modules/presi/queries.ts b/apps/mana/apps/web/src/lib/modules/presi/queries.ts index 57ec34211..a8b79559c 100644 --- a/apps/mana/apps/web/src/lib/modules/presi/queries.ts +++ b/apps/mana/apps/web/src/lib/modules/presi/queries.ts @@ -19,8 +19,7 @@ export function toDeck(local: LocalDeck): Deck { title: local.title, description: local.description ?? undefined, themeId: local.themeId ?? undefined, - isPublic: local.isPublic ?? local.visibility === 'public', - visibility: local.visibility ?? (local.isPublic === true ? 'public' : 'space'), + visibility: local.visibility ?? 'space', createdAt: local.createdAt ?? new Date().toISOString(), updatedAt: local.updatedAt ?? new Date().toISOString(), }; diff --git a/apps/mana/apps/web/src/lib/modules/presi/stores/decks.svelte.ts b/apps/mana/apps/web/src/lib/modules/presi/stores/decks.svelte.ts index 464d4b063..f01cecaa7 100644 --- a/apps/mana/apps/web/src/lib/modules/presi/stores/decks.svelte.ts +++ b/apps/mana/apps/web/src/lib/modules/presi/stores/decks.svelte.ts @@ -39,7 +39,6 @@ function createDecksStore() { title: dto.title, description: dto.description || null, themeId: dto.themeId || null, - isPublic: false, visibility: defaultVisibilityFor(getActiveSpace()?.type), }; const plaintextSnapshot = toDeck(newLocal); @@ -65,11 +64,6 @@ function createDecksStore() { if (dto.title !== undefined) localUpdates.title = dto.title; if (dto.description !== undefined) localUpdates.description = dto.description; if (dto.themeId !== undefined) localUpdates.themeId = dto.themeId; - if (dto.isPublic !== undefined) { - // Mirror to unified visibility during M6 soak. - localUpdates.isPublic = dto.isPublic; - localUpdates.visibility = dto.isPublic ? 'public' : 'space'; - } await encryptRecord('presiDecks', localUpdates); await presiDeckTable.update(id, localUpdates); @@ -85,13 +79,11 @@ function createDecksStore() { try { const existing = await presiDeckTable.get(id); if (!existing) return false; - const before: VisibilityLevel = - existing.visibility ?? (existing.isPublic ? 'public' : 'space'); + const before: VisibilityLevel = existing.visibility ?? 'space'; if (before === next) return true; const stamp = new Date().toISOString(); await presiDeckTable.update(id, { visibility: next, - isPublic: next === 'public', visibilityChangedAt: stamp, visibilityChangedBy: getEffectiveUserId(), updatedAt: stamp, diff --git a/apps/mana/apps/web/src/lib/modules/presi/types.ts b/apps/mana/apps/web/src/lib/modules/presi/types.ts index 20baf1c9c..c04b568d2 100644 --- a/apps/mana/apps/web/src/lib/modules/presi/types.ts +++ b/apps/mana/apps/web/src/lib/modules/presi/types.ts @@ -9,8 +9,6 @@ export interface LocalDeck extends BaseRecord { title: string; description?: string | null; themeId?: string | null; - /** @deprecated Use `visibility`. Mirror kept until M6.1 hard-drop. */ - isPublic: boolean; visibility?: VisibilityLevel; visibilityChangedAt?: string; visibilityChangedBy?: string; @@ -39,8 +37,6 @@ export interface Deck { title: string; description?: string; themeId?: string; - /** @deprecated Use `visibility`. */ - isPublic: boolean; visibility: VisibilityLevel; createdAt: string; updatedAt: string; @@ -66,7 +62,6 @@ export interface UpdateDeckDto { title?: string; description?: string; themeId?: string; - isPublic?: boolean; } export interface CreateSlideDto { diff --git a/apps/mana/apps/web/src/lib/modules/presi/views/DetailView.svelte b/apps/mana/apps/web/src/lib/modules/presi/views/DetailView.svelte index f3ce9e82b..7ca523d9f 100644 --- a/apps/mana/apps/web/src/lib/modules/presi/views/DetailView.svelte +++ b/apps/mana/apps/web/src/lib/modules/presi/views/DetailView.svelte @@ -84,7 +84,7 @@
Sichtbarkeit decksStore.setVisibility(deckId, next)} disabledLevels={['unlisted']} /> diff --git a/apps/mana/apps/web/src/lib/modules/uload/collections.ts b/apps/mana/apps/web/src/lib/modules/uload/collections.ts index ff1f893ea..211677d71 100644 --- a/apps/mana/apps/web/src/lib/modules/uload/collections.ts +++ b/apps/mana/apps/web/src/lib/modules/uload/collections.ts @@ -87,7 +87,6 @@ export const ULOAD_GUEST_SEED = { slug: 'social-media', color: '#8b5cf6', icon: null, - isPublic: false, visibility: 'space', usageCount: 0, }, @@ -97,7 +96,6 @@ export const ULOAD_GUEST_SEED = { slug: 'dokumentation', color: '#3b82f6', icon: null, - isPublic: false, visibility: 'space', usageCount: 0, }, @@ -107,7 +105,6 @@ export const ULOAD_GUEST_SEED = { slug: 'marketing', color: '#10b981', icon: null, - isPublic: false, visibility: 'space', usageCount: 0, }, diff --git a/apps/mana/apps/web/src/lib/modules/uload/queries.ts b/apps/mana/apps/web/src/lib/modules/uload/queries.ts index 569704bd6..a3501abfb 100644 --- a/apps/mana/apps/web/src/lib/modules/uload/queries.ts +++ b/apps/mana/apps/web/src/lib/modules/uload/queries.ts @@ -42,8 +42,6 @@ export interface Tag { slug: string; color?: string; icon?: string; - /** @deprecated Use `visibility`. */ - isPublic: boolean; visibility: import('@mana/shared-privacy').VisibilityLevel; usageCount: number; createdAt: string; @@ -106,8 +104,7 @@ export function toTag(local: LocalTag): Tag { slug: local.slug, color: local.color ?? undefined, icon: local.icon ?? undefined, - isPublic: local.isPublic ?? local.visibility === 'public', - visibility: local.visibility ?? (local.isPublic === true ? 'public' : 'space'), + visibility: local.visibility ?? 'space', usageCount: local.usageCount, createdAt: local.createdAt ?? new Date().toISOString(), updatedAt: local.updatedAt ?? new Date().toISOString(), diff --git a/apps/mana/apps/web/src/lib/modules/uload/types.ts b/apps/mana/apps/web/src/lib/modules/uload/types.ts index 79a390e3d..70dbcd1fe 100644 --- a/apps/mana/apps/web/src/lib/modules/uload/types.ts +++ b/apps/mana/apps/web/src/lib/modules/uload/types.ts @@ -30,12 +30,6 @@ export interface LocalTag extends BaseRecord { slug: string; color?: string | null; icon?: string | null; - /** - * @deprecated Use `visibility`. Mirror kept for the M6 soak window. - * No active CRUD UI yet — the field is set only by seed data and - * the future tag-management view will write `visibility` directly. - */ - isPublic: boolean; visibility?: VisibilityLevel; usageCount: number; } diff --git a/apps/mana/apps/web/src/lib/modules/website/embeds.ts b/apps/mana/apps/web/src/lib/modules/website/embeds.ts index 60c2da77f..6e9f52247 100644 --- a/apps/mana/apps/web/src/lib/modules/website/embeds.ts +++ b/apps/mana/apps/web/src/lib/modules/website/embeds.ts @@ -9,10 +9,10 @@ import { formatDateTime } from '$lib/i18n/format'; * content. Trade-off: publishes are slightly slower, public visits are * much faster. * - * Every resolver MUST enforce the source's public-visibility rules — - * e.g. `picture.board.isPublic === true`. An owner who embeds a - * private board gets an empty result with a clear error message in the - * resolved.error field. + * Every resolver MUST enforce the source's public-visibility rules + * via `canEmbedOnWebsite(visibility)`. An owner who embeds a + * non-public record gets an empty result with a clear error message + * in the resolved.error field. */ import { db } from '$lib/data/database'; @@ -117,8 +117,7 @@ export async function resolveEmbed(props: ModuleEmbedProps): Promise { if (!props.sourceId) { @@ -134,8 +133,7 @@ async function resolvePictureBoard(props: ModuleEmbedProps): Promise { let memos = await db.table('memos').toArray(); memos = memos.filter( - (m) => - !m.deletedAt && - !m.isArchived && - canEmbedOnWebsite(m.visibility ?? (m.isPublic === true ? 'public' : 'private')) + (m) => !m.deletedAt && !m.isArchived && canEmbedOnWebsite(m.visibility ?? 'private') ); if (memos.length === 0) return []; @@ -853,11 +848,7 @@ async function resolveMemos(_props: ModuleEmbedProps): Promise { */ async function resolveCardDecks(_props: ModuleEmbedProps): Promise { let decks = await db.table('cardDecks').toArray(); - decks = decks.filter( - (d) => - !d.deletedAt && - canEmbedOnWebsite(d.visibility ?? (d.isPublic === true ? 'public' : 'private')) - ); + decks = decks.filter((d) => !d.deletedAt && canEmbedOnWebsite(d.visibility ?? 'private')); if (decks.length === 0) return []; @@ -886,11 +877,7 @@ async function resolveCardDecks(_props: ModuleEmbedProps): Promise */ async function resolvePresiDecks(_props: ModuleEmbedProps): Promise { let decks = await db.table('presiDecks').toArray(); - decks = decks.filter( - (d) => - !d.deletedAt && - canEmbedOnWebsite(d.visibility ?? (d.isPublic === true ? 'public' : 'private')) - ); + decks = decks.filter((d) => !d.deletedAt && canEmbedOnWebsite(d.visibility ?? 'private')); if (decks.length === 0) return []; diff --git a/apps/mana/apps/web/src/routes/(app)/cards/decks/[id]/+page.svelte b/apps/mana/apps/web/src/routes/(app)/cards/decks/[id]/+page.svelte index 5725f8290..dc837bf67 100644 --- a/apps/mana/apps/web/src/routes/(app)/cards/decks/[id]/+page.svelte +++ b/apps/mana/apps/web/src/routes/(app)/cards/decks/[id]/+page.svelte @@ -91,7 +91,7 @@
- {#if deck.isPublic} + {#if deck.visibility === 'public'} Offentlich