tetratto/crates/app/src/public/html/root.lisp

80 lines
2.9 KiB
Common Lisp
Raw Normal View History

2025-05-31 10:17:49 -04:00
(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"))
2025-06-19 15:48:04 -04:00
(link ("rel" "stylesheet") ("href" "/css/style.css?v=tetratto-{{ random_cache_breaker }}"))
2025-05-31 10:17:49 -04:00
(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 }}\",
2025-05-31 10:17:49 -04:00
};
globalThis._app_base = {
name: \"tetratto\",
ns_store: {},
classes: {},
};
globalThis.no_policy = false;
2025-06-17 01:52:17 -04:00
globalThis.BUILD_CODE = \"{{ random_cache_breaker }}\";
2025-05-31 10:17:49 -04:00
</script>")
(script ("src" "/js/loader.js?v=tetratto-{{ random_cache_breaker }}" ))
(script ("src" "/js/atto.js?v=tetratto-{{ random_cache_breaker }}" ))
2025-05-31 10:17:49 -04:00
(meta ("name" "theme-color") ("content" "{{ config.color }}"))
(meta ("name" "description") ("content" "{{ config.description }}"))
(meta ("property" "og:type") ("content" "website"))
2025-06-01 12:25:33 -04:00
(meta ("property" "og:site_name") ("content" "{{ config.name }}"))
2025-05-31 10:17:49 -04:00
(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")
2025-05-31 13:07:34 -04:00
(icon (text "frown"))
(str (text "general:label.account_banned")))
2025-05-31 10:17:49 -04:00
(div
("class" "card")
2025-05-31 13:07:34 -04:00
(str (text "general:label.account_banned_body"))))))
2025-05-31 10:17:49 -04:00
; 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\" %}")))