Files
njump/event.html
2023-05-23 11:03:55 +02:00

162 lines
5.4 KiB
HTML

<!DOCTYPE html>
<html>
<head>
{{if eq .type "profile"}}
<title>Nostr Public Key {{.npub}}</title>
<meta property="og:site_name" content="{{.npub}}" />
<meta property="og:title" content="{{.title}}" />
{{ if .metadata.Picture }}
<meta property="og:image" content="{{.metadata.Picture}}" />
<meta property="twitter:image" content="{{.proxy}}{{.metadata.Picture}}" />
{{end}} {{ if .metadata.About }}
<meta property="og:description" content="{{.metadata.About}}" />
{{end}}
<meta property="twitter:card" content="summary" />
{{end}}
<!----------->
{{ if eq .type "event" }}
<title>Nostr Event {{.nevent}}</title>
<meta property="og:site_name" content="{{.authorLong}}" />
<meta property="og:title" content="{{.title}}" />
<meta name="twitter:title" content="{{.twitterTitle}}" />
<!---->
{{ if .textImageURL }}
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@nostrprotocol" />
<meta property="og:image" content="{{.textImageURL}}" />
<meta name="twitter:image" content="{{.textImageURL}}" />
{{ else }}
<!---->
<meta property="twitter:card" content="summary" />
{{ if .image }}
<meta property="og:image" content="{{.image}}" />
<meta name="twitter:image" content="{{.proxy}}{{.image}}" />
{{end}} {{ if .video }}
<meta property="og:video" content="{{.video}}" />
<meta property="og:video:secure_url" content="{{.video}}" />
<meta property="og:video:type" content="video/{{.videoType}}" />
{{end}}
<!---->
{{end}}
<meta property="og:description" content="{{.description}}" />
<meta name="twitter:description" content="{{.description}}" />
{{end}}
<!----------->
{{ if eq .type "address" }}
<title>Nostr Address {{.naddr}}</title>
{{end}}
<!----------->
<link rel="stylesheet" href="/static/styles.css" />
</head>
<body>
<div class="top">
<a href="https://nostr.com" class="nostr_link">What is nostr?</a>
</div>
<div class="container_wrapper">
<div class="container profile">
<div class="column column1">
<div class="pic-wrapper">
<img class="pic" src="{{ .metadata.Picture }}" />
<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"
/>
</clipPath>
</defs>
</svg>
</div>
<div class="last_update">
Last update:<br/>
{{.createdAt}}
</div>
</div>
<div class="column column2">
<div class="field name">
{{.content_json.name}} <span class="display">{{.content_json.display_name}}</span>
</div>
<div class="field separator"></div>
<div class="field">
<a href="{{.content_json.website}}">{{.content_json.website}}</a>
</div>
<div class="field">
{{.content_json.about}}
</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>
{{.content_json.nip05}}
</div>
<div class="field">
<div class="label">LN Address</div>
{{.content_json.lud16}}
</div>
<div class="field">
<div class="label">Metadata Event</div>
{{.nevent}}
</div>
<div class="field">
<div class="label">JSON</div>
{{.eventJSON}}
</div>
<div class="field separator"></div>
</div>
<div class="column column3">
<div class="title">Open {{.type}} in</div>
<div class="clients">
{{range .clients}}
<div class="btn">
<a class="client" href="{{.url}}">{{.name}}</a>
<span></span>
</div>
{{end}}
</div>
</div>
</div>
</div>
<!-- <div style="display: flex; justify-content: flex-end">
<span>
powered by <a href="https://git.fiatjaf.com/njump">njump</a>
</span>
</div> -->
<script>
const type = '{{.type}}'
let counts = []
let clients = document.querySelectorAll('.client')
for (let i = 0; i < clients.length; i++) {
let name = clients[i].innerText
let url = clients[i].href
let key = 'nj:' + type + ':' + name
let count = parseInt(localStorage.getItem(key) || 0)
clients[i].nextElementSibling.innerText = count
clients[i].addEventListener('click', () => {
localStorage.setItem(key, count + 1)
})
counts.push([count, name, url])
}
counts.sort((a, b) => b[0] - a[0])
let tailsum = counts.slice(1).reduce((acc, c) => acc + c[0], 0)
if (location.hash !== '#noredirect') {
if (counts[0][0] - tailsum > 10) {
location.href = counts[0][2]
}
}
</script>
<div class="background"></div>
</body>
</html>