From edb08e3e5c8983d96965a3315f93190c63c5b647 Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Sun, 8 Mar 2026 18:58:55 +0000 Subject: [PATCH] Simplify share button --- .../src/lib/components/Calculator.svelte | 117 +++++++++++------- 1 file changed, 71 insertions(+), 46 deletions(-) diff --git a/hdyc-svelte/src/lib/components/Calculator.svelte b/hdyc-svelte/src/lib/components/Calculator.svelte index 00ee84f..9082c54 100644 --- a/hdyc-svelte/src/lib/components/Calculator.svelte +++ b/hdyc-svelte/src/lib/components/Calculator.svelte @@ -18,6 +18,9 @@ let swapState: { originalField: 1 | 2; originalValue: string } | null = null; let copyStatus: 'idle' | 'copied' | 'failed' = 'idle'; let statusTimeout: ReturnType | null = null; + let copyStatusMessage = ''; + let hasInputs = false; + let hasInputs = false; $: has3 = ['3col', '3col-mul'].includes(config.type) || !!config.labels.in3; $: isTextInput = ['base', 'text-bin', 'bin-text', 'dec-frac', 'dms-dd', 'dd-dms'].includes(config.type); @@ -104,6 +107,19 @@ } } + $: hasInputs = + Boolean( + val1.trim() || + val2.trim() || + (has3 && val3.trim()) + ); + $: copyStatusMessage = + copyStatus === 'copied' + ? 'Link copied to clipboard' + : copyStatus === 'failed' + ? 'Failed to copy link' + : ''; + onMount(() => { const params = new URLSearchParams($page.url.search); if (params.has('v1')) { val1 = params.get('v1')!; handleInput(1); } @@ -182,33 +198,32 @@