fix: resolve deep-link merge issues and restore settings/page scrolling
This commit is contained in:
@@ -18,8 +18,14 @@
|
|||||||
import {pushToast} from "@app/util/toast"
|
import {pushToast} from "@app/util/toast"
|
||||||
import {PROTECTED} from "@app/core/state"
|
import {PROTECTED} from "@app/core/state"
|
||||||
import {makeEditor} from "@app/editor"
|
import {makeEditor} from "@app/editor"
|
||||||
|
import {DraftKey} from "@app/util/drafts"
|
||||||
import {canEnforceNip70} from "@app/core/commands"
|
import {canEnforceNip70} from "@app/core/commands"
|
||||||
|
|
||||||
|
type Values = {
|
||||||
|
content?: string | object
|
||||||
|
title?: string
|
||||||
|
}
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
url: string
|
url: string
|
||||||
h?: string
|
h?: string
|
||||||
@@ -28,6 +34,9 @@
|
|||||||
|
|
||||||
const {url, h, initialContent = ""}: Props = $props()
|
const {url, h, initialContent = ""}: Props = $props()
|
||||||
|
|
||||||
|
const draftKey = new DraftKey<Values>(`thread:${url}:${h ?? ""}`)
|
||||||
|
const initialValues = initialContent ? {content: initialContent} : draftKey.get()
|
||||||
|
|
||||||
const shouldProtect = canEnforceNip70(url)
|
const shouldProtect = canEnforceNip70(url)
|
||||||
|
|
||||||
const uploading = writable(false)
|
const uploading = writable(false)
|
||||||
@@ -71,18 +80,29 @@
|
|||||||
event: makeEvent(THREAD, {content, tags}),
|
event: makeEvent(THREAD, {content, tags}),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
draftKey.clear()
|
||||||
history.back()
|
history.back()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let title: string = $state(initialValues?.title ?? "")
|
||||||
|
let content: string | object = $state(initialValues?.content ?? "")
|
||||||
|
|
||||||
|
const onChange = (json: object) => {
|
||||||
|
content = json
|
||||||
|
}
|
||||||
|
|
||||||
const editor = makeEditor({
|
const editor = makeEditor({
|
||||||
content: initialContent,
|
|
||||||
url,
|
url,
|
||||||
submit,
|
submit,
|
||||||
uploading,
|
uploading,
|
||||||
|
onChange,
|
||||||
placeholder: "What's on your mind?",
|
placeholder: "What's on your mind?",
|
||||||
|
content,
|
||||||
})
|
})
|
||||||
|
|
||||||
let title: string = $state("")
|
$effect(() => {
|
||||||
|
draftKey.set({title, content})
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Modal tag="form" onsubmit={preventDefault(submit)}>
|
<Modal tag="form" onsubmit={preventDefault(submit)}>
|
||||||
|
|||||||
@@ -9,6 +9,6 @@
|
|||||||
|
|
||||||
<div
|
<div
|
||||||
data-component="Page"
|
data-component="Page"
|
||||||
class="relative flex-grow flex flex-col min-w-0 ml-sai mb-sai mt-sai mr-sai bg-base-200 md:ml-0 md:mb-0 {props.class}">
|
class="scroll-container relative flex-grow flex min-h-0 flex-col min-w-0 overflow-y-auto overflow-x-hidden ml-sai mb-sai mt-sai mr-sai bg-base-200 md:ml-0 md:mb-0 {props.class}">
|
||||||
{@render props.children?.()}
|
{@render props.children?.()}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
if (term) {
|
if (term) {
|
||||||
pubkeys = Array.from(new Set($profileSearch.searchValues(term)))
|
pubkeys = Array.from(new Set($profileSearch.searchValues(term)))
|
||||||
} else {
|
} else {
|
||||||
pubkeys = Array.from(new Set($bootstrapPubkeys))
|
pubkeys = $bootstrapPubkeys
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,6 @@
|
|||||||
</SecondaryNavSection>
|
</SecondaryNavSection>
|
||||||
</SecondaryNav>
|
</SecondaryNav>
|
||||||
|
|
||||||
<Page class="scroll-container overflow-y-auto overflow-x-hidden">
|
<Page>
|
||||||
{@render children?.()}
|
{@render children?.()}
|
||||||
</Page>
|
</Page>
|
||||||
|
|||||||
Reference in New Issue
Block a user