<!DOCTYPE html>
<html lang="en" class="light-theme">
    <head>
        <link rel="stylesheet" type="text/css" href="css/bundle.css">
        {{ template "header.html" . }}
        <title>{{ .lang.Strings.pageTitle }}</title>
    </head>
    <body class="max-w-full overflow-x-hidden section">
        <div id="notification-box"></div>
        <span class="dropdown" tabindex="0" id="lang-dropdown">
            <span class="button ~urge dropdown-button">
                <i class="ri-global-line"></i>
                <span class="ml-1 chev"></span>
            </span>
            <div class="dropdown-display">
                <div class="card ~neutral !low" id="lang-list">
                </div>
            </div>
        </span>
        <div class="page-container" id="page-container">
            <div class="card ~neutral !low mb-1">
                <div class="row">
                    <img class="banner header" src="banner.svg" alt="jfa-go" />
                </div>
                <div class="row col flex center">
                    <span class="heading welcome">{{ .lang.StartPage.welcome }}</span>
                </div>
                <div class="row col flex center">
                    <p class="content">{{ .lang.StartPage.pressStart }}</p>
                </div>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="support">{{ .lang.StartPage.httpsNotice }}</span>
                    <span class="button ~urge !normal next">{{ .lang.StartPage.start }}</span>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused">
                <span class="heading">{{ .lang.Language.title }}</span>
                <p class="content" id="language-description"></p>
                <label class="label">
                    <span class="mt-half">{{ .lang.Language.defaultAdminLang }}</span>
                    <div class="select ~neutral !normal mt-half mb-1">
                        <select id="ui-language-admin">
                        </select>
                    </div>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.Language.defaultFormLang }}</span>
                    <div class="select ~neutral !normal mt-half mb-1">
                        <select id="ui-language-form">
                        </select>
                    </div>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.Language.defaultEmailLang }}</span>
                    <div class="select ~neutral !normal mt-half mb-1">
                        <select id="email-language">
                        </select>
                    </div>
                </label>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused">
                <span class="heading">{{ .lang.General.title }}</span>
                <div class="row">
                    <div class="col">
                        <label class="label">
                            <span class="mt-half">{{ .lang.General.listenAddress }}</span>
                            <input type="url" class="input ~neutral !normal mt-half mb-1" id="ui-host" value="0.0.0.0">
                        </label>
                        <label class="row switch">
                            <input type="checkbox" id="advanced-tls"><span>{{ .lang.General.useHTTPS }}</span>
                        </label>
                        <p class="support mb-1">{{ .lang.General.useHTTPSNotice }}</p>
                        <label class="label">
                            <span class="mt-half">{{ .lang.General.pathToCertificate }}</span>
                            <input type="text" class="input ~neutral !normal mt-half mb-1" id="advanced-tls_cert">
                        </label>
                        <label class="label">
                            <span class="mt-half">{{ .lang.General.pathToKeyFile }}</span>
                            <input type="text" class="input ~neutral !normal mt-half mb-1" id="advanced-tls_key">
                        </label>
                        <span class="heading">{{ .lang.Updates.title }}</span>
                        <p class="content" id="updates-description"></p>
                        <label class="row switch pb-1">
                            <input type="checkbox" id="updates-enabled" checked><span>{{ .lang.Strings.enabled }}</span>
                        </label>
                        <label class="label">
                            <span>{{ .lang.Updates.updateChannel }}</span>
                            <div class="select ~neutral !normal mt-half mb-1">
                                <select id="updates-channel">
                                    <option value="stable">{{ .lang.Updates.stable }}</option>
                                    <option value="unstable">{{ .lang.Updates.unstable }}</option>
                                </select>
                            </div>
                        </label>
                    </div>
                    <div class="col">
                        <label class="label">
                            <span class="mt-half">{{ .lang.Strings.port }}</span>
                            <input type="number" class="input ~neutral !normal mt-half mb-1" id="ui-port" value="8056">
                        </label>
                        <label class="label">
                            <span class="mt-half">{{ .lang.General.httpsPort }}</span>
                            <input type="number" class="input ~neutral !normal mt-half mb-1" id="advanced-tls_port" value="8057">
                        </label>
                        <label class="label">
                            <span class="mt-half">{{ .lang.General.urlBase }} ({{ .lang.Strings.optional }})</span>
                            <input type="url" class="input ~neutral !normal mt-half" id="ui-url_base">
                            <p class="support mb-1">{{ .lang.General.urlBaseNotice }}</p>
                        </label>
                        <label class="label">
                            <span>{{ .lang.Strings.theme }}</span>
                            <div class="select ~neutral !normal mt-half mb-1">
                                <select id="ui-theme">
                                    <option value="Jellyfin (Dark)">{{ .lang.General.darkTheme }}</option>
                                    <option value="Default (Light)">{{ .lang.General.lightTheme }}</option>
                                </select>
                            </div>
                        </label>
                    </div>
                </div>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused">
                <span class="heading">{{ .lang.Login.title }}</span>
                <p class="content">{{ .lang.Login.description }}</p>
                <div class="pl-1">
                    <label class="row switch pb-1">
                        <input type="radio" name="ui-jellyfin_login" value="true" checked><span>{{ .lang.Login.authorizeWithJellyfin }}</span>
                    </label>
                    <label class="row switch pl-1 pb-1">
                        <input type="checkbox" id="ui-admin_only"><span>{{ .lang.Login.adminOnly }}</span>
                    </label>
                    <label class="row switch pb-1">
                        <input type="radio" name="ui-jellyfin_login" value="false"><span>{{ .lang.Login.authorizeManual }}</span>
                    </label>
                </div>
                <div id="login-manual">
                    <label class="label">
                        <span class="mt-half">{{ .lang.Strings.username }}</span>
                        <input type="text" id="ui-username" class="input ~neutral !normal mt-half mb-1" placeholder="{{ .lang.Strings.username }}">
                    </label>
                    <label class="label">
                        <span>{{ .lang.Strings.password }}</span>
                        <input type="password" id="ui-password" class="input ~neutral !normal mt-half mb-1" placeholder="{{ .lang.Strings.password }}">
                    </label>
                    <label class="label">
                        <span>{{ .lang.Strings.emailAddress }} ({{ .lang.Strings.optional }})</span>
                        <input type="email" id="ui-email" class="input ~neutral !normal mt-half" placeholder="email@address">
                        <span class="support mb-1">{{ .lang.Login.emailNotice }}</span>
                    </label>
                </div>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused">
                <span class="heading">{{ .lang.JellyfinEmby.title }}</span>
                <p class="content">{{ .lang.JellyfinEmby.description }}</p>
                <div class="row">
                    <div class="col">
                        <label class="label">
                            <span>{{ .lang.Strings.serverType }}</span>
                            <div class="select ~neutral !normal mt-half">
                                <select id="jellyfin-type">
                                    <option value="jellyfin">Jellyfin</option>
                                    <option value="emby">Emby</option>
                                </select>
                            </div>
                            <p class="support mb-1">{{ .lang.JellyfinEmby.embyNotice }}</p>
                        </label>
                        <label class="label">
                            <span class="mt-half">{{ .lang.JellyfinEmby.replaceJellyfin }} ({{ .lang.Strings.optional }})</span>
                            <input type="text" class="input ~neutral !normal mt-half" id="jellyfin-substitute_jellyfin_strings">
                            <p class="support mb-1">{{ .lang.JellyfinEmby.replaceJellyfinNotice }}</p>
                        </label>
                        <label class="label">
                            <span class="mt-half">{{ .lang.Strings.username }}</span>
                            <input type="text" id="jellyfin-username" class="input ~neutral !normal mt-half mb-1" placeholder="{{ .lang.Strings.username }}">
                        </label>
                        <label class="label">
                            <span>{{ .lang.Strings.password }}</span>
                            <input type="password" id="jellyfin-password" class="input ~neutral !normal mt-half mb-1" placeholder="{{ .lang.Strings.password }}">
                        </label>
                    </div>
                    <div class="col">
                        <label class="label">
                            <span class="mt-half">{{ .lang.Strings.serverAddress }} ({{ .lang.JellyfinEmby.internal }})</span>
                            <input type="url" class="input ~neutral !normal mt-half mb-1" id="jellyfin-server" placeholder="http://jellyf.in:80">
                        </label>
                        <label class="label">
                            <span class="mt-half">{{ .lang.Strings.serverAddress }} ({{ .lang.JellyfinEmby.external }})</span>
                            <input type="url" class="input ~neutral !normal mt-half" id="jellyfin-public_server" placeholder="https://jellyf.in">
                            <p class="support mb-1">{{ .lang.JellyfinEmby.addressExternalNotice }}</p>
                        </label>
                    </div>
                </div>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <div>
                        <span class="button ~urge !normal" id="jellyfin-test-connection">{{ .lang.JellyfinEmby.testConnection }}</span>
                        <span class="button ~urge !normal next" disabled>{{ .lang.Strings.next }}</span>
                    </div>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused">
                <span class="heading">{{ .lang.Ombi.title }}</span>
                <p class="content">{{ .lang.Ombi.description }}</p>
                <label class="row switch pb-1">
                    <input type="checkbox" id="ombi-enabled"><span>{{ .lang.Strings.enabled }}</span>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.Strings.serverAddress }}</span>
                    <input type="url" class="input ~neutral !normal mt-half mb-1" id="ombi-server" placeholder="ombi.jellyf.in">
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.Strings.apiKey }}</span>
                    <input type="text" class="input ~neutral !normal mt-half" id="ombi-api_key">
                    <p class="support mb-1">{{ .lang.Ombi.apiKeyNotice }}</p>
                </label>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <div>
                        <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                    </div>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused">
                <span class="heading">{{ .lang.Email.title }}</span>
                <p class="content" id="email-description"></p>
                <div class="row">
                    <div class="col">
                        <label class="label">
                            <span>{{ .lang.Email.method }}</span>
                            <div class="select ~neutral !normal mt-half mb-1">
                                <select id="email-method">
                                    <option value="">{{ .lang.Strings.disabled }}</option>
                                    <option value="smtp">SMTP</option>
                                    <option value="mailgun">Mailgun</option>
                                </select>
                            </div>
                        </label>
                        <label class="row switch">
                            <input type="checkbox" id="email-no_username"><span>{{ .lang.Email.useEmailAsUsername }}</span>
                            <p class="support mb-1">{{ .lang.Email.useEmailAsUsernameNotice }}</p>
                        </label>
                        <label class="label">
                            <span class="mt-half">{{ .lang.Email.fromAddress }}</span>
                            <input type="email" class="input ~neutral !normal mt-half mb-1" id="email-address" placeholder="mail@jellyf.in">
                        </label>
                        <label class="label">
                            <span class="mt-half">{{ .lang.Email.senderName }}</span>
                            <input type="text" class="input ~neutral !normal mt-half mb-1" id="email-from" value="Jellyfin">
                        </label>
                        <label class="label">
                            <span class="mt-half">{{ .lang.Email.dateFormat }}</span>
                            <input type="text" class="input ~neutral !normal mt-half" id="email-date_format" value="%d/%m/%y">
                            <p class="support mb-1" id="email-dateformat-notice"></p>
                        </label>
                        <div>
                            <label class="row switch pb-1">
                                <input type="radio" name="email-24h" value="true" checked><span>{{ .lang.Email.time24h }}</span>
                            </label>
                            <label class="row switch pb-1">
                                <input type="radio" name="email-24h" value="false"><span>{{ .lang.Email.time12h }}</span>
                            </label>
                        </div>
                    </div>
                    <div class="col">
                        <div id="email-smtp">
                            <p class="subheading">SMTP</p>
                            <label class="label">
                                <span>{{ .lang.Email.encryption }}</span>
                                <div class="select ~neutral !normal mt-half mb-1">
                                    <select id="smtp-encryption">
                                        <option value="starttls">STARTTLS ({{ .lang.Strings.port }} 587)</option>
                                        <option value="ssl_tls">SSL/TLS ({{ .lang.Strings.port }} 465)</option>
                                    </select>
                                </div>
                            </label>
                            <label class="label">
                                <span class="mt-half">{{ .lang.Strings.serverAddress }}</span>
                                <input type="url" class="input ~neutral !normal mt-half mb-1" id="smtp-server" placeholder="smtp.jellyf.in">
                            </label>
                            <label class="label">
                                <span class="mt-half">{{ .lang.Strings.port }}</span>
                                <input type="number" class="input ~neutral !normal mt-half mb-1" id="smtp-port" placeholder="587">
                            </label>
                            <label class="label">
                                <span class="mt-half">{{ .lang.Strings.username }}</span>
                                <input type="text" class="input ~neutral !normal mt-half mb-1" id="smtp-username">
                            </label>
                            <label class="label">
                                <span class="mt-half">{{ .lang.Strings.password }}</span>
                                <input type="password" class="input ~neutral !normal mt-half mb-1" id="smtp-password">
                            </label>
                        </div>
                        <div id="email-mailgun">
                            <p class="subheading">Mailgun</p>
                            <label class="label">
                                <span class="mt-half">{{ .lang.Email.mailgunApiURL }}</span>
                                <input type="url" class="input ~neutral !normal mt-half mb-1" id="mailgun-api_url" placeholder="https://api.eu.mailgun.net/v3/mail.jellyf.in/messages">
                            </label>
                            <label class="label">
                                <span class="mt-half">{{ .lang.Strings.apiKey }}</span>
                                <input type="text" class="input ~neutral !normal mt-half mb-1" id="mailgun-api_key">
                            </label>
                        </div>
                    </div>
                </div>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <div>
                        <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                    </div>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused related-to-email">
                <span class="heading">{{ .lang.Notifications.title }}</span>
                <p class="content">{{ .lang.Notifications.description }}</p>
                <label class="row switch pb-1">
                    <input type="checkbox" id="notifications-enabled"><span>{{ .lang.Strings.enabled }}</span>
                </label>
                <span class="heading">{{ .lang.WelcomeEmails.title }}</span>
                <p class="content">{{ .lang.WelcomeEmails.description }}</p>
                <label class="row switch pb-1">
                    <input type="checkbox" id="welcome_email-enabled"><span>{{ .lang.Strings.enabled }}</span>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.Strings.emailSubject }}</span>
                    <input type="text" class="input ~neutral !normal mt-half mb-1" id="welcome_email-subject" placeholder="{{ .emailLang.WelcomeEmail.title }}">
                </label>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <div>
                        <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                    </div>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused related-to-email">
                <span class="heading">{{ .lang.InviteEmails.title }}</span>
                <p class="content">{{ .lang.InviteEmails.description }}</p>
                <label class="row switch pb-1">
                    <input type="checkbox" id="invite_emails-enabled"><span>{{ .lang.Strings.enabled }}</span>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.Strings.URL }}</span>
                    <input type="url" class="input ~neutral !normal mt-half mb-1" id="invite_emails-url_base" placeholder="https://accounts.jellyf.in/invite">
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.Strings.emailSubject }}</span>
                    <input type="text" class="input ~neutral !normal mt-half mb-1" id="invite_emails-subject" placeholder="{{ .emailLang.InviteEmail.title }}">
                </label>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <div>
                        <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                    </div>
                </section>
            </div>
            <div id="password-resets" class="card ~neutral !low mb-1 unfocused related-to-email">
                <span class="heading">{{ .lang.PasswordResets.title }}</span>
                <p class="content">{{ .lang.PasswordResets.description }}</p>
                <label class="row switch pb-1">
                    <input type="checkbox" id="password_resets-enabled"><span>{{ .lang.Strings.enabled }}</span>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.PasswordResets.pathToJellyfin }}</span>
                    <input type="text" class="input ~neutral !normal mt-half" id="password_resets-watch_directory" placeholder="/config/jellyfin">
                    <p class="support mb-1">{{ .lang.PasswordResets.pathToJellyfinNotice }}</p>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.Strings.emailSubject }}</span>
                    <input type="text" class="input ~neutral !normal mt-half mb-1" id="password_resets-subject" placeholder="{{ .emailLang.PasswordReset.title }}">
                </label>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <div>
                        <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                    </div>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused">
                <span class="heading">{{ .lang.PasswordValidation.title }}</span>
                <p class="content">{{ .lang.PasswordValidation.description }}</p>
                <label class="row switch pb-1">
                    <input type="checkbox" id="password_validation-enabled" checked><span>{{ .lang.Strings.enabled }}</span>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.PasswordValidation.length }}</span>
                    <input type="number" class="input ~neutral !normal mt-half mb-1" id="password_validation-min_length" value="8">
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.PasswordValidation.uppercase }}</span>
                    <input type="number" class="input ~neutral !normal mt-half mb-1" id="password_validation-upper" value="1">
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.PasswordValidation.lowercase }}</span>
                    <input type="number" class="input ~neutral !normal mt-half mb-1" id="password_validation-lower" value="0">
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.PasswordValidation.numbers }}</span>
                    <input type="number" class="input ~neutral !normal mt-half mb-1" id="password_validation-number" value="0">
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.PasswordValidation.special }}</span>
                    <input type="number" class="input ~neutral !normal mt-half mb-1" id="password_validation-special" value="0">
                </label>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <div>
                        <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                    </div>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused">
                <span class="heading">{{ .lang.HelpMessages.title }}</span>
                <p class="content">{{ .lang.HelpMessages.description }}</p>
                <label class="label">
                    <span class="mt-half">{{ .lang.HelpMessages.contactMessage }}</span>
                    <input type="text" class="input ~neutral !normal mt-half" id="ui-contact_message">
                    <p class="support mb-1">{{ .lang.HelpMessages.contactMessageNotice }}</p>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.HelpMessages.helpMessage }}</span>
                    <input type="text" class="input ~neutral !normal mt-half" id="ui-help_message">
                    <p class="support mb-1">{{ .lang.HelpMessages.helpMessageNotice }}</p>
                </label>
                <label class="label">
                    <span class="mt-half">{{ .lang.HelpMessages.successMessage }}</span>
                    <input type="text" class="input ~neutral !normal mt-half" id="ui-success_message">
                    <p class="support mb-1">{{ .lang.HelpMessages.successMessageNotice }}</p>
                </label>
                <label class="label related-to-email">
                    <span class="mt-half">{{ .lang.HelpMessages.emailMessage }}</span>
                    <input type="text" class="input ~neutral !normal mt-half" id="email-message">
                    <p class="support mb-1">{{ .lang.HelpMessages.emailMessageNotice }}</p>
                </label>
                <section class="section ~neutral banner footer flex-expand middle">
                    <span class="button ~neutral !normal back">{{ .lang.Strings.back }}</span>
                    <div>
                        <span class="button ~urge !normal next">{{ .lang.Strings.next }}</span>
                    </div>
                </section>
            </div>
            <div class="card ~neutral !low mb-1 unfocused">
                <div class="row col flex center">
                    <span class="heading">{{ .lang.EndPage.finished }}</span>
                </div>
                <div class="row col flex center">
                    <p class="content">{{ .lang.EndPage.restartMessage }}</p>
                </div>
                <div class="row col flex center">
                    <span class="button ~neutral !normal back mr-1">{{ .lang.Strings.back }}</span>
                    <span class="button ~urge !normal" id="restart">{{ .lang.Strings.submit }}</span>
                    <span class="button ~urge !normal unfocused" id="refresh">{{ .lang.EndPage.refreshPage }}</span>
                </div>
            </div>
        </div>
        <script>
            window.langFile = JSON.parse({{ .language }});
            window.messages = JSON.parse({{ .messages }});
        </script>
        <script src="js/setup.js" type="module"></script>
    </body>
</html>

