mirror of
https://github.com/aljazceru/njump.git
synced 2025-12-17 06:14:22 +01:00
Open the main page when clicking on the widget
This commit is contained in:
@@ -108,6 +108,7 @@ templ calendarEventTemplate(params CalendarPageParams, isEmbed bool) {
|
||||
if isEmbed {
|
||||
@embeddedPageTemplate(
|
||||
params.Event,
|
||||
params.NeventNaked,
|
||||
isEmbed,
|
||||
) {
|
||||
@calendarEventInnerBlock(params)
|
||||
|
||||
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
templ embeddedPageTemplate(
|
||||
event EnhancedEvent,
|
||||
NeventNaked string,
|
||||
isEmbed bool,
|
||||
) {
|
||||
<!DOCTYPE html>
|
||||
@@ -15,7 +16,10 @@ templ embeddedPageTemplate(
|
||||
href="/njump/static/tailwind-bundle.min.css"
|
||||
/>
|
||||
</head>
|
||||
<body class="relative bg-white text-gray-600 dark:bg-neutral-900 dark:text-neutral-50 print:text-black sm:items-center sm:justify-center">
|
||||
<body
|
||||
class="relative bg-white text-gray-600 dark:bg-neutral-900 dark:text-neutral-50 print:text-black sm:items-center sm:justify-center cursor-pointer"
|
||||
event-data={ templ.JSONString(NeventNaked) }
|
||||
>
|
||||
<style> ::-webkit-scrollbar { display: none; } </style>
|
||||
<div class="mx-auto w-full max-w-screen-2xl justify-between gap-10 overflow-visible px-4 pb-4 pt-4 print:w-full sm:w-11/12 md:w-10/12 lg:w-9/12">
|
||||
@authorHeaderTemplate(event.author)
|
||||
@@ -50,6 +54,14 @@ for (var i = 0; i < links.length; i++) {
|
||||
links[i].setAttribute('target', '_blank');
|
||||
}
|
||||
|
||||
// Open the njump page if the target is not a link
|
||||
document.onclick = function(event) {
|
||||
if (event.target.tagName.toLowerCase() !== 'a') {
|
||||
const neventNaked = JSON.parse(document.body.getAttribute('event-data'));
|
||||
window.open("/" + neventNaked, '_blank');
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('load', function () {
|
||||
var contentHeight = document.body.scrollHeight
|
||||
window.parent.postMessage({height: contentHeight}, '*')
|
||||
|
||||
@@ -13,71 +13,71 @@ templ embeddedProfileTemplate(params ProfilePageParams) {
|
||||
/>
|
||||
</head>
|
||||
<body
|
||||
class="relative bg-white text-gray-600 dark:bg-neutral-900 dark:text-neutral-50 print:text-black"
|
||||
class="relative bg-white text-gray-600 dark:bg-neutral-900 dark:text-neutral-50 print:text-black cursor-pointer"
|
||||
npub-data={ templ.JSONString(params.Metadata.Npub()) }
|
||||
>
|
||||
<style> ::-webkit-scrollbar { display: none; } </style>
|
||||
<div
|
||||
class="mx-auto w-full max-w-screen-2xl justify-between gap-10 overflow-visible px-4 pb-4 pt-4 print:w-full sm:w-11/12 md:w-10/12 lg:w-9/12"
|
||||
>
|
||||
<a href={ templ.URL("/" + params.Metadata.Npub()) } target="_new" class="no-underline">
|
||||
<div class="w-full break-words">
|
||||
<div class="w-full break-words print:w-full">
|
||||
<header class="mb-4 max-w-full">
|
||||
<div class="flex items-center">
|
||||
<div
|
||||
class="print:basis-1-12 imgclip mr-2 flex-shrink-0 basis-1/5 overflow-hidden sm:mr-4"
|
||||
>
|
||||
<img
|
||||
class="block h-auto w-full"
|
||||
src={ params.Metadata.Picture }
|
||||
/>
|
||||
</div>
|
||||
<div class="block print:text-base">
|
||||
<div class="text-2xl">{ params.Metadata.Name }</div>
|
||||
if params.Metadata.Name != params.Metadata.DisplayName {
|
||||
<div class="leading-4 text-stone-400">
|
||||
{ params.Metadata.DisplayName }
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="w-full break-words">
|
||||
<div class="w-full break-words print:w-full">
|
||||
<header class="mb-4 max-w-full">
|
||||
<div class="flex items-center">
|
||||
<div
|
||||
class="print:basis-1-12 imgclip mr-2 flex-shrink-0 basis-1/5 overflow-hidden sm:mr-4"
|
||||
>
|
||||
<img
|
||||
class="block h-auto w-full"
|
||||
src={ params.Metadata.Picture }
|
||||
/>
|
||||
</div>
|
||||
</header>
|
||||
if params.Metadata.Website != "" || params.RenderedAuthorAboutText != "" {
|
||||
<div class="-ml-4 mb-6 h-1.5 w-1/2 bg-zinc-100 dark:bg-zinc-700 sm:-ml-2.5"></div>
|
||||
<div class="mb-6 leading-5">{ params.Metadata.Website }</div>
|
||||
<div class="prose mb-6 leading-5 dark:prose-invert prose-headings:font-light sm:prose-a:text-justify">
|
||||
@templ.Raw(params.RenderedAuthorAboutText)
|
||||
</div>
|
||||
}
|
||||
<div class="-ml-4 mb-6 h-1.5 w-1/3 bg-zinc-100 dark:bg-zinc-700 sm:-ml-2.5"></div>
|
||||
<div class="mb-6 leading-5">
|
||||
<div class="text-sm text-strongpink">Public Key</div>
|
||||
{ params.Metadata.Npub() }
|
||||
</div>
|
||||
<div class="mb-6 leading-5">
|
||||
if params.Metadata.NIP05 != "" {
|
||||
<div class="text-sm text-strongpink">NIP-05 Address</div>
|
||||
{ params.Metadata.NIP05 }
|
||||
}
|
||||
</div>
|
||||
<div class="mb-6 leading-5">
|
||||
if params.Metadata.LUD16 != "" {
|
||||
<div class="text-sm text-strongpink">NIP-57 Address</div>
|
||||
{ params.Metadata.LUD16 }
|
||||
}
|
||||
</div>
|
||||
if len(params.AuthorRelays) > 0 {
|
||||
<div class="mb-6 leading-5">
|
||||
<div class="text-sm text-strongpink">Publishing to</div>
|
||||
for _, element := range params.AuthorRelays {
|
||||
<span class="mr-1 mt-2 inline-block max-w-full rounded-lg border border-slate-300 px-2 py-0.5">{ element }</span>
|
||||
<div class="block print:text-base">
|
||||
<div class="text-2xl">{ params.Metadata.Name }</div>
|
||||
if params.Metadata.Name != params.Metadata.DisplayName {
|
||||
<div class="leading-4 text-stone-400">
|
||||
{ params.Metadata.DisplayName }
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
if params.Metadata.Website != "" || params.RenderedAuthorAboutText != "" {
|
||||
<div class="-ml-4 mb-6 h-1.5 w-1/2 bg-zinc-100 dark:bg-zinc-700 sm:-ml-2.5"></div>
|
||||
<div class="mb-6 leading-5">{ params.Metadata.Website }</div>
|
||||
<div class="prose mb-6 leading-5 dark:prose-invert prose-headings:font-light sm:prose-a:text-justify">
|
||||
@templ.Raw(params.RenderedAuthorAboutText)
|
||||
</div>
|
||||
}
|
||||
<div class="-ml-4 mb-6 h-1.5 w-1/3 bg-zinc-100 dark:bg-zinc-700 sm:-ml-2.5"></div>
|
||||
<div class="mb-6 leading-5">
|
||||
<div class="text-sm text-strongpink">Public Key</div>
|
||||
{ params.Metadata.Npub() }
|
||||
</div>
|
||||
<div class="mb-6 leading-5">
|
||||
if params.Metadata.NIP05 != "" {
|
||||
<div class="text-sm text-strongpink">NIP-05 Address</div>
|
||||
{ params.Metadata.NIP05 }
|
||||
}
|
||||
</div>
|
||||
<div class="-ml-4 mb-6 h-1.5 w-1/3 bg-zinc-100 dark:bg-zinc-700 sm:-ml-2.5"></div>
|
||||
<div class="mb-6 leading-5">
|
||||
if params.Metadata.LUD16 != "" {
|
||||
<div class="text-sm text-strongpink">NIP-57 Address</div>
|
||||
{ params.Metadata.LUD16 }
|
||||
}
|
||||
</div>
|
||||
if len(params.AuthorRelays) > 0 {
|
||||
<div class="mb-6 leading-5">
|
||||
<div class="text-sm text-strongpink">Publishing to</div>
|
||||
for _, element := range params.AuthorRelays {
|
||||
<span class="mr-1 mt-2 inline-block max-w-full rounded-lg border border-slate-300 px-2 py-0.5">{ element }</span>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</a>
|
||||
<div class="-ml-4 mb-6 h-1.5 w-1/3 bg-zinc-100 dark:bg-zinc-700 sm:-ml-2.5"></div>
|
||||
</div>
|
||||
|
||||
<div class="text-sm leading-3 text-neutral-400">
|
||||
This note has been published on Nostr and is embedded via Njump,
|
||||
<a href="/" target="_new" class="underline">learn more</a>
|
||||
@@ -100,6 +100,14 @@ for (var i = 0; i < links.length; i++) {
|
||||
links[i].setAttribute('target', '_blank');
|
||||
}
|
||||
|
||||
// Open the njump page if the target is not a link
|
||||
document.onclick = function(event) {
|
||||
if (event.target.tagName.toLowerCase() !== 'a') {
|
||||
const npub = JSON.parse(document.body.getAttribute('npub-data'));
|
||||
window.open("/" + npub, '_blank');
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('load', function () {
|
||||
var contentHeight = document.body.scrollHeight
|
||||
window.parent.postMessage({height: contentHeight}, '*')
|
||||
|
||||
@@ -43,6 +43,7 @@ templ fileMetadataTemplate(params FileMetadataPageParams, isEmbed bool) {
|
||||
if isEmbed {
|
||||
@embeddedPageTemplate(
|
||||
params.Event,
|
||||
params.NeventNaked,
|
||||
isEmbed,
|
||||
) {
|
||||
@fileMetadataInnerBlock(params)
|
||||
|
||||
@@ -57,6 +57,7 @@ templ liveEventTemplate(params LiveEventPageParams, isEmbed bool) {
|
||||
if isEmbed {
|
||||
@embeddedPageTemplate(
|
||||
params.Event,
|
||||
params.NeventNaked,
|
||||
isEmbed,
|
||||
) {
|
||||
@liveEventInnerBlock(params)
|
||||
|
||||
@@ -23,6 +23,7 @@ templ liveEventMessageTemplate(params LiveEventMessagePageParams, isEmbed bool)
|
||||
if isEmbed {
|
||||
@embeddedPageTemplate(
|
||||
params.Event,
|
||||
params.NeventNaked,
|
||||
isEmbed,
|
||||
) {
|
||||
@liveEventMessageInnerBlock(params)
|
||||
|
||||
@@ -37,6 +37,7 @@ templ noteTemplate(params NotePageParams, isEmbed bool) {
|
||||
if isEmbed {
|
||||
@embeddedPageTemplate(
|
||||
params.Event,
|
||||
params.NeventNaked,
|
||||
isEmbed,
|
||||
) {
|
||||
@noteInnerBlock(params)
|
||||
|
||||
@@ -26,6 +26,7 @@ templ wikiEventTemplate(params WikiPageParams, isEmbed bool) {
|
||||
if isEmbed {
|
||||
@embeddedPageTemplate(
|
||||
params.Event,
|
||||
params.NeventNaked,
|
||||
isEmbed,
|
||||
) {
|
||||
@wikiInnerBlock(params)
|
||||
|
||||
Reference in New Issue
Block a user