2020-07-29 21:11:28 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" >
< link rel = "apple-touch-icon" sizes = "180x180" href = "/apple-touch-icon.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "/favicon-32x32.png" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "/favicon-16x16.png" >
< link rel = "manifest" href = "/site.webmanifest" >
< link rel = "mask-icon" href = "/safari-pinned-tab.svg" color = "#5bbad5" >
< meta name = "msapplication-TileColor" content = "#603cba" >
< meta name = "theme-color" content = "#ffffff" >
<!-- Bootstrap CSS -->
2020-07-31 11:48:37 +00:00
< link rel = "stylesheet" type = "text/css" href = "{{ .cssFile }}" >
{{ if not .bs5 }}
2020-07-29 21:11:28 +00:00
< script src = "https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity = "sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin = "anonymous" > < / script >
2020-07-31 11:48:37 +00:00
{{ end }}
2020-07-29 21:11:28 +00:00
< script src = "https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity = "sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin = "anonymous" > < / script >
2020-07-31 11:48:37 +00:00
{{ if .bs5 }}
2020-07-29 21:11:28 +00:00
< script src = "https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/js/bootstrap.min.js" integrity = "sha384-oesi62hOLfzrys4LxRF63OJCXdXDipiYWBnvTl9Y9/TRlw5xlKIEHpNyvvDShgf/" crossorigin = "anonymous" > < / script >
2020-07-31 11:48:37 +00:00
{{ else }}
2020-07-29 21:11:28 +00:00
< script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity = "sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin = "anonymous" > < / script >
2020-07-31 11:48:37 +00:00
{{ end }}
2020-07-29 21:11:28 +00:00
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" >
< style >
.pageContainer {
margin: 5% 20% 5% 20%;
}
@media (max-width: 1100px) {
.pageContainer {
margin: 2%;
}
}
.contactBox {
color: grey;
}
#container {
margin-top: 5%;
margin-bottom: 5%;
}
< / style >
< title > Create Jellyfin Account< / title >
< / head >
< body >
< div class = "modal fade" id = "successBox" tabindex = "-1" role = "dialog" aria-labelledby = "successBox" aria-hidden = "true" data-backdrop = "static" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "successTitle" > Success!< / h5 >
< / div >
< div class = "modal-body" id = "successBody" >
2020-07-31 11:48:37 +00:00
< p > {{ .successMessage }}< / p >
2020-07-29 21:11:28 +00:00
< / div >
< div class = "modal-footer" >
2020-07-31 11:48:37 +00:00
< a href = "{{ .jfLink }}" class = "btn btn-primary" > Continue< / a >
2020-07-29 21:11:28 +00:00
< / div >
< / div >
< / div >
< / div >
< div class = "pageContainer" >
< h1 >
Create Account
< / h1 >
2020-07-31 11:48:37 +00:00
< p > {{ .helpMessage }}< / p >
< p class = "contactBox" > {{ .contactMessage }}< / p >
2020-07-29 21:11:28 +00:00
< div class = "container" id = "container" >
< div class = "row" id = "cardContainer" >
< div class = "col-sm" >
< div class = "card mb-3" >
< div class = "card-header" > Details< / div >
< div class = "card-body" >
< form action = "#" method = "POST" id = "accountForm" >
< div class = "form-group" >
< label for = "inputEmail" > Email< / label >
2020-07-31 11:48:37 +00:00
< input type = "email" class = "form-control" id = "{{ if .username }}inputEmail{{ else }}inputUsername{{ end }}" name = "{{ if .username }}email{{ else }}username{{ end }}" placeholder = "Email" value = "{{ .email }}" required >
2020-07-29 21:11:28 +00:00
< / div >
2020-07-31 11:48:37 +00:00
{{ if .username }}
2020-07-29 21:11:28 +00:00
< div class = "form-group" >
< label for = "inputUsername" > Username< / label >
< input type = "username" class = "form-control" id = "inputUsername" name = "username" placeholder = "Username" required >
< / div >
2020-07-31 11:48:37 +00:00
{{ end }}
2020-07-29 21:11:28 +00:00
< div class = "form-group" >
< label for = "inputPassword" > Password< / label >
< input type = "password" class = "form-control" id = "inputPassword" name = "password" placeholder = "Password" required >
< / div >
< div class = "btn-group" role = "group" aria-label = "Button & Error" id = "errorBox" style = "margin-top: 1rem;" >
< button type = "submit" class = "btn btn-outline-primary" id = "submitButton" >
< span id = "createAccount" > Create Account< / span >
< / button >
< / div >
< / form >
< / div >
< / div >
< / div >
2020-07-31 11:48:37 +00:00
{{ if .validate }}
2020-07-29 21:11:28 +00:00
< div class = "col-sm" id = "requirementBox" >
< div class = "card mb-3 requirementBox" >
< div class = "card-header" > Password Requirements< / div >
< div class = "card-body" >
< ul class = "list-group" >
2020-07-31 11:48:37 +00:00
{{ range $key, $value := .requirements }}
2020-10-20 22:00:30 +00:00
< li id = "{{ $key }}" min = "{{ $value }}" class = "list-group-item list-group-item-danger" >
< div > < / div >
2020-07-29 21:11:28 +00:00
< / li >
2020-07-31 11:48:37 +00:00
{{ end }}
2020-07-29 21:11:28 +00:00
< / ul >
< / div >
< / div >
< / div >
2020-07-31 11:48:37 +00:00
{{ end }}
2020-07-29 21:11:28 +00:00
< / div >
< / div >
< / div >
2020-10-20 22:33:32 +00:00
< script src = "common.js" > < / script >
2020-07-29 21:11:28 +00:00
< script >
2020-10-20 22:00:30 +00:00
var usernameEnabled = {{ .username }}
var validationStrings = {
"length": {
"singular": "Must have at least {n} character",
"plural": "Must have a least {n} characters"
},
"uppercase": {
"singular": "Must have at least {n} uppercase character",
"plural": "Must have at least {n} uppercase characters"
},
"lowercase": {
"singular": "Must have at least {n} lowercase character",
"plural": "Must have at least {n} lowercase characters"
},
"number": {
"singular": "Must have at least {n} number",
"plural": "Must have at least {n} numbers"
},
"special": {
"singular": "Must have at least {n} special character",
"plural": "Must have at least {n} special characters"
2020-07-29 21:11:28 +00:00
}
2020-10-20 22:00:30 +00:00
}
2020-07-29 21:11:28 +00:00
< / script >
2020-10-20 22:00:30 +00:00
< script src = "form.js" > < / script >
2020-07-29 21:11:28 +00:00
< / body >
< / html >