1<!DOCTYPE html>
2<!--#set $active_lang=$active_lang.replace('_', '-').lower()#-->
3<html lang="$active_lang" <!--#if $rtl#-->dir="rtl"<!--#end if#--> id="sabnzbd" data-bind="filedrop: { overlaySelector: '.main-filedrop', onFileDrop: addNZBFromFile }">
4    <head>
5        <!--
6                Glitter V2
7                By Safihre (2016) - safihre@sabnzbd.org
8
9                Code extended from Shiny-template
10                Code examples used from Knockstrap-template
11
12                Many things are inserted on-load, making the
13                output hard to read. If you want to know what's
14                going on, read the main.tmpl file!
15        -->
16        <title data-bind="text: title">SABnzbd</title>
17
18        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
19        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, maximum-scale=1" />
20        <meta name="mobile-web-app-capable" content="yes" />
21        <meta name="application-name" content="SABnzbd">
22        <meta name="apple-mobile-web-app-capable" content="yes" />
23        <meta name="apple-mobile-web-app-title" content="SABnzbd" />
24        <meta name="apple-mobile-web-app-status-bar-style" content="black" />
25        <meta name="msapplication-navbutton-color" content="#000000" />
26        <meta name="theme-color" content="#000000" />
27
28        <link rel="apple-touch-icon" sizes="76x76" href="./staticcfg/ico/apple-touch-icon-76x76-precomposed.png" />
29        <link rel="apple-touch-icon" sizes="120x120" href="./staticcfg/ico/apple-touch-icon-120x120-precomposed.png" />
30        <link rel="apple-touch-icon" sizes="152x152" href="./staticcfg/ico/apple-touch-icon-152x152-precomposed.png" />
31        <link rel="apple-touch-icon" sizes="180x180" href="./staticcfg/ico/apple-touch-icon-180x180-precomposed.png" />
32        <link rel="apple-touch-icon" sizes="192x192" href="./staticcfg/ico/android-192x192.png" />
33        <link rel="mask-icon" href="./staticcfg/ico/safari-pinned-tab.svg" color="#383F45">
34        <link rel="shortcut icon" type="image/ico" href="./staticcfg/ico/favicon.ico?v=$version" data-bind="attr: { 'href': SABIcon }" />
35
36        <link rel="stylesheet" type="text/css" href="./static/bootstrap/css/bootstrap.min.css?v=$version" />
37        <link rel="stylesheet" type="text/css" href="./static/stylesheets/glitter.css?v=$version" />
38        <link rel="stylesheet" type="text/css" href="./static/stylesheets/glitter.mobile.css?v=$version" media="all and (max-width: 768px)" />
39        <!--#if $color_scheme not in ('Light', '') #-->
40        <link rel="stylesheet" type="text/css" href="./static/stylesheets/colorschemes/${color_scheme}.css?v=$version"/>
41        <!--#end if#-->
42
43        <!-- Make translations available in scripts -->
44        <script type="text/javascript">
45            var apiKey = "$apikey";
46            var displayLang = "$active_lang";
47            var sabSpeedHistory = [$bytespersec_list];
48            var newRelease = "$new_release";
49            var newReleaseUrl = "$new_rel_url";
50            var glitterIsBeta = ("$version".search(/[develop|Alpha|Beta|RC]/)) > 0;
51
52            var glitterTranslate = new Object();
53            glitterTranslate.paused = "$T('post-Paused')";
54            glitterTranslate.left = "$T('Glitter-left')";
55            glitterTranslate.clearWarn = "$T('confirm')";
56            glitterTranslate.pausePromptFail = "$T('Glitter-pausePromptFail')"
57            glitterTranslate.pauseFor = "$T('pauseFor')"
58            glitterTranslate.minutes = "$T('mins')"
59            glitterTranslate.shutdown = "$T('shutdownOK?')";
60            glitterTranslate.restart = "$T('explain-Restart') $T('explain-needNewLogin')".replace(/\<br(\s*\/|)\>/g, '\n');
61            glitterTranslate.repair = "$T('explain-Repair')".replace(/<br \/>/g, "\n").replace(/&quot;/g,'"');
62            glitterTranslate.deleteMsg = "$T('nzo-delete')";
63            glitterTranslate.removeDown = "$T('confirm')";
64            glitterTranslate.removeDow1 = "$T('confirm')";
65            glitterTranslate.renameAbort = "$T('Glitter-confirmAbortDirectUnpack')\n$T('confirm')";
66            glitterTranslate.retryAll = "$T('link-retryAll')?";
67            glitterTranslate.fetch = "$T('Glitter-fetch')";
68            glitterTranslate.encrypted = "$T('Glitter-encrypted')";
69            glitterTranslate.duplicate = "$T('Glitter-duplicate')";
70            glitterTranslate.tooLarge = "$T('Glitter-tooLarge')";
71            glitterTranslate.unwanted = "$T('Glitter-unwanted')";
72            glitterTranslate.incomplete = "$T('Glitter-incomplete')";
73            glitterTranslate.filtered = "$T('Glitter-filtered')";
74            glitterTranslate.waitSec = "$T('Glitter-waitSec')";
75            glitterTranslate.checking = "$T('post-Checking')";
76            glitterTranslate.misingArt = "$T('missingArt')";
77            glitterTranslate.noSelect = "$T('Glitter-noSelect')";
78            glitterTranslate.sendThanks = "$T('Glitter-sendThanks')";
79            glitterTranslate.chooseFile = "$T('Glitter-chooseFile')";
80            glitterTranslate.orphanedJobsMsg = "$T('explain-orphans')";
81            glitterTranslate.useCache = "$T('explain-cache_limitstr').replace("64M", "256M").replace("128M", "512M")";
82            glitterTranslate.noLocalStorage = "$T('Glitter-noLocalStorage')";
83            glitterTranslate.glitterTips = "$T('Glitter-glitterTips')";
84            glitterTranslate.updateAvailable = "$T('Glitter-updateAvailable')";
85            glitterTranslate.defaultText = "$T('default')";
86            glitterTranslate.noneText = "$T('None')";
87            glitterTranslate.moreText = "$T('Glitter-more')";
88
89            glitterTranslate.status = [];
90            glitterTranslate.status['DirectUnpack'] = "$T('opt-direct_unpack')";
91            glitterTranslate.status['Completed'] = "$T('post-Completed')";
92            glitterTranslate.status['Failed'] = "$T('post-Failed')";
93            glitterTranslate.status['Queued'] = "$T('post-Queued')";
94            glitterTranslate.status['Repairing...'] = "$T('post-Repairing')";
95            glitterTranslate.status['Extracting...'] = "$T('post-Extracting')";
96            glitterTranslate.status['Moving...'] = "$T('post-Moving')";
97            glitterTranslate.status['Running script...'] = "$T('post-Running')";
98            glitterTranslate.status['Fetching extra blocks...'] = "$T('post-Fetching')";
99            glitterTranslate.status['Quick Check...'] = "$T('post-QuickCheck')";
100            glitterTranslate.status['Verifying...'] = "$T('post-Verifying')";
101            glitterTranslate.status['Checking'] = "$T('post-Checking')";
102            glitterTranslate.status['Download'] = "$T('stage-download')";
103            glitterTranslate.status['Repair'] = "$T('stage-repair')";
104            glitterTranslate.status['Filejoin'] = "$T('stage-filejoin')";
105            glitterTranslate.status['Unpack'] = "$T('stage-unpack')";
106            glitterTranslate.status['Script'] = "$T('stage-script')";
107            glitterTranslate.status['Source'] = "$T('stage-source')";
108            glitterTranslate.status['Servers'] = "$T('stage-servers')";
109            glitterTranslate.status['INFO'] = "$T('log-info')".replace('+', '').toUpperCase();
110            glitterTranslate.status['WARNING'] = "$T('Glitter-warning')";
111            glitterTranslate.status['ERROR'] = "$T('Glitter-error')";
112
113            glitterTranslate.pp = [];
114            glitterTranslate.pp['Download'] = "$T('pp-none')";
115            glitterTranslate.pp['+Repair'] = "$T('pp-repair')";
116            glitterTranslate.pp['+Unpack'] = "$T('pp-unpack')";
117            glitterTranslate.pp['+Delete'] = "$T('pp-delete')";
118
119            glitterTranslate.priority = [];
120            glitterTranslate.priority['Force'] = "$T('pr-force')";
121            glitterTranslate.priority['High'] = "$T('pr-high')";
122            glitterTranslate.priority['Normal'] = "$T('pr-normal')";
123            glitterTranslate.priority['Low'] = "$T('pr-low')";
124            glitterTranslate.priority['Stop'] = "$T('pr-stop')";
125        </script>
126
127        <!-- Inclusion is faster than external scripts. We load momentJS locale seperatly so failure won't break anything -->
128        <script type="text/javascript">
129            <!--#include raw $webdir + "/static/javascripts/jquery-3.5.1.min.js"#-->
130            <!--#include raw $webdir + "/static/javascripts/jquery-ui.min.js"#-->
131            <!--#include raw $webdir + "/static/javascripts/jquery.peity.min.js"#-->
132            <!--#include raw $webdir + "/static/javascripts/moment-2.26.0.min.js"#-->
133            <!--#include raw $webdir + "/static/javascripts/knockout-3.5.1.min.js"#-->
134            <!--#include raw $webdir + "/static/javascripts/knockout-extensions.js"#-->
135            <!--#include raw $webdir + "/static/bootstrap/js/bootstrap.min.js"#-->
136            <!--#include $webdir + "/static/javascripts/glitter.js"#-->
137        </script>
138        <!--#if active_lang != 'en'#-->
139        <script type="text/javascript" src="./static/javascripts/momentjs_locale/${active_lang}.js"></script>
140        <!--#end if#-->
141    </head>
142    <body>
143        <div class="container main-navbar">
144            <!--#include $webdir + "/include_menu.tmpl"#-->
145        </div>
146
147        <div class="container main-content">
148            <div class="history-queue-swicher">
149                <ul class="nav nav-tabs">
150                    <li class="active">
151                        <a href="#queue-tab" data-toggle="tab">$T('menu-queue') <span class="badge" data-bind="text: queue.totalItems"></span></a>
152                    </li>
153                    <li>
154                        <a href="#history-tab" data-toggle="tab">$T('menu-history')<span class="badge" data-bind="text: history.totalItems"></span></a>
155                    </li>
156                    <li>
157                        <a href="#queue-messages" data-toggle="tab">$T('warnings')<span class="badge" data-bind="text: hasMessages, css: { 'badge-warning':  hasMessages() }"></span></a>
158                    </li>
159                </ul>
160            </div>
161
162            <!--#include $webdir + "/include_queue.tmpl"#-->
163            <!--#include $webdir + "/include_messages.tmpl"#-->
164            <!--#include $webdir + "/include_history.tmpl"#-->
165        </div>
166
167        <!--#include $webdir + "/include_overlays.tmpl"#-->
168    </body>
169</html>
170