summaryrefslogtreecommitdiff
path: root/views/pages/blog-page.html
blob: c9c9e917255032347f97bfca077814e3862e8b22 (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
{{ define "body" }}
<div class="bg-background-light flex flex-col inset-shadow px-8 py-4 overflow-y-auto">
    <p class="max-xs:block [@media(max-height:32rem)]:block hidden font-spectral text-2xl font-bold italic text-main-dark tracking-[.0125rem] mb-1">{{ .Title }}</p>
    <p class="max-xs:block [@media(max-height:32rem)]:block hidden grow text-lg font-spectral text-secondary">{{ .L.Metadata.Published }}: {{ .PublishedDate }}</p>
    <p class="max-xs:block [@media(max-height:32rem)]:block hidden grow text-lg font-spectral text-secondary">{{ .L.Metadata.Action }}: {{ .ActionDate }}</p>
    <hr class="max-xs:block [@media(max-height:32rem)]:block hidden border-t-2 border-dotted border-main-dark mt-1 mb-2 w-full ml-auto mr-auto">
    {{ .ParsedMarkdown }}
{{- if .MapLocationX }}
    <hr class="border-t-3 border-dotted border-main-dark mt-1 mb-2 w-[80%] ml-auto mr-auto">
    <div id="map-container" class="relative p-1 flex-none ml-auto mr-auto w-[60%] ar-lt-0.8:w-[80%] h-[40dvh] ar-lt-0.8:h-[30dvh]"></div>
    <hr class="border-t-3 border-dotted border-main-dark mt-1 mb-2 w-[80%] ml-auto mr-auto">

    <script>
        function initLocationMap(id, x, y, relativeErrorMeters = 0) {
            map = L.map(id).setView([x, y], 8);

            L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
                maxZoom: 18,
                attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
            }).addTo(map);

            if (relativeErrorMeters != 0) {
                var circle = L.circle([x, y], {
                    color: '#8a9d8a',
                    fillColor: '#8a9d8a',
                    fillOpacity: 0.15,
                    radius: relativeErrorMeters
                }).addTo(map);
            }

            var marker = L.marker([x, y], {
                title: '{{ .Title }}',
            }).addTo(map)
                .bindPopup('<span><b>{{ .Title }}</b><br><a href="https://www.openstreetmap.org/#map=13/{{ .MapLocationX }}/{{ .MapLocationY }}">{{ .MapLocationX }}, {{ .MapLocationY }}</a></span>')
                .openPopup();
        }

        if (map) {
            map.remove();
            map = null;
        }

        setTimeout(() => initLocationMap(
            'map-container',
            {{ .MapLocationX }},
            {{ .MapLocationY }},
            {{ .MapLocationAreaMeters }}
        ), 1000);
    </script>
{{- end }}
</div>
{{ end }}

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