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</footer> 117</x-vbox> 118{% with messages = get_flashed_messages(with_categories=true) %} 119<ol class="toast-container"> 120{% for category, message in messages %} 121<li 122style=" 123{% if category %} 124background-color: 125{% if category == 'error' %}var(--color-error) 126{% elif category == 'alert' %}var(--color-alert) 127{% elif category == 'info' %}var(--color-info) 128{% elif category == 'success' %}var(--color-success) 129{% endif %}; 130color: 131{% if category == 'error' %}var(--color-error-text) 132{% elif category == 'alert' %}var(--color-alert-text) 133{% elif category == 'info' %}var(--color-info-text) 134{% elif category == 'success' %}var(--color-success-text) 135{% endif %}; 136{% endif %}" 137> 138{% if category | split | first == "task" %} 139{{ message }} 140{% else %} 141{{ message }} 142{% endif %} 143<x-buttonbox> 144<button class="button-flat" onclick="removeToast()" style="color: inherit !important;">{% trans %}Close{% endtrans %}</button> 145</x-buttonbox> 146</li> 147{% endfor %} 148</ol> 149{% endwith %} 150<script src="/static/ripples.js"></script> 151<script src="/static/efficient-ui/dialogs.js"></script> 152<script src="/static/efficient-ui/toasts.js"></script> 153{% block scripts %} 154{% endblock %} 155</body> 156</html> 157