mirror of
https://github.com/aljazceru/njump.git
synced 2025-12-17 06:14:22 +01:00
124 lines
4.5 KiB
Plaintext
124 lines
4.5 KiB
Plaintext
package main
|
|
|
|
templ embeddedProfileTemplate(params ProfilePageParams) {
|
|
<!DOCTYPE html>
|
|
<html class="theme--default text-lg font-light print:text-base sm:text-xl">
|
|
<meta charset="UTF-8"/>
|
|
<head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
<link
|
|
rel="stylesheet"
|
|
type="text/css"
|
|
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"
|
|
>
|
|
<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>
|
|
</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>
|
|
}
|
|
</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>
|
|
</a>
|
|
<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>
|
|
</div>
|
|
</div>
|
|
<svg width="0" height="0" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
|
<defs>
|
|
<clipPath id="svg-shape" clipPathUnits="objectBoundingBox">
|
|
<path
|
|
transform="scale(0.005, 0.005)"
|
|
d="M100,200c43.8,0,68.2,0,84.1-15.9C200,168.2,200,143.8,200,100s0-68.2-15.9-84.1C168.2,0,143.8,0,100,0S31.8,0,15.9,15.9C0,31.8,0,56.2,0,100s0,68.2,15.9,84.1C31.8,200,56.2,200,100,200z"
|
|
></path>
|
|
</clipPath>
|
|
</defs>
|
|
</svg>
|
|
<script>
|
|
window.addEventListener('load', function () {
|
|
var contentHeight = document.body.scrollHeight
|
|
window.parent.postMessage({height: contentHeight}, '*')
|
|
})
|
|
|
|
window.addEventListener('message', function (event) {
|
|
if (event.data.showGradient) {
|
|
var gradient = document.getElementById('bottom-gradient')
|
|
gradient.classList.remove('hidden')
|
|
}
|
|
if (event.data.setDarkMode) {
|
|
document.querySelector('html').classList.add('theme--dark')
|
|
}
|
|
})
|
|
</script>
|
|
<div
|
|
id="bottom-gradient"
|
|
class="pointer-events-none sticky bottom-0 left-0 hidden h-20 w-full bg-gradient-to-b from-transparent to-white dark:to-neutral-900"
|
|
></div>
|
|
<a href="/" target="_new" class="fixed bottom-2 right-2 w-[100px]">
|
|
<img
|
|
src="/njump/static/logo.png"
|
|
/>
|
|
</a>
|
|
</body>
|
|
</html>
|
|
}
|