summaryrefslogtreecommitdiff
path: root/views/pages/blog-page.html
blob: 3d3c623b55a6decb5259764d30d5238319250c2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{{ define "body" }}
<input class="htmx-exit-trigger" type="hidden" name="codename" value="{{ .Codename }}">
<div class="relative bg-paper bg-background-light flex flex-col py-4 overflow-y-auto">
    <div class="flex flex-col sm:flex-row h-[30cqb] sm:h-[15cqb] shadow-elevation-6">
        <div class="grow shrink-2 flex-1 overflow-y-auto -mt-4 z-1 shadow-elevation-3">
            <div class="multitone min-h-full" style="--multitone-bg: url({{ printf $.PhotoStorage.Thumbnail560p.BaseUrl .Thumbnail }});">
                <div class="ml-8 py-4">
                    <h1 class="max-xs:flex flex-row content-center [@media(max-height:32rem)]:block hidden font-gentium text-2xl font-bold italic text-main-hard tracking-[.0125rem] mb-1">
                        <div hx-get="/api/v1/like" hx-target="this" hx-swap="outerHTML" hx-trigger="load"></div>
                        {{ .Title }}
                    </h1>
                    <p class="block grow text-lg font-gentium text-secondary">
                        <b>{{ l $.Lang "Metadata" "Published" }}</b>: 
                        <time datetime="{{ .PublishedDate }}" hx-get="/api/v1/tz" hx-vals='js:{timestamp: "{{ .PublishedDate }}", tz: clientTimeZone}' hx-target="this" hx-swap="innerHTML" hx-trigger="load">
                            {{ .PublishedDate }}
                        </time>
                    </p>
                    <p class="block grow text-lg font-gentium text-secondary"><b>{{ l $.Lang "Metadata" "Action" }}</b>: {{ .ActionDate }}</p>
                    <p class="block grow text-md font-gentium font-thin text-main-hard">{{ .ShortDescription }}</p>
                </div>
            </div>
        </div>
        <hr class="block sm:hidden border-t-[0.1875rem] bg-paper bg-background-dark border-dotted border-main-hard w-full">
        {{- if .Medley }}
        <div class="overflow-y-auto grow-2 shrink-0 flex-1 bg-paper bg-background-dark shadow-elevation-3 sm:-mt-4 z-2">
            <h2 class="text-2xl font-gentium font-extrabold text-main-hard tracking-[.0125rem] ml-2 mb-2 border-b-[0.25rem] border-dotted w-fit">
                {{ l .Lang "Medleys" .Medley }}
            </h2>
            <div hx-get="/api/v1/blog-search" hx-vals='js:{lang: "{{ .Lang }}", tz: clientTimeZone, medley: "{{ .Medley }}", sort: "medley", hideTags: true, hidePublishedTime: true, highlight: "{{ .Codename }}"}' hx-target="this" hx-swap="innerHTML" hx-trigger="load"
                class="grow flex flex-col pr-2">
                Loading...
            </div>
        </div>
        {{- end }}
    </div>
    <hr class="block border-t-[0.375rem] w-24 mx-auto my-4 border-dotted border-main-hard">
    <article class="px-8 flex flex-col">
        {{ .ParsedMarkdown }}
    </article>
{{- if .MapLocationX }}
    <hr class="border-t-[0.375rem] border-dotted border-main-hard my-2 w-24 mx-auto">
    <div id="map-outer-container" class="relative p-1 flex-none mx-auto w-[80%] lg:w-[60%] h-[30dvh] md:h-[40dvh]"
        hx-get="/api/v1/map" hx-vals='{"lang": "{{ .Lang }}", "codename": "{{ .Codename }}", "zoom": 8}' hx-target="this" hx-swap="innerHTML" hx-trigger="load">
    </div>
    <hr class="border-t-[0.375rem] border-dotted border-main-hard my-2 w-24 mx-auto">

    <script>
        var lightbox = GLightbox({
            selector: '.glightbox',
            moreLength: 0
        });
    </script>
{{- end }}
</article>
{{ end }}

{{ define "header" }}
<div hx-get="/api/v1/like" hx-target="this" hx-swap="outerHTML" hx-trigger="load"></div>
{{ end }}