Files
njump/templates/profile.html

140 lines
4.8 KiB
HTML

<!DOCTYPE html>
<html class="theme--default">
<meta charset="UTF-8" />
<head>
<title>{{.Metadata.Name}} / {{.Metadata.DisplayName}} is on nostr</title>
<meta
name="description"
content="{{.Npub}} is {{.Metadata.Name}} / {{.Metadata.DisplayName}} public key on nostr"
/>
<meta property="og:title" content="{{.Title}}" />
<meta property="og:site_name" content="{{.Npub}}" />
{{ if not (eq "" .Metadata.Picture) }}
<meta property="og:image" content="{{.Metadata.Picture}}" />
<meta property="twitter:image" content="{{.Proxy}}{{.Metadata.Picture}}" />
{{end}} {{ if not (eq "" .Metadata.About) }}
<meta property="og:description" content="{{.Metadata.About}}" />
{{end}}
<meta property="twitter:card" content="summary" />
<link rel="canonical" href="https://njump.me/{{.Npub}}" />
<link
rel="sitemap"
type="application/xml"
title="Sitemap for {{.Npub}}"
href="/{{.Npub}}.Xml"
/>
{{template "head_common" .}}
</head>
<body class="profile">
{{template "top" .}}
<div class="sm:flex sm:justify-center sm:items-center mx-auto px-4 sm:px-0">
<div
class="w-full sm:flex sm:w-9/12 sm:px-4 justify-between overflow-visible gap-10 lg:gap-20 print:w-full"
>
<header class="column columnA">
<div
class="text-left basis-2/3 overflow-hidden hidden flex items-center"
_="on load or scroll from window or resize from window get #profile_name then measure its top, height then if top is less than height / -2 or height is 0 add .flex then remove .hidden otherwise remove .flex then add .hidden"
>
<div>
<div class="text-2xl">{{.Metadata.Name}}</div>
{{if not (eq .Metadata.Name .Metadata.DisplayName)}}
<div class="text-xl text-neutral-300 dark:text-slate-400">
{{.Metadata.DisplayName}}
</div>
{{end}}
</div>
</div>
<div
class="max-w-full imgclip overflow-hidden basis-2/5 sm:basis-auto"
>
<img class="block w-full h-auto" src="{{.Metadata.Picture}}" />
</div>
</header>
<div class="column column_content">
<header class="field hidden sm:flex sm:items-center">
<h1>
<div id="profile_name" class="text-2xl">{{.Metadata.Name}}</div>
{{if not (eq .Metadata.Name .Metadata.DisplayName)}}
<div class="text-xl text-neutral-300 dark:text-slate-400">
{{.Metadata.DisplayName}}
</div>
{{end}}
</h1>
</header>
<div class="field separator long"></div>
<div class="field">
<a href="{{.NormalizedAuthorWebsiteURL}}">{{.Metadata.Website}}</a>
</div>
<div class="field about">{{.RenderedAuthorAboutText}}</div>
<div class="field separator"></div>
<div class="field">
<div class="label">Public key</div>
{{.Npub}}
</div>
<div class="field">
<div class="label">NIP-05</div>
{{.Metadata.NIP05}}
</div>
<div class="field">
<div class="label">LN Address</div>
{{.Metadata.LUD16}}
</div>
{{ if not (eq 0 (len .AuthorRelays)) }}
<div class="field">
<div class="label">Posting on these relays</div>
{{range $index, $element := .AuthorRelays}}
<a href="/r/{{$element}}" class="button">{{$element}}</a>
{{end}}
</div>
{{ end }}
<!---->
{{template "details" .DetailsPartial}}
<div class="field last_update">
Last update:<br />
{{.CreatedAt}}
</div>
{{if not (eq 0 (len .LastNotes))}}
<div class="field separator"></div>
<nav class="field last_notes">
<h2 class="text-strongpink text-2xl">Last Notes</h2>
{{range $i, $ee := .LastNotes}}
<a href="/{{$ee.Nevent}}" class="note">
<div class="header">
<div class="published_at">{{$ee.CreatedAtStr}}</div>
{{if $ee.IsReply}}
<div class="is_reply">- reply</div>
{{end}}
</div>
<div
class="basis-full max-h-40 overflow-hidden mt-0.5"
_="on load if my scrollHeight > my offsetHeight add .gradient"
>
{{$ee.Preview}}
</div>
</a>
{{end}}
</nav>
{{end}}
<div class="field separator"></div>
</div>
{{template "clients" .ClientsPartial}}
</div>
</div>
{{template "footer" .}}
</body>
</html>