bunkerized-nginx/src/ui/templates/setup.html

1807 lines
854 KiB
HTML
Raw Normal View History

2023-11-17 10:03:35 +01:00
<!DOCTYPE html>
{% block content %}
<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" />
<title>BunkerWeb UI | Setup</title>
2023-11-30 15:21:39 +01:00
<link
rel="shortcut icon"
href="data:image/x-icon;base64,AAABAAEAYGAAAAEAIAColAAAFgAAACgAAABgAAAAwAAAAAEAIAAAAAAAAJAAABILAAASCwAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AHdVCLB3VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UIkP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AHdVCMB3VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCED///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AHdVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCOD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Ad1UIIHdVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQiA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Ad1UIQHdVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQjg////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Ad1UIgHdVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UIYP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Ad1UIkHdVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UIsP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Ad1UIwHdVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1UI/3dVCP93VQj/d1
/>
<style>
@font-face {
font-family: "Open Sans";
src: url("data:@file/x-font-ttf;base64,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
format("truetype");
}
</style>
<style>
/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/
*,
:after,
:before {
box-sizing: border-box;
border: 0 solid #e9ecef;
}
:after,
:before {
--tw-content: "";
}
html {
line-height: 1.5;
-webkit-text-size-adjust: 100%;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
font-family: Open Sans;
font-feature-settings: normal;
font-variation-settings: normal;
}
body {
margin: 0;
line-height: inherit;
}
hr {
height: 0;
color: inherit;
border-top-width: 1px;
}
abbr:where([title]) {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: inherit;
font-weight: inherit;
}
a {
color: inherit;
text-decoration: inherit;
}
b,
strong {
font-weight: bolder;
}
code,
kbd,
pre,
samp {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
Liberation Mono, Courier New, monospace;
font-size: 1em;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: initial;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
table {
text-indent: 0;
border-color: inherit;
border-collapse: collapse;
}
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
font-size: 100%;
font-weight: inherit;
line-height: inherit;
color: inherit;
margin: 0;
padding: 0;
}
button,
select {
text-transform: none;
}
[type="button"],
[type="reset"],
[type="submit"],
button {
-webkit-appearance: button;
background-color: initial;
background-image: none;
}
:-moz-focusring {
outline: auto;
}
:-moz-ui-invalid {
box-shadow: none;
}
progress {
vertical-align: initial;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
summary {
display: list-item;
}
blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
margin: 0;
}
fieldset {
margin: 0;
}
fieldset,
legend {
padding: 0;
}
menu,
ol,
ul {
list-style: none;
margin: 0;
padding: 0;
}
textarea {
resize: vertical;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
opacity: 1;
color: #ced4da;
}
input::placeholder,
textarea::placeholder {
opacity: 1;
color: #ced4da;
}
[role="button"],
button {
cursor: pointer;
}
:disabled {
cursor: default;
}
audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
display: block;
vertical-align: middle;
}
img,
video {
max-width: 100%;
height: auto;
}
[hidden] {
display: none;
}
*,
::backdrop,
:after,
:before {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-gradient-from-position: ;
--tw-gradient-via-position: ;
--tw-gradient-to-position: ;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: #5e72e480;
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
}
a {
letter-spacing: -0.025rem;
}
hr {
margin: 1rem 0;
border: 0;
opacity: 0.25;
}
img {
max-width: none;
}
label {
display: inline-block;
}
p {
line-height: 1.625;
font-weight: 400;
margin-bottom: 1rem;
}
small {
font-size: 0.875em;
}
svg {
display: inline;
}
table {
border-collapse: inherit;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-bottom: 0.5rem;
color: #344767;
}
h1,
h2,
h3,
h4 {
letter-spacing: -0.05rem;
}
h1,
h2,
h3 {
font-weight: 700;
}
h4,
h5,
h6 {
font-weight: 600;
}
h1 {
font-size: 3rem;
line-height: 1.25;
}
h2 {
font-size: 2.25rem;
line-height: 1.3;
}
h3 {
font-size: 1.875rem;
}
h3,
h4 {
line-height: 1.375;
}
h4 {
font-size: 1.5rem;
}
h5 {
font-size: 1.25rem;
line-height: 1.375;
}
h6 {
font-size: 1rem;
line-height: 1.625;
}
.sr-only {
2023-11-30 15:21:39 +01:00
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border-width: 0 !important;
}
2023-11-27 17:56:44 +01:00
.pointer-events-none {
2023-11-30 15:21:39 +01:00
pointer-events: none !important;
2023-11-27 17:56:44 +01:00
}
.collapse {
2023-11-30 15:21:39 +01:00
visibility: collapse !important;
}
.fixed {
2023-11-30 15:21:39 +01:00
position: fixed !important;
}
.absolute {
2023-11-30 15:21:39 +01:00
position: absolute !important;
}
.relative {
2023-11-30 15:21:39 +01:00
position: relative !important;
}
.bottom-0 {
2023-11-30 15:21:39 +01:00
bottom: 0 !important;
}
2023-11-27 17:56:44 +01:00
.left-0 {
2023-11-30 15:21:39 +01:00
left: 0 !important;
2023-11-27 17:56:44 +01:00
}
.right-0 {
2023-11-30 15:21:39 +01:00
right: 0 !important;
}
.right-7 {
2023-11-30 15:21:39 +01:00
right: 1.75rem !important;
}
2023-11-27 17:56:44 +01:00
.top-0 {
2023-11-30 15:21:39 +01:00
top: 0 !important;
2023-11-27 17:56:44 +01:00
}
.top-1 {
2023-11-30 15:21:39 +01:00
top: 0.25rem !important;
}
.top-1\.5 {
2023-11-30 15:21:39 +01:00
top: 0.375rem !important;
}
2023-11-27 17:56:44 +01:00
.z-10 {
2023-11-30 15:21:39 +01:00
z-index: 10 !important;
2023-11-27 17:56:44 +01:00
}
.z-\[10000\] {
2023-11-30 15:21:39 +01:00
z-index: 10000 !important;
}
.z-\[1001\] {
2023-11-30 15:21:39 +01:00
z-index: 1001 !important;
}
.col-span-12 {
2023-11-30 15:21:39 +01:00
grid-column: span 12 / span 12 !important;
}
.col-span-2 {
2023-11-30 15:21:39 +01:00
grid-column: span 2 / span 2 !important;
}
2023-11-27 17:56:44 +01:00
.col-span-6 {
2023-11-30 15:21:39 +01:00
grid-column: span 6 / span 6 !important;
2023-11-27 17:56:44 +01:00
}
.m-0 {
2023-11-30 15:21:39 +01:00
margin: 0 !important;
}
.mx-0 {
2023-11-30 15:21:39 +01:00
margin-left: 0 !important;
margin-right: 0 !important;
}
2023-11-27 17:56:44 +01:00
.mx-2 {
2023-11-30 15:21:39 +01:00
margin-left: 0.5rem !important;
margin-right: 0.5rem !important;
2023-11-27 17:56:44 +01:00
}
.mx-4 {
2023-11-30 15:21:39 +01:00
margin-left: 1rem !important;
margin-right: 1rem !important;
}
.my-1 {
2023-11-30 15:21:39 +01:00
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.my-3 {
2023-11-30 15:21:39 +01:00
margin-top: 0.75rem !important;
margin-bottom: 0.75rem !important;
}
.my-4 {
2023-11-30 15:21:39 +01:00
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.my-6 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.mb-0 {
2023-11-30 15:21:39 +01:00
margin-bottom: 0 !important;
}
.mb-1 {
2023-11-30 15:21:39 +01:00
margin-bottom: 0.25rem !important;
}
2023-11-27 17:56:44 +01:00
.mb-2 {
2023-11-30 15:21:39 +01:00
margin-bottom: 0.5rem !important;
2023-11-27 17:56:44 +01:00
}
.mb-3 {
2023-11-30 15:21:39 +01:00
margin-bottom: 0.75rem !important;
}
.mb-4 {
margin-bottom: 1rem !important;
}
.mb-6 {
2023-11-30 15:21:39 +01:00
margin-bottom: 1.5rem !important;
}
2023-11-27 17:56:44 +01:00
.mb-7 {
2023-11-30 15:21:39 +01:00
margin-bottom: 1.75rem !important;
2023-11-27 17:56:44 +01:00
}
.mb-8 {
2023-11-30 15:21:39 +01:00
margin-bottom: 2rem !important;
}
2023-11-27 17:56:44 +01:00
.ml-2 {
2023-11-30 15:21:39 +01:00
margin-left: 0.5rem !important;
2023-11-27 17:56:44 +01:00
}
.mr-3 {
2023-11-30 15:21:39 +01:00
margin-right: 0.75rem !important;
}
2023-11-27 17:56:44 +01:00
.mt-1 {
2023-11-30 15:21:39 +01:00
margin-top: 0.25rem !important;
2023-11-27 17:56:44 +01:00
}
.mt-2 {
margin-top: 0.5rem !important;
}
2023-11-27 17:56:44 +01:00
.mt-4 {
2023-11-30 15:21:39 +01:00
margin-top: 1rem !important;
2023-11-27 17:56:44 +01:00
}
.mt-6 {
2023-11-30 15:21:39 +01:00
margin-top: 1.5rem !important;
}
.block {
2023-11-30 15:21:39 +01:00
display: block !important;
}
.inline-block {
2023-11-30 15:21:39 +01:00
display: inline-block !important;
}
.inline {
2023-11-30 15:21:39 +01:00
display: inline !important;
}
.flex {
2023-11-30 15:21:39 +01:00
display: flex !important;
}
.table {
2023-11-30 15:21:39 +01:00
display: table !important;
}
.grid {
2023-11-30 15:21:39 +01:00
display: grid !important;
}
.hidden {
2023-11-30 15:21:39 +01:00
display: none !important;
}
.h-12 {
2023-11-30 15:21:39 +01:00
height: 3rem !important;
}
.h-14 {
2023-11-30 15:21:39 +01:00
height: 3.5rem !important;
}
.h-16 {
2023-11-30 15:21:39 +01:00
height: 4rem !important;
}
.h-24 {
2023-11-30 15:21:39 +01:00
height: 6rem !important;
}
2023-11-27 17:56:44 +01:00
.h-3 {
2023-11-30 15:21:39 +01:00
height: 0.75rem !important;
2023-11-27 17:56:44 +01:00
}
.h-4 {
2023-11-30 15:21:39 +01:00
height: 1rem !important;
2023-11-27 17:56:44 +01:00
}
.h-5 {
2023-11-30 15:21:39 +01:00
height: 1.25rem !important;
}
.h-full {
2023-11-30 15:21:39 +01:00
height: 100% !important;
}
.h-screen {
2023-11-30 15:21:39 +01:00
height: 100vh !important;
}
.max-h-30 {
2023-11-30 15:21:39 +01:00
max-height: 7.5rem !important;
}
.min-h-20 {
2023-11-30 15:21:39 +01:00
min-height: 5rem !important;
}
.min-h-screen {
2023-11-30 15:21:39 +01:00
min-height: 100vh !important;
}
.w-1 {
2023-11-30 15:21:39 +01:00
width: 0.25rem !important;
}
2023-11-27 17:56:44 +01:00
.w-3 {
2023-11-30 15:21:39 +01:00
width: 0.75rem !important;
2023-11-27 17:56:44 +01:00
}
.w-4 {
2023-11-30 15:21:39 +01:00
width: 1rem !important;
2023-11-27 17:56:44 +01:00
}
.w-40 {
2023-11-30 15:21:39 +01:00
width: 10rem !important;
}
.w-5 {
2023-11-30 15:21:39 +01:00
width: 1.25rem !important;
}
.w-50 {
2023-11-30 15:21:39 +01:00
width: 12.5rem !important;
}
.w-60 {
2023-11-30 15:21:39 +01:00
width: 15rem !important;
}
.w-80 {
2023-11-30 15:21:39 +01:00
width: 20rem !important;
}
2023-11-27 17:56:44 +01:00
.w-fit {
2023-11-30 15:21:39 +01:00
width: -moz-fit-content !important;
width: fit-content !important;
2023-11-27 17:56:44 +01:00
}
.w-full {
2023-11-30 15:21:39 +01:00
width: 100% !important;
}
.w-screen {
2023-11-30 15:21:39 +01:00
width: 100vw !important;
}
.max-w-60 {
2023-11-30 15:21:39 +01:00
max-width: 15rem !important;
}
.max-w-\[300px\] {
2023-11-30 15:21:39 +01:00
max-width: 300px !important;
}
.max-w-\[400px\] {
2023-11-30 15:21:39 +01:00
max-width: 400px !important;
}
2023-11-30 15:21:39 +01:00
.max-w-\[550px\] {
max-width: 550px !important;
2023-11-27 17:56:44 +01:00
}
.border-collapse {
2023-11-30 15:21:39 +01:00
border-collapse: collapse !important;
}
.-translate-x-1 {
--tw-translate-x: -0.25rem !important;
}
.-translate-x-1,
.-translate-x-1\.5 {
transform: translate(var(--tw-translate-x), var(--tw-translate-y))
rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
scaleY(var(--tw-scale-y)) !important;
}
.-translate-x-1\.5 {
--tw-translate-x: -0.375rem !important;
}
2023-11-27 17:56:44 +01:00
.translate-x-1 {
2023-11-30 15:21:39 +01:00
--tw-translate-x: 0.25rem !important;
2023-11-27 17:56:44 +01:00
}
.translate-x-1,
.translate-y-2 {
transform: translate(var(--tw-translate-x), var(--tw-translate-y))
rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
2023-11-30 15:21:39 +01:00
scaleY(var(--tw-scale-y)) !important;
2023-11-27 17:56:44 +01:00
}
.translate-y-2 {
2023-11-30 15:21:39 +01:00
--tw-translate-y: 0.5rem !important;
2023-11-27 17:56:44 +01:00
}
.scale-105 {
2023-11-30 15:21:39 +01:00
--tw-scale-x: 1.05 !important;
--tw-scale-y: 1.05 !important;
}
.scale-105,
.transform {
transform: translate(var(--tw-translate-x), var(--tw-translate-y))
rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
2023-11-30 15:21:39 +01:00
scaleY(var(--tw-scale-y)) !important;
}
.cursor-pointer {
2023-11-30 15:21:39 +01:00
cursor: pointer !important;
}
.resize {
2023-11-30 15:21:39 +01:00
resize: both !important;
}
.appearance-none {
2023-11-30 15:21:39 +01:00
-webkit-appearance: none !important;
-moz-appearance: none !important;
appearance: none !important;
}
2023-11-27 17:56:44 +01:00
.grid-cols-12 {
2023-11-30 15:21:39 +01:00
grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
2023-11-27 17:56:44 +01:00
}
.grid-cols-2 {
2023-11-30 15:21:39 +01:00
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.flex-col {
2023-11-30 15:21:39 +01:00
flex-direction: column !important;
}
.items-center {
2023-11-30 15:21:39 +01:00
align-items: center !important;
}
2023-11-27 17:56:44 +01:00
.justify-start {
2023-11-30 15:21:39 +01:00
justify-content: flex-start !important;
2023-11-27 17:56:44 +01:00
}
.justify-center {
2023-11-30 15:21:39 +01:00
justify-content: center !important;
}
2023-11-27 17:56:44 +01:00
.justify-items-center {
2023-11-30 15:21:39 +01:00
justify-items: center !important;
2023-11-27 17:56:44 +01:00
}
.gap-6 {
2023-11-30 15:21:39 +01:00
gap: 1.5rem !important;
2023-11-27 17:56:44 +01:00
}
.gap-x-6 {
2023-11-30 15:21:39 +01:00
-moz-column-gap: 1.5rem !important;
column-gap: 1.5rem !important;
2023-11-27 17:56:44 +01:00
}
.overflow-hidden {
2023-11-30 15:21:39 +01:00
overflow: hidden !important;
2023-11-27 17:56:44 +01:00
}
.break-words {
2023-11-30 15:21:39 +01:00
overflow-wrap: break-word !important;
}
.rounded {
2023-11-30 15:21:39 +01:00
border-radius: 0.25rem !important;
}
2023-11-27 17:56:44 +01:00
.rounded-full {
2023-11-30 15:21:39 +01:00
border-radius: 9999px !important;
2023-11-27 17:56:44 +01:00
}
.rounded-lg {
2023-11-30 15:21:39 +01:00
border-radius: 0.5rem !important;
}
.border {
2023-11-30 15:21:39 +01:00
border-width: 1px !important;
}
.border-solid {
2023-11-30 15:21:39 +01:00
border-style: solid !important;
}
.border-gray-300 {
2023-11-30 15:21:39 +01:00
--tw-border-opacity: 1 !important;
border-color: rgb(210 214 218 / var(--tw-border-opacity)) !important;
}
2023-11-27 17:56:44 +01:00
.bg-gray-200 {
2023-11-30 15:21:39 +01:00
background-color: rgb(233 236 239 / var(--tw-bg-opacity)) !important;
2023-11-27 17:56:44 +01:00
}
2023-11-30 15:21:39 +01:00
.bg-gray-200,
2023-11-27 17:56:44 +01:00
.bg-gray-300 {
2023-11-30 15:21:39 +01:00
--tw-bg-opacity: 1 !important;
}
.bg-gray-300 {
background-color: rgb(210 214 218 / var(--tw-bg-opacity)) !important;
2023-11-27 17:56:44 +01:00
}
.bg-gray-50 {
2023-11-30 15:21:39 +01:00
background-color: rgb(248 249 250 / var(--tw-bg-opacity)) !important;
}
2023-11-30 15:21:39 +01:00
.bg-gray-50,
2023-11-27 17:56:44 +01:00
.bg-green-500 {
2023-11-30 15:21:39 +01:00
--tw-bg-opacity: 1 !important;
}
.bg-green-500 {
background-color: rgb(34 197 94 / var(--tw-bg-opacity)) !important;
2023-11-27 17:56:44 +01:00
}
.bg-primary {
2023-11-30 15:21:39 +01:00
background-color: rgb(8 85 119 / var(--tw-bg-opacity)) !important;
}
2023-11-30 15:21:39 +01:00
.bg-primary,
2023-11-27 17:56:44 +01:00
.bg-red-500 {
2023-11-30 15:21:39 +01:00
--tw-bg-opacity: 1 !important;
}
.bg-red-500 {
background-color: rgb(245 57 57 / var(--tw-bg-opacity)) !important;
2023-11-27 17:56:44 +01:00
}
.bg-white {
2023-11-30 15:21:39 +01:00
--tw-bg-opacity: 1 !important;
background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
}
.bg-150 {
2023-11-30 15:21:39 +01:00
background-size: 150% !important;
}
.bg-clip-border {
2023-11-30 15:21:39 +01:00
background-clip: initial !important;
}
.bg-clip-padding {
2023-11-30 15:21:39 +01:00
background-clip: padding-box !important;
}
.bg-x-25 {
2023-11-30 15:21:39 +01:00
background-position: 25% 0 !important;
}
.fill-gray-600 {
2023-11-30 15:21:39 +01:00
fill: #6c757d !important;
}
2023-11-27 17:56:44 +01:00
.fill-white {
2023-11-30 15:21:39 +01:00
fill: #fff !important;
2023-11-27 17:56:44 +01:00
}
.p-2 {
2023-11-30 15:21:39 +01:00
padding: 0.5rem !important;
2023-11-27 17:56:44 +01:00
}
.p-4 {
2023-11-30 15:21:39 +01:00
padding: 1rem !important;
}
.px-12 {
2023-11-30 15:21:39 +01:00
padding-left: 3rem !important;
padding-right: 3rem !important;
}
2023-11-27 17:56:44 +01:00
.px-2 {
2023-11-30 15:21:39 +01:00
padding-left: 0.5rem !important;
padding-right: 0.5rem !important;
2023-11-27 17:56:44 +01:00
}
.px-4 {
2023-11-30 15:21:39 +01:00
padding-left: 1rem !important;
padding-right: 1rem !important;
}
.px-6 {
2023-11-30 15:21:39 +01:00
padding-left: 1.5rem !important;
padding-right: 1.5rem !important;
}
2023-11-27 17:56:44 +01:00
.px-8 {
2023-11-30 15:21:39 +01:00
padding-left: 2rem !important;
padding-right: 2rem !important;
2023-11-27 17:56:44 +01:00
}
.py-2 {
2023-11-30 15:21:39 +01:00
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.py-3 {
2023-11-30 15:21:39 +01:00
padding-top: 0.75rem !important;
padding-bottom: 0.75rem !important;
}
.pb-4 {
2023-11-30 15:21:39 +01:00
padding-bottom: 1rem !important;
}
.pt-10 {
2023-11-30 15:21:39 +01:00
padding-top: 2.5rem !important;
}
.text-left {
text-align: left !important;
}
.text-center {
2023-11-30 15:21:39 +01:00
text-align: center !important;
}
.align-middle {
2023-11-30 15:21:39 +01:00
vertical-align: middle !important;
}
.text-2xl {
font-size: 1.5rem !important;
line-height: 2rem !important;
}
.text-3xl {
2023-11-30 15:21:39 +01:00
font-size: 1.875rem !important;
line-height: 2.25rem !important;
}
2023-11-27 17:56:44 +01:00
.text-base {
2023-11-30 15:21:39 +01:00
font-size: 1rem !important;
line-height: 1.5rem !important;
2023-11-27 17:56:44 +01:00
}
.text-lg {
2023-11-30 15:21:39 +01:00
font-size: 1.125rem !important;
line-height: 1.75rem !important;
}
.text-sm {
2023-11-30 15:21:39 +01:00
font-size: 0.875rem !important;
line-height: 1.5rem !important;
}
.text-xl {
font-size: 1.25rem !important;
line-height: 1.75rem !important;
}
2023-11-27 17:56:44 +01:00
.text-xs {
2023-11-30 15:21:39 +01:00
font-size: 0.75rem !important;
line-height: 1rem !important;
2023-11-27 17:56:44 +01:00
}
.font-bold {
2023-11-30 15:21:39 +01:00
font-weight: 700 !important;
}
.font-normal {
2023-11-30 15:21:39 +01:00
font-weight: 400 !important;
}
.uppercase {
2023-11-30 15:21:39 +01:00
text-transform: uppercase !important;
}
.leading-5 {
2023-11-30 15:21:39 +01:00
line-height: 1.25rem !important;
}
.leading-5\.6 {
2023-11-30 15:21:39 +01:00
line-height: 1.4rem !important;
}
.leading-normal {
2023-11-30 15:21:39 +01:00
line-height: 1.5 !important;
}
.tracking-wide {
2023-11-30 15:21:39 +01:00
letter-spacing: 0.025em !important;
}
.text-gray-700 {
2023-11-30 15:21:39 +01:00
--tw-text-opacity: 1 !important;
color: rgb(73 80 87 / var(--tw-text-opacity)) !important;
}
.text-green-500 {
2023-11-30 15:21:39 +01:00
--tw-text-opacity: 1 !important;
color: rgb(34 197 94 / var(--tw-text-opacity)) !important;
}
.text-red-500 {
2023-11-30 15:21:39 +01:00
--tw-text-opacity: 1 !important;
color: rgb(245 57 57 / var(--tw-text-opacity)) !important;
}
2023-11-27 17:56:44 +01:00
.text-secondary {
2023-11-30 15:21:39 +01:00
color: rgb(64 187 107 / var(--tw-text-opacity)) !important;
2023-11-27 17:56:44 +01:00
}
2023-11-30 15:21:39 +01:00
.text-secondary,
.text-white {
2023-11-30 15:21:39 +01:00
--tw-text-opacity: 1 !important;
}
.text-white {
color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}
.underline {
2023-11-30 15:21:39 +01:00
text-decoration-line: underline !important;
}
.opacity-0 {
2023-11-30 15:21:39 +01:00
opacity: 0 !important;
}
.shadow-md {
2023-11-30 15:21:39 +01:00
--tw-shadow: 0 4px 6px #32325d1a, 0 1px 3px #00000014 !important;
--tw-shadow-colored: 0 4px 6px var(--tw-shadow-color),
2023-11-30 15:21:39 +01:00
0 1px 3px var(--tw-shadow-color) !important;
}
.shadow-md,
.shadow-xs {
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
2023-11-30 15:21:39 +01:00
var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}
.shadow-xs {
2023-11-30 15:21:39 +01:00
--tw-shadow: 0 7px 14px #32325d1a, 0 3px 6px #00000014 !important;
--tw-shadow-colored: 0 7px 14px var(--tw-shadow-color),
2023-11-30 15:21:39 +01:00
0 3px 6px var(--tw-shadow-color) !important;
}
.outline-none {
2023-11-30 15:21:39 +01:00
outline: 2px solid #0000 !important;
outline-offset: 2px !important;
}
.outline {
2023-11-30 15:21:39 +01:00
outline-style: solid !important;
}
.filter {
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast)
var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert)
2023-11-30 15:21:39 +01:00
var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}
.backdrop-filter {
-webkit-backdrop-filter: var(--tw-backdrop-blur)
var(--tw-backdrop-brightness) var(--tw-backdrop-contrast)
var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate)
var(--tw-backdrop-invert) var(--tw-backdrop-opacity)
var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
var(--tw-backdrop-sepia) !important;
}
.transition {
transition-property: color, background-color, border-color,
text-decoration-color, fill, stroke, opacity, box-shadow, transform,
2023-11-30 15:21:39 +01:00
filter, -webkit-backdrop-filter !important;
transition-property: color, background-color, border-color,
text-decoration-color, fill, stroke, opacity, box-shadow, transform,
2023-11-30 15:21:39 +01:00
filter, backdrop-filter !important;
transition-property: color, background-color, border-color,
text-decoration-color, fill, stroke, opacity, box-shadow, transform,
2023-11-30 15:21:39 +01:00
filter, backdrop-filter, -webkit-backdrop-filter !important;
transition-timing-function: ease !important;
transition-duration: 0.15s !important;
}
.transition-all {
2023-11-30 15:21:39 +01:00
transition-property: all !important;
transition-timing-function: ease !important;
transition-duration: 0.15s !important;
}
.duration-300 {
2023-11-30 15:21:39 +01:00
transition-duration: 0.3s !important;
}
.ease-in {
2023-11-30 15:21:39 +01:00
transition-timing-function: ease-in !important;
}
.ease-in-out {
2023-11-30 15:21:39 +01:00
transition-timing-function: ease-in-out !important;
}
* {
font-family: Open Sans, sans-serif !important;
}
2023-11-27 17:56:44 +01:00
.checkbox {
position: relative;
z-index: 10;
float: left;
margin-top: 0.25rem;
height: 1.25rem;
width: 1.25rem;
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 0.35rem;
border-width: 1px;
border-color: rgb(210 214 218 / var(--tw-border-opacity));
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
background-size: contain;
background-position: 50%;
background-repeat: no-repeat;
vertical-align: top;
font-size: 1rem;
line-height: 1.5rem;
transition-property: all;
transition-timing-function: ease;
transition-duration: 0.25s;
}
.checkbox,
.checkbox:disabled {
--tw-border-opacity: 1;
--tw-bg-opacity: 1;
}
.checkbox:disabled {
cursor: default;
border-color: rgb(206 212 218 / var(--tw-border-opacity));
background-color: rgb(206 212 218 / var(--tw-bg-opacity));
--tw-text-opacity: 1;
color: rgb(73 80 87 / var(--tw-text-opacity));
}
.checkbox[aria-checked="true"] {
z-index: 0;
--tw-border-opacity: 1;
border-color: rgb(8 85 119 / var(--tw-border-opacity));
--tw-bg-opacity: 1;
background-color: rgb(8 85 119 / var(--tw-bg-opacity));
}
.checkbox:disabled[aria-checked="true"] {
--tw-border-opacity: 1;
border-color: rgb(206 212 218 / var(--tw-border-opacity));
--tw-bg-opacity: 1;
background-color: rgb(206 212 218 / var(--tw-bg-opacity));
--tw-text-opacity: 1;
color: rgb(73 80 87 / var(--tw-text-opacity));
}
:is(.dark .checkbox) {
--tw-border-opacity: 1;
border-color: rgb(98 117 148 / var(--tw-border-opacity));
--tw-bg-opacity: 1;
background-color: rgb(52 71 103 / var(--tw-bg-opacity));
}
:is(.dark .checkbox:disabled) {
--tw-border-opacity: 1;
border-color: rgb(37 47 64 / var(--tw-border-opacity));
--tw-bg-opacity: 1;
background-color: rgb(37 47 64 / var(--tw-bg-opacity));
--tw-text-opacity: 1;
color: rgb(210 214 218 / var(--tw-text-opacity));
}
:is(.dark .checkbox[aria-checked="true"]) {
--tw-border-opacity: 1;
border-color: rgb(8 85 119 / var(--tw-border-opacity));
--tw-bg-opacity: 1;
background-color: rgb(8 85 119 / var(--tw-bg-opacity));
}
2023-11-27 17:56:44 +01:00
:is(.dark .checkbox:disabled[aria-checked="true"]) {
2023-11-30 15:21:39 +01:00
--tw-border-opacity: 1;
border-color: rgb(37 47 64 / var(--tw-border-opacity));
--tw-bg-opacity: 1;
2023-11-30 15:21:39 +01:00
background-color: rgb(37 47 64 / var(--tw-bg-opacity));
--tw-text-opacity: 1;
color: rgb(210 214 218 / var(--tw-text-opacity));
}
.placeholder\:text-gray-500::-moz-placeholder {
--tw-text-opacity: 1 !important;
color: rgb(173 181 189 / var(--tw-text-opacity)) !important;
}
.placeholder\:text-gray-500::placeholder {
--tw-text-opacity: 1 !important;
color: rgb(173 181 189 / var(--tw-text-opacity)) !important;
}
.valid\:\!border-red-500:valid {
--tw-border-opacity: 1 !important;
border-color: rgb(245 57 57 / var(--tw-border-opacity)) !important;
}
.hover\:-translate-y-px:hover {
2023-11-30 15:21:39 +01:00
--tw-translate-y: -1px !important;
}
.hover\:-translate-y-px:hover,
.hover\:scale-102:hover {
transform: translate(var(--tw-translate-x), var(--tw-translate-y))
rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
2023-11-30 15:21:39 +01:00
scaleY(var(--tw-scale-y)) !important;
}
.hover\:scale-102:hover {
2023-11-30 15:21:39 +01:00
--tw-scale-x: 1.02 !important;
--tw-scale-y: 1.02 !important;
}
.hover\:bg-primary\/80:hover {
2023-11-30 15:21:39 +01:00
background-color: #085577cc !important;
}
.hover\:shadow-md:hover {
2023-11-30 15:21:39 +01:00
--tw-shadow: 0 4px 6px #32325d1a, 0 1px 3px #00000014 !important;
--tw-shadow-colored: 0 4px 6px var(--tw-shadow-color),
2023-11-30 15:21:39 +01:00
0 1px 3px var(--tw-shadow-color) !important;
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
2023-11-30 15:21:39 +01:00
var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}
.focus\:\!border-red-500:focus {
--tw-border-opacity: 1 !important;
border-color: rgb(245 57 57 / var(--tw-border-opacity)) !important;
}
.focus\:border-primary:focus {
2023-11-30 15:21:39 +01:00
--tw-border-opacity: 1 !important;
border-color: rgb(8 85 119 / var(--tw-border-opacity)) !important;
}
.focus\:bg-primary\/80:focus {
2023-11-30 15:21:39 +01:00
background-color: #085577cc !important;
}
.focus\:valid\:\!border-red-500:valid:focus {
--tw-border-opacity: 1 !important;
border-color: rgb(245 57 57 / var(--tw-border-opacity)) !important;
}
.focus\:valid\:border-green-500:valid:focus {
2023-11-30 15:21:39 +01:00
--tw-border-opacity: 1 !important;
border-color: rgb(34 197 94 / var(--tw-border-opacity)) !important;
}
.active\:\!border-red-500:active,
.focus\:invalid\:border-red-500:invalid:focus {
2023-11-30 15:21:39 +01:00
--tw-border-opacity: 1 !important;
border-color: rgb(245 57 57 / var(--tw-border-opacity)) !important;
}
.active\:opacity-85:active {
2023-11-30 15:21:39 +01:00
opacity: 0.85 !important;
}
.active\:valid\:\!border-red-500:valid:active {
2023-11-30 15:21:39 +01:00
--tw-border-opacity: 1 !important;
border-color: rgb(245 57 57 / var(--tw-border-opacity)) !important;
}
.disabled\:opacity-75:disabled {
opacity: 0.75 !important;
}
@media (min-width: 768px) {
2023-11-27 17:56:44 +01:00
.md\:mb-0 {
2023-11-30 15:21:39 +01:00
margin-bottom: 0 !important;
2023-11-27 17:56:44 +01:00
}
.md\:mb-3 {
2023-11-30 15:21:39 +01:00
margin-bottom: 0.75rem !important;
}
.md\:mr-3 {
2023-11-30 15:21:39 +01:00
margin-right: 0.75rem !important;
}
2023-11-27 17:56:44 +01:00
.md\:mt-6 {
2023-11-30 15:21:39 +01:00
margin-top: 1.5rem !important;
2023-11-27 17:56:44 +01:00
}
.md\:h-16 {
2023-11-30 15:21:39 +01:00
height: 4rem !important;
}
.md\:w-1\/2 {
2023-11-30 15:21:39 +01:00
width: 50% !important;
}
.md\:w-60 {
2023-11-30 15:21:39 +01:00
width: 15rem !important;
}
2023-11-27 17:56:44 +01:00
.md\:gap-x-6 {
2023-11-30 15:21:39 +01:00
-moz-column-gap: 1.5rem !important;
column-gap: 1.5rem !important;
2023-11-27 17:56:44 +01:00
}
.md\:text-base {
2023-11-30 15:21:39 +01:00
font-size: 1rem !important;
line-height: 1.5rem !important;
2023-11-27 17:56:44 +01:00
}
}
@media (min-width: 992px) {
.lg\:mx-0 {
2023-11-30 15:21:39 +01:00
margin-left: 0 !important;
margin-right: 0 !important;
}
.lg\:h-24 {
2023-11-30 15:21:39 +01:00
height: 6rem !important;
}
.lg\:w-80 {
2023-11-30 15:21:39 +01:00
width: 20rem !important;
}
}
</style>
2023-11-17 10:03:35 +01:00
</head>
<body>
<div
data-loader
class="fixed z-[10000] transition duration-300 h-screen w-screen bg-primary flex flex-col justify-center align-middle items-center"
2023-11-17 10:03:35 +01:00
>
<img
data-loader-img
class="-translate-x-1.5 duration-300 w-50 h-14 md:w-60 md:h-16 lg:w-80 lg:h-24 inline transition-all"
2023-11-17 10:03:35 +01:00
alt="main logo"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABHAAAAE+CAYAAADlHOdhAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdebhcVZX+8e8KGSGATAESZhBlEhVURFEUBARaRVHQRkSw8edEa7d2O7S27dS0tgrOyqTQTqDggDgigiIIyCQyyTwkgQBJyEhIsn5/nHPNzb1Vp4azz9n7VL2f56knU9U+S0nuPfXW2msbIiIiIm24+y7AAcA2wEzgKcCUFk+1/M9aWbeP1/RifWBih+esAB4GZgM3AhcBvzKzJQGu3zN33xE4EngusBmwElg15mnzx/x6JbBozO89ASwd83tLyP73jvb4mPUdWNBi3eXAshbr/P31Zja2LhEREamBxS5AREQkBe4+2czGvukdSu4+DXgn8BZg58jlVGkRcArwOTNb0OnJIeT/334W+Cc6h06pW0UW7EAW9IyEYcvIgiCAxcCT+c8XkIVNdwG/MLM/1VSniIjIQFCAIyIiScrf6E4FNgImA+vlv56WP6bmvzeZNR0YGwITyLo6Rn5cB9gAmARMb7HW2O6Qx4HbgT8CPwN+Y2arq/tfmhZ3P4osYJgVu5YaPQYca2Y/q/Ii+d/pXwEvrPI6DXIF8DYzuyF2Id1y9+nAMjMb2y0lIiJSOQU4IiLSN3cfCUM2IAtEppOFKVPzH6eThSQjP5+aP3ckQNmQLECZSha2jA5tUnE38D/A6YP8ps3dJ5L97/yX2LVEshr4TzP7RFUXcPcvAO+qav2GWgK80swujl1IK/nXuDcDxwB7k319gqyraHH+WE4W/C7Jf76QNV1I81mzLW0B2Za3Jfnzl+evX5T//uPAEnUCiohIOwpwRESka+6+E/B6YD/gqcDWZB0uw+A64Ggzuz12IaG5uwHnAP8Yu5YE/KuZfS70ou4+E7iX5m+bqsJjwO5mNid2IaO5+x7AucDTa770arIQaClZsDOfNUHPYrKgZwFrAqRF+fMfH/WcRflzFpnZyprrFxGRiijAERGRjtz9ucBngBfFriWyRcDhZnZZ7EJCcvf/BD4au45ErAb+wcwuCrmou58IfD3kmgPmi2Z2UuwiRrj7bsDvSasbsF/Lyb52/T3UYU3I8zhZ+DM6IHqEbE7RrWb2RIyCRUSkNQU4IiIVc/f1yLYHbdjmx5HHyNfkBcBcshks15rZk2PXrIu7TwW+BByPvmeMWArsZ2bXxi4kBHd/NnA12cwgydwN7Gpmyzs+s0vu/hngvaHWG0BzgFlm5rELcfd1yDru9ohdS2QLgbOBT5jZw7GLERER3YyLiHSUDx7dmOyT2I3yn7cLZDbMnzP698tsmVgK/AA4xcyuK7FOz9x9U+DHwL51Xrch7gL2quvkoiq5+2+Bl8SuI0H/bmafDrWYu38dODHUegNqEzN7LHYR7v5asq1TknkIONLM/hBqQXefADwf2AfYkmxO2kKy7p9HybbVrfWjuoFERBTgiMiQyD9RHR3AFP049vemtlgyhl8CbzWze6u+kLuvC1wOPLPqazXY+WRvaqJ3DPTL3fcCroldR6JuNbNdQi3m7qeRHcsu7W1Xx9e3Ttz958AhsetIzAJgXzO7pcwieXDzVrJutB16fPli1gQ6ox/jwp7RPzb5a7SIyFgapCciA8XdnwnsD+yaP2aRBTEbRiwrlIOBG9z9XWZ2TsXXOh2FN528Gngn8MXYhZRwROwCEvZ0d9/dzG4KtJ62qHUW/fQld58FvCx2HQl6CnAqcFC/C7j7xsAPyb5H92N6/timt8t6YcAz6sdHWBP6LO6zRhGRSinAEZHGy7tF3kp21OugzyzYEDjb3Tc1s89XcQF3/weyk6aks8+4+x/N7M+xC+nTwbELSNxzAAU49Ulhi8yxDM/Jer16mbs/zcxu6/WF7r4h8Ftgz/BlFTJgk/zRNXdfzppQ52Fg3qhfP5L/et6oXz8ac16diAwPBTgi0mju/krgFGC7yKXU7bPu/oSZfSXkovlx0v8Vcs0BNwX4vrvvZWYLYxfTh14+yR5GswKupVCgsxQCnONiF5C4/YCeAxyy7p26w5syppL9++/6a0Ae+szPH7PJBnPPL/i9uWa2OmzZIjLoFOCISCO5+0SyI3mPj11LJAac4u6Xm9kNAdfdD3hWwPWGwY7AacDrYhfSi3wuVE+fSg+hzQOupQ6czoKd+tUPd38BsHPMGhpgvV5f4O67A2+qoJbUTCUbyLwl2RbuTla4++iunodH/XxkmPNDrOn2mWdmqyqoW0QaRAGOiDROvmXq+8DhsWuJbBLwLXd/TsDWbQ3u7M9r3f1tZvbV2IX0YCLqCukkZOiiAKfYygTenA5DyFDWvD5e8+bgVQyGyawJfLrh7j56+9ZDrNne9TBrhz0PDcIpiSIyngIckYbLhwJuAWwGzBj1R/OA6xq6raOTs1B4M2JP4LXAdwKtp+Ok+/c5d7+y7uPeS9C8hs5Cnl6jAKdY1O1T+QcDR8WsoQGcbI5Nr/YOXciQMrJ7vc26ebK7Q7ZVa2Tb1tgtXKN//cCA3i+KDBwFOCIJyof9bUn2TXpLsjb+GcDM/MfN89+fQfYJTsFSfidwEfB1M7u5yrrr4O7vpGFbVWrwFsIFODM6P0XamAqcm8/DeTx2MZ2Y2WrP7vAtdi0JCxngqNupWNTtU2Snym0QuYbU/cbM5vbxuu1CFyJd2yh/dOTui4G5rNnK9XD+65FhzXPy33vIzB6ppFoR6UgBjkhN3H0KWafMrPzHmbQPaKYGuqwBOwEnASe5+yXAP5vZXwKtXyt33wr439h1JGh/d9/OzO4JsJbewJSzE9k8nKZ8kr+SbCuetKYOnPrEHmB8XOTrN0G/W0S7ChAkuulk38N26vTEMd09ozt5Zrf4vTlmFvJrqchQU4AjUpK7T2PNHuYtyUKYkR9HBzYpDAt9CXCNu58MfNzMVsYuqEfvJTv1R9ZmwIuBewKspTeZ5b3O3S82s2/ELqQLCnCKqQOnPtE6cNx9W7R9tJPZwIW9vigflj49fDmSgJHunk4Dm59w98doH/D8/ffMbH515YoMBgU4IgXc/SnA7qzdNTM6pNmS5n2yNBn4CLC7u7/ezFbELqgb7r4R8E+x60jYLoHWWQRsHGitYXaqu1/dgHk4TwLTYheRMHXg1CdmB86b0H+fTr7e57D8DdA2zWE3hS5P53L3JWRhzsiA5tms2co1d9TvzQl4eINIoyjAERnF3ScB/wAcDewF7BC3okq9GrjA3V/VkG+C+wPrxi4iYTMDrbMo0DrDbirwfXffO/F5OE3rwqubApz6RAlw3N2AY2Ncu0FWAmf0+dqnhCxEBt56dLeN6wl3vwE4FzhTnTsyTHQzIQK4+1R3/zBwL/BDslN9Bjm8GXEo8OHYRXTpxbELSFyom2QFOOE8FUh9G5UCnGIKcOoTawvVi4AdI127Kc43swf7fO2GQSsRyUwBnks2F/Fv7v6GyPWI1EY3EzL03H1/4AbgY2TtncPmA+6+T+wiuqBjSIuFGj6sACeso9z9hNhFFFCAU0wzcOoTawvVcZGu2yT9Di+G5m0zl+bZBPh2Pt9RZOBpC5UMNXd/B/BFhnt/9kTgZLItSinbPHYBiVOAk64vufs1ZnZD7EJaUIBTTB049ak9wHH39YDX1H3dhrkFuLTE67WFSury7+5+m5mdVcXi7r4L2YeJO5MN/38CeCB/3Afca2aLq7i2yGgKcGRoufv7gf+OXUciXuzuzzCzG2MXIn0LFeDo5iO8qcC5+Tyc1AIyBTjFFODUJ8YWqtcB60e4bpN8teQR0KG+N4l041R3v8jMHgqxWD4j6w3AvwLP6uL5C4D7yUYy3D/qMfLrBxsyd1ISpgBHhpK7H4nCm7FOBN4Zu4gCS2IXkDh14KRtZ+DrZDeCKVGAU0wBTn1ibKE6LsI1m2QxcHbJNdSBI3Van+xetvR8R3ffFPgecEAPL3tK/tijzZ+vdve5ZIHOA2Shzn35437g/lDhkwwuBTgydNx9G9IfLBrDgbEL6ODR2AUkTgFO+l7v7r8ys2/GLmQUBTjFNAOnPrUGOO6+PbBfndds
2023-11-17 10:03:35 +01:00
/>
<div class="w-full flex justify-center">
<p
data-loader-msg
class="uppercase text-center absolute mt-6 font-normal text-white text-xl"
>
LOADING
</p>
</div>
2023-11-17 10:03:35 +01:00
</div>
<!-- flash message-->
<div
role="alert"
aria-hidden="true"
2023-11-17 10:03:35 +01:00
data-flash-message
class="bg-red-500 hidden p-4 mb-1 md:mb-3 md:mr-3 z-[1001] flex flex-col fixed bottom-0 right-0 w-full md:w-1/2 max-w-[300px] min-h-20 rounded-lg hover:scale-102 transition shadow-md break-words bg-clip-border"
2023-11-17 10:03:35 +01:00
>
<button
data-close-flash-message
role="close alert message"
type="button"
class="absolute right-7 top-1.5"
>
<svg
class="cursor-pointer fill-white absolute h-5 w-5"
2023-11-17 10:03:35 +01:00
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 320 512"
>
<path
d="M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z"
></path>
</svg>
</button>
<h5 class="text-lg mb-0 text-white">Error</h5>
<p class="text-white mb-0 text-sm">
Error while setting up your account. Please try again.
2023-11-17 10:03:35 +01:00
</p>
</div>
<!-- end flash message-->
<!--content -->
<main class="grid grid-cols-2 align-middle items-center min-h-screen">
<!--form -->
<div
class="mx-4 lg:mx-0 col-span-2 h-full flex flex-col items-center justify-center"
>
2023-11-30 15:21:39 +01:00
<div class="bg-gray-50 rounded px-4 pt-10 pb-4 w-full max-w-[550px]">
2023-11-17 10:03:35 +01:00
<div class="flex justify-center">
<img
class="max-w-60 max-h-30 mb-6"
alt="logo"
class="logo"
src="data:image/png;base64,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
2023-11-17 10:03:35 +01:00
/>
</div>
<h1 class="block text-center font-bold text-3xl">Setup Wizard</h1>
2023-11-27 17:56:44 +01:00
<form
class="grid grid-cols-12 md:gap-x-6 justify-items-center"
id="setup-form"
action="setup"
method="POST"
autocomplete="off"
>
2023-11-17 10:03:35 +01:00
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<input
type="hidden"
name="next"
value="{{ request.values.get('next', '') }}"
/>
<h2 class="col-span-12 block text-left font-bold my-4 text-2xl">
2023-11-30 15:21:39 +01:00
Account
</h2>
2023-11-17 10:03:35 +01:00
<!-- username inpt-->
2023-11-27 17:56:44 +01:00
<div
2023-11-30 15:21:39 +01:00
class="flex flex-col relative col-span-12 my-3 mx-2 max-w-[400px] w-full"
2023-11-27 17:56:44 +01:00
>
2023-11-17 10:03:35 +01:00
<h5
class="text-base my-1 transition duration-300 ease-in-out text-md font-bold m-0"
2023-11-17 10:03:35 +01:00
>
Username
</h5>
<label class="sr-only" for="admin_username">Username</label>
2023-11-17 10:03:35 +01:00
<input
type="text"
id="admin_username"
name="admin_username"
class="col-span-12 disabled:opacity-75 focus:valid:border-green-500 focus:invalid:border-red-500 outline-none focus:border-primary text-sm leading-5.6 ease block w-full appearance-none rounded-lg border border-solid border-gray-300 bg-white bg-clip-padding px-4 py-2 font-normal text-gray-700 transition-all placeholder:text-gray-500"
2023-11-17 10:03:35 +01:00
placeholder="enter username"
value="{{ username }}"
2023-11-17 10:03:35 +01:00
pattern="(.*?)"
maxlength="256"
required
/>
</div>
<!-- end username inpt-->
<!-- password inpt-->
2023-11-27 17:56:44 +01:00
<div
2023-11-30 15:21:39 +01:00
class="flex flex-col relative col-span-12 my-3 mx-2 max-w-[400px] w-full"
2023-11-27 17:56:44 +01:00
>
2023-11-17 10:03:35 +01:00
<h5
class="text-base my-1 transition duration-300 ease-in-out text-md font-bold m-0"
2023-11-17 10:03:35 +01:00
>
Password
</h5>
<label class="sr-only" for="admin_password">Password</label>
2023-11-17 10:03:35 +01:00
<input
type="password"
id="admin_password"
name="admin_password"
class="col-span-12 disabled:opacity-75 focus:valid:border-green-500 focus:invalid:border-red-500 outline-none focus:border-primary text-sm leading-5.6 ease block w-full appearance-none rounded-lg border border-solid border-gray-300 bg-white bg-clip-padding px-4 py-2 font-normal text-gray-700 transition-all placeholder:text-gray-500"
2023-11-17 10:03:35 +01:00
placeholder="enter password"
value="{{ password }}"
pattern="^(?=.*?\d)(?=.*?[ !\u0022#$%&'\(\)*+,.\/:;<=>?@\[\\\]^_`\u007B\u007C\u007D\u007E\u002D]).{8,}$"
minlength="8"
2023-11-17 10:03:35 +01:00
required
/>
</div>
<!-- end password inpt-->
2023-11-21 14:20:27 +01:00
<!-- password inpt-->
2023-11-27 17:56:44 +01:00
<div
2023-11-30 15:21:39 +01:00
class="flex flex-col relative col-span-12 my-3 mx-2 max-w-[400px] w-full"
2023-11-27 17:56:44 +01:00
>
2023-11-21 14:20:27 +01:00
<h5
class="text-base my-1 transition duration-300 ease-in-out text-md font-bold m-0"
2023-11-21 14:20:27 +01:00
>
Confirm Password
</h5>
<label class="sr-only" for="admin_password_check"
2023-11-27 17:56:44 +01:00
>Confirm Password
</label>
2023-11-21 14:20:27 +01:00
<input
type="password"
id="admin_password_check"
name="admin_password_check"
class="col-span-12 disabled:opacity-75 focus:valid:border-green-500 focus:invalid:border-red-500 outline-none focus:border-primary text-sm leading-5.6 ease block w-full appearance-none rounded-lg border border-solid border-gray-300 bg-white bg-clip-padding px-4 py-2 font-normal text-gray-700 transition-all placeholder:text-gray-500"
2023-11-21 14:20:27 +01:00
placeholder="confirm password"
value="{{ password }}"
pattern="^(?=.*?\d)(?=.*?[ !\u0022#$%&'\(\)*+,.\/:;<=>?@\[\\\]^_`\u007B\u007C\u007D\u007E\u002D]).{8,}$"
minlength="8"
required
/>
2023-11-30 15:21:39 +01:00
<strong
class="opacity-0 font-normal text-sm text-red-500"
data-pw-alert
>Value does not match password</strong
>
2023-11-21 14:20:27 +01:00
</div>
<!-- end password inpt-->
2023-11-30 15:21:39 +01:00
<h2
class="col-span-12 block text-left font-bold mb-4 mt-2 text-2xl"
2023-11-30 15:21:39 +01:00
>
Settings
</h2>
2023-11-27 17:56:44 +01:00
<!-- ui host-->
<div
2023-11-30 15:21:39 +01:00
class="flex flex-col relative col-span-12 my-3 mx-2 max-w-[400px] w-full"
2023-11-27 17:56:44 +01:00
>
<h5
class="text-base my-1 transition duration-300 ease-in-out text-md font-bold m-0"
2023-11-27 17:56:44 +01:00
>
UI Host (REVERSE_PROXY_HOST)
</h5>
<label class="sr-only" for="ui_host">ui host</label>
<input
type="text"
id="ui_host"
name="ui_host"
2023-12-01 10:11:37 +01:00
value="{{ ui_host }}"
class="col-span-12 disabled:opacity-75 focus:valid:border-green-500 focus:invalid:border-red-500 outline-none focus:border-primary text-sm leading-5.6 ease block w-full appearance-none rounded-lg border border-solid border-gray-300 bg-white bg-clip-padding px-4 py-2 font-normal text-gray-700 transition-all placeholder:text-gray-500"
2023-12-01 10:11:37 +01:00
placeholder="http://[hostname](:[port])"
pattern="^https?:\/\/.{1,255}(:((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4})))?$"
2023-11-27 17:56:44 +01:00
required
/>
</div>
<!-- end ui host-->
<!-- ui url-->
<div
2023-11-30 15:21:39 +01:00
class="flex flex-col relative col-span-12 my-3 mx-2 max-w-[400px] w-full"
2023-11-27 17:56:44 +01:00
>
2023-11-17 10:03:35 +01:00
<h5
class="text-base my-1 transition duration-300 ease-in-out text-md font-bold m-0"
2023-11-17 10:03:35 +01:00
>
2023-11-27 17:56:44 +01:00
UI URL (REVERSE_PROXY_URL)
2023-11-17 10:03:35 +01:00
</h5>
2023-11-27 17:56:44 +01:00
<label class="sr-only" for="ui_url">ui url</label>
2023-11-17 10:03:35 +01:00
<input
type="text"
2023-11-27 17:56:44 +01:00
id="ui_url"
name="ui_url"
class="col-span-12 disabled:opacity-75 focus:valid:border-green-500 focus:invalid:border-red-500 outline-none focus:border-primary text-sm leading-5.6 ease block w-full appearance-none rounded-lg border border-solid border-gray-300 bg-white bg-clip-padding px-4 py-2 font-normal text-gray-700 transition-all placeholder:text-gray-500"
2023-11-27 17:56:44 +01:00
placeholder="/admin"
value="{{ random_url }}"
2023-11-30 15:21:39 +01:00
pattern="\/(.*[a-z])"
2023-11-17 10:03:35 +01:00
required
/>
</div>
2023-11-27 17:56:44 +01:00
<!-- end ui url-->
2023-11-17 16:33:20 +01:00
<!-- server name-->
2023-11-27 17:56:44 +01:00
<div
2023-11-30 15:21:39 +01:00
class="flex flex-col relative col-span-12 my-3 mx-2 max-w-[400px] w-full"
2023-11-27 17:56:44 +01:00
>
2023-11-17 16:33:20 +01:00
<h5
class="text-base my-1 transition duration-300 ease-in-out text-md font-bold m-0"
2023-11-17 16:33:20 +01:00
>
Server name
</h5>
2023-11-27 17:56:44 +01:00
<label class="sr-only" for="server_name">server name</label>
2023-11-17 16:33:20 +01:00
<input
type="text"
id="server_name"
name="server_name"
class="col-span-12 disabled:opacity-75 focus:valid:border-green-500 focus:invalid:border-red-500 outline-none focus:border-primary text-sm leading-5.6 ease block w-full appearance-none rounded-lg border border-solid border-gray-300 bg-white bg-clip-padding px-4 py-2 font-normal text-gray-700 transition-all placeholder:text-gray-500"
placeholder="www.example.com"
2023-11-30 15:21:39 +01:00
value="www.example.com"
pattern=".*"
2023-11-17 16:33:20 +01:00
minlength="1"
required
/>
</div>
<!-- end server name-->
2023-11-27 17:56:44 +01:00
<div
2023-11-30 15:21:39 +01:00
class="flex flex-col relative col-span-12 my-3 mx-2 max-w-[400px] w-full"
2023-11-27 17:56:44 +01:00
>
<h5
class="text-base my-1 transition duration-300 ease-in-out text-md font-bold m-0"
2023-11-27 17:56:44 +01:00
>
2023-11-30 15:21:39 +01:00
Check server name DN
2023-11-27 17:56:44 +01:00
</h5>
<div class="flex justify-start items-center">
<button
id="check-server-name"
class="flex justify-start w-fit tracking-wide inline-block px-6 py-3 font-bold text-center text-white uppercase align-middle transition-all rounded-lg cursor-pointer bg-primary hover:bg-primary/80 focus:bg-primary/80 leading-normal text-xs ease-in shadow-xs bg-150 bg-x-25 hover:-translate-y-px active:opacity-85 hover:shadow-md"
2023-11-27 17:56:44 +01:00
>
<span>check</span>
<span
aria-check-color
class="block ml-2 rounded-full w-4 h-4 bg-gray-300"
aria-description="show state of server name"
></span>
<span class="sr-only" aria-check-result></span>
</button>
</div>
</div>
2023-11-30 15:21:39 +01:00
<!-- auto let's encrypt-->
<div
class="flex flex-col relative col-span-12 my-3 mx-2 max-w-[400px] w-full"
>
<h5
class="text-base my-1 transition duration-300 ease-in-out text-md font-bold m-0"
2023-11-30 15:21:39 +01:00
>
Auto let's encrypt
</h5>
<label class="sr-only" for="auto_lets_encrypt"
>auto let's encrypt
</label>
<div
data-checkbox-handler="auto_lets_encrypt"
class="relative mb-7 md:mb-0 z-10"
>
<input
data-check
type="checkbox"
id="auto_lets_encrypt"
name="auto_lets_encrypt"
aria-checked="false"
class="checkbox"
value="no"
/>
<svg
data-checkbox-handler="auto_lets_encrypt"
class="pointer-events-none absolute fill-white left-0 top-0 translate-x-1 translate-y-2 h-3 w-3"
2023-11-30 15:21:39 +01:00
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 512 512"
>
<path
class="pointer-events-none"
d="M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"
></path>
</svg>
</div>
</div>
<!-- end auto let's encrypt-->
2023-11-27 17:56:44 +01:00
<div
class="p-2 col-span-12 bg-gray-200 mt-4 md:mt-6 mb-1 py-2 px-2 rounded flex flex-col justify-center items-center w-full max-w-[400px] overflow-hidden"
>
<h5
class="text-sm md:text-base text-center mt-1 mb-2 transition duration-300 ease-in-out text-md font-bold m-0"
2023-11-27 17:56:44 +01:00
>
Your BunkerWeb UI final URL will be
</h5>
<p
class="family-text text-center text-sm md:text-base break-words w-full px-4"
data-resume
>
http://
</p>
</div>
<div class="col-span-12 flex justify-center">
2023-11-17 10:03:35 +01:00
<button
type="submit"
2023-11-21 14:20:27 +01:00
id="setup-button"
name="setup-button"
2023-11-17 10:03:35 +01:00
value="setup"
class="tracking-wide my-4 inline-block px-6 py-3 font-bold text-center text-white uppercase align-middle transition-all rounded-lg cursor-pointer bg-primary hover:bg-primary/80 focus:bg-primary/80 leading-normal text-sm ease-in shadow-xs bg-150 bg-x-25 hover:-translate-y-px active:opacity-85 hover:shadow-md"
2023-11-17 10:03:35 +01:00
>
Setup
</button>
</div>
</form>
</div>
</div>
<!-- end form -->
</main>
<script>
2023-11-27 17:56:44 +01:00
class ServerCheck {
constructor() {
this.servInp = document.querySelector("#server_name");
this.checkBtn = document.querySelector("#check-server-name");
this.checkRes = document.querySelector("[aria-check-result]");
this.checkColor = document.querySelector("[aria-check-color]");
this.sslCheck = document.querySelector("#auto_lets_encrypt");
this.init();
}
init() {
// Set check as unkwnown when new server name
this.servInp.addEventListener("input", () => {
this.updateCheck("unknown", "bg-gray-300");
});
// Check for endpoint on button fetch
2023-11-28 13:44:52 +01:00
this.checkBtn.addEventListener("click", (e) => {
e.preventDefault();
2023-11-30 15:21:39 +01:00
this.updateCheck("unknown");
2023-11-27 17:56:44 +01:00
// get resume
const api = `http${
this.sslCheck.getAttribute("aria-checked") === "true" ? "s" : ""
}://${this.servInp.value}/setup/check`;
fetch(api)
.then((res) => {
this.updateCheck("success");
})
.catch((err) => {
this.updateCheck("error");
});
});
}
// state can be success, error or unknown
updateCheck(state) {
this.removeCheckStyle();
if (state === "success") {
return this.setCheck("success", "bg-green-500");
}
if (state === "error") {
return this.setCheck("error", "bg-red-500");
}
return this.setCheck("unknown", "bg-gray-300");
}
setCheck(state, bgColor) {
this.checkColor.classList.add(bgColor);
this.checkRes.textContent = state;
}
removeCheckStyle() {
this.checkColor.classList.remove(
"bg-gray-300",
"bg-green-500",
"bg-red-500"
);
this.checkRes.textContent = "";
}
}
class Resume {
constructor() {
this.servInp = document.querySelector("#server_name");
this.sslCheck = document.querySelector("#auto_lets_encrypt");
this.urlInp = document.querySelector("#ui_url");
this.resumeEl = document.querySelector("[data-resume]");
this.init();
}
init() {
2023-11-30 15:21:39 +01:00
// Show default resume
this.updateResume();
// Update with handlers
2023-11-27 17:56:44 +01:00
const listenInps = [this.servInp, this.urlInp];
listenInps.forEach((inp) => {
inp.addEventListener("input", (e) => {
this.updateResume();
});
});
this.sslCheck.addEventListener("change", (e) => {
this.updateResume();
});
}
updateResume() {
this.resumeEl.textContent = `http${
this.sslCheck.getAttribute("aria-checked") === "true" ? "s" : ""
2023-11-30 15:21:39 +01:00
}://${this.servInp.value}${this.urlInp.value}`;
2023-11-27 17:56:44 +01:00
}
}
2023-11-17 10:03:35 +01:00
class Loader {
constructor() {
this.menuContainer = document.querySelector("[data-menu-container]");
this.loaderContainer = document.querySelector("[data-loader]");
2023-11-17 10:03:35 +01:00
this.logoEl = document.querySelector("[data-loader-img]");
this.isLoading = true;
this.init();
}
init() {
this.loaderContainer.setAttribute("aria-hidden", "false");
2023-11-17 10:03:35 +01:00
this.loading();
window.addEventListener("load", (e) => {
setTimeout(() => {
this.loaderContainer.classList.add("opacity-0");
}, 550);
2023-11-17 10:03:35 +01:00
setTimeout(() => {
this.isLoading = false;
this.loaderContainer.classList.add("hidden");
this.loaderContainer.setAttribute("aria-hidden", "true");
}, 850);
2023-11-17 10:03:35 +01:00
});
}
loading() {
if ((this.isLoading = true)) {
setTimeout(() => {
this.logoEl.classList.toggle("scale-105");
this.loading();
}, 300);
}
}
}
2023-11-27 17:56:44 +01:00
class Checkbox {
constructor() {
this.init();
}
init() {
window.addEventListener("click", (e) => {
//prevent default checkbox behavior
try {
//case a related checkbox element is clicked and checkbox is enabled
if (
e.target.closest("div").hasAttribute("data-checkbox-handler") &&
!e.target
.closest("div")
.querySelector('input[type="checkbox"]')
.hasAttribute("disabled")
) {
//get related checkbox
const checkboxEl = e.target
.closest("div")
.querySelector('input[type="checkbox"]');
const prevValue = checkboxEl.getAttribute("value");
//set attribute value for new state
prevValue === "no"
? checkboxEl.setAttribute("value", "yes")
: checkboxEl.setAttribute("value", "no");
//set custom input hidden value
const newValue = checkboxEl.getAttribute("value");
newValue === "yes"
? checkboxEl.setAttribute("aria-checked", "true")
: checkboxEl.setAttribute("aria-checked", "false");
//force checked for submit
checkboxEl.checked = true;
}
} catch (err) {}
});
}
}
class SubmitForm {
2023-11-30 15:21:39 +01:00
constructor() {
this.pwEl = document.querySelector("#admin_password");
this.pwCheckEl = document.querySelector("#admin_password_check");
this.pwAlertEl = document.querySelector("[data-pw-alert]");
this.formEl = document.querySelector("#setup-form");
this.servInp = document.querySelector("#server_name");
this.sslCheck = document.querySelector("#auto_lets_encrypt");
this.urlInp = document.querySelector("#ui_url");
this.loaderContainer = document.querySelector("[data-loader]");
this.logoEl = document.querySelector("[data-loader-img]");
this.loaderMsg = document.querySelector("[data-loader-msg]");
this.isLoading = false;
this.flashMsg = document.querySelector("[data-flash-message]");
2023-11-30 15:21:39 +01:00
this.init();
}
init() {
// Check password to send
2023-11-30 15:21:39 +01:00
this.checkSamePW();
this.pwCheckEl.addEventListener("input", (e) => {
this.checkSamePW();
});
this.pwEl.addEventListener("input", (e) => {
this.checkSamePW();
});
// Case error and display msg
window.addEventListener("click", (e) => {
try {
if (
e.target
.closest("button")
.hasAttribute("data-close-flash-message")
) {
this.hideErrMsg();
}
} catch (err) {}
});
// Submit
2023-11-30 15:21:39 +01:00
this.formEl.addEventListener("submit", (e) => {
// Case not same PW
2023-11-30 15:21:39 +01:00
if (this.pwEl.value !== this.pwCheckEl.value)
return e.preventDefault();
e.preventDefault();
// Show loader
this.showLoader();
this.hideErrMsg();
// Else, send form and wait for response
const api = `http${
this.sslCheck.getAttribute("aria-checked") === "true" ? "s" : ""
}://${this.servInp.value}${this.urlInp.value}`;
fetch(window.location.href, {
method: "POST",
body: new FormData(this.formEl),
})
.then((res) => {
if (res.status === 200) {
setTimeout(() => {
window.open(`${api}/login`, "_self");
}, 60000);
setInterval(() => {
fetch(`${api}/check`, {
cache: "no-cache",
})
.then((res) => {
if (res.status === 200) {
window.open(`${api}/login`, "_self");
}
})
.catch((err) => {});
}, 5000);
}
})
.catch((err) => {
setTimeout(() => {
this.stopLoader();
this.showErrMsg();
}, 400);
});
2023-11-30 15:21:39 +01:00
});
}
checkSamePW() {
if (!this.pwEl.value || !this.pwCheckEl.value)
return this.hidePWAlert();
if (this.pwEl.value !== this.pwCheckEl.value)
return this.showPWAlert();
2023-11-30 15:21:39 +01:00
return this.hidePWAlert();
}
showErrMsg() {
this.flashMsg.classList.remove("hidden");
this.flashMsg.setAttribute("aria-hidden", "false");
}
2023-11-30 15:21:39 +01:00
hideErrMsg() {
this.flashMsg.classList.add("hidden");
this.flashMsg.setAttribute("aria-hidden", "true");
2023-11-30 15:21:39 +01:00
}
hidePWAlert() {
2023-11-30 15:21:39 +01:00
this.pwCheckEl.classList.remove(
"focus:!border-red-500",
"focus:valid:!border-red-500",
"active:!border-red-500",
"active:valid:!border-red-500",
"valid:!border-red-500"
2023-11-30 15:21:39 +01:00
);
this.pwAlertEl.classList.add("opacity-0");
this.pwAlertEl.setAttribute("aria-hidden", "true");
}
showPWAlert() {
2023-11-30 15:21:39 +01:00
this.pwCheckEl.classList.add(
"focus:!border-red-500",
"focus:valid:!border-red-500",
"active:!border-red-500",
"active:valid:!border-red-500",
"valid:!border-red-500"
2023-11-30 15:21:39 +01:00
);
this.pwAlertEl.classList.remove("opacity-0");
this.pwAlertEl.setAttribute("aria-hidden", "false");
}
showLoader() {
this.loaderMsg.textContent = "Setting up...";
// Show loader with animation
this.loaderContainer.classList.add("opacity-0");
setTimeout(() => {
this.loaderContainer.classList.remove("hidden");
this.loaderContainer.setAttribute("aria-hidden", "false");
}, 5);
setTimeout(() => {
this.loaderContainer.classList.remove("opacity-0");
}, 20);
}
stopLoader() {
setTimeout(() => {
this.loaderContainer.classList.add("opacity-0");
}, 350);
setTimeout(() => {
this.isLoading = false;
this.loaderContainer.classList.add("hidden");
this.loaderContainer.setAttribute("aria-hidden", "true");
}, 650);
}
2023-11-30 15:21:39 +01:00
}
2023-11-17 10:03:35 +01:00
const setLoader = new Loader();
2023-11-27 17:56:44 +01:00
const setResume = new Resume();
const setCheck = new Checkbox();
const setStateServ = new ServerCheck();
const setSubmit = new SubmitForm();
2023-11-17 10:03:35 +01:00
</script>
</body>
</html>
{% endblock %}