Browse Source

Add NDK as parameter

`getContext` doesn't work in snippets
master
buttercat1791 7 months ago
parent
commit
19c874c2ed
  1. 3
      src/lib/components/EventDetails.svelte
  2. 5
      src/lib/components/cards/BlogHeader.svelte
  3. 2
      src/lib/components/cards/ProfileHeader.svelte
  4. 1
      src/lib/components/embedded_events/EmbeddedEvent.svelte
  5. 6
      src/lib/components/publications/PublicationHeader.svelte
  6. 5
      src/lib/components/util/ArticleNav.svelte
  7. 8
      src/lib/components/util/CardActions.svelte
  8. 13
      src/lib/components/util/Details.svelte
  9. 9
      src/lib/snippets/UserSnippets.svelte
  10. 4
      src/routes/about/+page.svelte
  11. 1
      src/routes/contact/+page.svelte
  12. 3
      src/routes/events/+page.svelte

3
src/lib/components/EventDetails.svelte

@ -285,6 +285,7 @@ @@ -285,6 +285,7 @@
>Author: {@render userBadge(
toNpub(event.pubkey) as string,
profile?.display_name || undefined,
ndk,
)}</span
>
{:else}
@ -336,7 +337,7 @@ @@ -336,7 +337,7 @@
<div class="text-xs text-gray-500 dark:text-gray-400 mb-1">
Quote repost:
</div>
{@render quotedContent(event, [], getNdkContext())}
{@render quotedContent(event, [], ndk)}
{#if content}
<div class="mt-3 pt-3 border-t border-gray-200 dark:border-gray-700">
<div class="text-xs text-gray-500 dark:text-gray-400 mb-1">

5
src/lib/components/cards/BlogHeader.svelte

@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
import { getMatchingTags } from "$lib/utils/nostrUtils";
import LazyImage from "$components/util/LazyImage.svelte";
import { generateDarkPastelColor } from "$lib/utils/image_utils";
import { getNdkContext } from "$lib/ndk";
const {
rootId,
@ -22,6 +23,8 @@ @@ -22,6 +23,8 @@
active: boolean;
}>();
const ndk = getNdkContext();
let title: string = $derived(event.getMatchingTags("title")[0]?.[1]);
let author: string = $derived(
getMatchingTags(event, "author")[0]?.[1] ?? "unknown",
@ -59,7 +62,7 @@ @@ -59,7 +62,7 @@
<div class="space-y-4 relative">
<div class="flex flex-row justify-between my-2">
<div class="flex flex-col">
{@render userBadge(authorPubkey, author)}
{@render userBadge(authorPubkey, author, ndk)}
<span class="text-gray-700 dark:text-gray-300">{publishedAt()}</span>
</div>
</div>

2
src/lib/components/cards/ProfileHeader.svelte

@ -145,6 +145,7 @@ @@ -145,6 +145,7 @@
profile.display_name ||
profile.name ||
event.pubkey,
ndk,
)}
</div>
{#if communityStatus === true}
@ -277,6 +278,7 @@ @@ -277,6 +278,7 @@
{@render userBadge(
toNpub(event.pubkey) as string,
profile?.displayName || profile.name || event.pubkey,
ndk,
)}
<P class="break-all">{profile.lud16}</P>
</div>

1
src/lib/components/embedded_events/EmbeddedEvent.svelte

@ -261,6 +261,7 @@ @@ -261,6 +261,7 @@
{@render userBadge(
toNpub(event.pubkey) as string,
authorDisplayName,
ndk,
)}
{:else}
<span class="text-xs text-gray-700 dark:text-gray-300 break-all">

6
src/lib/components/publications/PublicationHeader.svelte

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
<script lang="ts">
import { naddrEncode, neventEncode } from "$lib/utils";
import type { NDKEvent } from "@nostr-dev-kit/ndk";
import { activeInboxRelays } from "$lib/ndk";
import { activeInboxRelays, getNdkContext } from "$lib/ndk";
import { Card } from "flowbite-svelte";
import CardActions from "$components/util/CardActions.svelte";
import { userBadge } from "$lib/snippets/UserSnippets.svelte";
@ -11,6 +11,8 @@ @@ -11,6 +11,8 @@
const { event } = $props<{ event: NDKEvent }>();
const ndk = getNdkContext();
function getRelayUrls(): string[] {
return $activeInboxRelays;
}
@ -75,7 +77,7 @@ @@ -75,7 +77,7 @@
<h3 class="text-base font-normal mt-2 break-words">
by
{#if authorPubkey != null}
{@render userBadge(authorPubkey, author)}
{@render userBadge(authorPubkey, author, ndk)}
{:else}
{author}
{/if}

5
src/lib/components/util/ArticleNav.svelte

@ -14,6 +14,9 @@ @@ -14,6 +14,9 @@
import { goto } from "$app/navigation";
import { page } from "$app/stores";
import { indexKind } from "$lib/consts";
import { getNdkContext } from "$lib/ndk";
const ndk = getNdkContext();
let { publicationType, indexEvent } = $props<{
rootId: any;
@ -182,7 +185,7 @@ @@ -182,7 +185,7 @@
</p>
<p>
<span class="whitespace-nowrap"
>by {@render userBadge(pubkey, author)}</span
>by {@render userBadge(pubkey, author, ndk)}</span
>
</p>
</div>

8
src/lib/components/util/CardActions.svelte

@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
import CopyToClipboard from "$components/util/CopyToClipboard.svelte";
import { userBadge } from "$lib/snippets/UserSnippets.svelte";
import { neventEncode, naddrEncode } from "$lib/utils";
import { activeInboxRelays } from "$lib/ndk";
import { activeInboxRelays, getNdkContext } from "$lib/ndk";
import { userStore } from "$lib/stores/userStore";
import { goto } from "$app/navigation";
import type { NDKEvent } from "$lib/utils/nostrUtils";
@ -17,6 +17,8 @@ @@ -17,6 +17,8 @@
// Component props
let { event } = $props<{ event: NDKEvent }>();
const ndk = getNdkContext();
// Subscribe to userStore
let user = $state($userStore);
userStore.subscribe((val) => (user = val));
@ -205,7 +207,7 @@ @@ -205,7 +207,7 @@
<h2 class="text-base font-bold">
by
{#if originalAuthor}
{@render userBadge(originalAuthor, author)}
{@render userBadge(originalAuthor, author, ndk)}
{:else}
{author || "Unknown"}
{/if}
@ -228,7 +230,7 @@ @@ -228,7 +230,7 @@
<div class="flex flex-row">
<h4 class="text-base font-normal mt-2">
Index author: {@render userBadge(event.pubkey, author)}
Index author: {@render userBadge(event.pubkey, author, ndk)}
</h4>
</div>

13
src/lib/components/util/Details.svelte

@ -7,6 +7,9 @@ @@ -7,6 +7,9 @@
import { goto } from "$app/navigation";
import LazyImage from "$components/util/LazyImage.svelte";
import { generateDarkPastelColor } from "$lib/utils/image_utils";
import { getNdkContext } from "$lib/ndk";
const ndk = getNdkContext();
// isModal
// - don't show interactions in modal view
@ -62,7 +65,7 @@ @@ -62,7 +65,7 @@
<div class="flex flex-row justify-between items-center">
<!-- Index author badge -->
<P class="text-base font-normal"
>{@render userBadge(event.pubkey, undefined)}</P
>{@render userBadge(event.pubkey, undefined, ndk)}</P
>
<CardActions {event}></CardActions>
</div>
@ -91,13 +94,13 @@ @@ -91,13 +94,13 @@
<h2 class="text-base font-bold">
by
{#if authorTag && pTag && isValidNostrPubkey(pTag)}
{authorTag} {@render userBadge(pTag, "")}
{authorTag} {@render userBadge(pTag, "", ndk)}
{:else if authorTag}
{authorTag}
{:else if pTag && isValidNostrPubkey(pTag)}
{@render userBadge(pTag, "")}
{@render userBadge(pTag, "", ndk)}
{:else if originalAuthor !== null}
{@render userBadge(originalAuthor, author)}
{@render userBadge(originalAuthor, author, ndk)}
{:else}
unknown
{/if}
@ -139,7 +142,7 @@ @@ -139,7 +142,7 @@
{:else}
<span>Author:</span>
{/if}
{@render userBadge(event.pubkey, "")}
{@render userBadge(event.pubkey, "", ndk)}
</h4>
</div>

9
src/lib/snippets/UserSnippets.svelte

@ -6,18 +6,17 @@ @@ -6,18 +6,17 @@
getUserMetadata,
} from "$lib/utils/nostrUtils";
import type { UserProfile } from "$lib/models/user_profile";
import { getNdkContext } from "$lib/ndk";
import NDK from "@nostr-dev-kit/ndk";
export { userBadge };
</script>
{#snippet userBadge(identifier: string, displayText: string | undefined)}
{#snippet userBadge(identifier: string, displayText: string | undefined, ndk?: NDK)}
{@const npub = toNpub(identifier)}
{#if npub}
{#if !displayText || displayText.trim().toLowerCase() === "unknown"}
{#await getUserMetadata(npub, getNdkContext(), false) then profile}
{#await getUserMetadata(npub, ndk, false) then profile}
{@const p = profile as UserProfile}
{@const debugInfo = console.log("Profile data for", npub, ":", p)}
<span class="inline-flex items-center gap-0.5">
<button
class="npub-badge bg-transparent border-none p-0 underline cursor-pointer"
@ -41,7 +40,7 @@ @@ -41,7 +40,7 @@
</span>
{/await}
{:else}
{#await createProfileLinkWithVerification(npub as string, displayText, getNdkContext())}
{#await createProfileLinkWithVerification(npub as string, displayText, ndk)}
<span class="inline-flex items-center gap-0.5">
<button
class="npub-badge bg-transparent border-none p-0 underline cursor-pointer"

4
src/routes/about/+page.svelte

@ -3,10 +3,13 @@ @@ -3,10 +3,13 @@
import { Heading, Img, P, A } from "flowbite-svelte";
import { goto } from "$app/navigation";
import RelayStatus from "$lib/components/RelayStatus.svelte";
import { getNdkContext } from "$lib/ndk";
// Get the git tag version from environment variables
const appVersion = import.meta.env.APP_VERSION || "development";
const isVersionKnown = appVersion !== "development";
const ndk = getNdkContext();
</script>
<div class="w-full flex justify-center">
@ -52,6 +55,7 @@ @@ -52,6 +55,7 @@
We are easiest to contact over our Nostr address {@render userBadge(
"npub1s3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqd975wz",
"GitCitadel",
ndk,
)}. Or, you can visit us on our <A
href="https://gitcitadel.com"
title="GitCitadel Homepage"

1
src/routes/contact/+page.svelte

@ -309,6 +309,7 @@ @@ -309,6 +309,7 @@
You can contact us on Nostr {@render userBadge(
"npub1s3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqd975wz",
"GitCitadel",
ndk,
)} or you can view submitted issues on the <A
href="https://gitcitadel.com/r/naddr1qvzqqqrhnypzquqjyy5zww7uq7hehemjt7juf0q0c9rgv6lv8r2yxcxuf0rvcx9eqy88wumn8ghj7mn0wvhxcmmv9uq3wamnwvaz7tmjv4kxz7fwdehhxarj9e3xzmny9uqsuamnwvaz7tmwdaejumr0dshsqzjpd3jhsctwv3exjcgtpg0n0/issues"
target="_blank">Alexandria repo page.</A

3
src/routes/events/+page.svelte

@ -665,6 +665,7 @@ @@ -665,6 +665,7 @@
{@render userBadge(
toNpub(result.pubkey) as string,
profileData?.display_name || profileData?.name,
ndk,
)}
</span>
<span
@ -873,6 +874,7 @@ @@ -873,6 +874,7 @@
{@render userBadge(
toNpub(result.pubkey) as string,
profileData?.display_name || profileData?.name,
ndk,
)}
</span>
<span
@ -1079,6 +1081,7 @@ @@ -1079,6 +1081,7 @@
{@render userBadge(
toNpub(result.pubkey) as string,
profileData?.display_name || profileData?.name,
ndk,
)}
</span>
<span

Loading…
Cancel
Save