From ae73f70ad0dc5df3879c1280591c4fddf7ed7567 Mon Sep 17 00:00:00 2001 From: Till JS Date: Wed, 1 Apr 2026 22:59:29 +0200 Subject: [PATCH] feat(manacore/web): add share via uLoad to mukke playlists and presi decks Adds ShareNetwork button and ShareModal to: - Mukke: playlist detail header (between play all and delete) - Presi: deck header actions (next to add slide) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../(app)/mukke/playlists/[id]/+page.svelte | 23 +++++++++++++++++++ .../routes/(app)/presi/deck/[id]/+page.svelte | 20 ++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/apps/manacore/apps/web/src/routes/(app)/mukke/playlists/[id]/+page.svelte b/apps/manacore/apps/web/src/routes/(app)/mukke/playlists/[id]/+page.svelte index 5d5e164d3..543fc4ef7 100644 --- a/apps/manacore/apps/web/src/routes/(app)/mukke/playlists/[id]/+page.svelte +++ b/apps/manacore/apps/web/src/routes/(app)/mukke/playlists/[id]/+page.svelte @@ -15,7 +15,9 @@ PencilSimple, Check, X, + ShareNetwork, } from '@manacore/shared-icons'; + import { ShareModal } from '@manacore/shared-uload'; const songsCtx: { readonly value: Song[] } = getContext('songs'); const playlistsCtx: { readonly value: Playlist[] } = getContext('playlists'); @@ -27,6 +29,10 @@ let isEditingName = $state(false); let editName = $state(''); + let showShare = $state(false); + let shareUrl = $derived( + `${typeof window !== 'undefined' ? window.location.origin : ''}/mukke/playlists/${playlistId}` + ); function startEdit() { editName = playlist?.name ?? ''; @@ -123,6 +129,13 @@ Alle abspielen {/if} + + {#if currentSlides.length > 0} {/if} + + + (showShare = false)} + url={typeof window !== 'undefined' ? `${window.location.origin}/presi/deck/${deckId}` : ''} + title={currentDeck?.name ?? 'Presentation'} + source="presi" + description={currentDeck?.description ?? ''} +/>