fix: mount the code editor in its own container so duplicated message renders don't collide (#27740)
This commit is contained in:
3 files changed
+9
-3
No files matched your search
@@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
export let showUserProfile = true;
|
export let showUserProfile = true;
|
||||||
export let thread = false;
|
export let thread = false;
|
||||||
export let id = null;
|
export let id: string | null = null;
|
||||||
|
|
||||||
export let replyToMessage = false;
|
export let replyToMessage = false;
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
|
|||||||
@@ -103,6 +103,7 @@
|
|||||||
{:else}
|
{:else}
|
||||||
{#each pinnedMessages as message, messageIdx (message.id)}
|
{#each pinnedMessages as message, messageIdx (message.id)}
|
||||||
<Message
|
<Message
|
||||||
|
id="pinned"
|
||||||
className="rounded-xl px-2"
|
className="rounded-xl px-2"
|
||||||
{message}
|
{message}
|
||||||
{channel}
|
{channel}
|
||||||
|
|||||||
@@ -79,6 +79,7 @@
|
|||||||
export let lang = '';
|
export let lang = '';
|
||||||
|
|
||||||
let codeEditor: EditorView | null = null;
|
let codeEditor: EditorView | null = null;
|
||||||
|
let codeEditorContainerElement: HTMLDivElement | undefined = undefined;
|
||||||
|
|
||||||
export const focus = () => {
|
export const focus = () => {
|
||||||
codeEditor?.focus();
|
codeEditor?.focus();
|
||||||
@@ -249,7 +250,7 @@ print("${endTag}")
|
|||||||
doc: _value,
|
doc: _value,
|
||||||
extensions: extensions
|
extensions: extensions
|
||||||
}),
|
}),
|
||||||
parent: document.getElementById(`code-textarea-${id}`)
|
parent: codeEditorContainerElement
|
||||||
});
|
});
|
||||||
|
|
||||||
if (isDarkMode) {
|
if (isDarkMode) {
|
||||||
@@ -319,4 +320,8 @@ print("${endTag}")
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="code-textarea-{id}" class="{className} h-full w-full min-w-0 overflow-hidden" />
|
<div
|
||||||
|
bind:this={codeEditorContainerElement}
|
||||||
|
id="code-textarea-{id}"
|
||||||
|
class="{className} h-full w-full min-w-0 overflow-hidden"
|
||||||
|
/>
|
||||||
Reference in new issue
Block a user