chore(control): save text and url

This commit is contained in:
E44
2026-01-19 18:57:56 +01:00
parent 4d5d9849da
commit 671c74f25d
2 changed files with 12 additions and 3 deletions
@@ -47,6 +47,8 @@
title: '',
});
let current_text = $state('');
function popup_close_function() {
popup_content.open = false;
}
@@ -144,7 +146,6 @@
await run_on_all_selected_displays((d) =>
show_html(d.ip, `<iframe src="${website_url}"></iframe>`)
);
website_url = '';
}
</script>
@@ -188,7 +189,7 @@
{/snippet}
{#snippet text_popup()}
<TipTapInput />
<TipTapInput bind:text={current_text}/>
{/snippet}
<div class="grid grid-rows-[2.5rem_auto] bg-stone-800 rounded-2xl min-w-0">
@@ -20,6 +20,12 @@
import { Color } from '@tiptap/extension-text-style';
import Highlight from '@tiptap/extension-highlight';
let {
text = $bindable()
}: {
text: string;
} = $props();
type TextEditOption = {
onclick: () => void;
is_selected: () => boolean;
@@ -128,15 +134,17 @@
Highlight.configure({
multicolor: true
})
],
],
content: text,
onTransaction: ({ editor }) => {
// Increment the state signal to force a re-render
editor_state = { editor };
},
autofocus: true
});
editor_state.editor.commands.selectAll();
});
onDestroy(() => {
if (editor_state.editor) text = editor_state.editor.getHTML();
editor_state.editor?.destroy();
});