79 lines
2.9 KiB
Common Lisp
79 lines
2.9 KiB
Common Lisp
(text "{%- import \"components.html\" as components -%} {%- import \"macros.html\" as macros -%}")
|
|
(text "<!doctype html>")
|
|
|
|
(html
|
|
("lang" "en")
|
|
(head
|
|
(meta ("charset" "UTF-8"))
|
|
(meta ("name" "viewport") ("content" "width=device-width, initial-scale=1.0"))
|
|
(meta ("http-equiv" "X-UA-Compatible") ("content" "ie=edge"))
|
|
|
|
(link ("rel" "icon") ("href" "/public/favicon.svg"))
|
|
(link ("rel" "stylesheet") ("href" "/css/style.css?v=tetratto-{{ random_cache_breaker }}"))
|
|
|
|
(text "{% if user -%}
|
|
<script>
|
|
window.localStorage.setItem(
|
|
\"tetratto:theme\",
|
|
\"{{ user.settings.theme_preference }}\",
|
|
);
|
|
</script>
|
|
{%- endif %}")
|
|
|
|
(text "<script>
|
|
globalThis.ns_verbose = false;
|
|
globalThis.ns_config = {
|
|
root: \"/js/\",
|
|
verbose: globalThis.ns_verbose,
|
|
version: \"tetratto-{{ random_cache_breaker }}\",
|
|
};
|
|
|
|
globalThis._app_base = {
|
|
name: \"tetratto\",
|
|
ns_store: {},
|
|
classes: {},
|
|
};
|
|
|
|
globalThis.no_policy = false;
|
|
globalThis.BUILD_CODE = \"{{ random_cache_breaker }}\";
|
|
</script>")
|
|
|
|
(script ("src" "/js/loader.js?v=tetratto-{{ random_cache_breaker }}" ))
|
|
(script ("src" "/js/atto.js?v=tetratto-{{ random_cache_breaker }}" ))
|
|
|
|
(meta ("name" "theme-color") ("content" "{{ config.color }}"))
|
|
(meta ("name" "description") ("content" "{{ config.description }}"))
|
|
(meta ("property" "og:type") ("content" "website"))
|
|
(meta ("property" "og:site_name") ("content" "{{ config.name }}"))
|
|
|
|
(meta ("name" "turbo-prefetch") ("content" "false"))
|
|
(meta ("name" "turbo-refresh-method") ("content" "morph"))
|
|
(meta ("name" "turbo-refresh-scroll") ("content" "preserve"))
|
|
|
|
(script ("src" "https://unpkg.com/@hotwired/turbo@8.0.5/dist/turbo.es2017-esm.js") ("type" "module") ("async" "") ("defer" ""))
|
|
|
|
(text "{% block head %}{% endblock %}"))
|
|
|
|
(body
|
|
(div
|
|
("id" "page")
|
|
(text "{% if user and user.id == 0 -%}")
|
|
; account banned message
|
|
(article
|
|
(main
|
|
(div
|
|
("class" "card-nest")
|
|
(div
|
|
("class" "card small flex items-center gap-2 red")
|
|
(icon (text "frown"))
|
|
(str (text "general:label.account_banned")))
|
|
|
|
(div
|
|
("class" "card")
|
|
(str (text "general:label.account_banned_body"))))))
|
|
|
|
; if we aren't banned, just show the page body
|
|
(text "{% else %} {% block body %}{% endblock %} {%- endif %}")
|
|
(text "<!-- html_footer_goes_here -->"))
|
|
|
|
(text "{% include \"body.html\" %}")))
|