From eeb38275bd3f7688df324a8b2a6a18a036567a49 Mon Sep 17 00:00:00 2001 From: Till JS Date: Wed, 1 Apr 2026 22:58:06 +0200 Subject: [PATCH] feat(manacore/web): add share via uLoad to todo, cards, and chat Adds ShareNetwork button and ShareModal to: - Todo: task detail expanded view - Cards: deck header actions - Chat: conversation header (between pin and delete) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../(app)/cards/decks/[id]/+page.svelte | 24 ++++++++++++++- .../src/routes/(app)/chat/[id]/+page.svelte | 22 ++++++++++++++ .../web/src/routes/(app)/todo/+page.svelte | 30 +++++++++++++++++++ 3 files changed, 75 insertions(+), 1 deletion(-) diff --git a/apps/manacore/apps/web/src/routes/(app)/cards/decks/[id]/+page.svelte b/apps/manacore/apps/web/src/routes/(app)/cards/decks/[id]/+page.svelte index 1e4e45ee0..428aca0ce 100644 --- a/apps/manacore/apps/web/src/routes/(app)/cards/decks/[id]/+page.svelte +++ b/apps/manacore/apps/web/src/routes/(app)/cards/decks/[id]/+page.svelte @@ -6,11 +6,16 @@ import { cardStore } from '$lib/modules/cards/stores/cards.svelte'; import { useDeck, useCardsByDeck } from '$lib/modules/cards/queries'; import type { Deck, Card } from '$lib/modules/cards/types'; - import { ArrowLeft, Trash, Plus } from '@manacore/shared-icons'; + import { ArrowLeft, Trash, Plus, ShareNetwork } from '@manacore/shared-icons'; + import { ShareModal } from '@manacore/shared-uload'; let deckId = $derived($page.params.id); let showDeleteConfirm = $state(false); let deleting = $state(false); + let showShare = $state(false); + let shareUrl = $derived( + `${typeof window !== 'undefined' ? window.location.origin : ''}/cards/decks/${deckId}` + ); // New card form let showNewCardForm = $state(false); @@ -87,6 +92,13 @@ Offentlich {/if} + {/if} + + + (showShare = false)} + url={shareUrl} + title={deck?.title ?? ''} + source="cards" + description={deck?.description ?? ''} +/> diff --git a/apps/manacore/apps/web/src/routes/(app)/chat/[id]/+page.svelte b/apps/manacore/apps/web/src/routes/(app)/chat/[id]/+page.svelte index 3f84c607f..45d9b81ed 100644 --- a/apps/manacore/apps/web/src/routes/(app)/chat/[id]/+page.svelte +++ b/apps/manacore/apps/web/src/routes/(app)/chat/[id]/+page.svelte @@ -14,7 +14,9 @@ PencilSimple, Check, X, + ShareNetwork, } from '@manacore/shared-icons'; + import { ShareModal } from '@manacore/shared-uload'; const conversationsCtx: { readonly value: Conversation[] } = getContext('conversations'); @@ -29,6 +31,10 @@ let isSending = $state(false); let isEditingTitle = $state(false); let editTitle = $state(''); + let showShare = $state(false); + let shareUrl = $derived( + `${typeof window !== 'undefined' ? window.location.origin : ''}/chat/${conversationId}` + ); async function handleSend() { const text = inputText.trim(); @@ -153,6 +159,13 @@ > +