diff --git a/src/lib/a/cards/AProfilePreview.svelte b/src/lib/a/cards/AProfilePreview.svelte new file mode 100644 index 0000000..e69de29 diff --git a/src/routes/profile/+page.svelte b/src/routes/profile/+page.svelte new file mode 100644 index 0000000..e8a45d1 --- /dev/null +++ b/src/routes/profile/+page.svelte @@ -0,0 +1,856 @@ + + +
+
+ +
+
+
+ Events + {#if showSidePanel} + + {/if} +
+ +

+ Search and view any event on the Nostr network. Enter an npub, nprofile, nevent, naddr, note, + pubkey, or eventID. You can also search for events by d-tag using the + format "d:tag-name", t-tags with "t:tag-name", or profiles by name with "n:name". +

+ +

Visit the + Compose page to create new events. +

+ + + + {#if secondOrderSearchMessage} +
+ {secondOrderSearchMessage} +
+ {/if} + + {#if searchResults.length > 0} +
+ + {#if searchType === "n"} + Search Results for name: "{searchTerm && searchTerm.length > 50 ? searchTerm.slice(0, 50) + '...' : searchTerm || ''}" ({searchResults.length} profiles) + {:else if searchType === "t"} + Search Results for t-tag: "{searchTerm && searchTerm.length > 50 ? searchTerm.slice(0, 50) + '...' : searchTerm || ''}" ({searchResults.length} + events) + {:else} + Search Results for d-tag: "{(() => { + const term = searchTerm || dTagValue?.toLowerCase() || ''; + return term.length > 50 ? term.slice(0, 50) + '...' : term; + })()}" ({searchResults.length} events) + {/if} + +
+ {#each searchResults as result, index} + + + {@const profileData = parseProfileContent(result)} + {/each} +
+
+ {/if} + + {#if secondOrderResults.length > 0} +
+ + Second-Order Events (References, Replies, Quotes) ({secondOrderResults.length} + events) + + {#if (searchType === "n" || searchType === "d") && secondOrderResults.length === 100} +

+ Showing the 100 newest events. More results may be available. +

+ {/if} +

+ Events that reference, reply to, highlight, or quote the original + events. +

+
+ {#each secondOrderResults as result, index} + {@const profileData = parseProfileContent(result)} + + {/each} +
+
+ {/if} + + {#if tTagResults.length > 0} +
+ + Search Results for t-tag: "{searchTerm || + dTagValue?.toLowerCase()}" ({tTagResults.length} events) + +

+ Events that are tagged with the t-tag. +

+
+ {#each tTagResults as result, index} + {@const profileData = parseProfileContent(result)} + + {/each} +
+
+ {/if} + +
+
+ + + {#if showSidePanel && event} +
+
+ Event Details + +
+ + {#if event.kind !== 0} +
+ + {#if isAddressableEvent(event)} + {@const naddrAddress = getViewPublicationNaddr(event)} + {#if naddrAddress} + +
+ +
+ {/if} + {/if} +
+ {/if} + + + + + + +
+ Add Comment + +
+
+ {/if} +
+