default.html
HTML document, ASCII text
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4{% block head %} 5<link rel="stylesheet" href="/static/style.css"> 6<title>{% block title %}{% trans %}Roundabout{% endtrans %}{% endblock %}</title> 7<link rel="apple-touch-icon" sizes="512x512" href="/static/apple-touch-icon.png"> 8<link rel="manifest" href="/static/site.webmanifest"> 9<link rel="mask-icon" href="/static/safari-pinned-tab.svg" color="#3f51b5"> 10<link rel="shortcut icon" href="/static/favicon.ico"> 11<meta name="apple-mobile-web-app-title" content="Roundabout"> 12<meta name="application-name" content="Roundabout"> 13<meta name="theme-color" content="#37474f"> 14<link rel="shortcut icon" href="/static/logo.svg"> 15<script src="https://code.iconify.design/iconify-icon/1.0.7/iconify-icon.min.js"></script> 16<meta name="viewport" content="width=device-width, initial-scale=1" /> 17{% endblock %} 18</head> 19<body> 20<dialog id="sidenav" class="sheet-left"> 21<x-frame style="--width: 320px; --margin: 0;"> 22<article class="card"> 23<section class="card-main"> 24<nav class="sidenav"> 25<ul> 26{% if logged_in_user %} 27<li><a href="/{{ logged_in_user }}"> 28<img src="/info/{{ logged_in_user }}/avatar" class="avatar" style="width: 1em; height: 1em;"> 29{{ logged_in_user }} 30</a></li> 31<li><a href="/notifications"> 32<iconify-icon icon="ic:baseline-inbox" data-badge="{{ unread }}"></iconify-icon> 33{% trans %}Notifications{% endtrans %} 34</a></li> 35<li><a href="/newrepo"> 36<iconify-icon icon="mdi:folder-plus"></iconify-icon> 37{% trans %}Create repository{% endtrans %} 38</a></li> 39<li><a href="/favourites"> 40<iconify-icon icon="mdi:star"></iconify-icon> 41{% trans %}Your favourites{% endtrans %} 42</a></li> 43<li><a href="/settings"> 44<iconify-icon icon="mdi:cog"></iconify-icon> 45{% trans %}Settings{% endtrans %} 46</a></li> 47<li><a href="/logout"> 48<iconify-icon icon="mdi:logout"></iconify-icon> 49{% trans %}Log out{% endtrans %} 50</a></li> 51{% else %} 52<li><a href="/accounts"> 53<iconify-icon icon="mdi:account"></iconify-icon> 54{% trans %}Log in or sign up{% endtrans %} 55</a></li> 56{% endif %} 57</ul> 58</nav> 59</section> 60</article> 61</x-frame> 62</dialog> 63{% block dialogs %} 64{% endblock %} 65<x-vbox class="nopad" style="align-items: stretch; height: 100vh;"> 66<header> 67<nav id="global-nav" class="breadcrumbs"> 68<a href="javascript:document.getElementById('sidenav').showModal();" id="sidenav-trigger"> 69<iconify-icon icon="mdi:menu"></iconify-icon> 70</a> 71<ul> 72<li><a href="/">{% trans %}roundabout{% endtrans %}</a></li> 73{% block breadcrumbs %}{% endblock %} 74</ul> 75<div class="flexible-space" id="navbar-separator"></div> 76<x-buttonbox style="align-items: center; gap: 12px;"> 77{% if logged_in_user %} 78<a href="/{{ logged_in_user }}"> 79<x-hbox class="box-center" style="--gap-box: 1ch;"> 80<img src="/info/{{ logged_in_user }}/avatar" class="avatar" style="width: 1em; height: 1em;"> 81{{ logged_in_user }} 82</x-hbox> 83</a> 84<a href="/notifications"> 85<iconify-icon icon="ic:baseline-inbox" data-badge="{{ unread }}"></iconify-icon> 86</a> 87<a href="/newrepo"> 88<iconify-icon icon="mdi:folder-plus" title="{% trans %}Create repository{% endtrans %}"></iconify-icon> 89</a> 90<a href="/favourites"> 91<iconify-icon icon="mdi:star" title="{% trans %}Favourites{% endtrans %}"></iconify-icon> 92</a> 93<a href="/settings"> 94<iconify-icon icon="mdi:cog" title="{% trans %}User settings{% endtrans %}"></iconify-icon> 95</a> 96<a href="/logout"> 97<iconify-icon icon="mdi:logout" title="{% trans %}Log out{% endtrans %}"></iconify-icon> 98</a> 99{% else %} 100<a href="/accounts">{% trans %}Log in or sign up{% endtrans %}</a> 101{% endif %} 102</x-buttonbox> 103</nav> 104{% if self.nav() | trim %} 105<nav id="repo-nav" class="navbar" style="max-height: 100%; flex: 0 0 var(--height-navbar);"> 106{% block nav %}{% endblock %} 107</nav> 108{% endif %} 109</header> 110<main> 111{% block content %} 112{% endblock %} 113</main> 114<footer> 115{{ Markup(config.footer) }} 116<x-hbox style="justify-content: center;"> 117<details> 118<summary>{% trans %}English{% endtrans %}</summary> 119<form method="POST" action="/language"> 120<ul> 121<li> 122<button type="submit" value="{{ locale }}" class="link-button" name="language"> 123{% trans %}Automatic{% endtrans %} 124</button> 125</li> 126{% for locale in config.available_locales %} 127<li> 128<button type="submit" value="{{ locale }}" class="link-button" name="language"> 129{{ locale_names[locale] }} 130</button> 131</li> 132{% endfor %} 133</ul> 134</form> 135</details> 136</x-hbox> 137</footer> 138</x-vbox> 139{% with messages = get_flashed_messages(with_categories=true) %} 140<ol class="toast-container"> 141{% for category, message in messages %} 142<li 143style=" 144{% if category %} 145background-color: 146{% if category == 'error' %}var(--color-error) 147{% elif category == 'alert' %}var(--color-alert) 148{% elif category == 'info' %}var(--color-info) 149{% elif category == 'success' %}var(--color-success) 150{% endif %}; 151color: 152{% if category == 'error' %}var(--color-error-text) 153{% elif category == 'alert' %}var(--color-alert-text) 154{% elif category == 'info' %}var(--color-info-text) 155{% elif category == 'success' %}var(--color-success-text) 156{% endif %}; 157{% endif %}" 158> 159{% if category | split | first == "task" %} 160{{ message }} 161{% else %} 162{{ message }} 163{% endif %} 164<x-buttonbox> 165<button class="button-flat" onclick="removeToast()" style="color: inherit !important;">{% trans %}Close{% endtrans %}</button> 166</x-buttonbox> 167</li> 168{% endfor %} 169</ol> 170{% endwith %} 171<script src="/static/ripples.js"></script> 172<script src="/static/efficient-ui/dialogs.js"></script> 173<script src="/static/efficient-ui/toasts.js"></script> 174{% block scripts %} 175{% endblock %} 176</body> 177</html> 178