You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
3.9 KiB
92 lines
3.9 KiB
<html>
|
|
<head>
|
|
|
|
<title>Stashr - {{ title }}</title>
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, shrink-to-fit=no">
|
|
|
|
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/bootstrap.css') }}">
|
|
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/stashr.css') }}">
|
|
|
|
<link href="https://cdn.jsdelivr.net/npm/vue-toast-notification/dist/theme-sugar.css" rel="stylesheet">
|
|
|
|
<link rel="manifest" href="{{ url_for('static', filename='manifest/manifest.json') }}">
|
|
|
|
<link rel="apple-touch-icon" href="touch-icon-iphone.png">
|
|
<link rel="apple-touch-icon" sizes="152x152" href="{{ url_for('static', filename='assets/stashr-152.png') }}">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='assets/stashr-180.png') }}">
|
|
<link rel="apple-touch-icon" sizes="167x167" href="{{ url_for('static', filename='assets/stashr-167.png') }}">
|
|
<meta name="apple-mobile-web-app-title" content="Stashr">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
|
|
|
<script src="{{ url_for('static', filename='js/stashr.js') }}"></script>
|
|
<script src="{{ url_for('static', filename='js/vue.dev.js') }}"></script>
|
|
|
|
</head>
|
|
<body class="text-center login">
|
|
|
|
<main class="stashr-firstrun">
|
|
<div class="card bg-primary px-3 shadow">
|
|
<form action="{{ url_for('first_run_page') }}" method="post" id="first_run_form">
|
|
{{ first_run_form.csrf_token }}
|
|
<img class="stashr-logo" src="{{ url_for('static', filename='assets/stashr.svg') }}" w="170" h="170">
|
|
|
|
{% if first_run_form.errors %}
|
|
<div class="notification bg-danger rounded m-3 text-white" role="alert" id='error_container'>
|
|
{% for field_name, field_errors in first_run_form.errors|dictsort if field_errors %}
|
|
<ul>
|
|
{% for error in field_errors %}
|
|
<li>{{ error }}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
<div class="form-floating">
|
|
{{ first_run_form.username(class_='form-control', placeholder=first_run_form.username.label.text) }}
|
|
{{ first_run_form.username.label }}
|
|
</div>
|
|
<div class="form-floating">
|
|
{{ first_run_form.email(class_='form-control', placeholder=first_run_form.email.label.text) }}
|
|
{{ first_run_form.email.label }}
|
|
</div>
|
|
<div class="form-floating">
|
|
{{ first_run_form.password(type='password', class_='form-control', placeholder=first_run_form.password.label.text) }}
|
|
{{ first_run_form.password.label }}
|
|
</div>
|
|
<div class="form-floating">
|
|
{{ first_run_form.confirm_password(type='password', class_='form-control', placeholder=first_run_form.confirm_password.label.text) }}
|
|
{{ first_run_form.confirm_password.label }}
|
|
</div>
|
|
<div class="form-floating">
|
|
{{ first_run_form.comicvine_api_key(class_='form-control', placeholder=first_run_form.comicvine_api_key.label.text) }}
|
|
{{ first_run_form.comicvine_api_key.label }}
|
|
</div>
|
|
<div class="form-floating">
|
|
{{ first_run_form.logging_level(class_='form-control') }}
|
|
{{ first_run_form.logging_level.label }}
|
|
</div>
|
|
<hr />
|
|
|
|
{{ first_run_form.first_run_button(class_='btn btn-success') }}
|
|
|
|
</form>
|
|
</div>
|
|
</main>
|
|
|
|
<script type="text/javascript">
|
|
|
|
Vue.use(VueToast);
|
|
|
|
{% with flashes = get_flashed_messages(with_categories=true) %}
|
|
{% if flashes %}
|
|
{% for category, message in flashes %}
|
|
stashrToast('{{ message }}', '{{ category }}');
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endwith %}
|
|
</script>
|
|
|
|
</body>
|
|
</html> |