Removed all href="#" when not needed
[DeezloaderRemix.git] / app / views / index.ejs
1 <!DOCTYPE html>
2 <html>
3 <head>
4         <title>Deezloader Remix</title>
5         <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
6         <link rel="stylesheet" type="text/css" href="css/material-icons.css"/>
7         <link rel="stylesheet" type="text/css" href="css/materialize.min.css"/>
8         <link rel="stylesheet" type="text/css" href="css/animate.css">
9         <link rel="stylesheet" type="text/css" href="css/style.css"/>
10         <link rel="stylesheet" type="text/css" href="css/darkMode.css" name="darkMode" disabled/>
11         <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png"/>
12         <link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png"/>
13         <link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png"/>
14         <link rel="mask-icon" href="/favicons/safari-pinned-tab.svg" color="#5bbad5"/>
15         <link rel="shortcut icon" href="/favicons/favicon.ico"/>
16         <meta name="msapplication-TileColor" content="#23232c"/>
17         <link rel="manifest" href="/manifest.json"/>
18         <meta name="msapplication-config" content="/favicons/browserconfig.xml"/>
19         <meta name="theme-color" content="#23232c"/>
20         <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=0">
21         <script type='text/javascript'>
22                 if (eval(localStorage.darkMode)){
23                         document.getElementsByName("darkMode")[0].removeAttribute("disabled");
24                 }
25         </script>
26         <meta charset="utf-8"/>
27 </head>
28 <body>
29 <span id="appVersionFallback" hidden>4.2.3</span>
30
31 <div id="title-bar" class="deezloader-black">
32         <div class="resize-padding" style="width: 100%; height: 3px;"></div>
33         <div class="resize-padding" style="width: 3px; height: 31px;"></div>
34         <div id="title">Deezloader Remix v<span id="application_version"></span></div>
35
36         <div id="title-bar-btns">
37                 <button id="min-btn"><i class="material-icons">remove</i></button>
38                 <button id="max-btn"><i class="material-icons">add</i></button>
39                 <button id="close-btn"><i class="material-icons">close</i></button>
40         </div>
41
42         <div class="resize-padding" style="position: absolute; top:0; right:0px; width: 3px; height: 31px;"></div>
43 </div>
44
45 <!--##############################################MODAL_LOGIN##############################################-->
46 <div id="modal_login" class="modal valign-wrapper modal-fixed-footer">
47         <div class="modal-content" id="login-page">
48                 <div class="card">
49                         <div class="card-content">
50                                 <span class="card-title"><%= __('Please login to your deezer account')%>.</span>
51                                 <h6 class="red-text" id="login-res-text"></h6>
52                                 <div class="input-field col s12">
53                                         <input autocomplete="off" type="text" id="modal_login_input_username"/>
54                                         <label for="modal_login_input_username"><%= __('Email')%></label>
55                                 </div>
56                                 <div class="input-field col s12">
57                                         <input autocomplete="off" type="password" id="modal_login_input_password"/>
58                                         <label for="modal_login_input_password"><%= __('Password')%></label>
59                                 </div>
60                                 <input id="modal_login_input_captchaResponse" type="hidden" value=""/>
61                                 <!--<iframe id="modal_login_iframe_captcha" src="cap://deezer.com/"></iframe>-->
62                         </div>
63                         <div class="card-action row">
64                                 <button class="deezloader-primary col s12 m2 waves-effect waves-light btn" id="modal_login_btn_login"><%= __('Log in')%></button>
65                                 <button class="deezloader-secondary col s12 m2 waves-effect waves-light btn" id="modal_login_btn_signup"><%= __('Sign up')%></button>
66                         </div>
67                 </div>
68         </div>
69         <div class="modal-footer">
70                 <button class="modal-close waves-effect btn-flat"><%= __('Close')%></button>
71         </div>
72 </div>
73 <!--#############################################MODAL_SETTINGS############################################-->
74 <div id="modal_settings" class="modal modal-fixed-footer">
75         <div class="modal-content">
76                 <h4 class="col s12"><%= __('Settings')%></h4>
77
78                 <h6 class="col s12 secondary-text"><%= __('Deezer Login')%></h6><hr>
79                 <div class="row">
80                         <div class="col s12 hide" id="logged_in_info">
81                                 <img id="modal_settings_picture" src="" alt="Profile Picture" class="circle left" style="height:125px; margin-right: 12px;"/>
82                                 <p><%= __('You are logged in as')%> <b id="modal_settings_username"></b></p>
83                                 <button class="waves-effect waves-light btn" id="modal_settings_btn_logout"><%= __('Logout')%></button>
84                         </div>
85                         <p class="col s12" id="login_email_btn_container">
86                                 <a href="#modal_login" class="modal-trigger waves-effect waves-light btn" id="login_email_btn" style="width:100%;"><%= __('Login with e-mail')%></a>
87                         </p>
88                         <h6 class="red-text" id="login-res-text2"></h6>
89                         <div class="inline-input-group col s12">
90                                 <input autocomplete="off" type="password" id="modal_login_input_userToken" placeholder="<%= __('userToken')%>"/>
91                                 <label for="modal_login_input_userToken"></label>
92                                 <button class="btn btn-input btn-flat deezloader-primary white-text" id="modal_settings_btn_copyArl"><i class="material-icons">assignment</i></button>
93                         </div>
94                         <p class="col s12"><a href="https://notabug.org/RemixDevs/DeezloaderRemix/wiki/Login+via+userToken" target="_blank"><%= __('How do I get my userToken?')%></a></p>
95                         <p class="col s12"><button class="deezloader-secondary waves-effect waves-light btn" style="width:100%;" id="modal_settings_btn_updateArl"><%= __('Update userToken')%></button></p>
96                 </div>
97
98                 <h6 class="col s12 secondary-text"><%= __('Path Settings')%></h6><hr>
99                 <div class="row">
100                         <div class="input-field col s12">
101                                 <input autocomplete="off" type="text" id="modal_settings_input_downloadTracksLocation"/>
102                                 <label for="modal_settings_input_downloadTracksLocation"><%= __('Download folder path')%></label>
103                         </div>
104                 </div>
105
106                 <div class="row">
107                         <div class="input-field col s12">
108                                 <input autocomplete="off" type="text" id="modal_settings_input_trackNameTemplate"/>
109                                 <label for="modal_settings_input_trackNameTemplate"><%= __('Tracknames template')%> <i class="material-icons valignicon tiny tooltipped" data-position="right" data-delay="50"
110                                         data-tooltip="<%= __('Supported variables are')%>: %title%, %album%, %artist%, %year%, %date%, %label%, %number%, %disc%, %isrc%, %explicit%, %genre%, %track_id%, %album_id%">info_outline</i></label>
111                         </div>
112                 </div>
113
114                 <div class="row">
115                         <div class="input-field col s12 m6">
116                                 <input autocomplete="off" type="text" id="modal_settings_input_albumTrackNameTemplate"/>
117                                 <label for="modal_settings_input_albumTrackNameTemplate"><%= __('Album tracknames template')%> <i class="material-icons valignicon tiny tooltipped" data-position="right" data-delay="50"
118                                         data-tooltip="<%= __('Supported variables are')%>: %title%, %album%, %artist%, %year%, %date%, %label%, %number%, %disc%, %isrc%, %explicit%, %genre%, %track_id%, %album_id%">info_outline</i></label>
119                         </div>
120                         <div class="input-field col s12 m6">
121                                 <input autocomplete="off" type="text" id="modal_settings_input_albumNameTemplate"/>
122                                 <label for="modal_settings_input_albumNameTemplate"><%= __('Album names template')%> <i class="material-icons valignicon tiny tooltipped" data-position="right" data-delay="50"
123                                         data-tooltip="<%= __('Supported variables are')%>: %album%, %artist%, %year%, %date%, %bitrate%, %type%, %label%, %album_id%, %upc%, %explicit%, %genre%, %album_id%">info_outline</i></label>
124                         </div>
125                 </div>
126
127                 <div class="row">
128                         <div class="input-field col s12">
129                                 <input autocomplete="off" type="text" id="modal_settings_input_playlistTrackNameTemplate"/>
130                                 <label for="modal_settings_input_playlistTrackNameTemplate"><%= __('Playlist tracknames template')%> <i class="material-icons valignicon tiny tooltipped" data-position="right" data-delay="50"
131                                         data-tooltip="<%= __('Supported variables are')%>: %title%, %album%, %artist%, %year%, %date%, %label%, %number%, %position%, %disc%, %isrc%, %explicit%, %genre%, %track_id%, %album_id%, %playlist_id%">info_outline</i></label>
132                         </div>
133                 </div>
134
135                 <h6 class="col s12 secondary-text"><%= __('More Path Settings')%></h6><hr>
136                 <div class="row">
137                         <div class="col s12 switch settings_switch">
138                                 <span><%= __('Create folders for Artists')%></span>
139                                 <label>
140                                         <input type="checkbox" id="modal_settings_cbox_createArtistFolder"/>
141                                         <span class="lever"></span>
142                                 </label>
143                         </div>
144                         <div class="col s12 switch settings_switch">
145                                 <span><%= __('Create folders for Albums')%></span>
146                                 <label>
147                                         <input type="checkbox" id="modal_settings_cbox_createAlbumFolder"/>
148                                         <span class="lever"></span>
149                                 </label>
150                         </div>
151                         <div class="col s12 switch settings_switch">
152                                 <span><%= __('Create folders for CDs')%></span>
153                                 <label>
154                                         <input type="checkbox" id="modal_settings_cbox_createCDFolder" class="filled-in"/>
155                                         <span class="lever"></span>
156                                 </label>
157                         </div>
158                         <div class="col s12 switch settings_switch">
159                                 <span><%= __('Create Artist, Albums and CDs folders for Playlists too')%></span>
160                                 <label>
161                                         <input type="checkbox" id="modal_settings_cbox_createFoldersPlaylist" class="filled-in"/>
162                                         <span class="lever"></span>
163                                 </label>
164                         </div>
165                         <div class="col s12 switch settings_switch">
166                                 <span><%= __('Write all Artists in track filename')%></span>
167                                 <label>
168                                         <input type="checkbox" id="modal_settings_cbox_saveFullArtists" class="filled-in"/>
169                                         <span class="lever"></span>
170                                 </label>
171                         </div>
172                         <div class="col s12 switch settings_switch">
173                                 <span class="tooltipped" data-position="top" data-delay="500"
174                                         data-tooltip="<%= __('Adds 0s before %number% to have the same character length')%>"><%= __('Add padding to track numbers')%></span>
175                                 <label>
176                                         <input type="checkbox" id="modal_settings_cbox_padtrck" class="filled-in"/>
177                                         <span class="lever"></span>
178                                 </label>
179                         </div>
180                         <div class="input-field col s12">
181                                 <input autocomplete="off" type="number" id="modal_settings_number_paddingSize" min="0"/>
182                                 <label for="modal_settings_number_paddingSize"><%= __('Overwrite padding size')%></label>
183                         </div>
184                 </div>
185
186                 <h6 class="col s12 secondary-text"><%= __('App Settings')%></h6><hr>
187                 <div class="row">
188                         <div class="input-field col s12 m6">
189                                 <input autocomplete="off" type="number" id="modal_settings_number_queueConcurrency" min="1"/>
190                                 <label for="modal_settings_number_queueConcurrency"><%= __('Concurrent download limit')%></label>
191                         </div>
192                         <div class="input-field col s12 m6">
193                                 <select name="maxBitrate" id="modal_settings_select_maxBitrate">
194                                         <option value="9">FLAC 1411kbps</option>
195                                         <option value="3">MP3 320kbps</option>
196                                         <option value="1">MP3 128kbps</option>
197                                 </select>
198                                 <label for="modal_settings_select_maxBitrate"><%= __('Preferred bitrate')%></label>
199                         </div>
200                         <div class="input-field col s12 m6">
201                                 <select name="lang" id="modal_settings_select_lang">
202                                         <option value="en">English</option>
203                                         <option value="fr">Français</option>
204                                         <option value="it">Italiano</option>
205                                         <option value="de">Deutsch</option>
206                                         <option value="es">Español</option>
207                                         <option value="dk">Dansk</option>
208                                         <option value="tr">Türkçe</option>
209                                         <option value="pt-BR">Português do Brasil</option>
210                                         <option value="ru">Русский</option>
211                                         <option value="cs">Čeština</option>
212                                         <option value="fa">فارسی</option>
213                                         <option value="th">ภาษาไทย</option>
214                                         <option value="uwu">engwish uwu</option>
215                                 </select>
216                                 <label for="modal_settings_select_lang"><%= __('Language')%></label>
217                         </div>
218                         <div class="col s12 switch settings_switch">
219                                 <span><%= __('Fallback to lower bitrates if preferred is not available')%></span>
220                                 <label>
221                                         <input type="checkbox" id="modal_settings_cbox_fallbackBitrate" class="filled-in"/>
222                                         <span class="lever"></span>
223                                 </label>
224                         </div>
225                         <div class="col s12 switch settings_switch">
226                                 <span><%= __('Fallback to search if song is not available')%></span>
227                                 <label>
228                                         <input type="checkbox" id="modal_settings_cbox_fallbackSearch" class="filled-in"/>
229                                         <span class="lever"></span>
230                                 </label>
231                         </div>
232                         <div class="col s12 switch settings_switch">
233                                 <span><%= __('Download albums with one track as a single track')%></span>
234                                 <label>
235                                         <input type="checkbox" id="modal_settings_cbox_downloadSinglesAsTracks" class="filled-in"/>
236                                         <span class="lever"></span>
237                                 </label>
238                         </div>
239                         <div class="col s12 switch settings_switch">
240                                 <span><%= __('Create log file for Errors inside download folder')%></span>
241                                 <label>
242                                         <input type="checkbox" id="modal_settings_cbox_logErrors" class="filled-in"/>
243                                         <span class="lever"></span>
244                                 </label>
245                         </div>
246                         <div class="col s12 switch settings_switch">
247                                 <span><%= __('Create log file for Alternatives inside download folder')%></span>
248                                 <label>
249                                         <input type="checkbox" id="modal_settings_cbox_logSearched" class="filled-in"/>
250                                         <span class="lever"></span>
251                                 </label>
252                         </div>
253                         <div class="col s12 switch settings_switch">
254                                 <span><%= __('Create M3U8 (Playlist) File')%></span>
255                                 <label>
256                                         <input type="checkbox" id="modal_settings_cbox_createM3UFile" class="filled-in"/>
257                                         <span class="lever"></span>
258                                 </label>
259                         </div>
260                 <div class="col s12 switch settings_switch">
261                         <span><%= __('Save Playlist File with folder name')%></span>
262                         <label>
263                                 <input type="checkbox" id="modal_settings_cbox_changePlaylistName" class="filled-in"/>
264                                 <span class="lever"></span>
265                         </label>
266                 </div>
267                         <div class="col s12 switch settings_switch">
268                                 <span><%= __('Download Synced Lyrics File (.lrc)')%></span>
269                                 <label>
270                                         <input type="checkbox" id="modal_settings_cbox_syncedlyrics" class="filled-in"/>
271                                         <span class="lever"></span>
272                                 </label>
273                         </div>
274                         <div class="col s12 switch settings_switch">
275                                 <span><%= __('Minimize to system tray')%></span>
276                                 <label>
277                                         <input type="checkbox" id="modal_settings_cbox_minimizeToTray" class="filled-in"/>
278                                         <span class="lever"></span>
279                                 </label>
280                         </div>
281                 </div>
282
283                 <h6 class="col s12 secondary-text"><%= __('Artworks')%></h6><hr>
284                 <div class="row">
285                         <div class="input-field col s12">
286                                 <select name="artworkSize" id="modal_settings_select_artworkSize">
287                                         <option value="2000">2000x2000</option>
288                                         <option value="1400">1400x1400</option>
289                                         <option value="1200">1200x1200</option>
290                                         <option value="1000">1000x1000</option>
291                                         <option value="800">800x800</option>
292                                         <option value="500">500x500</option>
293                                         <option value="250">250x250</option>
294                                 </select>
295                                 <label for="modal_settings_select_artworkSize"><%= __('Artwork Size')%></label>
296                         </div>
297                         <div class="col s12 switch settings_switch">
298                                 <span><%= __('Save Album Artwork')%></span>
299                                 <label>
300                                         <input type="checkbox" id="modal_settings_cbox_saveArtwork" class="filled-in"/>
301                                         <span class="lever"></span>
302                                 </label>
303                         </div>
304                         <div class="input-field col s12">
305                                 <input autocomplete="off" type="text" id="modal_settings_input_coverImageTemplate"/>
306                                 <label for="modal_settings_input_albumTrackNameTemplate"><%= __('Album Artwork Name Template')%> <i class="material-icons valignicon tiny tooltipped" data-position="right" data-delay="50"
307                                         data-tooltip="<%= __('Supported variables are')%>: %artist% and %name%">info_outline</i></label>
308                         </div>
309                         <div class="col s12 switch settings_switch">
310                                 <span><%= __('Save Artist Artwork')%></span>
311                                 <label>
312                                         <input type="checkbox" id="modal_settings_cbox_saveArtworkArtist" class="filled-in"/>
313                                         <span class="lever"></span>
314                                 </label>
315                         </div>
316                         <div class="input-field col s12">
317                                 <input autocomplete="off" type="text" id="modal_settings_input_artistImageTemplate"/>
318                                 <label for="modal_settings_input_albumNameTemplate"><%= __('Artist Artwork Name Template')%><i class="material-icons valignicon tiny tooltipped" data-position="right" data-delay="50"
319                                         data-tooltip="<%= __('Supported variables are')%>: %artist%">info_outline</i></label>
320                         </div>
321                         <div class="col s12 switch settings_switch">
322                                 <span><%= __('Download images as PNGs')%></span>
323                                 <label>
324                                         <input type="checkbox" id="modal_settings_cbox_PNGcovers" class="filled-in"/>
325                                         <span class="lever"></span>
326                                 </label>
327                         </div>
328                 </div>
329
330                 <h6 class="col s12 secondary-text"><%= __('Tags')%></h6><hr>
331                 <div class="row">
332                         <div class="input-field col s12">
333                                 <select name="multitagSeparator" id="modal_settings_select_multitagSeparator">
334                                         <option value="null"><%= __('Null Character')%></option>
335                                         <option value=",">,</option>
336                                         <option value=", ">, <%= __('with space')%></option>
337                                         <option value="/">/</option>
338                                         <option value=" / ">/ <%= __('with space')%></option>
339                                         <option value=";">;</option>
340                                         <option value="; ">; <%= __('with space')%></option>
341                                 </select>
342                                 <label for="modal_settings_select_multitagSeparator"><%= __('Multitag Separator')%></label>
343                         </div>
344                         <div class="input-field col s12 m6">
345                                 <select name="dateFormat" id="modal_settings_select_dateFormat">
346                                         <option value="0"><%= __('YY')%>/<%= __('MM')%>/<%= __('DD')%></option>
347                                         <option value="1"><%= __('DD')%>/<%= __('MM')%>/<%= __('YY')%></option>
348                                         <option value="2"><%= __('MM')%>/<%= __('DD')%>/<%= __('YY')%></option>
349                                         <option value="3"><%= __('YY')%>/<%= __('DD')%>/<%= __('MM')%></option>
350                                 </select>
351                                 <label for="modal_settings_select_dateFormat"><%= __('Date Format')%></label>
352                         </div>
353                         <div class="input-field col s12 m6">
354                                 <select name="dateFormatYear" id="modal_settings_select_dateFormatYear">
355                                         <option value="2">2 <%= __('digit')%></option>
356                                         <option value="4">4 <%= __('digit')%></option>
357                                 </select>
358                                 <label for="modal_settings_select_dateFormatYear"><%= __('Year Format')%></label>
359                         </div>
360                         <div class="col s12 switch settings_switch">
361                                 <span class="tooltipped" data-position="top" data-delay="500"
362                                         data-tooltip="<%= __('Replaces albums tags with the playlist ones')%>"><%= __('Save Playlist as Compilation')%></span>
363                                 <label>
364                                         <input type="checkbox" id="modal_settings_cbox_savePlaylistAsCompilation" class="filled-in"/>
365                                         <span class="lever"></span>
366                                 </label>
367                         </div>
368                         <div class="col s12 switch settings_switch">
369                                 <span><%= __('Remove \"(Album Version)\" from tracknames')%></span>
370                                 <label>
371                                         <input type="checkbox" id="modal_settings_cbox_removeAlbumVersion" class="filled-in"/>
372                                         <span class="lever"></span>
373                                 </label>
374                         </div>
375                         <div class="col s12 switch settings_switch">
376                                 <span><%= __('Save ID3v1 tags as well')%></span>
377                                 <label>
378                                         <input type="checkbox" id="modal_settings_cbox_saveID3v1" class="filled-in"/>
379                                         <span class="lever"></span>
380                                 </label>
381                         </div>
382                 </div>
383
384                 <div class="row">
385                         <div class="col s12">
386                                 <a href="#modal_tags" class="modal-trigger waves-effect waves-light btn btn-large" style="width:100%;"><%= __('Choose Which Tags To Save')%></a>
387                         </div>
388                 </div>
389
390                 <h6 class="col s12 secondary-text"><%= __('Spotify Features')%></h6><hr>
391                 <p class="secondary-text"><%- __('SpotifyFeatures_Info')%></p>
392                 <div class="row">
393                         <div class="input-field col s12 m6">
394                                 <input autocomplete="off" type="text" id="modal_settings_input_spotifyClientID"/>
395                                 <label for="modal_settings_input_spotifyClientID"><%= __('Client ID')%></label>
396                         </div>
397                         <div class="input-field col s12 m6">
398                                 <input autocomplete="off" type="password" id="modal_settings_input_spotifyClientSecret"/>
399                                 <label for="modal_settings_input_spotifyClientSecret"><%= __('Client Secret')%></label>
400                         </div>
401                         <div class="input-field col s12 m6">
402                                 <input autocomplete="off" type="text" id="modal_settings_input_spotifyUser"/>
403                                 <label for="modal_settings_input_spotifyUser"><%= __('Spotify Username (for the Playlists Tab)')%></label>
404                         </div>
405                 </div>
406
407         </div>
408         <div class="modal-footer">
409                 <button class="modal-close waves-effect waves-light deezloader-primary btn" id="modal_settings_btn_saveSettings"><i class="material-icons right">save</i><%= __('Save')%></button>
410                 <button class="waves-effect btn-flat" id="modal_settings_btn_defaultSettings"><i class="material-icons right">settings_backup_restore</i><span class="hide-on-small-only"><%= __('Default Settings')%></span></button>
411                 <button class="modal-close waves-effect btn-flat"><%= __('Close')%></button>
412         </div>
413 </div>
414
415 <!--#############################################MODAL_TAGS############################################-->
416 <div id="modal_tags" class="modal modal-fixed-footer">
417         <div class="modal-content">
418                 <div class="row">
419                         <h4 class="col s12"><%= __('Saved Tags')%></h4>
420                 </div>
421                 <div class="row">
422                         <p class="col s12 m4">
423                                 <label>
424                                         <input type="checkbox" id="modal_tags_title" class="filled-in"/>
425                                         <span><%= __('Title')%></span>
426                                 </label>
427                         </p>
428                         <p class="col s12 m4">
429                                 <label>
430                                         <input type="checkbox" id="modal_tags_artist" class="filled-in"/>
431                                         <span><%= __('Artist')%></span>
432                                 </label>
433                         </p>
434                         <p class="col s12 m4">
435                                 <label>
436                                         <input type="checkbox" id="modal_tags_album" class="filled-in"/>
437                                         <span><%= __('Album')%></span>
438                                 </label>
439                         </p>
440                         <p class="col s12 m4">
441                                 <label>
442                                         <input type="checkbox" id="modal_tags_cover" class="filled-in"/>
443                                         <span><%= __('Cover')%></span>
444                                 </label>
445                         </p>
446                         <p class="col s12 m4">
447                                 <label>
448                                         <input type="checkbox" id="modal_tags_trackNumber" class="filled-in"/>
449                                         <span><%= __('Track Number')%></span>
450                                 </label>
451                         </p>
452                         <p class="col s12 m4">
453                                 <label>
454                                         <input type="checkbox" id="modal_tags_trackTotal" class="filled-in"/>
455                                         <span><%= __('Track Total')%></span>
456                                 </label>
457                         </p>
458                         <p class="col s12 m4">
459                                 <label>
460                                         <input type="checkbox" id="modal_tags_discNumber" class="filled-in"/>
461                                         <span><%= __('Disc Number')%></span>
462                                 </label>
463                         </p>
464                         <p class="col s12 m4">
465                                 <label>
466                                         <input type="checkbox" id="modal_tags_discTotal" class="filled-in"/>
467                                         <span><%= __('Disc Total')%></span>
468                                 </label>
469                         </p>
470                         <p class="col s12 m4">
471                                 <label>
472                                         <input type="checkbox" id="modal_tags_albumArtist" class="filled-in"/>
473                                         <span><%= __('Album Artist')%></span>
474                                 </label>
475                         </p>
476                         <p class="col s12 m4">
477                                 <label>
478                                         <input type="checkbox" id="modal_tags_genre" class="filled-in"/>
479                                         <span><%= __('Genre')%></span>
480                                 </label>
481                         </p>
482                         <p class="col s12 m4">
483                                 <label>
484                                         <input type="checkbox" id="modal_tags_year" class="filled-in"/>
485                                         <span><%= __('Year')%></span>
486                                 </label>
487                         </p>
488                         <p class="col s12 m4">
489                                 <label>
490                                         <input type="checkbox" id="modal_tags_date" class="filled-in"/>
491                                         <span><%= __('Date')%></span>
492                                 </label>
493                         </p>
494                         <p class="col s12 m4">
495                                 <label>
496                                         <input type="checkbox" id="modal_tags_explicit" class="filled-in"/>
497                                         <span><%= __('Explicit')%></span>
498                                 </label>
499                         </p>
500                         <p class="col s12 m4">
501                                 <label>
502                                         <input type="checkbox" id="modal_tags_isrc" class="filled-in"/>
503                                         <span>ISRC</span>
504                                 </label>
505                         </p>
506                         <p class="col s12 m4">
507                                 <label>
508                                         <input type="checkbox" id="modal_tags_length" class="filled-in"/>
509                                         <span><%= __('Length')%></span>
510                                 </label>
511                         </p>
512                         <p class="col s12 m4">
513                                 <label>
514                                         <input type="checkbox" id="modal_tags_barcode" class="filled-in"/>
515                                         <span><%= __('Barcode')%></span>
516                                 </label>
517                         </p>
518                         <p class="col s12 m4">
519                                 <label>
520                                         <input type="checkbox" id="modal_tags_bpm" class="filled-in"/>
521                                         <span>BPM</span>
522                                 </label>
523                         </p>
524                         <p class="col s12 m4">
525                                 <label>
526                                         <input type="checkbox" id="modal_tags_replayGain" class="filled-in"/>
527                                         <span><%= __('Replay Gain')%></span>
528                                 </label>
529                         </p>
530                         <p class="col s12 m4">
531                                 <label>
532                                         <input type="checkbox" id="modal_tags_publisher" class="filled-in"/>
533                                         <span><%= __('Label')%></span>
534                                 </label>
535                         </p>
536                         <p class="col s12 m4">
537                                 <label>
538                                         <input type="checkbox" id="modal_tags_unsynchronisedLyrics" class="filled-in"/>
539                                         <span><%= __('Unsynchronised Lyrics')%></span>
540                                 </label>
541                         </p>
542                         <p class="col s12 m4">
543                                 <label>
544                                         <input type="checkbox" id="modal_tags_copyright" class="filled-in"/>
545                                         <span><%= __('Copyright')%></span>
546                                 </label>
547                         </p>
548                         <p class="col s12 m4">
549                                 <label>
550                                         <input type="checkbox" id="modal_tags_musicpublisher" class="filled-in"/>
551                                         <span><%= __('Publisher')%></span>
552                                 </label>
553                         </p>
554                         <p class="col s12 m4">
555                                 <label>
556                                         <input type="checkbox" id="modal_tags_composer" class="filled-in"/>
557                                         <span><%= __('Composer')%></span>
558                                 </label>
559                         </p>
560                         <p class="col s12 m4">
561                                 <label>
562                                         <input type="checkbox" id="modal_tags_mixer" class="filled-in"/>
563                                         <span><%= __('Mixer')%></span>
564                                 </label>
565                         </p>
566                         <p class="col s12 m4">
567                                 <label>
568                                         <input type="checkbox" id="modal_tags_author" class="filled-in"/>
569                                         <span><%= __('Author')%></span>
570                                 </label>
571                         </p>
572                         <p class="col s12 m4">
573                                 <label>
574                                         <input type="checkbox" id="modal_tags_writer" class="filled-in"/>
575                                         <span><%= __('Writer')%></span>
576                                 </label>
577                         </p>
578                         <p class="col s12 m4">
579                                 <label>
580                                         <input type="checkbox" id="modal_tags_engineer" class="filled-in"/>
581                                         <span><%= __('Engineer')%></span>
582                                 </label>
583                         </p>
584                         <p class="col s12 m4">
585                                 <label>
586                                         <input type="checkbox" id="modal_tags_producer" class="filled-in"/>
587                                         <span><%= __('Producer')%></span>
588                                 </label>
589                         </p>
590                 </div>
591         </div>
592         <div class="modal-footer">
593                 <button class="modal-close waves-effect btn-flat"><%= __('Close')%></button>
594         </div>
595 </div>
596
597 <!--#############################################MODAL_ABOUT############################################-->
598 <div id="modal_about" class="modal modal-fixed-footer">
599         <div class="modal-content">
600                 <div class="row">
601                         <h4 class="col s12"><%= __('About the App')%></h4>
602                 </div>
603                 <div class="row">
604                         <ul class="collapsible" data-collapsible="accordion">
605                                 <li>
606                                         <div class="collapsible-header waves-effect"><i class="material-icons">info</i><%= __('About')%></div>
607                                         <div class="collapsible-body">
608                                                 <p>
609                                                         <b><%= __('Branch')%>: </b>Remix</br>
610                                                         <b><%= __('Version')%>:</b> <span id="application_version_about"></span><br/>
611                                                         <b><%= __('Based on')%>: </b>Deezloader Reborn</br>
612                                                         <b><%= __('Maintainers')%>:</b> RemixDevs Group<br/>
613                                                         <b><%= __('Repo')%>: </b> <a href="https://notabug.org/RemixDevs/DeezloaderRemix" target="_blank">Official Repo</a><br/>
614                                                         <b><%= __('FAQ')%>: </b> <a href="https://notabug.org/RemixDevs/DeezloaderRemix/wiki/FAQ" target="_blank">Link</a><br/>
615                                                         <b><%= __('Official mirrors')%>: </b> <a href="https://notabug.org/RemixDevs/DeezloaderRemix/wiki/Downloads" target="_blank">Link</a><br/>
616                                                         <b><%= __('Interface')%>:</b> <a href="http://materializecss.com/" target="_blank">Materialize CSS</a><br/>
617                                                         <br/>
618                                                         <b><%= __('Telegram Contacts')%></b><br/>
619                                                         <b><a href="https://t.me/RemixDevs" target="_blank"><%= __('News Channel')%></a></b><br/>
620                                                         <b><a href="https://t.me/DeezloaderRemixBeta" target="_blank"><%= __('Betas Channel')%></a></b><br/>
621                                                         <b><a href="https://t.me/DeezloaderRemix" target="_blank"><%= __('Stable Releases Channel')%></a></b><br/>
622                                                         <br>
623                                                         <b><%= __('Special Thanks to')%>:</b><br>
624                                                         BasCurtiz for the app UI Design<br>
625                                                         ZzMTV for the original Deezloader code<br>
626                                                         ParadoxalManiak, snwflake and ExtendLord for maintaining the previous branches<br>
627                                                         <br>
628                                                         <b><%= __('Translations')%>:</b><br>
629                                                         Italian: RemixDev<br>
630                                                         German: lollilol, Tobs<br>
631                                                         Spanish: Wanamingo<br>
632                                                         Turkish: Metep<br>
633                                                         Russian: NitroOxid, HexEdit<br>
634                                                         Brazilian Portuguese: C4RLETH<br>
635                                                         Thai: RadiusGreenhill<br>
636                                                         French: LaurentHa, Didiou, kaypa<br>
637                                                         Persian: Alip983<br>
638                                                 </p>
639                                         </div>
640                                 </li>
641                                 <li>
642                                         <div class="collapsible-header waves-effect"><i class="material-icons">feedback</i><%= __('Feedback')%></div>
643                                         <div class="collapsible-body">
644                                                 <p>
645                                                         <%- __('Feedback_Text')%>
646                                                 </p>
647                                         </div>
648                                 </li>
649                                 <li>
650                                         <div class="collapsible-header waves-effect"><i class="material-icons">bug_report</i><%= __('Reporting Bugs')%></div>
651                                         <div class="collapsible-body">
652                                                 <p>
653                                                         <%- __('Bugs_Text')%>
654                                                 </p>
655                                         </div>
656                                 </li>
657                                 <li>
658                                         <div class="collapsible-header waves-effect"><i class="material-icons">group</i><%= __('Contacts')%></div>
659                                         <div class="collapsible-body">
660                                                 <p>
661                                                         <%- __('Contacts_Text')%><br>
662                                                         <ul>
663                                                                 <li><a href="https://t.me/DeezloaderItalia">Gruppo in Italiano</a></li>
664                                                                 <li><a href="https://t.me/joinchat/Ed1JxEn3_Bx1et6SCeLurg">Grupo en español</a></li>
665                                                                 <li><a href="https://t.me/deezloaderpt">Grupo em Português</a></li>
666                                                 </ul>
667                                                 </p>
668                                         </div>
669                                 </li>
670                                 <li>
671                                         <div class="collapsible-header waves-effect"><i class="material-icons">warning</i><%= __('Attention!')%></div>
672                                         <div class="collapsible-body">
673                                                 <p><%- __('Attention_Text')%></p>
674                                         </div>
675                                 </li>
676                                 <li>
677                                         <div class="collapsible-header waves-effect"><i class="material-icons">history</i><%= __('Changelog')%></div>
678                                         <div class="collapsible-body">
679                                                 <p>
680                                                         <b>Version 4.2.2</b><br/>
681                                                         - Re-added login with email / password with captcha popup (Doesn't work on Server Mode)<br/>
682                                                         - Reorganized Settings<br/>
683                                                         - ID3 default is now the only option for MP3 date format (If you had that selected you should change that or do a clean install)<br/>
684                                                         - Added link analyzer<br/>
685                                                         - Added support for spotify tracks and albums via urls and uri<br/>
686                                                         - Added %bitrate% and %date% to album folder name<br/>
687                                                         - Added %date% to tracknames<br/>
688                                                         - Added %position% for playlist tracknames<br/>
689                                                         - Added %isrc%, %upc% and %album_id%<br/>
690                                                         - Added option to enable or disable search fallback<br/>
691                                                         - Added option to create album/artist/cd folders for playlists as well<br/>
692                                                         - Added option to save playlist as a compilation (it overwrites original tags with the playlist one)<br/>
693                                                         - Added more UI elements to display errors<br/>
694                                                         - Added error log when clicking on error sign in the Download Tab<br/>
695                                                         - Added quality selection to remaining download buttons<br/>
696                                                         - Fixed certificate error while looking for updates<br/>
697                                                         - Fixed spotify playlist conversion problems<br/>
698                                                         - Fixed tags problems<br/>
699                                                         - Other Minor improvments<br/>
700                                                         <br/>
701                                                         <b>Version 4.2.1</b><br/>
702                                                         - Downloads are binded to the server on server mode<br/>
703                                                         - Downloading playlists wont create artist and album folders if options are selected<br/>
704                                                         - Date tag is now enabled by default on new installations<br/>
705                                                         - Now users without propic will have a default one in the settings<br/>
706                                                         - Update message only nags once per client<br/>
707                                                         - Added space after %explicit% if there is text after the tag<br/>
708                                                         - Added label at the end of album viewin the modal<br/>
709                                                         - Fixed forEach error when downloading tracks<br/>
710                                                         - Fixed problem where %type% could be empty<br/>
711                                                         - Fixed macOS copy-paste problem<br/>
712                                                         - Fixed duplicate detection when downloading tracks<br/>
713                                                         - Fixed null separator for multitags on FLACs<br/>
714                                                         - Fixed problem where m3u file on multidisc albums was wrong<br/>
715                                                         <br/>
716                                                         <b>Version 4.2.0</b><br/>
717                                                         - New login workflow<br/>
718                                                         - Improved UI<br/>
719                                                         - Revamped album, artists and playlist modals<br/>
720                                                         - Added option to download the track in a different quality over the one selected (right click on d/l button)<br/>
721                                                         - Added autologin by default to fix re-connection problems<br/>
722                                                         - Re-added fallback on track errors<br/>
723                                                         - Fixed Default Settings button<br/>
724                                                         - Fixed links not working in server mode<br/>
725                                                         - Fixed UI problems when on mobile view (responsive site)<br/>
726                                                         - Fixed Settings menu not being populated on mobile view<br/>
727                                                         - Fixed problem with the artist tag when downloading playlists and albums<br/>
728                                                         - Fixed playlist numbering on files (now it doesn't override the trackNumber tag)<br/>
729                                                         - Fixed aritst artwork not saving<br/>
730                                                         <br/>
731                                                         <b>Version 4.1.8</b><br/>
732                                                         - Fix the issue where some people wasn't able to log in from the Netherlands<br/>
733                                                         <br/>
734                                                         <b>Version 4.1.7</b><br/>
735                                                         - Partial rewrite of the app (4.2.0 will have the other half)<br/>
736                                                         - Fixed login security issue<br/>
737                                                         - Better Spotify integration (now conversion uses ISRC if found)<br/>
738                                                         - Fixed France Charts not showing up<br/>
739                                                         - Albums with only one track will download as a single track<br/>
740                                                         - Added option %genre% for Track and Album names<br/>
741                                                         - Added support for subfolders in Album name<br/>
742                                                         - Minor changes to the UI<br/>
743                                                         <br/>
744                                                         <b>Version 4.1.6</b><br/>
745                                                         - Fixed Spotify Playlist problem<br/>
746                                                         - Fixed security issue where Client Secret is exposed in Compiled binaries<br/>
747                                                         - Now to use Spotify Features you need to follow <a href="https://notabug.org/RemixDevs/DeezloaderRemix/wiki/Spotify+Features" target="_blank">this guide</a> first<br/>
748                                                         - Minor bugfixes and improvments<br/>
749                                                         <br/>
750                                                         <b>Version 4.1.5</b><br/>
751                                                         - Fixed %explicit% for album names<br/>
752                                                         - Added Contributions page<br/>
753                                                         - Fixed some spelling issues<br/>
754                                                         <br/>
755                                                         <b>Version 4.1.4</b><br/>
756                                                         - Improved Privacy in Server Mode<br/>
757                                                         - Cleaned up some files<br/>
758                                                         - Fixed Day Month position in DATE tag<br/>
759                                                         - Fixed %explicit% in name templates<br/>
760                                                         - Fixed artist download<br/>
761                                                         - Fixed FLAC Problems (not all of them)<br/>
762                                                         - Fixed select folder cancel bug<br/>
763                                                         - Added Update Notification<br/>
764                                                         - Added default ID3 DATE tag format<br/>
765                                                         - Added minimize to system tray<br/>
766                                                         - Added multitag separator for FLACS<br/>
767                                                         - Added hyperlinks to artist & album<br/>
768                                                         - Added option to better remove duplicates in the artist tag (Still in BETA)<br/>
769                                                         - Added option to save the track with the full list of artist in the filename<br/>
770                                                         - Added option to overwrite padding size<br/>
771                                                         - Added "Download All" button in modals<br/>
772                                                         - Removed ReplayGain as default setting<br/>
773                                                         <br/>
774                                                         <b>Version 4.1.3</b><br/>
775                                                         - Playlist and Album tracks now have fallback support<br/>
776                                                         - M3U files now works correctly<br/>
777                                                         - Fixed problems with tags<br/>
778                                                         - Added option %explicit% for Track and Album names (Will add "(Explicit)" in that position if it's explicit)<br/>
779                                                         - Added option to remove "(Album Version)" from track title<br/>
780                                                         - Added options to select which format should the date tag have<br/>
781                                                         - Added option to not fallback if desired bitrate is not available<br/>
782                                                         - Logging enhancements<br/>
783                                                         - Other minor bug-fixing<br/>
784                                                         <br/>
785                                                         <b>Version 4.1.2</b><br/>
786                                                         - Fixed Login Problem (for real this time)<br/>
787                                                         - Fixed Login after refresh<br/>
788                                                         - Regionlock free download<br/>
789                                                         - Added support for download of User Uploaded tracks<br/>
790                                                         - Now you can select which tags your songs has<br/>
791                                                         - Fixed selecting problem<br/>
792                                                         - Tracks without preview will display a disabled play button<br/>
793                                                         - Previews inside modal will stop with modal close<br/>
794                                                         - New %label% field for tracks and albums<br/>
795                                                         - Added option to create folder for CDs<br/>
796                                                         - Added rename option for cover file<br/>
797                                                         - Added option to download Artist artwork<br/>
798                                                         - Added option do log downloaded alternative tracks<br/>
799                                                         - Fixed some minor bugs<br/>
800                                                         <br/>
801                                                         <b>Version 4.1.1</b><br/>
802                                                         - Fixed Login Problem (again)<br/>
803                                                         - Added Dark Mode<br/>
804                                                         - Added smaller cover option<br/>
805                                                         - Added support for lower bitrates<br/>
806                                                         - Added "Stop All Downloads" button<br/>
807                                                         - Added support for Spotify Playlist preview<br/>
808                                                         - Added support for PNG covers<br/>
809                                                         - Re-Added Date Tag<br/>
810                                                         - Fixed same cover for same track in different albums bug<br/>
811                                                         - Fixed login issue from repository build<br/>
812                                                         <br/>
813                                                         <b>Version 4.1.0</b><br/>
814                                                         - New UI (not completly optimized for small screens)<br/>
815                                                         - Fixed login problems<br/>
816                                                         - Fixed %type% parameter not working<br/>
817                                                         - Fixed year tagging problem<br/>
818                                                         - Fixed playlist file not containing tracks<br/>
819                                                         - More precision in Spotify Playlist conversion<br/>
820                                                         <br/>
821                                                         <a href="https://notabug.org/RemixDevs/DeezloaderRemix/wiki/Changelog" target="_blank"><%= __('Full Changelog Here')%></a>
822                                                 </p>
823                                         </div>
824                                 </li>
825                                 <li>
826                                         <div class="collapsible-header waves-effect"><i class="material-icons">copyright</i><%= __('License')%></div>
827                                         <div class="collapsible-body">
828                                                 <p>
829                                                         <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">
830                                                                 <img alt="GNU General Public License" style="border-width:0"
831                                                                                  src="https://www.gnu.org/graphics/gplv3-127x51.png"/>
832                                                         </a><br/>
833                                                         This work is licensed under a <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">GNU General Public License 3.0</a>.
834                                                 </p>
835                                         </div>
836                                 </li>
837                                 <li>
838                                         <div class="collapsible-header waves-effect"><i class="material-icons">favorite</i><%= __('Contributions')%></div>
839                                         <div class="collapsible-body">
840                                                 <%- __('Contributions_Text')%>
841                                                 <p>
842                                                         PayPal: <a href="https://paypal.me/RemixDev" target="_blank">PayPal.me/RemixDev</a><br>
843                                                         Bitcoin: 1sdNymSJrMBWyHM4u2m9uco5nv6uV4Qs1<br>
844                                                         Ethereum: 0x1d2aa67e671485CD4062289772B662e0A6Ff976c
845                                                 </p>
846                                         </div>
847                                 </li>
848                         </ul>
849                 </div>
850         </div>
851         <div class="modal-footer">
852                 <button class="modal-close waves-effect btn-flat"><%= __('Close')%></button>
853         </div>
854 </div>
855
856 <!--##########################################MODAL_TRACKLIST###########################################-->
857 <div id="modal_trackList" class="modal modal-fixed-footer modal-custom-header">
858         <div class="modal-content">
859                 <div class="trackList-header" v-bind:style="{ 'background-image': `linear-gradient(to bottom, transparent 0%, var(--main-modal-background) 100%), url('${image}')` }">
860                         <h4>{{ title }}</h4>
861                         <h6 v-if="metadata" style="display: inline;">{{ metadata }}</h6>
862                         <span class="right hide-on-small-only" v-if="release_date"> {{ release_date }} </span>
863                 </div>
864                 <div class="modal-container">
865                         <table class="highlight col s12">
866                                 <thead>
867                                 <tr>
868                                         <td v-for="data in head" v-html="data.title" v-bind:style = "{ 'width': `${data.width ? data.width : 'auto'}`}" v-bind:class="{ 'hide-on-med-and-up' : data.smallonly, 'hide-on-small-only': data.hideonsmall }"></td>
869                                 </tr>
870                                 </thead>
871                                 <tbody id="modal_trackList_table_trackList_tbody_loadingIndicator" class="hide">
872                                 <tr>
873                                         <td class="center" colspan="6">
874                                                 <div class="preloader-wrapper big active">
875                                                         <div class="spinner-layer">
876                                                                 <div class="circle-clipper left">
877                                                                         <div class="circle"></div>
878                                                                 </div>
879                                                                 <div class="gap-patch">
880                                                                         <div class="circle"></div>
881                                                                 </div>
882                                                                 <div class="circle-clipper right">
883                                                                         <div class="circle"></div>
884                                                                 </div>
885                                                         </div>
886                                                 </div>
887                                         </td>
888                                 </tr>
889                                 </tbody>
890                                 <tbody id="modal_trackList_table_trackList_tbody_trackList" class="hide">
891                                 </tbody>
892                         </table>
893                 </div>
894         </div>
895         <div class="modal-footer">
896                 <button id="download_all_tracks" v-bind:data-link="link" class="btn btn-flat waves-effect waves-light left"><%= __('Download {{ type }}', {type: '{{ type }}'})%></button>
897                 <button class="modal-close waves-effect btn-flat"><%= __('Close')%></button>
898         </div>
899 </div>
900
901 <!--##########################################MODAL_TRACKLISTALBUM###########################################-->
902 <div id="modal_trackListSelective" class="modal modal-fixed-footer modal-custom-header">
903         <div class="modal-content">
904                 <div class="trackList-header" v-bind:style="{ 'background-image': `linear-gradient(to bottom, transparent 0%, var(--main-modal-background) 100%), url('${image}')` }">
905                         <h4>{{ title }} <i v-if="explicit" class="material-icons valignicon materialize-red-text tooltipped" data-tooltip="Explicit">explicit</i></h4>
906                         <h6 v-if="metadata" style="display: inline;">{{ metadata }}</h6>
907                         <span class="right hide-on-small-only" v-if="release_date">{{ release_date }}</span>
908                 </div>
909                 <div class="modal-container">
910                         <table class="highlight col s12">
911                                 <thead>
912                                 <tr>
913                                         <td v-for="data in head" v-html="data.title" v-bind:style = "{ 'width': `${data.width ? data.width : 'auto'}`}" v-bind:class="{ 'hide-on-med-and-up' : data.smallonly, 'hide-on-small-only': data.hideonsmall }"></td>
914                                 </tr>
915                                 </thead>
916                                 <tbody id="modal_trackListSelective_table_trackListSelective_tbody_loadingIndicator" class="hide">
917                                 <tr>
918                                         <td class="center" colspan="6">
919                                                 <div class="preloader-wrapper big active">
920                                                         <div class="spinner-layer">
921                                                                 <div class="circle-clipper left">
922                                                                         <div class="circle"></div>
923                                                                 </div>
924                                                                 <div class="gap-patch">
925                                                                         <div class="circle"></div>
926                                                                 </div>
927                                                                 <div class="circle-clipper right">
928                                                                         <div class="circle"></div>
929                                                                 </div>
930                                                         </div>
931                                                 </div>
932                                         </td>
933                                 </tr>
934                                 </tbody>
935                                 <tbody id="modal_trackListSelective_table_trackListSelective_tbody_trackListSelective" class="hide">
936                                 </tbody>
937                         </table>
938                         <span v-if="label" style="opacity: 0.40;margin-top: 8px;display: inline-block;font-size: 13px;">{{ label }}</span>
939                 </div>
940         </div>
941         <div class="modal-footer">
942                 <button id="download_all_tracks_selective" v-bind:data-link="link" class="btn btn-flat waves-effect waves-light left"><%= __('Download {{ type }}', {type: '{{ type }}'})%></button>
943                 <button id="download_track_selection" class="btn btn-flat waves-effect waves-light deezloader-primary white-text"><span class="hide-on-small-only"><%= __('Download selection')%><i class="material-icons right">file_download</i></span><i class="material-icons hide-on-med-and-up">file_download</i></button>
944                 <button class="modal-close waves-effect btn-flat"><%= __('Close')%></button>
945         </div>
946 </div>
947
948 <!--##########################################MODAL_MSG###########################################-->
949 <div id="modal_msg" class="modal">
950         <div class="modal-content">
951                 <div class="row">
952                         <h4 class="col s12" id="modal_msg_title"></h4>
953                 </div>
954                 <div class="row">
955                         <p style="white-space: pre-line" class="col s12" id="modal_msg_message"></p>
956                 </div>
957         </div>
958         <div class="modal-footer">
959                 <button class="modal-close waves-effect waves-light btn"><%= __('I got it!')%></button>
960         </div>
961 </div>
962
963 <!--##########################################MODAL_ANALYZER_COUNTRY###########################################-->
964 <div id="modal_link_analyzer_country" class="modal modal-fixed-footer">
965         <div class="modal-content">
966                 <h4 class="col s12"><%= __('Available Countries for')%> {{ title }}</h4>
967                 <table class="striped col s12">
968                         <thead>
969                                 <tr>
970                                         <th style="width:24px;"></th>
971                                         <th><%= __('Country')%></th>
972                                 </tr>
973                         </thead>
974                         <tbody>
975                                 <tr v-for="cc in countries">
976                                         <td v-for="val in cc">{{ val }}</td>
977                                 </tr>
978                         </tbody>
979                 </table>
980         </div>
981         <div class="modal-footer">
982                 <button class="modal-close waves-effect waves-light btn"><%= __('Close')%></button>
983         </div>
984 </div>
985
986 <!--********************************************MAIN-CONTENT********************************************-->
987 <nav>
988         <div class="nav-wrapper">
989                 <div class="brand-logo center hide-on-small-only">Deezloader <b>Remix</b></div>
990                 <ul class="left hide-on-small-only">
991                         <li>
992                                 <div class="switch">
993                                         <label>
994                                                 <i class="material-icons left white-text" style="margin-right: 0px; margin-left: 15px;">brightness_2</i>
995                                                 <input id="nightTimeSwitcher" type="checkbox">
996                                                 <span class="lever"></span>
997                                         </label>
998                                 </div>
999                         </li>
1000                 </ul>
1001                 <a href="#" data-target="slide-out" class="sidenav-trigger hide-on-med-and-up right"><i class="material-icons">menu</i></a>
1002                 <ul id="nav-mobile" class="right hide-on-small-only">
1003                         <li>
1004                                 <a href="#modal_settings" id="nav_btn_openSettingsModal" class="waves-effect waves-light modal-trigger">
1005                                         <i class="material-icons left">settings</i> <span class="hide-on-med-and-down"><%= __('Settings')%></span>
1006                                 </a>
1007                         </li>
1008                         <li>
1009                                 <a href="#modal_about" class="waves-effect waves-light modal-trigger">
1010                                         <i class="material-icons left">info</i> <span class="hide-on-med-and-down"><%= __('About')%></span>
1011                                 </a>
1012                         </li>
1013                 </ul>
1014         </div>
1015 </nav>
1016
1017 <img src="img/icon.svg" class="circle" id="main_icon"></img>
1018
1019 <ul id="slide-out" class="sidenav">
1020         <li><div class="user-view">
1021                 <div class="background"></div>
1022                 <a href="#user"><img class="circle" id="side_avatar"></a>
1023                 <a href="#name"><span class="white-text name" id="side_user"></span></a>
1024                 <a href="#email"><span class="white-text email" id="side_email"></span></a>
1025         </div></li>
1026         <li><a href="#" tab-id="tab_search" class="sidenav_tab sidenav-close waves-effect"><i class="material-icons">search</i><%= __('Search')%></a></li>
1027         <li><a href="#" tab-id="tab_charts" class="sidenav_tab sidenav-close waves-effect"><i class="material-icons">bubble_chart</i><%= __('Charts')%></a></li>
1028         <li><a href="#" tab-id="tab_playlists" class="sidenav_tab sidenav-close waves-effect"><i class="material-icons">playlist_play</i><%= __('Playlists')%></a></li>
1029         <li><a href="#" tab-id="tab_link" class="sidenav_tab sidenav-close waves-effect"><i class="material-icons">link</i><%= __('Link Analyzer')%></a></li>
1030         <li><a href="#" tab-id="tab_downloads" class="sidenav_tab sidenav-close waves-effect"><i class="material-icons">get_app</i><%= __('Downloads')%></a></li>
1031         <li><div class="divider"></div></li>
1032         <li><a href="#modal_settings" id="sidenav_settings" class="waves-effect sidenav-close modal-trigger"><i class="material-icons">settings</i><%= __('Settings')%></a></li>
1033         <li><a href="#modal_about" class="waves-effect sidenav-close modal-trigger"><i class="material-icons">info</i><%= __('About')%></a></li>
1034         <li><a href="#" id="nightModeSwitch2"><i class="material-icons">brightness_2</i><%= __('Enable Night Mode')%></a>
1035         </li>
1036 </ul>
1037
1038 <main class="container" style="display: none">
1039         <ul id="tab-nav" class="row tabs tabs-fixed-width hide-on-small-only">
1040                 <li class="tab"><a class="active" href="#tab_search"><%= __('Search')%></a></li>
1041                 <li class="tab"><a href="#tab_charts"><%= __('Charts')%></a></li>
1042                 <li class="tab"><a href="#tab_playlists"><%= __('Playlists')%></a></li>
1043                 <li class="tab"><a href="#tab_link"><%= __('Link Analyzer')%></a></li>
1044                 <li class="tab"><a href="#tab_downloads"><%= __('Downloads')%></a></li>
1045         </ul>
1046
1047         <div id="main-content" class="row">
1048
1049                 <div id="tab_search">
1050                         <form id="tab_search_form_search">
1051                                 <div class="inline-input-group col s12">
1052                                         <input autocomplete="off" id="tab_search_form_search_input_searchString" type="search" class="input" placeholder="<%= __('Start searching...')%>" autofocus>
1053                                         <button id="tab_search_button" class="btn btn-input btn-flat deezloader-primary white-text"><i class="material-icons">search</i></button>
1054                                 </div>
1055                                 <div class="row center">
1056                                         <p class="col s3">
1057                                                 <label>
1058                                                 <input name="searchMode" type="radio" class="with-gap" id="tab_search_radio_searchMode_song" value="track" checked/>
1059                                                 <span><i class="material-icons show-on-small-only left deezloader-primary-text">music_note</i><span class="hide-on-med-and-down"><%= __('Song')%></span></span>
1060                                                 </label>
1061                                         </p>
1062                                         <p class="col s3">
1063                                                 <label>
1064                                                 <input name="searchMode" type="radio" class="with-gap" id="tab_search_radio_searchMode_album" value="album"/>
1065                                                 <span><i class="material-icons show-on-small-only left deezloader-primary-text">album</i><span class="hide-on-med-and-down"><%= __('Album')%></span></span>
1066                                                 </label>
1067                                         </p>
1068                                         <p class="col s3">
1069                                                 <label>
1070                                                 <input name="searchMode" type="radio" class="with-gap" id="tab_search_radio_searchMode_artist" value="artist"/>
1071                                                 <span><i class="material-icons show-on-small-only left deezloader-primary-text">person</i><span class="hide-on-med-and-down"><%= __('Artist')%></span></span>
1072                                                 </label>
1073                                         </p>
1074                                         <p class="col s3">
1075                                                 <label>
1076                                                         <input name="searchMode" type="radio" class="with-gap" id="tab_search_radio_searchMode_playlist" value="playlist"/>
1077                                                         <span><i class="material-icons show-on-small-only left deezloader-primary-text">playlist_play</i><span class="hide-on-med-and-down"><%= __('Playlist')%></span></span>
1078                                                 </label>
1079                                         </p>
1080                                 </div>
1081                         </form>
1082                         <div id="tab_search_results">
1083                                 <table id="tab_search_table_results" class="striped col s12">
1084                                         <thead class="hide-on-small-only">
1085                                                 <tr class="hide" id="tab_search_table_results_thead_track">
1086                                                         <th style="width: 56px;"><!--cover--></th>
1087                                                         <th><%= __('Song')%></th>
1088                                                         <th><%= __('Artist')%></th>
1089                                                         <th><%= __('Album')%></th>
1090                                                         <th><i class="material-icons">timer</i></th>
1091                                                         <th style="width: 56px;"><!--download_link--></th>
1092                                                 </tr>
1093                                                 <tr class="hide" id="tab_search_table_results_thead_album">
1094                                                         <th style="width: 56px;"><!--cover--></th>
1095                                                         <th><%= __('Album')%></th>
1096                                                         <th><%= __('Artist')%></th>
1097                                                         <th><%= __('Songs')%></th>
1098                                                         <th><%= __('Type')%></th>
1099                                                         <th><!--space--></th>
1100                                                         <th style="width: 56px;"><!--download_link--></th>
1101                                                 </tr>
1102                                                 <tr class="hide" id="tab_search_table_results_thead_artist">
1103                                                         <th style="width: 56px;"><!--cover--></th>
1104                                                         <th><%= __('Artist')%></th>
1105                                                         <th><%= __('Albums')%></th>
1106                                                         <th><!--space--></th>
1107                                                         <th style="width: 56px;"><!--download_link--></th>
1108                                                 </tr>
1109                                                 <tr class="hide" id="tab_search_table_results_thead_playlist">
1110                                                         <th style="width: 56px;"><!--cover--></th>
1111                                                         <th><%= __('Name')%></th>
1112                                                         <th><%= __('Songs')%></th>
1113                                                         <th style="width: 56px;"><!--space--></th>
1114                                                         <th style="width: 56px;"><!--download_link--></th>
1115                                                 </tr>
1116                                         </thead>
1117                                         <tbody id="tab_search_table_results_tbody_loadingIndicator" class="hide loadingTab">
1118                                                 <tr>
1119                                                         <td class="center">
1120                                                                 <div class="preloader-wrapper big active">
1121                                                                         <div class="spinner-layer spinner-blue-only">
1122                                                                                 <!-- Spinner Code -->
1123                                                                                 <div class="circle-clipper left"><div class="circle"></div></div><div class="gap-patch"><div class="circle"></div></div><div class="circle-clipper right"><div class="circle"></div></div>
1124                                                                         </div>
1125                                                                 </div>
1126                                                         </td>
1127                                                 </tr>
1128                                         </tbody>
1129                                         <tbody id="tab_search_table_results_tbody_results"></tbody>
1130                                         <tbody id="tab_search_table_results_tbody_noResults" class="hide">
1131                                                 <tr>
1132                                                         <td class="center"><%= __('Nothing found!')%></td>
1133                                                 </tr>
1134                                         </tbody>
1135                                 </table>
1136                         </div>
1137                 </div>
1138
1139                 <div id="tab_charts">
1140                         <div class="input-field col s12">
1141                                 <select id="tab_charts_select_country" class="icons">
1142                                         <!--All country selects have to be like the following example:
1143                                         <option value="example" data-icon="images/sample.jpg" class="left circle">Example</option>
1144                                         -->
1145                                 </select>
1146                                 <label><%= __('Country')%></label>
1147                         </div>
1148                         <button id="downloadChartPlaylist" class="col s12 btn btn-input btn-flat deezloader-primary white-text" style="margin-bottom:8px;"><%= __('Download Playlist')%></button>
1149                         <table id="tab_charts_table_charts" class="striped">
1150                                 <thead class="hide-on-small-only">
1151                                         <tr>
1152                                                 <th>#</th>
1153                                                 <th style="width: 56px;"><!--cover--></th>
1154                                                 <th><%= __('Song')%></th>
1155                                                 <th><%= __('Artist')%></th>
1156                                                 <th><%= __('Album')%></th>
1157                                                 <th><i class="material-icons">timer</i></th>
1158                                                 <th style="width: 56px;"><!--download_link--></th>
1159                                         </tr>
1160                                 </thead>
1161                                 <tbody id="tab_charts_table_charts_tbody_loadingIndicator" class="loadingTab">
1162                                         <tr>
1163                                                 <td colspan="7" class="center">
1164                                                         <div class="preloader-wrapper big active">
1165                                                                 <div class="spinner-layer spinner-blue-only">
1166                                                                         <!-- Spinner Code -->
1167                                                                         <div class="circle-clipper left"><div class="circle"></div></div><div class="gap-patch"><div class="circle"></div></div><div class="circle-clipper right"><div class="circle"></div></div>
1168                                                                 </div>
1169                                                         </div>
1170                                                 </td>
1171                                         </tr>
1172                                 </tbody>
1173                                 <tbody id="tab_charts_table_charts_tbody_charts"></tbody>
1174                         </table>
1175                 </div>
1176
1177                 <div id="tab_playlists" class="row">
1178                         <div class="col s12">
1179                                 <button class="btn-flat btn-large waves-effect deezloader-primary white-text" id="button_refresh_playlist_tab" style="width:100%;"><%= __('Refresh Playlists')%></button>
1180                         </div>
1181                         <div class="col s12">
1182                                 <table class="striped">
1183                                         <thead>
1184                                                 <tr>
1185                                                         <th style="width: 56px;"><!--cover--></th>
1186                                                         <th><%= __('Name')%></th>
1187                                                         <th><%= __('Songs')%></th>
1188                                                         <th style="width: 56px;"><!--inspect_playlist--></th>
1189                                                         <th style="width: 56px;"><!--download_link--></th>
1190                                                 </tr>
1191                                         </thead>
1192                                         <tbody id="table_personal_playlists">
1193                                         </tbody>
1194                                 </table>
1195                         </div>
1196                 </div>
1197
1198                 <div id="tab_link">
1199                         <div class="inline-input-group">
1200                                 <input autocomplete="off" type="search" id="link_analyzer_url" class="input" placeholder="<%= __('Song/Album URL')%>">
1201                                 <button id="link_analyzer_go" class="btn btn-input btn-flat deezloader-primary white-text"><i class="material-icons">search</i></button>
1202                         </div>
1203
1204                         <div id="link_analyzer_loading" class="center" hidden>
1205                                 <div class="preloader-wrapper big active">
1206                                         <div class="spinner-layer spinner-blue-only">
1207                                                 <!-- Spinner Code -->
1208                                                 <div class="circle-clipper left"><div class="circle"></div></div><div class="gap-patch"><div class="circle"></div></div><div class="circle-clipper right"><div class="circle"></div></div>
1209                                         </div>
1210                                 </div>
1211                         </div>
1212
1213                         <div id="link_analyzer_start">
1214                                 <p class="secondary-text center"><%- __('LinkAnalyzer_Info')%></p>
1215                         </div>
1216
1217                         <div v-if="d.title" id="link_analyzer_song" class="link_analyzer_info">
1218                                 <div id="link_analyzer_song_sideinfo" class="hide-on-small-only link_analyzer_sideinfo">
1219                                         <img v-bind:src=" d.album.cover_medium "/>
1220                                         <a href="#modal_link_analyzer_country" class="modal-trigger waves-effect waves-light btn" style="width:100%;"><%= __('See Available Countries')%></a>
1221                                 </div>
1222                                 <div id="link_analyzer_song_maininfo" class="link_analyzer_maininfo">
1223                                         <h5 style="margin-bottom:8px; margin-top:0px;">{{ d.title }} {{ d.version }}<i v-if="d.explicit_lyrics" class="material-icons valignicon materialize-red-text tooltipped" data-tooltip="Explicit">explicit</i></h5>
1224                                         <p style="margin-top:0px;"><%- __('by %s', '<span class="handlink" v-on:click="showArtist()"><b>{{ d.artist.name }}</b></span>')%></br>
1225                                         <%- __('in %s', '<span class="handlink" v-on:click="showAlbum()"><b>{{ d.album.title }}</b></span>')%></p>
1226                                         <hr class="hide-on-small-only">
1227                                         <a v-if="d.alternative" v-bind:href="'d.alternative.link'"><b><%= __('Alternative Link')%></b></a>
1228                                         <table class="striped">
1229                                                 <tbody>
1230                                                         <tr v-if="d.isrc"><td><b>ISRC</b></td><td>{{ d.isrc }}</td></tr>
1231                                                         <tr v-if="d.duration"><td><b><%= __('Duration')%></b></td><td>{{ d.duration_string }}</td></tr>
1232                                                         <tr v-if="d.disk_number"><td><b><%= __('Disc Number')%></b></td><td>{{ d.disk_number }}</td></tr>
1233                                                         <tr v-if="d.track_position"><td><b><%= __('Track Number')%></b></td><td>{{ d.track_position }}</td></tr>
1234                                                         <tr v-if="d.release_date"><td><b><%= __('Release Date')%></b></td><td>{{ d.release_date }}</td></tr>
1235                                                         <tr v-if="d.bpm"><td><b>BPM</b></td><td>{{ d.bpm }}</td></tr>
1236                                                 </tbody>
1237                                         </table>
1238                                         <a href="#modal_link_analyzer_country" class="modal-trigger waves-effect waves-light btn hide-on-med-and-up" style="width:100%;"><%= __('See Available Countries')%></a>
1239                                 </div>
1240                         </div>
1241
1242                         <div v-if="d.title" id="link_analyzer_album" class="link_analyzer_info">
1243                                 <div id="link_analyzer_album_sideinfo" class="hide-on-small-only link_analyzer_sideinfo">
1244                                         <img v-bind:src=" d.cover_medium "/>
1245                                         <a v-on:click="showTrackListSelective(d.link)" class="waves-effect waves-light btn" style="width:100%;"><%= __('Show Tracklist')%></a>
1246                                 </div>
1247                                 <div id="link_analyzer_album_maininfo" class="link_analyzer_maininfo">
1248                                         <h5 style="margin-bottom:8px; margin-top:0px;">{{ d.title }} <i v-if="d.explicit_lyrics" class="material-icons valignicon materialize-red-text tooltipped" data-tooltip="Explicit">explicit</i></h5>
1249                                         <p style="margin-top:0px;"><%- __('by %s', '<span class="handlink" v-on:click="showArtist()"><b>{{ d.artist.name }}</b></span>')%></br>
1250                                         {{ d.tracks_string }}</p>
1251                                         <hr class="hide-on-small-only">
1252                                         <a v-if="d.alternative" v-bind:href="'d.alternative.link'"><b><%= __('Alternative Link')%></b></a>
1253                                         <table class="striped">
1254                                                 <tbody>
1255                                                         <tr v-if="d.upc"><td><b>UPC</b></td><td>{{ d.upc }}</td></tr>
1256                                                         <tr v-if="d.duration"><td><b><%= __('Duration')%></b></td><td>{{ d.duration_string }}</td></tr>
1257                                                         <tr v-if="d.release_date"><td><b><%= __('Release Date')%></b></td><td>{{ d.release_date }}</td></tr>
1258                                                         <tr v-if="d.label"><td><b><%= __('Label')%></b></td><td>{{ d.label }}</td></tr>
1259                                                         <tr v-if="d.record_type"><td><b><%= __('Record Type')%></b></td><td>{{ d.record_type.substring(0,1).toUpperCase()+ d.record_type.substring(1) }}</td></tr>
1260                                                         <tr v-if="d.genres_string"><td><b><%= __('Genres')%></b></td><td>{{ d.genres_string }}</td></tr>
1261                                                 </tbody>
1262                                         </table>
1263                                         <a v-on:click="showTrackListSelective(d.link)" class="waves-effect waves-light btn hide-on-med-and-up" style="width:100%;"><%= __('Show Tracklist')%></a>
1264                                 </div>
1265                         </div>
1266                 </div>
1267
1268                 <div id="tab_downloads">
1269                         <div class="row">
1270                                 <div class="col s12 m4">
1271                                         <button id="openDownloadsFolder" style="width: 100%; margin-bottom:8px;" class="btn btn-flat btn-input btn-block deezloader-primary white-text">
1272                                                 <%= __('Open Downloads Folder')%>
1273                                         </button>
1274                                 </div>
1275                                 <div class="col s12 m4">
1276                                         <button id="cancelAllTable" style="width: 100%; margin-bottom:8px;" class="btn btn-flat btn-input btn-block deezloader-primary white-text">
1277                                                 <%= __('Cancel All Downloads')%>
1278                                         </button>
1279                                 </div>
1280                                 <div class="col s12 m4">
1281                                         <button id="clearTracksTable" style="width: 100%; margin-bottom:8px;" class="btn btn-flat btn-input btn-block deezloader-primary white-text">
1282                                                 <%= __('Clear List')%>
1283                                         </button>
1284                                 </div>
1285                         </div>
1286                         <table id="tab_downloads_table_downloads" class="row">
1287                                 <tbody></tbody>
1288                         </table>
1289                 </div>
1290         </div>
1291 </main>
1292
1293 <div class="fixed-action-btn" id="btn_scrollToTop" style="bottom: 45px; right: 24px;">
1294         <a class="btn-floating btn-large deezloader-primary scale-transition scale-out">
1295                 <i class="large material-icons">keyboard_arrow_up</i>
1296         </a>
1297 </div>
1298 <audio id="preview-track">
1299         <source id="preview-track_source" src="" type="audio/mpeg">
1300 </audio>
1301
1302 <div id="modal_quality" class="smallmodal">
1303         <!-- Modal content -->
1304         <div class="smallmodal-content">
1305                 <button onclick="modalQualityButton(9)" class="btn btn-flat waves-effect waves-light deezloader-primary white-text"><%= __('Download {{ type }}', {type: 'FLAC'})%></button><br>
1306                 <button onclick="modalQualityButton(3)" class="btn btn-flat waves-effect waves-light deezloader-primary white-text"><%= __('Download {{ type }}', {type: 'MP3 320kbps'})%></button><br>
1307                 <button onclick="modalQualityButton(1)" class="btn btn-flat waves-effect waves-light deezloader-primary white-text"><%= __('Download {{ type }}', {type: 'MP3 128kbps'})%></button><br>
1308                 <button onclick="modalQualityButton(15)" class="btn btn-flat waves-effect waves-light deezloader-primary white-text"><%= __('Download {{ type }}', {type: '360 Reality Audio [HQ]'})%></button><br>
1309                 <button onclick="modalQualityButton(14)" class="btn btn-flat waves-effect waves-light deezloader-primary white-text"><%= __('Download {{ type }}', {type: '360 Reality Audio [MQ]'})%></button><br>
1310                 <button onclick="modalQualityButton(13)" class="btn btn-flat waves-effect waves-light deezloader-primary white-text"><%= __('Download {{ type }}', {type: '360 Reality Audio [LQ]'})%></button><br>
1311         </div>
1312 </div>
1313
1314 <footer id="page_footer" class="darken-1 left page-footer hide-on-med-and-down valign-wrapper">
1315                         <p><span style="position: relative;display: inline-block;transform: rotateY(180deg);">&copy;</span> Deezloader <%= __('original code by ZzMTV')%>.</p>
1316 </footer>
1317
1318 <script>if (typeof module === 'object') {
1319         window.module = module;
1320         module = undefined;
1321 }</script>
1322
1323 <script type="text/javascript" src="js/socket.io.js"></script>
1324 <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
1325 <script type="text/javascript" src="js/materialize.min.js"></script>
1326 <script type="text/javascript" src="js/i18n.min.js"></script>
1327 <script type="text/javascript" src="js/vue.min.js"></script>
1328 <script type="text/javascript" src="js/appBase.js"></script>
1329 <script type="text/javascript" src="js/frontend.js"></script>
1330 <script>if (window.module) module = window.module;</script>
1331 <script>
1332 if('serviceWorker' in navigator) {
1333   navigator.serviceWorker
1334            .register('/js/sw.js')
1335            .then(function() { console.log("Service Worker Registered"); });
1336 }
1337 </script>
1338 </body>
1339 </html>