mirror of
https://github.com/aljazceru/njump.git
synced 2025-12-17 06:14:22 +01:00
82 lines
3.4 KiB
Plaintext
82 lines
3.4 KiB
Plaintext
package main
|
|
|
|
templ liveEventTemplate(params LiveEventMessagePageParams) {
|
|
<!DOCTYPE html>
|
|
<html class="theme--default text-lg font-light print:text-base sm:text-xl">
|
|
<meta charset="UTF-8"/>
|
|
<head>
|
|
<title>Stream: { params.LiveEvent.Title } by { params.LiveEvent.Host.Name }</title>
|
|
@openGraphTemplate(params.OpenGraphParams)
|
|
@headCommonTemplate(params.HeadParams)
|
|
</head>
|
|
<body class="mb-16 bg-white text-gray-600 dark:bg-neutral-900 dark:text-neutral-50 print:text-black">
|
|
@topTemplate()
|
|
<div class="mx-auto px-4 sm:flex sm:items-center sm:justify-center sm:px-0">
|
|
<div class="w-full max-w-screen-2xl justify-between gap-10 overflow-visible print:w-full sm:flex sm:w-11/12 sm:px-4 md:w-10/12 lg:w-9/12 lg:gap-48vw">
|
|
<div class="w-full break-words print:w-full sm:w-3/4">
|
|
@authorHeaderTemplate(params.Metadata)
|
|
<div class="w-full text-right text-sm text-stone-400">
|
|
{ params.CreatedAt }
|
|
</div>
|
|
<div class="w-full text-right text-sm text-stone-400">
|
|
if params.ParentLink != "" {
|
|
in reply to
|
|
<span class="text-strongpink">
|
|
@templ.Raw(params.ParentLink)
|
|
</span>
|
|
}
|
|
</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>
|
|
<article class="prose-cite:text-sm prose mb-6 max-w-full leading-5 dark:prose-invert prose-headings:font-light prose-p:m-0 prose-p:mb-2 prose-blockquote:mx-0 prose-blockquote:my-8 prose-blockquote:border-l-05rem prose-blockquote:border-solid prose-blockquote:border-l-gray-100 prose-blockquote:py-2 prose-blockquote:pl-4 prose-blockquote:pr-0 prose-ol:m-0 prose-ol:p-0 prose-ol:pl-4 prose-ul:m-0 prose-ul:p-0 prose-ul:pl-4 prose-li:mb-2 dark:prose-blockquote:border-l-zinc-800 sm:prose-a:text-justify">
|
|
<h1 class="text-2xl">
|
|
<span class="mr-2">{ params.LiveEvent.Title }</span>
|
|
switch params.LiveEvent.Status {
|
|
case "ended":
|
|
<span class="whitespace-nowrap rounded bg-neutral-400 px-4 py-1 align-text-top text-base text-white dark:bg-neutral-700">Ended</span>
|
|
case "live":
|
|
<span class="whitespace-nowrap rounded bg-strongpink px-4 py-1 align-text-top text-base text-white">Live now!</span>
|
|
}
|
|
</h1>
|
|
<div class="mb-4">
|
|
if params.LiveEvent.HostNpub != "" {
|
|
Streaming hosted by
|
|
<a href="/{params.LiveEvent.HostNpub }">
|
|
{ params.LiveEvent.Host.Name }
|
|
</a>
|
|
}
|
|
</div>
|
|
<!-- main content -->
|
|
<div class="mb-4">
|
|
for _, v := range params.LiveEvent.Tags {
|
|
<span
|
|
class="mr-2 whitespace-nowrap rounded bg-neutral-200 px-2 dark:bg-neutral-700 dark:text-white"
|
|
>{ v }</span>
|
|
}
|
|
</div>
|
|
if params.LiveEvent.Summary != "" {
|
|
<div>{ params.LiveEvent.Summary }</div>
|
|
}
|
|
if params.LiveEvent.Image != "" {
|
|
<img
|
|
src={ params.LiveEvent.Image }
|
|
alt={ params.Alt }
|
|
_="on load
|
|
repeat until '{params.LiveEvent.Status }' == 'ended'
|
|
set @src to '{params.LiveEvent.Image }'
|
|
wait 5s
|
|
end
|
|
"
|
|
/>
|
|
}
|
|
</article>
|
|
@detailsTemplate(params.DetailsParams)
|
|
<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>
|
|
@clientsTemplate(params.Clients)
|
|
</div>
|
|
</div>
|
|
@footerTemplate()
|
|
</body>
|
|
</html>
|
|
}
|