diff --git a/src/app/components/IntentHandler.svelte b/src/app/components/IntentHandler.svelte
new file mode 100644
index 00000000..c598ae35
--- /dev/null
+++ b/src/app/components/IntentHandler.svelte
@@ -0,0 +1,273 @@
+
+
+{#if hasSettings}
+ event.preventDefault()}>
+
+
+
+ Apply Customization?
+ A link is requesting to customize your app.
+
+
+
+
+ {#if errors.length === 0}
+ This link will apply the following changes:
+
+ {#if t}
+ - Set theme to "{t}"
+ {/if}
+ {#if relays.length > 0}
+ - Add {relays.length} relay{relays.length > 1 ? "s" : ""} to your settings
+ {/if}
+ {#if blossoms.length > 0}
+ - Add {blossoms.length} blossom server{blossoms.length > 1 ? "s" : ""}
+ {/if}
+ {#if follows.length > 0}
+ - Follow {follows.length} person{follows.length > 1 ? "s" : ""}
+ {/if}
+ {#if joins.length > 0}
+ - Join {joins.length} communit{joins.length > 1 ? "ies" : "y"}
+ {/if}
+ {#if hasProfile}
+ - Update your profile metadata
+ {/if}
+ {#if hasShare}
+ - Open a new post dialog in a specific room
+ {/if}
+
+ {:else}
+ Some actions failed. You can abort or continue with successful actions only.
+
+ {#each errors as error}
+ - {error}
+ {/each}
+
+ {/if}
+
+
+
+ {#if errors.length === 0}
+
+
+ {:else}
+
+
+ {/if}
+
+
+
+{/if}
diff --git a/src/app/components/ThreadCreate.svelte b/src/app/components/ThreadCreate.svelte
index 5f947e0d..5ffc9d4f 100644
--- a/src/app/components/ThreadCreate.svelte
+++ b/src/app/components/ThreadCreate.svelte
@@ -23,9 +23,10 @@
type Props = {
url: string
h?: string
+ initialContent?: string
}
- const {url, h}: Props = $props()
+ const {url, h, initialContent = ""}: Props = $props()
const shouldProtect = canEnforceNip70(url)
@@ -73,7 +74,13 @@
history.back()
}
- const editor = makeEditor({url, submit, uploading, placeholder: "What's on your mind?"})
+ const editor = makeEditor({
+ content: initialContent,
+ url,
+ submit,
+ uploading,
+ placeholder: "What's on your mind?",
+ })
let title: string = $state("")
diff --git a/src/app/core/state.ts b/src/app/core/state.ts
index 195516fb..78aba6fb 100644
--- a/src/app/core/state.ts
+++ b/src/app/core/state.ts
@@ -259,8 +259,9 @@ export const pubkeyLink = (pubkey: string, relays = Router.get().FromPubkeys([pu
export const bootstrapPubkeys = derived(userFollowList, $userFollowList => {
const appPubkeys = DEFAULT_PUBKEYS.split(",")
const userPubkeys = shuffle(getPubkeyTagValues(getListTags($userFollowList)))
+ const mergedPubkeys = userPubkeys.length > 5 ? userPubkeys : [...userPubkeys, ...appPubkeys]
- return userPubkeys.length > 5 ? userPubkeys : [...userPubkeys, ...appPubkeys]
+ return uniq(mergedPubkeys)
})
export const deriveEvent = makeDeriveEvent({
diff --git a/src/lib/components/Dialog.svelte b/src/lib/components/Dialog.svelte
index 261cce23..4a9a58f3 100644
--- a/src/lib/components/Dialog.svelte
+++ b/src/lib/components/Dialog.svelte
@@ -6,7 +6,6 @@
import Close from "@assets/icons/close.svg?dataurl"
import Icon from "@lib/components/Icon.svelte"
import Button from "@lib/components/Button.svelte"
- import {clearModals} from "@app/util/modal"
type Props = {
onClose?: any
@@ -56,7 +55,7 @@
{#if !noEscape}
-