From 7dbc94cff0ed515cd2b95902643e33a785496454 Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Fri, 12 Mar 2021 19:49:05 +0100 Subject: [PATCH 1/8] Localhostified postman collection --- Tubio_rest.postman_collection.json | 78 +++++++++++++++++++++++------- 1 file changed, 61 insertions(+), 17 deletions(-) diff --git a/Tubio_rest.postman_collection.json b/Tubio_rest.postman_collection.json index 5f46249..daa1545 100644 --- a/Tubio_rest.postman_collection.json +++ b/Tubio_rest.postman_collection.json @@ -32,6 +32,33 @@ }, "response": [] }, + { + "name": "GetServerVersion", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"request\": \"kill_yourself\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "localhost:6969/api", + "host": [ + "localhost" + ], + "port": "6969", + "path": [ + "api" + ] + } + }, + "response": [] + }, { "name": "DownloadVideo", "request": { @@ -182,12 +209,9 @@ } }, "url": { - "raw": "192.168.1.12:6969/api", + "raw": "localhost:6969/api", "host": [ - "192", - "168", - "1", - "12" + "localhost" ], "port": "6969", "path": [ @@ -212,12 +236,9 @@ } }, "url": { - "raw": "192.168.1.12:6969/api", + "raw": "localhost:6969/api", "host": [ - "192", - "168", - "1", - "12" + "localhost" ], "port": "6969", "path": [ @@ -323,12 +344,9 @@ } }, "url": { - "raw": "192.168.1.12:6969/api", + "raw": "localhost:6969/api", "host": [ - "192", - "168", - "1", - "12" + "localhost" ], "port": "6969", "path": [ @@ -499,7 +517,33 @@ } }, "response": [] + }, + { + "name": "ResetConfig to default", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"request\": \"reset_config_to_default_values\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "localhost:6969/api", + "host": [ + "localhost" + ], + "port": "6969", + "path": [ + "api" + ] + } + }, + "response": [] } - ], - "protocolProfileBehavior": {} + ] } \ No newline at end of file From 818213da5085a2bd979170f0178d108065446181 Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Fri, 12 Mar 2021 19:52:38 +0100 Subject: [PATCH 2/8] Fixed postman query 'GetServerVersion' --- Tubio_rest.postman_collection.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tubio_rest.postman_collection.json b/Tubio_rest.postman_collection.json index daa1545..792499f 100644 --- a/Tubio_rest.postman_collection.json +++ b/Tubio_rest.postman_collection.json @@ -39,7 +39,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"request\": \"kill_yourself\"\r\n}", + "raw": "{\r\n \"request\": \"get_server_version\"\r\n}", "options": { "raw": { "language": "json" From c66883efd66cc984feece8f5a023aff9fbd51360 Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Fri, 12 Mar 2021 22:55:47 +0100 Subject: [PATCH 3/8] Added backend capability to select specific download qualities --- Tubio/DownloadManager.cpp | 55 +++++++++++++++++++++++++++++++++----- Tubio/DownloadManager.h | 28 ++++++++++++++++++- Tubio/RestQueryHandler.cpp | 35 ++++++++++++++++++++++-- Tubio/Version.h | 2 +- 4 files changed, 109 insertions(+), 11 deletions(-) diff --git a/Tubio/DownloadManager.cpp b/Tubio/DownloadManager.cpp index 35f08ed..50c7dfe 100644 --- a/Tubio/DownloadManager.cpp +++ b/Tubio/DownloadManager.cpp @@ -17,22 +17,28 @@ void DownloadManager::PreInit() return; } -std::string DownloadManager::QueueDownload(std::string url, DOWNLOAD_MODE mode) +std::string DownloadManager::QueueDownload(std::string url, DOWNLOAD_MODE mode, DOWNLOAD_QUALITY quality) { + // Create uniquie tubio id std::string tubioId = CreateNewTubioID(); - FetchInformation(url, tubioId); + // Fetch metadata + FetchInformation(url, tubioId); std::string jsString = FileSystem::ReadFile(XGConfig::downloader.cachedir + "/metadata/" + tubioId + ".json"); + // Create download entry structure DownloadEntry newDownload; newDownload.tubio_id = tubioId; newDownload.mode = mode; + newDownload.quality = quality; newDownload.download_progress = 0; newDownload.queued_timestamp = time(0); - newDownload.download_url = "/download/" + newDownload.tubio_id; + newDownload.download_url = "download/" + newDownload.tubio_id; + // Check for missing dependencies WarnIfMissingDependenciesWIN(); + // Interpret metadata if (!IsJsonValid(jsString)) { newDownload.status = DOWNLOAD_STATUS::FAILED; @@ -92,6 +98,7 @@ std::string DownloadManager::QueueDownload(std::string url, DOWNLOAD_MODE mode) } } + // Add to list of unfinished downloads unfinishedCache.push_back(newDownload); return tubioId; @@ -146,16 +153,19 @@ void DownloadManager::DownloadNext() std::thread* downloadThread = new std::thread([=]() { DownloadEntry* entry = next; + std::string tubioId = entry->tubio_id; std::stringstream ss; if (entry->mode == DOWNLOAD_MODE::VIDEO) { - std::string ytdl_call_video_base = + // Call template + std::string ytdl_call_video_base = "youtube-dl --newline --no-call-home --no-playlist --no-part --no-warnings --socket-timeout 5 --limit-rate $$DL_RATE" - " --no-mtime --no-cache-dir --recode-video mp4 --prefer-ffmpeg" + " --no-mtime --no-cache-dir -f $$QUALITY --recode-video mp4 --prefer-ffmpeg" " -o \"$$DL_FILE\" \"$$DL_URL\" > \"$$DL_PROG_BUF_FILE\""; - + // Fill template + ytdl_call_video_base = Internal::StringHelpers::Replace(ytdl_call_video_base, "$$QUALITY", DownloadQualityToStringParams(entry->quality)); ytdl_call_video_base = Internal::StringHelpers::Replace(ytdl_call_video_base, "$$DL_RATE", XGConfig::downloader.max_dlrate_per_thread); ytdl_call_video_base = Internal::StringHelpers::Replace(ytdl_call_video_base, "$$DL_FILE", XGConfig::downloader.cachedir + "/download/" + entry->tubio_id + ".%(ext)s"); ytdl_call_video_base = Internal::StringHelpers::Replace(ytdl_call_video_base, "$$DL_URL", entry->webpage_url); @@ -167,11 +177,15 @@ void DownloadManager::DownloadNext() } else // DOWNLOAD_MODE::AUDIO { + // Call template std::string ytdl_call_audio_base = "youtube-dl --newline --no-call-home --no-playlist --no-part --no-warnings --socket-timeout 5 --limit-rate $$DL_RATE" - " --no-mtime --no-cache-dir --audio-format mp3 --audio-quality 0 --extract-audio -o \"$$DL_FILE\"" + " --no-mtime --no-cache-dir -f $$QUALITY --audio-format mp3 --audio-quality 0 --extract-audio -o \"$$DL_FILE\"" " \"$$DL_URL\" > \"$$DL_PROG_BUF_FILE\""; + + // Fill template + ytdl_call_audio_base = Internal::StringHelpers::Replace(ytdl_call_audio_base, "$$QUALITY", DownloadQualityToStringParams(entry->quality)); ytdl_call_audio_base = Internal::StringHelpers::Replace(ytdl_call_audio_base, "$$DL_RATE", XGConfig::downloader.max_dlrate_per_thread); ytdl_call_audio_base = Internal::StringHelpers::Replace(ytdl_call_audio_base, "$$DL_FILE", XGConfig::downloader.cachedir + "/download/" + entry->tubio_id + ".%(ext)s"); ytdl_call_audio_base = Internal::StringHelpers::Replace(ytdl_call_audio_base, "$$DL_URL", entry->webpage_url); @@ -182,13 +196,21 @@ void DownloadManager::DownloadNext() ss << ytdl_call_audio_base; } + // This call takes a good while and is run in a seperate thread (look a few lines above. The lambda function) int returnCode = system(ss.str().c_str()); + // Fetch new instance + // Don't ask me why the old one isn't valid anymore -.- + for (std::size_t i = 0; i < unfinishedCache.size(); i++) + if (unfinishedCache[i].tubio_id == tubioId) + entry = &unfinishedCache[i]; + if (returnCode == 0) { // Download succeeded entry->status = DOWNLOAD_STATUS::FINISHED; entry->download_progress = 100; + shouldSave = true; } else @@ -569,6 +591,25 @@ std::vector DownloadManager::ParseJsonArrayToEntries(const JasonP return entries; } +std::string DownloadManager::DownloadQualityToStringParams(DOWNLOAD_QUALITY quality) +{ + switch (quality) + { + case DOWNLOAD_QUALITY::_BEST: + return "bestvideo[ext=mp4]+bestaudio"; + case DOWNLOAD_QUALITY::_1080p: + return "bestvideo[ext=mp4][height^<=1080]+bestaudio"; + case DOWNLOAD_QUALITY::_720p: + return "bestvideo[ext=mp4][height^<=720]+bestaudio"; + case DOWNLOAD_QUALITY::_360p: + return "bestvideo[ext=mp4][height^<=360]+bestaudio"; + case DOWNLOAD_QUALITY::_144p: + return "bestvideo[ext=mp4][height^<=144]+bestaudio"; + } + + return std::string(); +} + void DownloadManager::FetchInformation(std::string url, std::string tubId) { std::stringstream ss; diff --git a/Tubio/DownloadManager.h b/Tubio/DownloadManager.h index 571e80b..bccbd09 100644 --- a/Tubio/DownloadManager.h +++ b/Tubio/DownloadManager.h @@ -23,6 +23,14 @@ namespace Downloader FINISHED, FAILED }; + enum class DOWNLOAD_QUALITY + { + _BEST, // best quality + _1080p, // 1080p + _720p, // 720p + _360p, // 360p + _144p // 144p + }; class DownloadEntry { @@ -41,6 +49,7 @@ namespace Downloader std::string download_url; DOWNLOAD_STATUS status; DOWNLOAD_MODE mode; + DOWNLOAD_QUALITY quality; int download_progress; time_t queued_timestamp; @@ -61,7 +70,7 @@ namespace Downloader /// /// If video or audio /// Tubio download id - static std::string QueueDownload(std::string url, DOWNLOAD_MODE mode); + static std::string QueueDownload(std::string url, DOWNLOAD_MODE mode, DOWNLOAD_QUALITY quality = DOWNLOAD_QUALITY::_BEST); /// /// Returns the number of videos queued @@ -107,7 +116,24 @@ namespace Downloader static void Load(); static std::vector ParseJsonArrayToEntries(const JasonPP::JsonArray& arr); + /// + /// Will return a youtube-dl quality string based on 'quality' + /// + /// + /// + static std::string DownloadQualityToStringParams(DOWNLOAD_QUALITY quality); + + /// + /// Will fetch metadata of an url + /// + /// Url to fetch from + /// Tubio id to save data to static void FetchInformation(std::string url, std::string tubId); + + /// + /// Will create an unique tubio id (based on time()) + /// + /// Unique tubio id static std::string CreateNewTubioID(); /// diff --git a/Tubio/RestQueryHandler.cpp b/Tubio/RestQueryHandler.cpp index 3f24b77..59b846a 100644 --- a/Tubio/RestQueryHandler.cpp +++ b/Tubio/RestQueryHandler.cpp @@ -73,6 +73,7 @@ bool RestQueryHandler::Example_Foo(const JsonBlock& request, JsonBlock& response bool RestQueryHandler::QueueDownload(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode) { + // Fetch parameters if ((!ValidateField("video_url", JDType::STRING, request, responseBody)) || (!ValidateField("mode", JDType::STRING, request, responseBody))) { @@ -80,8 +81,21 @@ bool RestQueryHandler::QueueDownload(const JsonBlock& request, JsonBlock& respon return false; } - std::string modeParam = request.Get("mode").AsString; std::string videoUrl = request.Get("video_url").AsString; + std::string modeParam = request.Get("mode").AsString; + std::string qualityParam; + + // 'quality' is an optional parameter. Default value is 'best' + if ((ValidateField("quality", JDType::STRING, request, responseBody))) + { + qualityParam = request.Get("quality").AsString; + } + else + { + qualityParam = "best"; + } + + // Process parameters DOWNLOAD_MODE mode; if (modeParam == "video") mode = DOWNLOAD_MODE::VIDEO; else if (modeParam == "audio") mode = DOWNLOAD_MODE::AUDIO; @@ -92,10 +106,27 @@ bool RestQueryHandler::QueueDownload(const JsonBlock& request, JsonBlock& respon return false; } + DOWNLOAD_QUALITY quality; + if (qualityParam == "best") + quality = DOWNLOAD_QUALITY::_BEST; + else if (qualityParam == "1080p") + quality = DOWNLOAD_QUALITY::_1080p; + else if (qualityParam == "720p") + quality = DOWNLOAD_QUALITY::_720p; + else if (qualityParam == "360p") + quality = DOWNLOAD_QUALITY::_360p; + else if (qualityParam == "144p") + quality = DOWNLOAD_QUALITY::_144p; + else { + responseCode = HTTP_STATUS_CODE::BAD_REQUEST; + responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, "Parameter 'quality' is of wrong value. Choose either 'best', '1080p', '720p', '360p', or '144p'.")); + return false; + } + log->cout << "Queued video \"" << videoUrl << "\"..."; log->Flush(); - std::string tubId = DownloadManager::QueueDownload(videoUrl, mode); + std::string tubId = DownloadManager::QueueDownload(videoUrl, mode, quality); responseCode = HTTP_STATUS_CODE::OK; responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK)); diff --git a/Tubio/Version.h b/Tubio/Version.h index e293521..2c28e98 100644 --- a/Tubio/Version.h +++ b/Tubio/Version.h @@ -1,2 +1,2 @@ #pragma once -#define TUBIO_SERVER_VERSION (0.537) +#define TUBIO_SERVER_VERSION (0.538) From 2515001b6314fa48b15a930844d13e8973cfe86d Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Sat, 13 Mar 2021 00:35:07 +0100 Subject: [PATCH 4/8] Cross-platform support for selective download quality --- Tubio/DownloadManager.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Tubio/DownloadManager.cpp b/Tubio/DownloadManager.cpp index 50c7dfe..1362b2b 100644 --- a/Tubio/DownloadManager.cpp +++ b/Tubio/DownloadManager.cpp @@ -161,7 +161,7 @@ void DownloadManager::DownloadNext() // Call template std::string ytdl_call_video_base = "youtube-dl --newline --no-call-home --no-playlist --no-part --no-warnings --socket-timeout 5 --limit-rate $$DL_RATE" - " --no-mtime --no-cache-dir -f $$QUALITY --recode-video mp4 --prefer-ffmpeg" + " --no-mtime --no-cache-dir -f \"$$QUALITY\" --recode-video mp4 --prefer-ffmpeg" " -o \"$$DL_FILE\" \"$$DL_URL\" > \"$$DL_PROG_BUF_FILE\""; // Fill template @@ -180,7 +180,7 @@ void DownloadManager::DownloadNext() // Call template std::string ytdl_call_audio_base = "youtube-dl --newline --no-call-home --no-playlist --no-part --no-warnings --socket-timeout 5 --limit-rate $$DL_RATE" - " --no-mtime --no-cache-dir -f $$QUALITY --audio-format mp3 --audio-quality 0 --extract-audio -o \"$$DL_FILE\"" + " --no-mtime --no-cache-dir -f \"$$QUALITY\" --audio-format mp3 --audio-quality 0 --extract-audio -o \"$$DL_FILE\"" " \"$$DL_URL\" > \"$$DL_PROG_BUF_FILE\""; @@ -598,13 +598,13 @@ std::string DownloadManager::DownloadQualityToStringParams(DOWNLOAD_QUALITY qual case DOWNLOAD_QUALITY::_BEST: return "bestvideo[ext=mp4]+bestaudio"; case DOWNLOAD_QUALITY::_1080p: - return "bestvideo[ext=mp4][height^<=1080]+bestaudio"; + return "bestvideo[ext=mp4][height<=1080]+bestaudio"; case DOWNLOAD_QUALITY::_720p: - return "bestvideo[ext=mp4][height^<=720]+bestaudio"; + return "bestvideo[ext=mp4][height<=720]+bestaudio"; case DOWNLOAD_QUALITY::_360p: - return "bestvideo[ext=mp4][height^<=360]+bestaudio"; + return "bestvideo[ext=mp4][height<=360]+bestaudio"; case DOWNLOAD_QUALITY::_144p: - return "bestvideo[ext=mp4][height^<=144]+bestaudio"; + return "bestvideo[ext=mp4][height<=144]+bestaudio"; } return std::string(); From f8c585a0dd19da15ae81c2e901b67ee84f7e323f Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Sat, 13 Mar 2021 14:58:07 +0100 Subject: [PATCH 5/8] Added more resolutions --- Tubio/DownloadManager.cpp | 60 ++++++++++++++++++++++++++++++++++++++ Tubio/DownloadManager.h | 24 +++++++++++++-- Tubio/RestQueryHandler.cpp | 18 ++++-------- Tubio/Version.h | 2 +- 4 files changed, 87 insertions(+), 17 deletions(-) diff --git a/Tubio/DownloadManager.cpp b/Tubio/DownloadManager.cpp index 1362b2b..d5b087c 100644 --- a/Tubio/DownloadManager.cpp +++ b/Tubio/DownloadManager.cpp @@ -577,6 +577,11 @@ std::vector DownloadManager::ParseJsonArrayToEntries(const JasonP newEntry.queued_timestamp = iter["queued_timestamp"].AsInt; } + if ((iter.DoesExist("quality")) && (iter["quality"].GetDataType() == JDType::STRING)) + { + newEntry.quality = GetDownloadQualityByName(iter["quality"].AsString); + } + if ((iter.DoesExist("mode")) && (iter["mode"].GetDataType() == JDType::STRING)) { std::string cachedStrMode = iter["mode"]; @@ -597,12 +602,18 @@ std::string DownloadManager::DownloadQualityToStringParams(DOWNLOAD_QUALITY qual { case DOWNLOAD_QUALITY::_BEST: return "bestvideo[ext=mp4]+bestaudio"; + case DOWNLOAD_QUALITY::_1440p: + return "bestvideo[ext=mp4][height<=1440]+bestaudio"; case DOWNLOAD_QUALITY::_1080p: return "bestvideo[ext=mp4][height<=1080]+bestaudio"; case DOWNLOAD_QUALITY::_720p: return "bestvideo[ext=mp4][height<=720]+bestaudio"; + case DOWNLOAD_QUALITY::_480p: + return "bestvideo[ext=mp4][height<=480]+bestaudio"; case DOWNLOAD_QUALITY::_360p: return "bestvideo[ext=mp4][height<=360]+bestaudio"; + case DOWNLOAD_QUALITY::_240p: + return "bestvideo[ext=mp4][height<=240]+bestaudio"; case DOWNLOAD_QUALITY::_144p: return "bestvideo[ext=mp4][height<=144]+bestaudio"; } @@ -610,6 +621,53 @@ std::string DownloadManager::DownloadQualityToStringParams(DOWNLOAD_QUALITY qual return std::string(); } +std::string DownloadManager::DownloadQualityToName(DOWNLOAD_QUALITY quality) +{ + switch (quality) + { + case DOWNLOAD_QUALITY::_BEST: + return "Best"; + case DOWNLOAD_QUALITY::_1440p: + return "1440p"; + case DOWNLOAD_QUALITY::_1080p: + return "1080p"; + case DOWNLOAD_QUALITY::_720p: + return "720p"; + case DOWNLOAD_QUALITY::_480p: + return "480p"; + case DOWNLOAD_QUALITY::_360p: + return "360p"; + case DOWNLOAD_QUALITY::_240p: + return "240p"; + case DOWNLOAD_QUALITY::_144p: + return "144p"; + } + + return std::string(); +} + +DOWNLOAD_QUALITY DownloadManager::GetDownloadQualityByName(const std::string& qualityName) +{ + if (qualityName == "best") + return DOWNLOAD_QUALITY::_BEST; + else if (qualityName == "1440p") + return DOWNLOAD_QUALITY::_1440p; + else if (qualityName == "1080p") + return DOWNLOAD_QUALITY::_1080p; + else if (qualityName == "720p") + return DOWNLOAD_QUALITY::_720p; + else if (qualityName == "480p") + return DOWNLOAD_QUALITY::_480p; + else if (qualityName == "360p") + return DOWNLOAD_QUALITY::_360p; + else if (qualityName == "240p") + return DOWNLOAD_QUALITY::_240p; + else if (qualityName == "144p") + return DOWNLOAD_QUALITY::_144p; + + return DOWNLOAD_QUALITY::INVALID; +} + void DownloadManager::FetchInformation(std::string url, std::string tubId) { std::stringstream ss; @@ -731,6 +789,7 @@ Downloader::DownloadEntry::DownloadEntry() download_url = ""; status = DOWNLOAD_STATUS::QUEUED; mode = DOWNLOAD_MODE::AUDIO; + quality = DOWNLOAD_QUALITY::INVALID; download_progress = 0; queued_timestamp = 0; @@ -751,6 +810,7 @@ JsonBlock DownloadEntry::GetAsJson() jb.Set(Ele("downloaded_filename", downloaded_filename)); jb.Set(Ele("download_url", download_url)); jb.Set(Ele("queued_timestamp", (long long int)queued_timestamp)); + jb.Set(Ele("quality", DownloadManager::DownloadQualityToName(quality))); switch (mode) { diff --git a/Tubio/DownloadManager.h b/Tubio/DownloadManager.h index bccbd09..9f1b033 100644 --- a/Tubio/DownloadManager.h +++ b/Tubio/DownloadManager.h @@ -26,10 +26,14 @@ namespace Downloader enum class DOWNLOAD_QUALITY { _BEST, // best quality + _1440p, // 1440p _1080p, // 1080p _720p, // 720p + _480p, // 480p _360p, // 360p - _144p // 144p + _240p, // 240p + _144p, // 144p + INVALID }; class DownloadEntry @@ -111,6 +115,20 @@ namespace Downloader /// static bool RemoveFromCacheByID(std::string id); + /// + /// Will return a name of a download quality. Like, '1080p' or 'best' for example + /// + /// The quality to get the name from + /// The name of the download quality + static std::string DownloadQualityToName(DOWNLOAD_QUALITY quality); + + /// + /// Will return a download quality object based on a name, like '1080p' or 'best' for example + /// + /// + /// + static DOWNLOAD_QUALITY GetDownloadQualityByName(const std::string& qualityName); + private: static void Save(); static void Load(); @@ -119,8 +137,8 @@ namespace Downloader /// /// Will return a youtube-dl quality string based on 'quality' /// - /// - /// + /// The download quality to get the parameter from + /// The youtube-dl quality parameter static std::string DownloadQualityToStringParams(DOWNLOAD_QUALITY quality); /// diff --git a/Tubio/RestQueryHandler.cpp b/Tubio/RestQueryHandler.cpp index 59b846a..8b2d3e4 100644 --- a/Tubio/RestQueryHandler.cpp +++ b/Tubio/RestQueryHandler.cpp @@ -96,6 +96,7 @@ bool RestQueryHandler::QueueDownload(const JsonBlock& request, JsonBlock& respon } // Process parameters + // Process download mode DOWNLOAD_MODE mode; if (modeParam == "video") mode = DOWNLOAD_MODE::VIDEO; else if (modeParam == "audio") mode = DOWNLOAD_MODE::AUDIO; @@ -106,20 +107,11 @@ bool RestQueryHandler::QueueDownload(const JsonBlock& request, JsonBlock& respon return false; } - DOWNLOAD_QUALITY quality; - if (qualityParam == "best") - quality = DOWNLOAD_QUALITY::_BEST; - else if (qualityParam == "1080p") - quality = DOWNLOAD_QUALITY::_1080p; - else if (qualityParam == "720p") - quality = DOWNLOAD_QUALITY::_720p; - else if (qualityParam == "360p") - quality = DOWNLOAD_QUALITY::_360p; - else if (qualityParam == "144p") - quality = DOWNLOAD_QUALITY::_144p; - else { + // Process download quality + DOWNLOAD_QUALITY quality = DownloadManager::GetDownloadQualityByName(qualityParam); + if (quality == DOWNLOAD_QUALITY::INVALID) { responseCode = HTTP_STATUS_CODE::BAD_REQUEST; - responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, "Parameter 'quality' is of wrong value. Choose either 'best', '1080p', '720p', '360p', or '144p'.")); + responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, "Parameter 'quality' is of wrong value. Choose either 'best', '1440p', '1080p', '720p', '480p', '360p', '240p', or '144p'.")); return false; } diff --git a/Tubio/Version.h b/Tubio/Version.h index 2c28e98..d3ad6f0 100644 --- a/Tubio/Version.h +++ b/Tubio/Version.h @@ -1,2 +1,2 @@ #pragma once -#define TUBIO_SERVER_VERSION (0.538) +#define TUBIO_SERVER_VERSION (0.539) From 661e260022b9ad124a9dc490507214daabb9172f Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Sat, 13 Mar 2021 14:58:30 +0100 Subject: [PATCH 6/8] Made frontend support custom quality settings --- .../components/DownloadEntry.vue | 19 +++++-- tubio-frontend-nuxt-app/layouts/default.vue | 4 +- tubio-frontend-nuxt-app/pages/index.vue | 37 +++++++++++--- tubio-frontend-nuxt-app/pages/settings.vue | 2 +- .../static/rest-dummies/cache.json | 50 +++++++++++++------ tubio-frontend-nuxt-app/store/dlcache.js | 2 + 6 files changed, 85 insertions(+), 29 deletions(-) diff --git a/tubio-frontend-nuxt-app/components/DownloadEntry.vue b/tubio-frontend-nuxt-app/components/DownloadEntry.vue index 2f5aff7..9db084a 100644 --- a/tubio-frontend-nuxt-app/components/DownloadEntry.vue +++ b/tubio-frontend-nuxt-app/components/DownloadEntry.vue @@ -5,12 +5,15 @@
-
+
-
+ +
@@ -146,10 +149,14 @@ export default { width: 100%; border-bottom: 2px solid theme("colors.gray-1"); - & .timestamp { + & .smalltext-metadata { font-family: ZillaSlab, serif; font-size: 12pt; color: theme("colors.text-gray-1"); + + &::before { + content: '|'; + } } & .thumbnail { @@ -162,6 +169,10 @@ export default { position: relative; cursor: pointer; scrollbar-width: none; + backface-visibility: hidden; // prevent flickering on mover + transform: translate3d(0, 0, 0);// prevent flickering on mover + transform-style: preserve-3d; // prevent flickering on mover + transition: transform 0.2s ease; @media (max-width: theme('screens.md')) { width: 100%; @@ -169,7 +180,7 @@ export default { } &:hover { - // transform: scale(1.05); /* shit causes flickering */ + transform: scale(1.05); /* shit causes flickering */ } &__vignette { diff --git a/tubio-frontend-nuxt-app/layouts/default.vue b/tubio-frontend-nuxt-app/layouts/default.vue index 78c1986..98fc334 100644 --- a/tubio-frontend-nuxt-app/layouts/default.vue +++ b/tubio-frontend-nuxt-app/layouts/default.vue @@ -24,8 +24,8 @@ export default {
Loading...
- +
Loading...
+ diff --git a/Tubio/frontend/_nuxt/0fb9eb4.js b/Tubio/frontend/_nuxt/0fb9eb4.js deleted file mode 100644 index 91a7548..0000000 --- a/Tubio/frontend/_nuxt/0fb9eb4.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17,2,3,4,5,6,7,11,14,15],{253:function(t,e,o){var content=o(267);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("ac8f1938",content,!0,{sourceMap:!1})},254:function(t,e,o){var content=o(272);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("2ec3859b",content,!0,{sourceMap:!1})},256:function(t,e,o){"use strict";o.r(e);var r={props:{height:{type:String,default:"0"},m_height:{type:String,default:"0"}},computed:{mobile_height:function(){return"0"===this.m_height?this.height:this.m_height}}},n=(o(266),o(9)),component=Object(n.a)(r,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{staticClass:"spacer",style:"--height: "+t.height+"; --m_height: "+t.mobile_height+";"})}),[],!1,null,"70a5daf0",null);e.default=component.exports},257:function(t,e,o){"use strict";o.r(e);o(101),o(34),o(268),o(51);var r=o(258),n=o(261),l=o(259),d=o(260),f=o(7),c=o.n(f),v={components:{IconDownload:r.default,IconX:n.default,IconFilm:l.default,IconMusic:d.default},props:{downloadEntry:{type:Object}},methods:{getQueuedDateString:function(t){var e=new Date(1e3*t);return("0"+e.getDate()).slice(-2)+"."+("0"+(e.getMonth()+1)).slice(-2)+"."+e.getFullYear()},getDurationString:function(t){if(t<0)return"";if(t>36e4)return"";var e=Math.floor(t/3600),o=Math.floor(t%3600/60),s=Math.floor(t%3600%60),r="";return e>0&&(r=String(e).padStart(2,"0")+":"),r+=String(o).padStart(2,"0")+":"+String(s).padStart(2,"0")},linebreaksToBrTags:function(t){return t.replace("\n","
")},removeDownload:function(){var t=this;c.a.post("/api",{request:"remove_download_entry",id:this.downloadEntry.tubio_id}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("dlcache/update",t)}))}}},h=(o(271),o(9)),component=Object(h.a)(v,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"frame mb-6 pt-2 pb-4"},[o("div",{staticClass:"flex flex-col"},[o("div",{staticClass:"flex items-end justify-between w-full md:w-auto"},[o("div",{staticClass:"flex flex-col"},[o("div",{staticClass:"icon--mode"},["video"===t.downloadEntry.mode?o("IconFilm"):o("IconMusic")],1),t._v(" "),o("div",{staticClass:"timestamp"},[t._v("\n "+t._s(t.getQueuedDateString(t.downloadEntry.queued_timestamp))+"\n ")])]),t._v(" "),o("div",{staticClass:"button-remove",on:{click:t.removeDownload}},[o("IconX")],1)]),t._v(" "),o("div",{staticClass:"flex flex-col-reverse md:flex-row w-full mt-2"},[o("div",{staticClass:"flex flex-col"},[o("a",{attrs:{href:t.downloadEntry.webpage_url,target:"_blank",title:"To the original source"}},[o("div",{staticClass:"thumbnail flex-shrink-0",style:"--thumbnail: url('"+t.downloadEntry.thumbnail_url+"')"},[o("div",{staticClass:"thumbnail__vignette"}),t._v(" "),o("div",{staticClass:"thumbnail__duration"},[t._v(t._s(t.getDurationString(t.downloadEntry.duration)))])])]),t._v(" "),"downloading"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--progressbar flex w-full mt-3"},[o("div",{staticClass:"status--progressbar__good items-stretch",style:"--download-progress: "+t.downloadEntry.download_progress+"%;"})]),t._v(" "),o("div",{staticClass:"status--progressbar__text"},[t._v("\n "+t._s(t.downloadEntry.download_progress)+"%\n ")])]):"finished"===t.downloadEntry.status?o("a",{attrs:{href:t.downloadEntry.download_url,title:"download"}},[o("div",{staticClass:"status--ready mt-3 button flex justify-center w-full"},[o("div",[o("IconDownload")],1)])]):"queued"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--queued mt-3"},[t._v("\n Queued\n ")])]):"failed"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--failed mt-3"},[t._v("\n Failed!\n ")])]):t._e()]),t._v(" "),o("div",{staticClass:"flex flex-col md:ml-4 w-full overflow-x-hidden overflow-y-visible"},[o("h1",{staticClass:"title"},[t._v(t._s(t.downloadEntry.title))]),t._v(" "),o("div",{staticClass:"relative my-4"},[""!=t.downloadEntry.description?o("div",[o("p",{staticClass:"description p-2"},[o("span",{domProps:{innerHTML:t._s(t.linebreaksToBrTags(t.downloadEntry.description))}})]),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--left"}),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--right"})]):t._e()])])])])])}),[],!1,null,"7df42c9f",null);e.default=component.exports},258:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-download",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{"fill-rule":"evenodd",d:"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"}})])}),[],!1,null,null,null);e.default=component.exports},259:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-film",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0h8v6H4V1zm8 8H4v6h8V9zM1 1h2v2H1V1zm2 3H1v2h2V4zM1 7h2v2H1V7zm2 3H1v2h2v-2zm-2 3h2v2H1v-2zM15 1h-2v2h2V1zm-2 3h2v2h-2V4zm2 3h-2v2h2V7zm-2 3h2v2h-2v-2zm2 3h-2v2h2v-2z"}})])}),[],!1,null,null,null);e.default=component.exports},260:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-music-note-beamed",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{d:"M6 13c0 1.105-1.12 2-2.5 2S1 14.105 1 13c0-1.104 1.12-2 2.5-2s2.5.896 2.5 2zm9-2c0 1.105-1.12 2-2.5 2s-2.5-.895-2.5-2 1.12-2 2.5-2 2.5.895 2.5 2z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M14 11V2h1v9h-1zM6 3v10H5V3h1z"}}),t._v(" "),o("path",{attrs:{d:"M5 2.905a1 1 0 0 1 .9-.995l8-.8a1 1 0 0 1 1.1.995V3L5 4V2.905z"}})])}),[],!1,null,null,null);e.default=component.exports},261:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-x",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"}})])}),[],!1,null,null,null);e.default=component.exports},266:function(t,e,o){"use strict";o(253)},267:function(t,e,o){var r=o(14)(!1);r.push([t.i,".spacer[data-v-70a5daf0]{width:1px;height:var(--height)}@media(max-width:660px){.spacer[data-v-70a5daf0]{height:var(--m_height)}}",""]),t.exports=r},268:function(t,e,o){"use strict";var r=o(4),n=o(269).start;r({target:"String",proto:!0,forced:o(270)},{padStart:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}})},269:function(t,e,o){var r=o(17),n=o(164),l=o(16),d=Math.ceil,f=function(t){return function(e,o,f){var c,v,h=String(l(e)),m=h.length,x=void 0===f?" ":String(f),w=r(o);return w<=m||""==x?h:(c=w-m,(v=n.call(x,d(c/x.length))).length>c&&(v=v.slice(0,c)),t?h+v:v+h)}};t.exports={start:f(!1),end:f(!0)}},270:function(t,e,o){var r=o(50);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},271:function(t,e,o){"use strict";o(254)},272:function(t,e,o){var r=o(14)(!1);r.push([t.i,".frame[data-v-7df42c9f]{width:100%;border-bottom:2px solid #888}.frame .timestamp[data-v-7df42c9f]{font-family:ZillaSlab,serif;font-size:12pt;color:#bbb}.frame .thumbnail[data-v-7df42c9f]{background-image:var(--thumbnail);background-size:cover;background-position:50%;background-repeat:no-repeat;width:150px;height:84.375px;position:relative;cursor:pointer;scrollbar-width:none}@media(max-width:768px){.frame .thumbnail[data-v-7df42c9f]{width:100%;height:130px}}.frame .thumbnail__vignette[data-v-7df42c9f]{position:absolute;top:0;bottom:0;right:0;left:0;box-shadow:0 0 15px 2px #000}.frame .thumbnail__duration[data-v-7df42c9f]{position:absolute;bottom:0;right:0;padding:0 3px 3px 0;text-align:right;font-size:12pt;color:#bbb;background-color:rgba(0,0,0,.66667)}.frame .title[data-v-7df42c9f]{color:#bbb;font-size:22pt;max-height:1.3em;overflow-y:hidden;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.frame .description[data-v-7df42c9f]{color:#bbb;font-size:14pt;height:100px;overflow-x:hidden;overflow-y:scroll;position:relative;background-color:rgba(0,0,0,.2)}@media(max-width:768px){.frame .description[data-v-7df42c9f]{overflow:scroll}}.frame .description__decobox[data-v-7df42c9f]{position:absolute}.frame .description__decobox--left[data-v-7df42c9f]{top:0;left:0;width:40px;height:40px;border-top:2px solid #888;border-left:2px solid #888;pointer-events:none}.frame .description__decobox--right[data-v-7df42c9f]{bottom:0;right:0;width:40px;height:40px;border-bottom:2px solid #888;border-right:2px solid #888;pointer-events:none}.frame .status--progressbar[data-v-7df42c9f]{background-color:#900;height:5px}.frame .status--progressbar__good[data-v-7df42c9f]{background-color:#0b0;width:var(--download-progress);transition:width 1s}.frame .status--progressbar__text[data-v-7df42c9f]{font-size:24pt;color:#bbb}.frame .status--ready[data-v-7df42c9f]{height:45px;background-color:#bbb;transition:background-color .2s,border .2s}.frame .status--ready[data-v-7df42c9f]:hover{background-color:#5954a4;color:#fff}.frame .status--ready svg[data-v-7df42c9f]{height:35px}.frame .status--queued[data-v-7df42c9f]{font-family:ZillaSlab,serif;font-size:24pt;color:#bbb}.frame .status--failed[data-v-7df42c9f]{font-family:ZillaSlab,serif;font-size:24pt;color:#d40}.frame .button-remove[data-v-7df42c9f]{width:35px;height:35px;fill:#333;stroke:#333;cursor:pointer;transition:background-color .2s,border-radius .2s}.frame .button-remove[data-v-7df42c9f]:hover{background-color:#d40;border-radius:50%}.frame[data-v-7df42c9f]::-webkit-scrollbar,.frame[data-v-7df42c9f] ::-webkit-scrollbar{display:none}.frame .icon--mode[data-v-7df42c9f]{width:20px}",""]),t.exports=r},273:function(t,e,o){var content=o(282);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("2feed4f0",content,!0,{sourceMap:!1})},274:function(t,e,o){var content=o(284);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("5d20b250",content,!0,{sourceMap:!1})},281:function(t,e,o){"use strict";o(273)},282:function(t,e,o){var r=o(14)(!1);r.push([t.i,".download-box[data-v-8061dfc4]{width:100%;min-height:600px;border-radius:5px;padding:20px;background-color:hsla(0,0%,100%,.33333)}.no-dls-yet[data-v-8061dfc4]{color:#bbb;font-size:34pt;text-align:center}",""]),t.exports=r},283:function(t,e,o){"use strict";o(274)},284:function(t,e,o){var r=o(14)(!1);r.push([t.i,".click-blocker[data-v-1fe60afe]{bottom:0}.box[data-v-1fe60afe],.click-blocker[data-v-1fe60afe]{position:absolute;left:0;right:0;top:0}.box[data-v-1fe60afe]{height:60%;overflow:hidden}@media(max-width:1280px){.box[data-v-1fe60afe]{position:absolute;top:100px;bottom:100px;left:100px;right:100px}}@media(max-width:768px){.box[data-v-1fe60afe]{position:absolute;top:0;bottom:0;left:0;right:0}}.box h2[data-v-1fe60afe]{text-align:center;font-size:56pt;color:#bbb}@media(max-width:768px){.box h2[data-v-1fe60afe]{margin-top:36px;max-height:unset}}@media(max-width:768px){.box .dots[data-v-1fe60afe]{margin-top:50px}}.box .dots .dot[data-v-1fe60afe]{width:50px;height:50px;background-color:#888;border-radius:50px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.box .dots .dot[data-v-1fe60afe]:first-child{-webkit-animation:dot-hover-data-v-1fe60afe 1.5s infinite;animation:dot-hover-data-v-1fe60afe 1.5s infinite;-webkit-animation-delay:0;animation-delay:0}.box .dots .dot[data-v-1fe60afe]:nth-child(2){-webkit-animation:dot-hover-data-v-1fe60afe 1.5s infinite;animation:dot-hover-data-v-1fe60afe 1.5s infinite;-webkit-animation-delay:.3s;animation-delay:.3s}.box .dots .dot[data-v-1fe60afe]:nth-child(3){-webkit-animation:dot-hover-data-v-1fe60afe 1.5s infinite;animation:dot-hover-data-v-1fe60afe 1.5s infinite;-webkit-animation-delay:.6s;animation-delay:.6s}@media(max-width:768px){.box .dots .dot[data-v-1fe60afe]{width:30px;height:30px}.box .dots .dot[data-v-1fe60afe]:not(:first-child){margin-left:15px}.box .dots .dot[data-v-1fe60afe]:not(:last-child){margin-right:15px}}@media(min-width:768px){.box .dots .dot[data-v-1fe60afe]{font-size:36pt}.box .dots .dot[data-v-1fe60afe]:not(:first-child){margin-left:25px}.box .dots .dot[data-v-1fe60afe]:not(:last-child){margin-right:25px}}.box .loading-text[data-v-1fe60afe]{font-size:36pt}@media(max-width:768px){.box .loading-text[data-v-1fe60afe]{font-size:24pt}}@-webkit-keyframes dot-hover-data-v-1fe60afe{0%{transform:translateY(0)}50%{transform:translateY(1em)}to{transform:translateY(0)}}@keyframes dot-hover-data-v-1fe60afe{0%{transform:translateY(0)}50%{transform:translateY(1em)}to{transform:translateY(0)}}",""]),t.exports=r},287:function(t,e,o){"use strict";o.r(e);var r={},n=(o(283),o(9)),component=Object(n.a)(r,(function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)}),[function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"click-blocker flex justify-center md:items-center"},[o("div",{staticClass:"box"},[o("div",{staticClass:"w-full h-full flex flex-col justify-center items-center"},[o("h2",{staticClass:"loading-text"},[t._v("Just a second...")]),t._v(" "),o("div",{staticClass:"dots flex w-full justify-center items-center mt-24"},[o("div",{staticClass:"dot"}),t._v(" "),o("div",{staticClass:"dot"}),t._v(" "),o("div",{staticClass:"dot"})])])])])}],!1,null,"1fe60afe",null);e.default=component.exports},288:function(t,e,o){"use strict";o.r(e);o(39);var r=o(257),n=(o(7),{components:{DownloadEntry:r.default},computed:{dlcache:function(){return this.$store.state.dlcache.cache}},data:function(){return{downloads:{type:Array}}},mounted:function(){var t=this;this.$store.dispatch("dlcache/update"),setInterval((function(){t.$store.dispatch("dlcache/update")}),1e3)}}),l=(o(281),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"download-box"},[t._e(),t._v(" "),t._l(t.dlcache,(function(t,e){return o("DownloadEntry",{key:e,attrs:{downloadEntry:t}})}))],2)}),[],!1,null,"8061dfc4",null);e.default=component.exports;installComponents(component,{DownloadEntry:o(257).default})},290:function(t,e,o){var content=o(295);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("347a4cba",content,!0,{sourceMap:!1})},291:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-arrow-right-square",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{"fill-rule":"evenodd",d:"M14 1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M4 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5A.5.5 0 0 0 4 8z"}})])}),[],!1,null,null,null);e.default=component.exports},294:function(t,e,o){"use strict";o(290)},295:function(t,e,o){var r=o(14)(!1);r.push([t.i,".logo[data-v-51390b44]{--logo-color:#8ad5eb;width:300px;fill:var(--logo-color);stroke:var(--logo-color);filter:drop-shadow(0 0 3px #8ad5eb);transition:fill .2s,stroke .2s,filter .2s}@media(max-width:768px){.logo[data-v-51390b44]{width:80px;align-self:flex-start}}@media(min-width:768px){.logo[data-v-51390b44]:hover{--logo-color:#bee7f4;filter:drop-shadow(0 0 5px #bee7f4)}}.input-flex[data-v-51390b44]{width:100%}input[data-v-51390b44]{height:50px;font-family:ZillaSlab,serif;font-weight:700;font-size:18pt;border-radius:5px;padding:.1em .5em;box-shadow:0 0 20px 5px hsla(0,0%,100%,.2);border:none;color:#04254e;transition:transform .2s;min-width:0}input[data-v-51390b44]:focus{transform:scale(1.015)}.icon-button[data-v-51390b44]{height:2em;stroke:#04254e;overflow:hidden;transition:stroke .2s,fill .2s,color .2s}.icon-button svg[data-v-51390b44]{height:100%}.button[data-v-51390b44]{transition:transform .2s,background-color .2s,border .2s}.button[data-v-51390b44]:hover{transform:scale(1.05);background-color:#5954a4;color:#fff}.button:hover svg[data-v-51390b44]{fill:#fff;stroke:#fff}.dropdown[data-v-51390b44]{min-width:100px;height:100%;border-radius:5px;cursor:pointer;font-family:ZillaSlab,serif;font-size:16pt}",""]),t.exports=r},297:function(t,e,o){"use strict";o.r(e);o(34),o(102);var r=o(70),n=o(256),l=o(288),d=o(287),f=o(291),c=o(7),v=o.n(c),h={components:{Logo:r.default,Spacer:n.default,DownloadBox:l.default,PleaseWaitBlocker:d.default,IconArrowRightSquare:f.default},data:function(){return{isWaitingForResponse:{type:Boolean,default:!1}}},methods:{downloadButtonClicked:function(){var t=this;if(this.$refs.video_url.value.match(/(https?:\/\/)?[a-zA-Z0-9-_.]+\.[a-zA-Z-_.]+/)){var e=this.$refs.video_url.value;this.$refs.video_url.value="",this.isWaitingForResponse=!0,v.a.post("/api",{request:"queue_download",video_url:e,mode:this.$refs.mode.options[this.$refs.mode.selectedIndex].value}).then((function(e){"OK"===e.data.status&&(t.isWaitingForResponse=!1,t.$store.dispatch("dlcache/update",t))}))}},keyMonitor:function(t){"Enter"==t.key&&this.downloadButtonClicked()}},mounted:function(){this.isWaitingForResponse=!1}},m=(o(294),o(9)),component=Object(m.a)(h,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[t.isWaitingForResponse?o("PleaseWaitBlocker"):o("span",{staticClass:"inherit-all"},[o("div",{staticClass:"hidden md:block"},[o("Spacer",{attrs:{height:"0",m_height:"1em"}}),t._v(" "),o("Logo",{staticClass:"logo"}),t._v(" "),o("Spacer",{attrs:{height:"2em",m_height:"2em"}})],1),t._v(" "),o("div",{staticClass:"flex flex-row flex-wrap md:flex-no-wrap input-flex justify-between md:justify-center"},[o("input",{ref:"video_url",staticClass:"flex-grow md:mr-4 mb-2 md:mb-0 w-full",attrs:{type:"url",name:"video_url",id:"video_url",placeholder:"video-url"},on:{keydown:t.keyMonitor}}),t._v(" "),o("div",{staticClass:"w-full md:hidden"}),t._v(" "),o("div",{staticClass:"flex-shrink button-submit flex-grow-0"},[o("select",{ref:"mode",staticClass:"dropdown",attrs:{name:"mode",id:"mode"}},[o("option",{attrs:{value:"video"}},[t._v("Video")]),t._v(" "),o("option",{attrs:{value:"audio"}},[t._v("Audio")])])]),t._v(" "),o("div",{staticClass:"button flex-shrink button-submit flex-grow-0 ml-3",on:{click:t.downloadButtonClicked}},[o("IconArrowRightSquare",{staticClass:"icon-button"})],1)]),t._v(" "),o("Spacer",{attrs:{height:"2em",m_height:"2em"}}),t._v(" "),o("DownloadBox")],1)],1)}),[],!1,null,"51390b44",null);e.default=component.exports;installComponents(component,{Spacer:o(256).default,Logo:o(70).default,DownloadBox:o(288).default,PleaseWaitBlocker:o(287).default})}}]); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/25d0543.js b/Tubio/frontend/_nuxt/319ed71.js similarity index 94% rename from Tubio/frontend/_nuxt/25d0543.js rename to Tubio/frontend/_nuxt/319ed71.js index 8f7cb60..888430a 100644 --- a/Tubio/frontend/_nuxt/25d0543.js +++ b/Tubio/frontend/_nuxt/319ed71.js @@ -1 +1 @@ -!function(e){function r(data){for(var r,n,c=data[0],l=data[1],d=data[2],i=0,h=[];i36e4)return"";var e=Math.floor(t/3600),o=Math.floor(t%3600/60),s=Math.floor(t%3600%60),r="";return e>0&&(r=String(e).padStart(2,"0")+":"),r+=String(o).padStart(2,"0")+":"+String(s).padStart(2,"0")},linebreaksToBrTags:function(t){return t.replace("\n","
")},removeDownload:function(){var t=this;f.a.post("/api",{request:"remove_download_entry",id:this.downloadEntry.tubio_id}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("dlcache/update",t)}))}}},h=(o(271),o(9)),component=Object(h.a)(v,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"frame mb-6 pt-2 pb-4"},[o("div",{staticClass:"flex flex-col"},[o("div",{staticClass:"flex items-end justify-between w-full md:w-auto"},[o("div",{staticClass:"flex flex-row"},[o("div",{staticClass:"icon--mode"},["video"===t.downloadEntry.mode?o("IconFilm"):o("IconMusic")],1),t._v(" "),o("div",{staticClass:"smalltext-metadata ml-1"},[t._v("\n "+t._s(void 0!==t.downloadEntry.quality?t.downloadEntry.quality:"best")+" ")]),t._v(" "),o("div",{staticClass:"smalltext-metadata ml-1"},[t._v("\n "+t._s(t.getQueuedDateString(t.downloadEntry.queued_timestamp))+"\n ")])]),t._v(" "),o("div",{staticClass:"button-remove",on:{click:t.removeDownload}},[o("IconX")],1)]),t._v(" "),o("div",{staticClass:"flex flex-col-reverse md:flex-row w-full mt-2"},[o("div",{staticClass:"flex flex-col"},[o("a",{attrs:{href:t.downloadEntry.webpage_url,target:"_blank",title:"To the original source"}},[o("div",{staticClass:"thumbnail flex-shrink-0",style:"--thumbnail: url('"+t.downloadEntry.thumbnail_url+"')"},[o("div",{staticClass:"thumbnail__vignette"}),t._v(" "),o("div",{staticClass:"thumbnail__duration"},[t._v(t._s(t.getDurationString(t.downloadEntry.duration)))])])]),t._v(" "),"downloading"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--progressbar flex w-full mt-3"},[o("div",{staticClass:"status--progressbar__good items-stretch",style:"--download-progress: "+t.downloadEntry.download_progress+"%;"})]),t._v(" "),o("div",{staticClass:"status--progressbar__text"},[t._v("\n "+t._s(t.downloadEntry.download_progress)+"%\n ")])]):"finished"===t.downloadEntry.status?o("a",{attrs:{href:t.downloadEntry.download_url,title:"download"}},[o("div",{staticClass:"status--ready mt-3 button flex justify-center w-full"},[o("div",[o("IconDownload")],1)])]):"queued"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--queued mt-3"},[t._v("\n Queued\n ")])]):"failed"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--failed mt-3"},[t._v("\n Failed!\n ")])]):t._e()]),t._v(" "),o("div",{staticClass:"flex flex-col md:ml-4 w-full overflow-x-hidden overflow-y-visible"},[o("h1",{staticClass:"title"},[t._v(t._s(t.downloadEntry.title))]),t._v(" "),o("div",{staticClass:"relative my-4"},[""!=t.downloadEntry.description?o("div",[o("p",{staticClass:"description p-2"},[o("span",{domProps:{innerHTML:t._s(t.linebreaksToBrTags(t.downloadEntry.description))}})]),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--left"}),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--right"})]):t._e()])])])])])}),[],!1,null,"1c500fb6",null);e.default=component.exports},258:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-download",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{"fill-rule":"evenodd",d:"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"}})])}),[],!1,null,null,null);e.default=component.exports},259:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-film",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0h8v6H4V1zm8 8H4v6h8V9zM1 1h2v2H1V1zm2 3H1v2h2V4zM1 7h2v2H1V7zm2 3H1v2h2v-2zm-2 3h2v2H1v-2zM15 1h-2v2h2V1zm-2 3h2v2h-2V4zm2 3h-2v2h2V7zm-2 3h2v2h-2v-2zm2 3h-2v2h2v-2z"}})])}),[],!1,null,null,null);e.default=component.exports},260:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-music-note-beamed",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{d:"M6 13c0 1.105-1.12 2-2.5 2S1 14.105 1 13c0-1.104 1.12-2 2.5-2s2.5.896 2.5 2zm9-2c0 1.105-1.12 2-2.5 2s-2.5-.895-2.5-2 1.12-2 2.5-2 2.5.895 2.5 2z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M14 11V2h1v9h-1zM6 3v10H5V3h1z"}}),t._v(" "),o("path",{attrs:{d:"M5 2.905a1 1 0 0 1 .9-.995l8-.8a1 1 0 0 1 1.1.995V3L5 4V2.905z"}})])}),[],!1,null,null,null);e.default=component.exports},261:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-x",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"}})])}),[],!1,null,null,null);e.default=component.exports},266:function(t,e,o){"use strict";o(253)},267:function(t,e,o){var r=o(14)(!1);r.push([t.i,".spacer[data-v-70a5daf0]{width:1px;height:var(--height)}@media(max-width:660px){.spacer[data-v-70a5daf0]{height:var(--m_height)}}",""]),t.exports=r},268:function(t,e,o){"use strict";var r=o(4),n=o(269).start;r({target:"String",proto:!0,forced:o(270)},{padStart:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}})},269:function(t,e,o){var r=o(17),n=o(164),l=o(16),d=Math.ceil,c=function(t){return function(e,o,c){var f,v,h=String(l(e)),m=h.length,x=void 0===c?" ":String(c),w=r(o);return w<=m||""==x?h:(f=w-m,(v=n.call(x,d(f/x.length))).length>f&&(v=v.slice(0,f)),t?h+v:v+h)}};t.exports={start:c(!1),end:c(!0)}},270:function(t,e,o){var r=o(50);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},271:function(t,e,o){"use strict";o(254)},272:function(t,e,o){var r=o(14)(!1);r.push([t.i,'.frame[data-v-1c500fb6]{width:100%;border-bottom:2px solid #888}.frame .smalltext-metadata[data-v-1c500fb6]{font-family:ZillaSlab,serif;font-size:12pt;color:#bbb}.frame .smalltext-metadata[data-v-1c500fb6]:before{content:"|"}.frame .thumbnail[data-v-1c500fb6]{background-image:var(--thumbnail);background-size:cover;background-position:50%;background-repeat:no-repeat;width:150px;height:84.375px;position:relative;cursor:pointer;scrollbar-width:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transform-style:preserve-3d;transition:transform .2s ease}@media(max-width:768px){.frame .thumbnail[data-v-1c500fb6]{width:100%;height:130px}}.frame .thumbnail[data-v-1c500fb6]:hover{transform:scale(1.05)}.frame .thumbnail__vignette[data-v-1c500fb6]{position:absolute;top:0;bottom:0;right:0;left:0;box-shadow:0 0 15px 2px #000}.frame .thumbnail__duration[data-v-1c500fb6]{position:absolute;bottom:0;right:0;padding:0 3px 3px 0;text-align:right;font-size:12pt;color:#bbb;background-color:rgba(0,0,0,.66667)}.frame .title[data-v-1c500fb6]{color:#bbb;font-size:22pt;max-height:1.3em;overflow-y:hidden;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.frame .description[data-v-1c500fb6]{color:#bbb;font-size:14pt;height:100px;overflow-x:hidden;overflow-y:scroll;position:relative;background-color:rgba(0,0,0,.2)}@media(max-width:768px){.frame .description[data-v-1c500fb6]{overflow:scroll}}.frame .description__decobox[data-v-1c500fb6]{position:absolute}.frame .description__decobox--left[data-v-1c500fb6]{top:0;left:0;width:40px;height:40px;border-top:2px solid #888;border-left:2px solid #888;pointer-events:none}.frame .description__decobox--right[data-v-1c500fb6]{bottom:0;right:0;width:40px;height:40px;border-bottom:2px solid #888;border-right:2px solid #888;pointer-events:none}.frame .status--progressbar[data-v-1c500fb6]{background-color:#900;height:5px}.frame .status--progressbar__good[data-v-1c500fb6]{background-color:#0b0;width:var(--download-progress);transition:width 1s}.frame .status--progressbar__text[data-v-1c500fb6]{font-size:24pt;color:#bbb}.frame .status--ready[data-v-1c500fb6]{height:45px;background-color:#bbb;transition:background-color .2s,border .2s}.frame .status--ready[data-v-1c500fb6]:hover{background-color:#5954a4;color:#fff}.frame .status--ready svg[data-v-1c500fb6]{height:35px}.frame .status--queued[data-v-1c500fb6]{font-family:ZillaSlab,serif;font-size:24pt;color:#bbb}.frame .status--failed[data-v-1c500fb6]{font-family:ZillaSlab,serif;font-size:24pt;color:#d40}.frame .button-remove[data-v-1c500fb6]{width:35px;height:35px;fill:#333;stroke:#333;cursor:pointer;transition:background-color .2s,border-radius .2s}.frame .button-remove[data-v-1c500fb6]:hover{background-color:#d40;border-radius:50%}.frame[data-v-1c500fb6]::-webkit-scrollbar,.frame[data-v-1c500fb6] ::-webkit-scrollbar{display:none}.frame .icon--mode[data-v-1c500fb6]{width:20px}',""]),t.exports=r},273:function(t,e,o){var content=o(282);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("2feed4f0",content,!0,{sourceMap:!1})},274:function(t,e,o){var content=o(284);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("5d20b250",content,!0,{sourceMap:!1})},281:function(t,e,o){"use strict";o(273)},282:function(t,e,o){var r=o(14)(!1);r.push([t.i,".download-box[data-v-8061dfc4]{width:100%;min-height:600px;border-radius:5px;padding:20px;background-color:hsla(0,0%,100%,.33333)}.no-dls-yet[data-v-8061dfc4]{color:#bbb;font-size:34pt;text-align:center}",""]),t.exports=r},283:function(t,e,o){"use strict";o(274)},284:function(t,e,o){var r=o(14)(!1);r.push([t.i,".click-blocker[data-v-1fe60afe]{bottom:0}.box[data-v-1fe60afe],.click-blocker[data-v-1fe60afe]{position:absolute;left:0;right:0;top:0}.box[data-v-1fe60afe]{height:60%;overflow:hidden}@media(max-width:1280px){.box[data-v-1fe60afe]{position:absolute;top:100px;bottom:100px;left:100px;right:100px}}@media(max-width:768px){.box[data-v-1fe60afe]{position:absolute;top:0;bottom:0;left:0;right:0}}.box h2[data-v-1fe60afe]{text-align:center;font-size:56pt;color:#bbb}@media(max-width:768px){.box h2[data-v-1fe60afe]{margin-top:36px;max-height:unset}}@media(max-width:768px){.box .dots[data-v-1fe60afe]{margin-top:50px}}.box .dots .dot[data-v-1fe60afe]{width:50px;height:50px;background-color:#888;border-radius:50px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.box .dots .dot[data-v-1fe60afe]:first-child{-webkit-animation:dot-hover-data-v-1fe60afe 1.5s infinite;animation:dot-hover-data-v-1fe60afe 1.5s infinite;-webkit-animation-delay:0;animation-delay:0}.box .dots .dot[data-v-1fe60afe]:nth-child(2){-webkit-animation:dot-hover-data-v-1fe60afe 1.5s infinite;animation:dot-hover-data-v-1fe60afe 1.5s infinite;-webkit-animation-delay:.3s;animation-delay:.3s}.box .dots .dot[data-v-1fe60afe]:nth-child(3){-webkit-animation:dot-hover-data-v-1fe60afe 1.5s infinite;animation:dot-hover-data-v-1fe60afe 1.5s infinite;-webkit-animation-delay:.6s;animation-delay:.6s}@media(max-width:768px){.box .dots .dot[data-v-1fe60afe]{width:30px;height:30px}.box .dots .dot[data-v-1fe60afe]:not(:first-child){margin-left:15px}.box .dots .dot[data-v-1fe60afe]:not(:last-child){margin-right:15px}}@media(min-width:768px){.box .dots .dot[data-v-1fe60afe]{font-size:36pt}.box .dots .dot[data-v-1fe60afe]:not(:first-child){margin-left:25px}.box .dots .dot[data-v-1fe60afe]:not(:last-child){margin-right:25px}}.box .loading-text[data-v-1fe60afe]{font-size:36pt}@media(max-width:768px){.box .loading-text[data-v-1fe60afe]{font-size:24pt}}@-webkit-keyframes dot-hover-data-v-1fe60afe{0%{transform:translateY(0)}50%{transform:translateY(1em)}to{transform:translateY(0)}}@keyframes dot-hover-data-v-1fe60afe{0%{transform:translateY(0)}50%{transform:translateY(1em)}to{transform:translateY(0)}}",""]),t.exports=r},287:function(t,e,o){"use strict";o.r(e);var r={},n=(o(283),o(9)),component=Object(n.a)(r,(function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)}),[function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"click-blocker flex justify-center md:items-center"},[o("div",{staticClass:"box"},[o("div",{staticClass:"w-full h-full flex flex-col justify-center items-center"},[o("h2",{staticClass:"loading-text"},[t._v("Just a second...")]),t._v(" "),o("div",{staticClass:"dots flex w-full justify-center items-center mt-24"},[o("div",{staticClass:"dot"}),t._v(" "),o("div",{staticClass:"dot"}),t._v(" "),o("div",{staticClass:"dot"})])])])])}],!1,null,"1fe60afe",null);e.default=component.exports},288:function(t,e,o){"use strict";o.r(e);o(39);var r=o(257),n=(o(7),{components:{DownloadEntry:r.default},computed:{dlcache:function(){return this.$store.state.dlcache.cache}},data:function(){return{downloads:{type:Array}}},mounted:function(){var t=this;this.$store.dispatch("dlcache/update"),setInterval((function(){t.$store.dispatch("dlcache/update")}),1e3)}}),l=(o(281),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"download-box"},[t._e(),t._v(" "),t._l(t.dlcache,(function(t,e){return o("DownloadEntry",{key:e,attrs:{downloadEntry:t}})}))],2)}),[],!1,null,"8061dfc4",null);e.default=component.exports;installComponents(component,{DownloadEntry:o(257).default})},290:function(t,e,o){var content=o(295);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("1bc44adb",content,!0,{sourceMap:!1})},291:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-arrow-right-square",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{"fill-rule":"evenodd",d:"M14 1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M4 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5A.5.5 0 0 0 4 8z"}})])}),[],!1,null,null,null);e.default=component.exports},294:function(t,e,o){"use strict";o(290)},295:function(t,e,o){var r=o(14)(!1);r.push([t.i,".logo[data-v-4865bc4c]{--logo-color:#8ad5eb;width:300px;fill:var(--logo-color);stroke:var(--logo-color);filter:drop-shadow(0 0 3px #8ad5eb);transition:fill .2s,stroke .2s,filter .2s}@media(max-width:768px){.logo[data-v-4865bc4c]{width:80px;align-self:flex-start}}@media(min-width:768px){.logo[data-v-4865bc4c]:hover{--logo-color:#bee7f4;filter:drop-shadow(0 0 5px #bee7f4)}}.input-flex[data-v-4865bc4c]{width:100%}input[data-v-4865bc4c]{height:50px;font-family:ZillaSlab,serif;font-weight:700;font-size:18pt;border-radius:5px;padding:.1em .5em;box-shadow:0 0 20px 5px hsla(0,0%,100%,.2);border:none;color:#04254e;transition:transform .2s;min-width:0}input[data-v-4865bc4c]:focus{transform:scale(1.015)}.icon-button[data-v-4865bc4c]{height:2em;stroke:#04254e;overflow:hidden;transition:stroke .2s,fill .2s,color .2s}.icon-button svg[data-v-4865bc4c]{height:100%}.button[data-v-4865bc4c]{transition:transform .2s,background-color .2s,border .2s}.button[data-v-4865bc4c]:hover{transform:scale(1.05);background-color:#5954a4;color:#fff}.button:hover svg[data-v-4865bc4c]{fill:#fff;stroke:#fff}.dropdown[data-v-4865bc4c]{min-width:100px;height:100%;border-radius:5px;cursor:pointer;font-family:ZillaSlab,serif;font-size:16pt}",""]),t.exports=r},297:function(t,e,o){"use strict";o.r(e);o(34),o(102);var r=o(70),n=o(256),l=o(288),d=o(287),c=o(291),f=o(7),v=o.n(f),h={components:{Logo:r.default,Spacer:n.default,DownloadBox:l.default,PleaseWaitBlocker:d.default,IconArrowRightSquare:c.default},data:function(){return{isWaitingForResponse:{type:Boolean,default:!1}}},methods:{downloadButtonClicked:function(){var t=this;if(this.$refs.video_url.value.match(/(https?:\/\/)?[a-zA-Z0-9-_.]+\.[a-zA-Z-_.]+/)){var e=this.$refs.video_url.value;this.$refs.video_url.value="",this.isWaitingForResponse=!0,v.a.post("/api",{request:"queue_download",video_url:e,mode:this.$refs.mode.options[this.$refs.mode.selectedIndex].value,quality:this.$refs.quality.options[this.$refs.quality.selectedIndex].value}).then((function(e){"OK"===e.data.status&&(t.isWaitingForResponse=!1,t.$store.dispatch("dlcache/update",t))}))}},keyMonitor:function(t){"Enter"==t.key&&this.downloadButtonClicked()}},mounted:function(){this.isWaitingForResponse=!1}},m=(o(294),o(9)),component=Object(m.a)(h,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[t.isWaitingForResponse?o("PleaseWaitBlocker"):o("span",{staticClass:"inherit-all"},[o("div",{staticClass:"hidden md:block"},[o("Spacer",{attrs:{height:"0",m_height:"1em"}}),t._v(" "),o("Logo",{staticClass:"logo"}),t._v(" "),o("Spacer",{attrs:{height:"2em",m_height:"2em"}})],1),t._v(" "),o("div",{staticClass:"flex flex-row flex-wrap md:flex-no-wrap input-flex justify-between md:justify-center"},[o("input",{ref:"video_url",staticClass:"flex-grow mb-2 md:mb-0 w-full",attrs:{type:"url",name:"video_url",id:"video_url",placeholder:"video-url"},on:{keydown:t.keyMonitor}}),t._v(" "),o("div",{staticClass:"w-full md:hidden"}),t._v(" "),o("div",{staticClass:"flex"},[o("div",{staticClass:"flex-shrink button-submit flex-grow-0 md:ml-4"},[o("select",{ref:"mode",staticClass:"dropdown",attrs:{name:"mode",id:"mode"}},[o("option",{attrs:{value:"video"}},[t._v("Video")]),t._v(" "),o("option",{attrs:{value:"audio"}},[t._v("Audio")])])]),t._v(" "),o("div",{staticClass:"flex-shrink button-submit flex-grow-0 ml-3"},[o("select",{ref:"quality",staticClass:"dropdown",attrs:{name:"mode",id:"quality"}},[o("option",{attrs:{value:"best"}},[t._v("Best")]),t._v(" "),o("option",{attrs:{value:"1440p"}},[t._v("1440p")]),t._v(" "),o("option",{attrs:{value:"1080p"}},[t._v("1080p")]),t._v(" "),o("option",{attrs:{value:"720p"}},[t._v("720p")]),t._v(" "),o("option",{attrs:{value:"480p"}},[t._v("480p")]),t._v(" "),o("option",{attrs:{value:"360p"}},[t._v("360p")]),t._v(" "),o("option",{attrs:{value:"240p"}},[t._v("240p")]),t._v(" "),o("option",{attrs:{value:"144p"}},[t._v("144p")])])])]),t._v(" "),o("div",{staticClass:"button flex-shrink button-submit flex-grow-0 ml-3",on:{click:t.downloadButtonClicked}},[o("IconArrowRightSquare",{staticClass:"icon-button"})],1)]),t._v(" "),o("Spacer",{attrs:{height:"2em",m_height:"2em"}}),t._v(" "),o("DownloadBox")],1)],1)}),[],!1,null,"4865bc4c",null);e.default=component.exports;installComponents(component,{Spacer:o(256).default,Logo:o(70).default,DownloadBox:o(288).default,PleaseWaitBlocker:o(287).default})}}]); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/8a8f637.js b/Tubio/frontend/_nuxt/8a8f637.js new file mode 100644 index 0000000..e49ddb9 --- /dev/null +++ b/Tubio/frontend/_nuxt/8a8f637.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2,3,5,6,7,11],{254:function(t,e,o){var content=o(272);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("40803e79",content,!0,{sourceMap:!1})},257:function(t,e,o){"use strict";o.r(e);o(101),o(34),o(268),o(51);var r=o(258),n=o(261),l=o(259),d=o(260),c=o(7),f=o.n(c),v={components:{IconDownload:r.default,IconX:n.default,IconFilm:l.default,IconMusic:d.default},props:{downloadEntry:{type:Object}},methods:{getQueuedDateString:function(t){var e=new Date(1e3*t);return("0"+e.getDate()).slice(-2)+"."+("0"+(e.getMonth()+1)).slice(-2)+"."+e.getFullYear()},getDurationString:function(t){if(t<0)return"";if(t>36e4)return"";var e=Math.floor(t/3600),o=Math.floor(t%3600/60),s=Math.floor(t%3600%60),r="";return e>0&&(r=String(e).padStart(2,"0")+":"),r+=String(o).padStart(2,"0")+":"+String(s).padStart(2,"0")},linebreaksToBrTags:function(t){return t.replace("\n","
")},removeDownload:function(){var t=this;f.a.post("/api",{request:"remove_download_entry",id:this.downloadEntry.tubio_id}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("dlcache/update",t)}))}}},h=(o(271),o(9)),component=Object(h.a)(v,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"frame mb-6 pt-2 pb-4"},[o("div",{staticClass:"flex flex-col"},[o("div",{staticClass:"flex items-end justify-between w-full md:w-auto"},[o("div",{staticClass:"flex flex-row"},[o("div",{staticClass:"icon--mode"},["video"===t.downloadEntry.mode?o("IconFilm"):o("IconMusic")],1),t._v(" "),o("div",{staticClass:"smalltext-metadata ml-1"},[t._v("\n "+t._s(void 0!==t.downloadEntry.quality?t.downloadEntry.quality:"best")+" ")]),t._v(" "),o("div",{staticClass:"smalltext-metadata ml-1"},[t._v("\n "+t._s(t.getQueuedDateString(t.downloadEntry.queued_timestamp))+"\n ")])]),t._v(" "),o("div",{staticClass:"button-remove",on:{click:t.removeDownload}},[o("IconX")],1)]),t._v(" "),o("div",{staticClass:"flex flex-col-reverse md:flex-row w-full mt-2"},[o("div",{staticClass:"flex flex-col"},[o("a",{attrs:{href:t.downloadEntry.webpage_url,target:"_blank",title:"To the original source"}},[o("div",{staticClass:"thumbnail flex-shrink-0",style:"--thumbnail: url('"+t.downloadEntry.thumbnail_url+"')"},[o("div",{staticClass:"thumbnail__vignette"}),t._v(" "),o("div",{staticClass:"thumbnail__duration"},[t._v(t._s(t.getDurationString(t.downloadEntry.duration)))])])]),t._v(" "),"downloading"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--progressbar flex w-full mt-3"},[o("div",{staticClass:"status--progressbar__good items-stretch",style:"--download-progress: "+t.downloadEntry.download_progress+"%;"})]),t._v(" "),o("div",{staticClass:"status--progressbar__text"},[t._v("\n "+t._s(t.downloadEntry.download_progress)+"%\n ")])]):"finished"===t.downloadEntry.status?o("a",{attrs:{href:t.downloadEntry.download_url,title:"download"}},[o("div",{staticClass:"status--ready mt-3 button flex justify-center w-full"},[o("div",[o("IconDownload")],1)])]):"queued"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--queued mt-3"},[t._v("\n Queued\n ")])]):"failed"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--failed mt-3"},[t._v("\n Failed!\n ")])]):t._e()]),t._v(" "),o("div",{staticClass:"flex flex-col md:ml-4 w-full overflow-x-hidden overflow-y-visible"},[o("h1",{staticClass:"title"},[t._v(t._s(t.downloadEntry.title))]),t._v(" "),o("div",{staticClass:"relative my-4"},[""!=t.downloadEntry.description?o("div",[o("p",{staticClass:"description p-2"},[o("span",{domProps:{innerHTML:t._s(t.linebreaksToBrTags(t.downloadEntry.description))}})]),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--left"}),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--right"})]):t._e()])])])])])}),[],!1,null,"1c500fb6",null);e.default=component.exports},258:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-download",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{"fill-rule":"evenodd",d:"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"}})])}),[],!1,null,null,null);e.default=component.exports},259:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-film",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0h8v6H4V1zm8 8H4v6h8V9zM1 1h2v2H1V1zm2 3H1v2h2V4zM1 7h2v2H1V7zm2 3H1v2h2v-2zm-2 3h2v2H1v-2zM15 1h-2v2h2V1zm-2 3h2v2h-2V4zm2 3h-2v2h2V7zm-2 3h2v2h-2v-2zm2 3h-2v2h2v-2z"}})])}),[],!1,null,null,null);e.default=component.exports},260:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-music-note-beamed",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{d:"M6 13c0 1.105-1.12 2-2.5 2S1 14.105 1 13c0-1.104 1.12-2 2.5-2s2.5.896 2.5 2zm9-2c0 1.105-1.12 2-2.5 2s-2.5-.895-2.5-2 1.12-2 2.5-2 2.5.895 2.5 2z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M14 11V2h1v9h-1zM6 3v10H5V3h1z"}}),t._v(" "),o("path",{attrs:{d:"M5 2.905a1 1 0 0 1 .9-.995l8-.8a1 1 0 0 1 1.1.995V3L5 4V2.905z"}})])}),[],!1,null,null,null);e.default=component.exports},261:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-x",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"}})])}),[],!1,null,null,null);e.default=component.exports},268:function(t,e,o){"use strict";var r=o(4),n=o(269).start;r({target:"String",proto:!0,forced:o(270)},{padStart:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}})},269:function(t,e,o){var r=o(17),n=o(164),l=o(16),d=Math.ceil,c=function(t){return function(e,o,c){var f,v,h=String(l(e)),m=h.length,w=void 0===c?" ":String(c),x=r(o);return x<=m||""==w?h:(f=x-m,(v=n.call(w,d(f/w.length))).length>f&&(v=v.slice(0,f)),t?h+v:v+h)}};t.exports={start:c(!1),end:c(!0)}},270:function(t,e,o){var r=o(50);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},271:function(t,e,o){"use strict";o(254)},272:function(t,e,o){var r=o(14)(!1);r.push([t.i,'.frame[data-v-1c500fb6]{width:100%;border-bottom:2px solid #888}.frame .smalltext-metadata[data-v-1c500fb6]{font-family:ZillaSlab,serif;font-size:12pt;color:#bbb}.frame .smalltext-metadata[data-v-1c500fb6]:before{content:"|"}.frame .thumbnail[data-v-1c500fb6]{background-image:var(--thumbnail);background-size:cover;background-position:50%;background-repeat:no-repeat;width:150px;height:84.375px;position:relative;cursor:pointer;scrollbar-width:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transform-style:preserve-3d;transition:transform .2s ease}@media(max-width:768px){.frame .thumbnail[data-v-1c500fb6]{width:100%;height:130px}}.frame .thumbnail[data-v-1c500fb6]:hover{transform:scale(1.05)}.frame .thumbnail__vignette[data-v-1c500fb6]{position:absolute;top:0;bottom:0;right:0;left:0;box-shadow:0 0 15px 2px #000}.frame .thumbnail__duration[data-v-1c500fb6]{position:absolute;bottom:0;right:0;padding:0 3px 3px 0;text-align:right;font-size:12pt;color:#bbb;background-color:rgba(0,0,0,.66667)}.frame .title[data-v-1c500fb6]{color:#bbb;font-size:22pt;max-height:1.3em;overflow-y:hidden;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.frame .description[data-v-1c500fb6]{color:#bbb;font-size:14pt;height:100px;overflow-x:hidden;overflow-y:scroll;position:relative;background-color:rgba(0,0,0,.2)}@media(max-width:768px){.frame .description[data-v-1c500fb6]{overflow:scroll}}.frame .description__decobox[data-v-1c500fb6]{position:absolute}.frame .description__decobox--left[data-v-1c500fb6]{top:0;left:0;width:40px;height:40px;border-top:2px solid #888;border-left:2px solid #888;pointer-events:none}.frame .description__decobox--right[data-v-1c500fb6]{bottom:0;right:0;width:40px;height:40px;border-bottom:2px solid #888;border-right:2px solid #888;pointer-events:none}.frame .status--progressbar[data-v-1c500fb6]{background-color:#900;height:5px}.frame .status--progressbar__good[data-v-1c500fb6]{background-color:#0b0;width:var(--download-progress);transition:width 1s}.frame .status--progressbar__text[data-v-1c500fb6]{font-size:24pt;color:#bbb}.frame .status--ready[data-v-1c500fb6]{height:45px;background-color:#bbb;transition:background-color .2s,border .2s}.frame .status--ready[data-v-1c500fb6]:hover{background-color:#5954a4;color:#fff}.frame .status--ready svg[data-v-1c500fb6]{height:35px}.frame .status--queued[data-v-1c500fb6]{font-family:ZillaSlab,serif;font-size:24pt;color:#bbb}.frame .status--failed[data-v-1c500fb6]{font-family:ZillaSlab,serif;font-size:24pt;color:#d40}.frame .button-remove[data-v-1c500fb6]{width:35px;height:35px;fill:#333;stroke:#333;cursor:pointer;transition:background-color .2s,border-radius .2s}.frame .button-remove[data-v-1c500fb6]:hover{background-color:#d40;border-radius:50%}.frame[data-v-1c500fb6]::-webkit-scrollbar,.frame[data-v-1c500fb6] ::-webkit-scrollbar{display:none}.frame .icon--mode[data-v-1c500fb6]{width:20px}',""]),t.exports=r},273:function(t,e,o){var content=o(282);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("2feed4f0",content,!0,{sourceMap:!1})},281:function(t,e,o){"use strict";o(273)},282:function(t,e,o){var r=o(14)(!1);r.push([t.i,".download-box[data-v-8061dfc4]{width:100%;min-height:600px;border-radius:5px;padding:20px;background-color:hsla(0,0%,100%,.33333)}.no-dls-yet[data-v-8061dfc4]{color:#bbb;font-size:34pt;text-align:center}",""]),t.exports=r},288:function(t,e,o){"use strict";o.r(e);o(39);var r=o(257),n=(o(7),{components:{DownloadEntry:r.default},computed:{dlcache:function(){return this.$store.state.dlcache.cache}},data:function(){return{downloads:{type:Array}}},mounted:function(){var t=this;this.$store.dispatch("dlcache/update"),setInterval((function(){t.$store.dispatch("dlcache/update")}),1e3)}}),l=(o(281),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"download-box"},[t._e(),t._v(" "),t._l(t.dlcache,(function(t,e){return o("DownloadEntry",{key:e,attrs:{downloadEntry:t}})}))],2)}),[],!1,null,"8061dfc4",null);e.default=component.exports;installComponents(component,{DownloadEntry:o(257).default})}}]); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/5262ac7.js b/Tubio/frontend/_nuxt/8debf85.js similarity index 88% rename from Tubio/frontend/_nuxt/5262ac7.js rename to Tubio/frontend/_nuxt/8debf85.js index bf504e0..1ec3b15 100644 --- a/Tubio/frontend/_nuxt/5262ac7.js +++ b/Tubio/frontend/_nuxt/8debf85.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18,9,10,12,13,15,16],{252:function(t,e,o){var content=o(264);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("3edd6b06",content,!0,{sourceMap:!1})},253:function(t,e,o){var content=o(267);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("ac8f1938",content,!0,{sourceMap:!1})},255:function(t,e,o){"use strict";o.r(e);var n={props:{mode:{type:String,default:"normal"},message:{type:String}}},l=(o(263),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("p",{class:t.mode},[t._v("\n "+t._s(t.message)+"\n ")])])}),[],!1,null,"6828301b",null);e.default=component.exports},256:function(t,e,o){"use strict";o.r(e);var n={props:{height:{type:String,default:"0"},m_height:{type:String,default:"0"}},computed:{mobile_height:function(){return"0"===this.m_height?this.height:this.m_height}}},l=(o(266),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{staticClass:"spacer",style:"--height: "+t.height+"; --m_height: "+t.mobile_height+";"})}),[],!1,null,"70a5daf0",null);e.default=component.exports},262:function(t,e,o){var content=o(278);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("1d10f8d7",content,!0,{sourceMap:!1})},263:function(t,e,o){"use strict";o(252)},264:function(t,e,o){var n=o(14)(!1);n.push([t.i,".warn[data-v-6828301b]{background-color:rgba(255,204,0,.26667)}.error[data-v-6828301b],.warn[data-v-6828301b]{color:#bbb;font-size:14pt}.error[data-v-6828301b]{background-color:rgba(221,68,0,.26667)}.normal[data-v-6828301b]{color:#bbb;font-size:14pt}",""]),t.exports=n},265:function(t,e,o){var content=o(280);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("4667df8d",content,!0,{sourceMap:!1})},266:function(t,e,o){"use strict";o(253)},267:function(t,e,o){var n=o(14)(!1);n.push([t.i,".spacer[data-v-70a5daf0]{width:1px;height:var(--height)}@media(max-width:660px){.spacer[data-v-70a5daf0]{height:var(--m_height)}}",""]),t.exports=n},275:function(t,e,o){"use strict";o.r(e);var n=o(9),component=Object(n.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-toggle-on",attrs:{viewBox:"-4 -4 24 24",fill:"#8a54a2",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M5 3a5 5 0 0 0 0 10h6a5 5 0 0 0 0-10H5zm6 9a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"}})])}),[],!1,null,null,null);e.default=component.exports},276:function(t,e,o){"use strict";o.r(e);var n=o(9),component=Object(n.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-toggle-off",attrs:{viewBox:"-4 -4 24 24",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M11 4a4 4 0 0 1 0 8H8a4.992 4.992 0 0 0 2-4 4.992 4.992 0 0 0-2-4h3zm-6 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM0 8a5 5 0 0 0 5 5h6a5 5 0 0 0 0-10H5a5 5 0 0 0-5 5z"}})])}),[],!1,null,null,null);e.default=component.exports},277:function(t,e,o){"use strict";o(262)},278:function(t,e,o){var n=o(14)(!1);n.push([t.i,".toggle-button[data-v-7e3e3a36]{width:50px;overflow:visible;stroke-width:1px;fill:#bbb;stroke:#bbb;cursor:pointer;transition:fill .1s,stroke .1s}.toggle-button[data-v-7e3e3a36]:hover{fill:#fff;stroke:#fff}",""]),t.exports=n},279:function(t,e,o){"use strict";o(265)},280:function(t,e,o){var n=o(14)(!1);n.push([t.i,".log-box[data-v-fc279734]{width:100%;height:600px;border-radius:5px;padding:20px;background-color:hsla(0,0%,100%,.33333);overflow-y:scroll}",""]),t.exports=n},285:function(t,e,o){"use strict";o.r(e);var n=o(275),l=o(276),r={props:{isOn:{type:Boolean,default:!1}},components:{IconToggleOn:n.default,IconToggleOff:l.default}},d=(o(277),o(9)),component=Object(d.a)(r,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("div",{staticClass:"toggle-button"},[t.isOn?o("IconToggleOn"):o("IconToggleOff")],1)])}),[],!1,null,"7e3e3a36",null);e.default=component.exports},286:function(t,e,o){"use strict";o.r(e);o(39);var n={components:{LogEntry:o(255).default},computed:{logs:function(){return this.$store.state.logs.logs}},mounted:function(){var t=this;this.$store.dispatch("logs/update"),setInterval((function(){t.$store.dispatch("logs/update")}),1e3)}},l=(o(279),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"log-box"},t._l(t.logs,(function(t,e){return o("LogEntry",{key:e,attrs:{mode:0===t.type?"normal":1===t.type?"warn":"error",message:t.compiledMessage}})})),1)}),[],!1,null,"fc279734",null);e.default=component.exports;installComponents(component,{LogEntry:o(255).default})},289:function(t,e,o){var content=o(293);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("506872a4",content,!0,{sourceMap:!1})},292:function(t,e,o){"use strict";o(289)},293:function(t,e,o){var n=o(14)(!1);n.push([t.i,"h1[data-v-8bd60ce0]{font-size:32pt}h1[data-v-8bd60ce0],h2[data-v-8bd60ce0]{color:#bbb}h2[data-v-8bd60ce0]{font-size:24pt}.disk-usage__entry p[data-v-8bd60ce0],.versions__entry p[data-v-8bd60ce0]{color:#bbb;font-size:16pt}.disk-usage__entry p[data-v-8bd60ce0]{width:150px}textarea[data-v-8bd60ce0]{color:#04254e;border-radius:5px;font-size:16pt;padding:.7em;min-height:200px;transition:background-color .2s}textarea.inputfield--error[data-v-8bd60ce0]{background-color:#f77}.option[data-v-8bd60ce0]{color:#bbb;font-size:18pt;height:50px}.option.toggle>p[data-v-8bd60ce0]{width:300px}.option.text>input[data-v-8bd60ce0]{width:240px;text-align:right;border-radius:5px;font-size:16pt;height:30px;padding-left:.7em;padding-right:.7em}@media(max-width:768px){.option.text>input[data-v-8bd60ce0]{width:180px}}.option.text.narrow>input[data-v-8bd60ce0]{width:120px}@media(min-width:1024px){.border-right[data-v-8bd60ce0]{border-right:1px solid #888}.border-left[data-v-8bd60ce0]{border-left:1px solid #888}}.button[data-v-8bd60ce0]{color:#000;font-family:ZillaSlab,serif;font-size:18pt;width:200px;transition:background-color .2s,opacity .2s}@media(max-width:768px){.button[data-v-8bd60ce0]{width:150px;font-size:12pt}}.button[data-v-8bd60ce0]:hover{background-color:#d40}.button--small[data-v-8bd60ce0]{font-size:14pt;width:150px;height:30px}.button--nowarn[data-v-8bd60ce0]:hover{background-color:#5954a4}.button--disabled[data-v-8bd60ce0]{cursor:pointer;pointer-events:none;opacity:.5}hr[data-v-8bd60ce0]{border:none;border-bottom:2px solid #888}@-webkit-keyframes goback-floating-data-v-8bd60ce0{50%{left:1.2em}0%{left:1em}}@keyframes goback-floating-data-v-8bd60ce0{50%{left:1.2em}0%{left:1em}}.go-back[data-v-8bd60ce0]{position:absolute;left:1em;top:1em;font-size:34pt;font-family:ZillaSlab,serif;color:#bee7f4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;-webkit-animation:goback-floating-data-v-8bd60ce0 1s infinite;animation:goback-floating-data-v-8bd60ce0 1s infinite}",""]),t.exports=n},296:function(t,e,o){"use strict";o.r(e);o(39);var n=o(7),l=o.n(n),r=o(285),d=o(286),c=o(256),v={components:{Toggle:r.default,LogBox:d.default,Spacer:c.default},data:function(){return{canUpdate:{type:Boolean,default:!0},version__webUI:.761}},computed:{diskUsage:function(){return this.$store.state.diskUsage.usage},serverOs:function(){return this.$store.state.serverOs.os_name},serverVersion:function(){return this.$store.state.serverVersion.serverVersion}},methods:{clearDLCache:function(){var t=this;l.a.post("/api",{request:"clear_download_cache"}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("dlcache/update",t)}))},clearLogs:function(){var t=this;l.a.post("/api",{request:"clear_logs"}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("logs/update",t)}))},updateYtdl:function(){var t=this;l.a.post("/api",{request:"update_dep_youtubedl"}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("logs/update",t)}))},killServer:function(){l.a.post("/api",{request:"kill_yourself"}).then((function(t){"OK"===t.data.status&&window.close()}))},resetToDefaults:function(){this.$store.dispatch("settings/resetToDefaults")},getSettings:function(){return this.$store.state.settings.config},setSettings_toggle_showConsole:function(){var t=this.getSettings();t.general.show_console=!t.general.show_console,this.$store.commit("settings/updateGet",t),this.$store.dispatch("settings/updateSet",t)},setSettings_toggle_onlyAllowLocalhost:function(){var t=this.getSettings();t.access.only_allow_localhost=!t.access.only_allow_localhost,this.$store.commit("settings/updateGet",t),this.$store.dispatch("settings/updateSet",t)},setSettings_toggle_enableWhitelist:function(){var t=this.getSettings();t.access.enable_whitelist=!t.access.enable_whitelist,this.$store.commit("settings/updateGet",t),this.$store.dispatch("settings/updateSet",t),t.access.enable_whitelist&&this.whitelistToInputfield()},setSettings_pushCurrentStore:function(){this.$store.dispatch("settings/updateSet",this.getSettings()),this.canUpdate=!0},whitelistToInputfield:function(){if(void 0!==this.$refs.whitelist_input){var t=JSON.stringify(this.getSettings().access.whitelist,void 0,2);return this.$refs.whitelist_input.value=t,t}setTimeout(this.whitelistToInputfield,200)},saveWhitelist:function(){var t=this.$refs.whitelist_input.value,element=this.$refs.whitelist_input;try{var e=JSON.parse(t),o=this.getSettings();o.access.whitelist=e,this.$store.commit("settings/updateGet",o),this.whitelistToInputfield(),this.$store.dispatch("settings/updateSet",o),element.classList.remove("inputfield--error")}catch(e){this.$refs.whitelist_input.value=t,element.classList.add("inputfield--error"),this.$refs.button_saveWhitelist.classList.add("button--disabled")}},updateWhitelist:function(){var t=this;this.$store.dispatch("settings/updateGet",(function(){t.whitelistToInputfield(),t.whitelistInputJsonSyntaxCheck()}))},whitelistInputJsonSyntaxCheck:function(){var element=this.$refs.whitelist_input;try{JSON.parse(element.value),element.classList.remove("inputfield--error"),this.$refs.button_saveWhitelist.classList.remove("button--disabled")}catch(t){element.classList.add("inputfield--error"),this.$refs.button_saveWhitelist.classList.add("button--disabled")}}},mounted:function(){var t=this;this.$store.dispatch("diskUsage/update"),this.$store.dispatch("serverOs/update"),this.$store.dispatch("serverVersion/update"),this.$store.dispatch("settings/updateGet",(function(){t.whitelistToInputfield()})),setInterval((function(){t.canUpdate&&t.$store.dispatch("settings/updateGet")}),1e3)}},h=(o(292),o(9)),component=Object(h.a)(v,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("h1",[t._v("Settings")]),t._v(" "),o("Spacer",{attrs:{height:"2em"}}),t._v(" "),o("div",{staticClass:"flex-col w-full"},[o("div",{staticClass:"flex flex-col lg:flex-row justify-content-start w-full"},[o("div",{staticClass:"w-full lg:w-1/2 border-right lg:pr-3"},[void 0!==t.getSettings().general?o("div",["Windows"===t.serverOs?o("div",{staticClass:"option toggle flex justify-between items-center"},[o("p",[t._v("Show console")]),t._v(" "),o("div",{on:{click:t.setSettings_toggle_showConsole}},[o("Toggle",{attrs:{isOn:t.getSettings().general.show_console}})],1)]):t._e(),t._v(" "),o("div",{staticClass:"option text narrow flex justify-between w-full items-center"},[o("p",{staticClass:"mr-3"},[t._v("Max speed")]),t._v(" "),o("input",{directives:[{name:"model",rawName:"v-model",value:t.getSettings().downloader.max_dlrate_per_thread,expression:"getSettings().downloader.max_dlrate_per_thread"}],attrs:{type:"text",id:"max_speed",name:"max_speed",placeholder:"100M"},domProps:{value:t.getSettings().downloader.max_dlrate_per_thread},on:{focusout:t.setSettings_pushCurrentStore,focus:function(e){t.canUpdate=!1},input:function(e){e.target.composing||t.$set(t.getSettings().downloader,"max_dlrate_per_thread",e.target.value)}}})]),t._v(" "),o("div",{staticClass:"option text narrow flex justify-between w-full items-center"},[o("p",{staticClass:"mr-3"},[t._v("Download threads")]),t._v(" "),o("input",{directives:[{name:"model",rawName:"v-model.number",value:t.getSettings().downloader.num_threads,expression:"getSettings().downloader.num_threads",modifiers:{number:!0}}],attrs:{type:"number",id:"max_threads",name:"max_threads",placeholder:"10"},domProps:{value:t.getSettings().downloader.num_threads},on:{focusout:t.setSettings_pushCurrentStore,focus:function(e){t.canUpdate=!1},input:function(e){e.target.composing||t.$set(t.getSettings().downloader,"num_threads",t._n(e.target.value))},blur:function(e){return t.$forceUpdate()}}})]),t._v(" "),o("div",{staticClass:"option toggle flex justify-between items-center"},[o("p",[t._v("Only allow localhost")]),t._v(" "),o("div",{on:{click:t.setSettings_toggle_onlyAllowLocalhost}},[o("Toggle",{attrs:{isOn:t.getSettings().access.only_allow_localhost}})],1)]),t._v(" "),o("div",{staticClass:"option toggle flex justify-between items-center"},[o("p",[t._v("Enable whitelist")]),t._v(" "),o("div",{on:{click:t.setSettings_toggle_enableWhitelist}},[o("Toggle",{attrs:{isOn:t.getSettings().access.enable_whitelist}})],1)]),t._v(" "),o("Spacer",{attrs:{height:"2em"}}),t._v(" "),t.getSettings().access.enable_whitelist?o("div",[o("h2",[t._v("Whitelist")]),t._v(" "),o("textarea",{ref:"whitelist_input",staticClass:"mt-2 w-full",on:{input:t.whitelistInputJsonSyntaxCheck}}),t._v(" "),o("div",{staticClass:"flex w-full"},[o("div",{ref:"button_saveWhitelist",staticClass:"button button--small button--nowarn mt-2 mr-2",on:{click:t.saveWhitelist}},[t._v("Save whitelist")]),t._v(" "),o("div",{staticClass:"button button--small button--nowarn mt-2",on:{click:t.updateWhitelist}},[t._v("Update whitelist")])])]):t._e()],1):t._e()]),t._v(" "),o("div",{staticClass:"w-full lg:w-1/2 border-left lg:pl-3 mt-6 lg:mt-0"},[o("div",{staticClass:"versions"},[o("div",{staticClass:"versions__entry"},[o("p",[t._v("Web-UI version: "+t._s(t.version__webUI))])]),t._v(" "),o("div",{staticClass:"versions__entry"},[o("p",[t._v("Server version: "+t._s(t.serverVersion))])])]),t._v(" "),o("div",{staticClass:"disk-usage mt-3"},[o("h2",[t._v("Disk usage")]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Downloads: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.dlcache/1024/1024))+" mb")])]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Logs: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.logs/1024/1024))+" mb")])]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Dependencies: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.dependencies/1024/1024))+" mb")])]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Misc: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.misc/1024/1024))+" mb")])]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Total: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.total/1024/1024))+" mb")])])]),t._v(" "),o("Spacer",{attrs:{height:"50px"}}),t._v(" "),o("div",{staticClass:"flex"},[o("div",{staticClass:"flex flex-col mr-1"},[o("div",{staticClass:"button",on:{click:t.clearDLCache}},[t._v("Clear downloads")]),t._v(" "),o("div",{staticClass:"button mt-2",on:{click:t.clearLogs}},[t._v("Clear logs")]),t._v(" "),"Windows"===t.serverOs?o("div",{staticClass:"button mt-2",on:{click:t.updateYtdl}},[t._v("Update ytdl")]):t._e()]),t._v(" "),o("div",{staticClass:"flex flex-col ml-1"},[o("div",{staticClass:"button",on:{click:t.killServer}},[t._v("Kill server")]),t._v(" "),o("div",{staticClass:"button mt-2",on:{click:t.resetToDefaults}},[t._v("Reset to defaults")])])])],1)]),t._v(" "),o("hr",{staticClass:"mt-6 lg:mt-2"}),t._v(" "),o("div",{staticClass:"pt-6"},[o("h2",{staticClass:"mb-4"},[t._v("Logs")]),t._v(" "),o("LogBox")],1)]),t._v(" "),o("div",{staticClass:"go-back hidden md:block"},[o("nuxt-link",{attrs:{exact:"",to:"/"}},[t._v("\n << Back\n ")])],1)],1)}),[],!1,null,"8bd60ce0",null);e.default=component.exports;installComponents(component,{Spacer:o(256).default,Toggle:o(285).default,LogBox:o(286).default})}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[18,9,10,12,13,15,16],{252:function(t,e,o){var content=o(264);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("3edd6b06",content,!0,{sourceMap:!1})},253:function(t,e,o){var content=o(267);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("ac8f1938",content,!0,{sourceMap:!1})},255:function(t,e,o){"use strict";o.r(e);var n={props:{mode:{type:String,default:"normal"},message:{type:String}}},l=(o(263),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("p",{class:t.mode},[t._v("\n "+t._s(t.message)+"\n ")])])}),[],!1,null,"6828301b",null);e.default=component.exports},256:function(t,e,o){"use strict";o.r(e);var n={props:{height:{type:String,default:"0"},m_height:{type:String,default:"0"}},computed:{mobile_height:function(){return"0"===this.m_height?this.height:this.m_height}}},l=(o(266),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{staticClass:"spacer",style:"--height: "+t.height+"; --m_height: "+t.mobile_height+";"})}),[],!1,null,"70a5daf0",null);e.default=component.exports},262:function(t,e,o){var content=o(278);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("1d10f8d7",content,!0,{sourceMap:!1})},263:function(t,e,o){"use strict";o(252)},264:function(t,e,o){var n=o(14)(!1);n.push([t.i,".warn[data-v-6828301b]{background-color:rgba(255,204,0,.26667)}.error[data-v-6828301b],.warn[data-v-6828301b]{color:#bbb;font-size:14pt}.error[data-v-6828301b]{background-color:rgba(221,68,0,.26667)}.normal[data-v-6828301b]{color:#bbb;font-size:14pt}",""]),t.exports=n},265:function(t,e,o){var content=o(280);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("4667df8d",content,!0,{sourceMap:!1})},266:function(t,e,o){"use strict";o(253)},267:function(t,e,o){var n=o(14)(!1);n.push([t.i,".spacer[data-v-70a5daf0]{width:1px;height:var(--height)}@media(max-width:660px){.spacer[data-v-70a5daf0]{height:var(--m_height)}}",""]),t.exports=n},275:function(t,e,o){"use strict";o.r(e);var n=o(9),component=Object(n.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-toggle-on",attrs:{viewBox:"-4 -4 24 24",fill:"#8a54a2",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M5 3a5 5 0 0 0 0 10h6a5 5 0 0 0 0-10H5zm6 9a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"}})])}),[],!1,null,null,null);e.default=component.exports},276:function(t,e,o){"use strict";o.r(e);var n=o(9),component=Object(n.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-toggle-off",attrs:{viewBox:"-4 -4 24 24",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M11 4a4 4 0 0 1 0 8H8a4.992 4.992 0 0 0 2-4 4.992 4.992 0 0 0-2-4h3zm-6 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM0 8a5 5 0 0 0 5 5h6a5 5 0 0 0 0-10H5a5 5 0 0 0-5 5z"}})])}),[],!1,null,null,null);e.default=component.exports},277:function(t,e,o){"use strict";o(262)},278:function(t,e,o){var n=o(14)(!1);n.push([t.i,".toggle-button[data-v-7e3e3a36]{width:50px;overflow:visible;stroke-width:1px;fill:#bbb;stroke:#bbb;cursor:pointer;transition:fill .1s,stroke .1s}.toggle-button[data-v-7e3e3a36]:hover{fill:#fff;stroke:#fff}",""]),t.exports=n},279:function(t,e,o){"use strict";o(265)},280:function(t,e,o){var n=o(14)(!1);n.push([t.i,".log-box[data-v-fc279734]{width:100%;height:600px;border-radius:5px;padding:20px;background-color:hsla(0,0%,100%,.33333);overflow-y:scroll}",""]),t.exports=n},285:function(t,e,o){"use strict";o.r(e);var n=o(275),l=o(276),r={props:{isOn:{type:Boolean,default:!1}},components:{IconToggleOn:n.default,IconToggleOff:l.default}},d=(o(277),o(9)),component=Object(d.a)(r,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("div",{staticClass:"toggle-button"},[t.isOn?o("IconToggleOn"):o("IconToggleOff")],1)])}),[],!1,null,"7e3e3a36",null);e.default=component.exports},286:function(t,e,o){"use strict";o.r(e);o(39);var n={components:{LogEntry:o(255).default},computed:{logs:function(){return this.$store.state.logs.logs}},mounted:function(){var t=this;this.$store.dispatch("logs/update"),setInterval((function(){t.$store.dispatch("logs/update")}),1e3)}},l=(o(279),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"log-box"},t._l(t.logs,(function(t,e){return o("LogEntry",{key:e,attrs:{mode:0===t.type?"normal":1===t.type?"warn":"error",message:t.compiledMessage}})})),1)}),[],!1,null,"fc279734",null);e.default=component.exports;installComponents(component,{LogEntry:o(255).default})},289:function(t,e,o){var content=o(293);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("cb31dec0",content,!0,{sourceMap:!1})},292:function(t,e,o){"use strict";o(289)},293:function(t,e,o){var n=o(14)(!1);n.push([t.i,"h1[data-v-14be0b2f]{font-size:32pt}h1[data-v-14be0b2f],h2[data-v-14be0b2f]{color:#bbb}h2[data-v-14be0b2f]{font-size:24pt}.disk-usage__entry p[data-v-14be0b2f],.versions__entry p[data-v-14be0b2f]{color:#bbb;font-size:16pt}.disk-usage__entry p[data-v-14be0b2f]{width:150px}textarea[data-v-14be0b2f]{color:#04254e;border-radius:5px;font-size:16pt;padding:.7em;min-height:200px;transition:background-color .2s}textarea.inputfield--error[data-v-14be0b2f]{background-color:#f77}.option[data-v-14be0b2f]{color:#bbb;font-size:18pt;height:50px}.option.toggle>p[data-v-14be0b2f]{width:300px}.option.text>input[data-v-14be0b2f]{width:240px;text-align:right;border-radius:5px;font-size:16pt;height:30px;padding-left:.7em;padding-right:.7em}@media(max-width:768px){.option.text>input[data-v-14be0b2f]{width:180px}}.option.text.narrow>input[data-v-14be0b2f]{width:120px}@media(min-width:1024px){.border-right[data-v-14be0b2f]{border-right:1px solid #888}.border-left[data-v-14be0b2f]{border-left:1px solid #888}}.button[data-v-14be0b2f]{color:#000;font-family:ZillaSlab,serif;font-size:18pt;width:200px;transition:background-color .2s,opacity .2s}@media(max-width:768px){.button[data-v-14be0b2f]{width:150px;font-size:12pt}}.button[data-v-14be0b2f]:hover{background-color:#d40}.button--small[data-v-14be0b2f]{font-size:14pt;width:150px;height:30px}.button--nowarn[data-v-14be0b2f]:hover{background-color:#5954a4}.button--disabled[data-v-14be0b2f]{cursor:pointer;pointer-events:none;opacity:.5}hr[data-v-14be0b2f]{border:none;border-bottom:2px solid #888}@-webkit-keyframes goback-floating-data-v-14be0b2f{50%{left:1.2em}0%{left:1em}}@keyframes goback-floating-data-v-14be0b2f{50%{left:1.2em}0%{left:1em}}.go-back[data-v-14be0b2f]{position:absolute;left:1em;top:1em;font-size:34pt;font-family:ZillaSlab,serif;color:#bee7f4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;-webkit-animation:goback-floating-data-v-14be0b2f 1s infinite;animation:goback-floating-data-v-14be0b2f 1s infinite}",""]),t.exports=n},296:function(t,e,o){"use strict";o.r(e);o(39);var n=o(7),l=o.n(n),r=o(285),d=o(286),c=o(256),f={components:{Toggle:r.default,LogBox:d.default,Spacer:c.default},data:function(){return{canUpdate:{type:Boolean,default:!0},version__webUI:.762}},computed:{diskUsage:function(){return this.$store.state.diskUsage.usage},serverOs:function(){return this.$store.state.serverOs.os_name},serverVersion:function(){return this.$store.state.serverVersion.serverVersion}},methods:{clearDLCache:function(){var t=this;l.a.post("/api",{request:"clear_download_cache"}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("dlcache/update",t)}))},clearLogs:function(){var t=this;l.a.post("/api",{request:"clear_logs"}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("logs/update",t)}))},updateYtdl:function(){var t=this;l.a.post("/api",{request:"update_dep_youtubedl"}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("logs/update",t)}))},killServer:function(){l.a.post("/api",{request:"kill_yourself"}).then((function(t){"OK"===t.data.status&&window.close()}))},resetToDefaults:function(){this.$store.dispatch("settings/resetToDefaults")},getSettings:function(){return this.$store.state.settings.config},setSettings_toggle_showConsole:function(){var t=this.getSettings();t.general.show_console=!t.general.show_console,this.$store.commit("settings/updateGet",t),this.$store.dispatch("settings/updateSet",t)},setSettings_toggle_onlyAllowLocalhost:function(){var t=this.getSettings();t.access.only_allow_localhost=!t.access.only_allow_localhost,this.$store.commit("settings/updateGet",t),this.$store.dispatch("settings/updateSet",t)},setSettings_toggle_enableWhitelist:function(){var t=this.getSettings();t.access.enable_whitelist=!t.access.enable_whitelist,this.$store.commit("settings/updateGet",t),this.$store.dispatch("settings/updateSet",t),t.access.enable_whitelist&&this.whitelistToInputfield()},setSettings_pushCurrentStore:function(){this.$store.dispatch("settings/updateSet",this.getSettings()),this.canUpdate=!0},whitelistToInputfield:function(){if(void 0!==this.$refs.whitelist_input){var t=JSON.stringify(this.getSettings().access.whitelist,void 0,2);return this.$refs.whitelist_input.value=t,t}setTimeout(this.whitelistToInputfield,200)},saveWhitelist:function(){var t=this.$refs.whitelist_input.value,element=this.$refs.whitelist_input;try{var e=JSON.parse(t),o=this.getSettings();o.access.whitelist=e,this.$store.commit("settings/updateGet",o),this.whitelistToInputfield(),this.$store.dispatch("settings/updateSet",o),element.classList.remove("inputfield--error")}catch(e){this.$refs.whitelist_input.value=t,element.classList.add("inputfield--error"),this.$refs.button_saveWhitelist.classList.add("button--disabled")}},updateWhitelist:function(){var t=this;this.$store.dispatch("settings/updateGet",(function(){t.whitelistToInputfield(),t.whitelistInputJsonSyntaxCheck()}))},whitelistInputJsonSyntaxCheck:function(){var element=this.$refs.whitelist_input;try{JSON.parse(element.value),element.classList.remove("inputfield--error"),this.$refs.button_saveWhitelist.classList.remove("button--disabled")}catch(t){element.classList.add("inputfield--error"),this.$refs.button_saveWhitelist.classList.add("button--disabled")}}},mounted:function(){var t=this;this.$store.dispatch("diskUsage/update"),this.$store.dispatch("serverOs/update"),this.$store.dispatch("serverVersion/update"),this.$store.dispatch("settings/updateGet",(function(){t.whitelistToInputfield()})),setInterval((function(){t.canUpdate&&t.$store.dispatch("settings/updateGet")}),1e3)}},v=(o(292),o(9)),component=Object(v.a)(f,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("h1",[t._v("Settings")]),t._v(" "),o("Spacer",{attrs:{height:"2em"}}),t._v(" "),o("div",{staticClass:"flex-col w-full"},[o("div",{staticClass:"flex flex-col lg:flex-row justify-content-start w-full"},[o("div",{staticClass:"w-full lg:w-1/2 border-right lg:pr-3"},[void 0!==t.getSettings().general?o("div",["Windows"===t.serverOs?o("div",{staticClass:"option toggle flex justify-between items-center"},[o("p",[t._v("Show console")]),t._v(" "),o("div",{on:{click:t.setSettings_toggle_showConsole}},[o("Toggle",{attrs:{isOn:t.getSettings().general.show_console}})],1)]):t._e(),t._v(" "),o("div",{staticClass:"option text narrow flex justify-between w-full items-center"},[o("p",{staticClass:"mr-3"},[t._v("Max speed")]),t._v(" "),o("input",{directives:[{name:"model",rawName:"v-model",value:t.getSettings().downloader.max_dlrate_per_thread,expression:"getSettings().downloader.max_dlrate_per_thread"}],attrs:{type:"text",id:"max_speed",name:"max_speed",placeholder:"100M"},domProps:{value:t.getSettings().downloader.max_dlrate_per_thread},on:{focusout:t.setSettings_pushCurrentStore,focus:function(e){t.canUpdate=!1},input:function(e){e.target.composing||t.$set(t.getSettings().downloader,"max_dlrate_per_thread",e.target.value)}}})]),t._v(" "),o("div",{staticClass:"option text narrow flex justify-between w-full items-center"},[o("p",{staticClass:"mr-3"},[t._v("Download threads")]),t._v(" "),o("input",{directives:[{name:"model",rawName:"v-model.number",value:t.getSettings().downloader.num_threads,expression:"getSettings().downloader.num_threads",modifiers:{number:!0}}],attrs:{type:"number",id:"max_threads",name:"max_threads",placeholder:"10"},domProps:{value:t.getSettings().downloader.num_threads},on:{focusout:t.setSettings_pushCurrentStore,focus:function(e){t.canUpdate=!1},input:function(e){e.target.composing||t.$set(t.getSettings().downloader,"num_threads",t._n(e.target.value))},blur:function(e){return t.$forceUpdate()}}})]),t._v(" "),o("div",{staticClass:"option toggle flex justify-between items-center"},[o("p",[t._v("Only allow localhost")]),t._v(" "),o("div",{on:{click:t.setSettings_toggle_onlyAllowLocalhost}},[o("Toggle",{attrs:{isOn:t.getSettings().access.only_allow_localhost}})],1)]),t._v(" "),o("div",{staticClass:"option toggle flex justify-between items-center"},[o("p",[t._v("Enable whitelist")]),t._v(" "),o("div",{on:{click:t.setSettings_toggle_enableWhitelist}},[o("Toggle",{attrs:{isOn:t.getSettings().access.enable_whitelist}})],1)]),t._v(" "),o("Spacer",{attrs:{height:"2em"}}),t._v(" "),t.getSettings().access.enable_whitelist?o("div",[o("h2",[t._v("Whitelist")]),t._v(" "),o("textarea",{ref:"whitelist_input",staticClass:"mt-2 w-full",on:{input:t.whitelistInputJsonSyntaxCheck}}),t._v(" "),o("div",{staticClass:"flex w-full"},[o("div",{ref:"button_saveWhitelist",staticClass:"button button--small button--nowarn mt-2 mr-2",on:{click:t.saveWhitelist}},[t._v("Save whitelist")]),t._v(" "),o("div",{staticClass:"button button--small button--nowarn mt-2",on:{click:t.updateWhitelist}},[t._v("Update whitelist")])])]):t._e()],1):t._e()]),t._v(" "),o("div",{staticClass:"w-full lg:w-1/2 border-left lg:pl-3 mt-6 lg:mt-0"},[o("div",{staticClass:"versions"},[o("div",{staticClass:"versions__entry"},[o("p",[t._v("Web-UI version: "+t._s(t.version__webUI))])]),t._v(" "),o("div",{staticClass:"versions__entry"},[o("p",[t._v("Server version: "+t._s(t.serverVersion))])])]),t._v(" "),o("div",{staticClass:"disk-usage mt-3"},[o("h2",[t._v("Disk usage")]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Downloads: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.dlcache/1024/1024))+" mb")])]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Logs: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.logs/1024/1024))+" mb")])]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Dependencies: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.dependencies/1024/1024))+" mb")])]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Misc: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.misc/1024/1024))+" mb")])]),t._v(" "),o("div",{staticClass:"disk-usage__entry flex"},[o("p",{staticClass:"mr-3"},[t._v("Total: ")]),t._v(" "),o("p",[t._v(t._s(Math.round(t.diskUsage.total/1024/1024))+" mb")])])]),t._v(" "),o("Spacer",{attrs:{height:"50px"}}),t._v(" "),o("div",{staticClass:"flex"},[o("div",{staticClass:"flex flex-col mr-1"},[o("div",{staticClass:"button",on:{click:t.clearDLCache}},[t._v("Clear downloads")]),t._v(" "),o("div",{staticClass:"button mt-2",on:{click:t.clearLogs}},[t._v("Clear logs")]),t._v(" "),"Windows"===t.serverOs?o("div",{staticClass:"button mt-2",on:{click:t.updateYtdl}},[t._v("Update ytdl")]):t._e()]),t._v(" "),o("div",{staticClass:"flex flex-col ml-1"},[o("div",{staticClass:"button",on:{click:t.killServer}},[t._v("Kill server")]),t._v(" "),o("div",{staticClass:"button mt-2",on:{click:t.resetToDefaults}},[t._v("Reset to defaults")])])])],1)]),t._v(" "),o("hr",{staticClass:"mt-6 lg:mt-2"}),t._v(" "),o("div",{staticClass:"pt-6"},[o("h2",{staticClass:"mb-4"},[t._v("Logs")]),t._v(" "),o("LogBox")],1)]),t._v(" "),o("div",{staticClass:"go-back hidden md:block"},[o("nuxt-link",{attrs:{exact:"",to:"/"}},[t._v("\n << Back\n ")])],1)],1)}),[],!1,null,"14be0b2f",null);e.default=component.exports;installComponents(component,{Spacer:o(256).default,Toggle:o(285).default,LogBox:o(286).default})}}]); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/8f953c4.js b/Tubio/frontend/_nuxt/8f953c4.js new file mode 100644 index 0000000..83c2209 --- /dev/null +++ b/Tubio/frontend/_nuxt/8f953c4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3,5,6,7,11],{254:function(t,e,o){var content=o(272);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("40803e79",content,!0,{sourceMap:!1})},257:function(t,e,o){"use strict";o.r(e);o(101),o(34),o(268),o(51);var r=o(258),l=o(261),n=o(259),d=o(260),c=o(7),f=o.n(c),v={components:{IconDownload:r.default,IconX:l.default,IconFilm:n.default,IconMusic:d.default},props:{downloadEntry:{type:Object}},methods:{getQueuedDateString:function(t){var e=new Date(1e3*t);return("0"+e.getDate()).slice(-2)+"."+("0"+(e.getMonth()+1)).slice(-2)+"."+e.getFullYear()},getDurationString:function(t){if(t<0)return"";if(t>36e4)return"";var e=Math.floor(t/3600),o=Math.floor(t%3600/60),s=Math.floor(t%3600%60),r="";return e>0&&(r=String(e).padStart(2,"0")+":"),r+=String(o).padStart(2,"0")+":"+String(s).padStart(2,"0")},linebreaksToBrTags:function(t){return t.replace("\n","
")},removeDownload:function(){var t=this;f.a.post("/api",{request:"remove_download_entry",id:this.downloadEntry.tubio_id}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("dlcache/update",t)}))}}},h=(o(271),o(9)),component=Object(h.a)(v,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"frame mb-6 pt-2 pb-4"},[o("div",{staticClass:"flex flex-col"},[o("div",{staticClass:"flex items-end justify-between w-full md:w-auto"},[o("div",{staticClass:"flex flex-row"},[o("div",{staticClass:"icon--mode"},["video"===t.downloadEntry.mode?o("IconFilm"):o("IconMusic")],1),t._v(" "),o("div",{staticClass:"smalltext-metadata ml-1"},[t._v("\n "+t._s(void 0!==t.downloadEntry.quality?t.downloadEntry.quality:"best")+" ")]),t._v(" "),o("div",{staticClass:"smalltext-metadata ml-1"},[t._v("\n "+t._s(t.getQueuedDateString(t.downloadEntry.queued_timestamp))+"\n ")])]),t._v(" "),o("div",{staticClass:"button-remove",on:{click:t.removeDownload}},[o("IconX")],1)]),t._v(" "),o("div",{staticClass:"flex flex-col-reverse md:flex-row w-full mt-2"},[o("div",{staticClass:"flex flex-col"},[o("a",{attrs:{href:t.downloadEntry.webpage_url,target:"_blank",title:"To the original source"}},[o("div",{staticClass:"thumbnail flex-shrink-0",style:"--thumbnail: url('"+t.downloadEntry.thumbnail_url+"')"},[o("div",{staticClass:"thumbnail__vignette"}),t._v(" "),o("div",{staticClass:"thumbnail__duration"},[t._v(t._s(t.getDurationString(t.downloadEntry.duration)))])])]),t._v(" "),"downloading"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--progressbar flex w-full mt-3"},[o("div",{staticClass:"status--progressbar__good items-stretch",style:"--download-progress: "+t.downloadEntry.download_progress+"%;"})]),t._v(" "),o("div",{staticClass:"status--progressbar__text"},[t._v("\n "+t._s(t.downloadEntry.download_progress)+"%\n ")])]):"finished"===t.downloadEntry.status?o("a",{attrs:{href:t.downloadEntry.download_url,title:"download"}},[o("div",{staticClass:"status--ready mt-3 button flex justify-center w-full"},[o("div",[o("IconDownload")],1)])]):"queued"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--queued mt-3"},[t._v("\n Queued\n ")])]):"failed"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--failed mt-3"},[t._v("\n Failed!\n ")])]):t._e()]),t._v(" "),o("div",{staticClass:"flex flex-col md:ml-4 w-full overflow-x-hidden overflow-y-visible"},[o("h1",{staticClass:"title"},[t._v(t._s(t.downloadEntry.title))]),t._v(" "),o("div",{staticClass:"relative my-4"},[""!=t.downloadEntry.description?o("div",[o("p",{staticClass:"description p-2"},[o("span",{domProps:{innerHTML:t._s(t.linebreaksToBrTags(t.downloadEntry.description))}})]),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--left"}),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--right"})]):t._e()])])])])])}),[],!1,null,"1c500fb6",null);e.default=component.exports},258:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-download",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{"fill-rule":"evenodd",d:"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"}})])}),[],!1,null,null,null);e.default=component.exports},259:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-film",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0h8v6H4V1zm8 8H4v6h8V9zM1 1h2v2H1V1zm2 3H1v2h2V4zM1 7h2v2H1V7zm2 3H1v2h2v-2zm-2 3h2v2H1v-2zM15 1h-2v2h2V1zm-2 3h2v2h-2V4zm2 3h-2v2h2V7zm-2 3h2v2h-2v-2zm2 3h-2v2h2v-2z"}})])}),[],!1,null,null,null);e.default=component.exports},260:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-music-note-beamed",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{d:"M6 13c0 1.105-1.12 2-2.5 2S1 14.105 1 13c0-1.104 1.12-2 2.5-2s2.5.896 2.5 2zm9-2c0 1.105-1.12 2-2.5 2s-2.5-.895-2.5-2 1.12-2 2.5-2 2.5.895 2.5 2z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M14 11V2h1v9h-1zM6 3v10H5V3h1z"}}),t._v(" "),o("path",{attrs:{d:"M5 2.905a1 1 0 0 1 .9-.995l8-.8a1 1 0 0 1 1.1.995V3L5 4V2.905z"}})])}),[],!1,null,null,null);e.default=component.exports},261:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-x",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"}})])}),[],!1,null,null,null);e.default=component.exports},268:function(t,e,o){"use strict";var r=o(4),l=o(269).start;r({target:"String",proto:!0,forced:o(270)},{padStart:function(t){return l(this,t,arguments.length>1?arguments[1]:void 0)}})},269:function(t,e,o){var r=o(17),l=o(164),n=o(16),d=Math.ceil,c=function(t){return function(e,o,c){var f,v,h=String(n(e)),m=h.length,w=void 0===c?" ":String(c),_=r(o);return _<=m||""==w?h:(f=_-m,(v=l.call(w,d(f/w.length))).length>f&&(v=v.slice(0,f)),t?h+v:v+h)}};t.exports={start:c(!1),end:c(!0)}},270:function(t,e,o){var r=o(50);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},271:function(t,e,o){"use strict";o(254)},272:function(t,e,o){var r=o(14)(!1);r.push([t.i,'.frame[data-v-1c500fb6]{width:100%;border-bottom:2px solid #888}.frame .smalltext-metadata[data-v-1c500fb6]{font-family:ZillaSlab,serif;font-size:12pt;color:#bbb}.frame .smalltext-metadata[data-v-1c500fb6]:before{content:"|"}.frame .thumbnail[data-v-1c500fb6]{background-image:var(--thumbnail);background-size:cover;background-position:50%;background-repeat:no-repeat;width:150px;height:84.375px;position:relative;cursor:pointer;scrollbar-width:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transform-style:preserve-3d;transition:transform .2s ease}@media(max-width:768px){.frame .thumbnail[data-v-1c500fb6]{width:100%;height:130px}}.frame .thumbnail[data-v-1c500fb6]:hover{transform:scale(1.05)}.frame .thumbnail__vignette[data-v-1c500fb6]{position:absolute;top:0;bottom:0;right:0;left:0;box-shadow:0 0 15px 2px #000}.frame .thumbnail__duration[data-v-1c500fb6]{position:absolute;bottom:0;right:0;padding:0 3px 3px 0;text-align:right;font-size:12pt;color:#bbb;background-color:rgba(0,0,0,.66667)}.frame .title[data-v-1c500fb6]{color:#bbb;font-size:22pt;max-height:1.3em;overflow-y:hidden;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.frame .description[data-v-1c500fb6]{color:#bbb;font-size:14pt;height:100px;overflow-x:hidden;overflow-y:scroll;position:relative;background-color:rgba(0,0,0,.2)}@media(max-width:768px){.frame .description[data-v-1c500fb6]{overflow:scroll}}.frame .description__decobox[data-v-1c500fb6]{position:absolute}.frame .description__decobox--left[data-v-1c500fb6]{top:0;left:0;width:40px;height:40px;border-top:2px solid #888;border-left:2px solid #888;pointer-events:none}.frame .description__decobox--right[data-v-1c500fb6]{bottom:0;right:0;width:40px;height:40px;border-bottom:2px solid #888;border-right:2px solid #888;pointer-events:none}.frame .status--progressbar[data-v-1c500fb6]{background-color:#900;height:5px}.frame .status--progressbar__good[data-v-1c500fb6]{background-color:#0b0;width:var(--download-progress);transition:width 1s}.frame .status--progressbar__text[data-v-1c500fb6]{font-size:24pt;color:#bbb}.frame .status--ready[data-v-1c500fb6]{height:45px;background-color:#bbb;transition:background-color .2s,border .2s}.frame .status--ready[data-v-1c500fb6]:hover{background-color:#5954a4;color:#fff}.frame .status--ready svg[data-v-1c500fb6]{height:35px}.frame .status--queued[data-v-1c500fb6]{font-family:ZillaSlab,serif;font-size:24pt;color:#bbb}.frame .status--failed[data-v-1c500fb6]{font-family:ZillaSlab,serif;font-size:24pt;color:#d40}.frame .button-remove[data-v-1c500fb6]{width:35px;height:35px;fill:#333;stroke:#333;cursor:pointer;transition:background-color .2s,border-radius .2s}.frame .button-remove[data-v-1c500fb6]:hover{background-color:#d40;border-radius:50%}.frame[data-v-1c500fb6]::-webkit-scrollbar,.frame[data-v-1c500fb6] ::-webkit-scrollbar{display:none}.frame .icon--mode[data-v-1c500fb6]{width:20px}',""]),t.exports=r}}]); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/LICENSES b/Tubio/frontend/_nuxt/LICENSES index 368172b..2f34f3a 100644 --- a/Tubio/frontend/_nuxt/LICENSES +++ b/Tubio/frontend/_nuxt/LICENSES @@ -1,16 +1,3 @@ -/*! - * vue-client-only v2.0.0 - * (c) 2019-present egoist <0x142857@gmail.com> - * Released under the MIT License. - */ - -/*! - * vue-no-ssr v1.1.1 - * (c) 2018-present egoist <0x142857@gmail.com> - * Released under the MIT License. - */ - - /*! * vue-router v3.5.1 * (c) 2021 Evan You @@ -28,3 +15,16 @@ * (c) 2021 Evan You * @license MIT */ + + +/*! + * vue-client-only v2.0.0 + * (c) 2019-present egoist <0x142857@gmail.com> + * Released under the MIT License. + */ + +/*! + * vue-no-ssr v1.1.1 + * (c) 2018-present egoist <0x142857@gmail.com> + * Released under the MIT License. + */ diff --git a/Tubio/frontend/_nuxt/5df429a.js b/Tubio/frontend/_nuxt/b2e29d0.js similarity index 72% rename from Tubio/frontend/_nuxt/5df429a.js rename to Tubio/frontend/_nuxt/b2e29d0.js index 8a970ae..46318e6 100644 --- a/Tubio/frontend/_nuxt/5df429a.js +++ b/Tubio/frontend/_nuxt/b2e29d0.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{140:function(t,e,n){var content=n(220);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("1b4a9212",content,!0,{sourceMap:!1})},141:function(t,e,n){var content=n(222);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("774711c0",content,!0,{sourceMap:!1})},142:function(t,e,n){var content=n(224);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("d7443b22",content,!0,{sourceMap:!1})},143:function(t,e,n){var content=n(226);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("1d72187b",content,!0,{sourceMap:!1})},144:function(t,e,n){var content=n(228);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("a00d49f6",content,!0,{sourceMap:!1})},159:function(t,e,n){"use strict";n.r(e);var o=n(162),r=n(163),l=n(70),c={components:{IconGear:o.default,IconGithub:r.default,Logo:l.default}},d=(n(225),n(9)),component=Object(d.a)(c,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"header flex flex-row justify-between w-full p-5"},[n("div",{staticClass:"left-icons flex flex-flex-row justify-start"},[n("nuxt-link",{attrs:{exact:"",to:"/"}},[n("div",{staticClass:"headerbutton block md:hidden"},[n("Logo",{staticClass:"headerlogo"})],1)])],1),t._v(" "),n("div",{staticClass:"right-icons flex flex-row justify-end flex-grow"},[n("a",{staticClass:"mr-4",attrs:{href:"https://github.com/Leonetienne/Tubio",target:"_blank",title:"GitHub repository"}},[n("div",{staticClass:"headerbutton flex justify-center items-center"},[n("IconGithub",{staticClass:"headericon icon-github"})],1)]),t._v(" "),n("nuxt-link",{attrs:{exact:"",to:"/settings",title:"Settings"}},[n("div",{staticClass:"headerbutton button-settings"},[n("IconGear",{staticClass:"headericon icon-gear"})],1)])],1)])}),[],!1,null,"3e286fb6",null);e.default=component.exports;installComponents(component,{Logo:n(70).default})},160:function(t,e,n){"use strict";n.r(e);n(216);var o={data:function(){return{offsetX:{type:Number,default:0}}},computed:{cssVars:function(){return"transform: translateY(-"+this.offsetX/2+"px);"}},methods:{handleScroll:function(t){this.offsetX=window.scrollY}},beforeMount:function(){window.addEventListener("scroll",this.handleScroll)},destroyed:function(){window.removeEventListener("scroll",this.handleScroll)}},r=(n(219),n(9)),component=Object(r.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",{staticClass:"bgdrop"}),t._v(" "),n("div",{staticClass:"bggatter__wrapper"},[n("div",{ref:"bggatter",staticClass:"bggatter",style:t.cssVars})]),t._v(" "),n("div",{staticClass:"bgmask"})])}),[],!1,null,"2e19fe75",null);e.default=component.exports},161:function(t,e,n){"use strict";var o=n(160),r=n(159),l={components:{Background:o.default,Header:r.default}},c=(n(227),n(9)),component=Object(c.a)(l,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("Background"),t._v(" "),n("Header"),t._v(" "),n("div",{staticClass:"main-column mx-auto"},[n("Nuxt",{staticClass:"w-full flex flex-col justify-start items-center"})],1)],1)}),[],!1,null,"816c6d80",null);e.a=component.exports},162:function(t,e,n){"use strict";n.r(e);var o=n(9),component=Object(o.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("svg",{staticClass:"bi bi-gear",attrs:{viewBox:"-2 -2 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{"fill-rule":"evenodd",d:"M8.837 1.626c-.246-.835-1.428-.835-1.674 0l-.094.319A1.873 1.873 0 0 1 4.377 3.06l-.292-.16c-.764-.415-1.6.42-1.184 1.185l.159.292a1.873 1.873 0 0 1-1.115 2.692l-.319.094c-.835.246-.835 1.428 0 1.674l.319.094a1.873 1.873 0 0 1 1.115 2.693l-.16.291c-.415.764.42 1.6 1.185 1.184l.292-.159a1.873 1.873 0 0 1 2.692 1.116l.094.318c.246.835 1.428.835 1.674 0l.094-.319a1.873 1.873 0 0 1 2.693-1.115l.291.16c.764.415 1.6-.42 1.184-1.185l-.159-.291a1.873 1.873 0 0 1 1.116-2.693l.318-.094c.835-.246.835-1.428 0-1.674l-.319-.094a1.873 1.873 0 0 1-1.115-2.692l.16-.292c.415-.764-.42-1.6-1.185-1.184l-.291.159A1.873 1.873 0 0 1 8.93 1.945l-.094-.319zm-2.633-.283c.527-1.79 3.065-1.79 3.592 0l.094.319a.873.873 0 0 0 1.255.52l.292-.16c1.64-.892 3.434.901 2.54 2.541l-.159.292a.873.873 0 0 0 .52 1.255l.319.094c1.79.527 1.79 3.065 0 3.592l-.319.094a.873.873 0 0 0-.52 1.255l.16.292c.893 1.64-.902 3.434-2.541 2.54l-.292-.159a.873.873 0 0 0-1.255.52l-.094.319c-.527 1.79-3.065 1.79-3.592 0l-.094-.319a.873.873 0 0 0-1.255-.52l-.292.16c-1.64.893-3.433-.902-2.54-2.541l.159-.292a.873.873 0 0 0-.52-1.255l-.319-.094c-1.79-.527-1.79-3.065 0-3.592l.319-.094a.873.873 0 0 0 .52-1.255l-.16-.292c-.892-1.64.902-3.433 2.541-2.54l.292.159a.873.873 0 0 0 1.255-.52l.094-.319z"}}),t._v(" "),n("path",{attrs:{"fill-rule":"evenodd",d:"M8 5.754a2.246 2.246 0 1 0 0 4.492 2.246 2.246 0 0 0 0-4.492zM4.754 8a3.246 3.246 0 1 1 6.492 0 3.246 3.246 0 0 1-6.492 0z"}})])}),[],!1,null,null,null);e.default=component.exports},163:function(t,e,n){"use strict";n.r(e);n(221);var o=n(9),component=Object(o.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"github-logo"})}),[],!1,null,"0311b2ca",null);e.default=component.exports},165:function(t,e,n){n(166),t.exports=n(167)},208:function(t,e,n){var content=n(209);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("3a312388",content,!0,{sourceMap:!1})},209:function(t,e,n){var o=n(14)(!1);o.push([t.i,'a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none}audio,canvas,video{display:inline-block;display:inline;zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic}figure,form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;height:13px;width:13px}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}button,html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}',""]),t.exports=o},210:function(t,e,n){var content=n(211);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("f52d43e0",content,!0,{sourceMap:!1})},211:function(t,e,n){var o=n(14)(!1);o.push([t.i,'*,a,h1,h2,h3,h4,h5,h6,input,li,p{font-family:"ZillaSlab",serif}.button{background-color:#fff;border-radius:5px;min-width:80px;height:50px;display:flex;justify-content:center;align-items:center;cursor:pointer}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}',""]),t.exports=o},212:function(t,e,n){var content=n(213);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("12bd18e8",content,!0,{sourceMap:!1})},213:function(t,e,n){var o=n(14)(!1);o.push([t.i,".inherit-all{all:inherit}",""]),t.exports=o},214:function(t,e,n){var content=n(215);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("79e64d57",content,!0,{sourceMap:!1})},215:function(t,e,n){var o=n(14)(!1);o.push([t.i,'@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Regular.ttf) format("truetype")}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Italic.ttf) format("truetype");font-style:italic}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Bold.ttf) format("truetype");font-weight:700}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Light.ttf) format("truetype");font-weight:lighter}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Light.ttf) format("truetype");font-weight:lighter;font-style:italic}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Medium.ttf) format("truetype");font-weight:500}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Medium.ttf) format("truetype");font-weight:500;font-style:italic}',""]),t.exports=o},219:function(t,e,n){"use strict";n(140)},220:function(t,e,n){var o=n(14)(!1);o.push([t.i,".bgdrop[data-v-2e19fe75]{width:100vw;height:100vh;position:fixed;z-index:-10;background-color:#04254e}.bggatter[data-v-2e19fe75]{width:100%;height:1000000px;position:absolute;z-index:-9;-webkit-mask-image:url(/assets/images/tiles/grid.png);mask-image:url(/assets/images/tiles/grid.png);background-color:#5954a4}.bggatter__wrapper[data-v-2e19fe75]{overflow:hidden;z-index:-9}.bggatter__wrapper[data-v-2e19fe75],.bgmask[data-v-2e19fe75]{width:100vw;height:100vh;position:fixed}.bgmask[data-v-2e19fe75]{z-index:-8;background-image:linear-gradient(transparent 50%,#04254e)}",""]),t.exports=o},221:function(t,e,n){"use strict";n(141)},222:function(t,e,n){var o=n(14)(!1);o.push([t.i,".github-logo[data-v-0311b2ca]{background-image:url(/assets/brand/github/github-mark-light-120px.png);background-size:contain}",""]),t.exports=o},223:function(t,e,n){"use strict";n(142)},224:function(t,e,n){var o=n(14)(!1);o.push([t.i,".cls-1[data-v-49c8107e]{fill:none!important}.cls-2[data-v-49c8107e]{stroke:none!important}",""]),t.exports=o},225:function(t,e,n){"use strict";n(143)},226:function(t,e,n){var o=n(14)(!1);o.push([t.i,".headerbutton[data-v-3e286fb6]{cursor:pointer;height:50px;width:50px}.headericon[data-v-3e286fb6]{transition:stroke .2s,fill .2s,color .2s,transform .2s ease-in-out}.headericon[data-v-3e286fb6],.headerlogo[data-v-3e286fb6]{stroke:#8ad5eb;fill:#8ad5eb}.headerlogo[data-v-3e286fb6]{cursor:pointer;height:60px;width:60px;transition:stroke .2s,fill .2s,color .2s}.headerlogo[data-v-3e286fb6]:hover{stroke:#bee7f4}.headerlogo svg[data-v-3e286fb6]{fill:var(#8ad5eb);stroke:var(#8ad5eb);height:100%}.icon-gear svg[data-v-3e286fb6]{height:100%}.icon-gear[data-v-3e286fb6]:hover{transform:rotate(90deg);stroke:#bee7f4;fill:#bee7f4}.icon-github[data-v-3e286fb6]{height:40px;width:40px}.icon-github[data-v-3e286fb6]:hover{transform:scale(1.075)}",""]),t.exports=o},227:function(t,e,n){"use strict";n(144)},228:function(t,e,n){var o=n(14)(!1);o.push([t.i,".main-column[data-v-816c6d80]{width:80%;padding:0 20% 50px;background-color:rgba(0,0,0,.33333);box-shadow:0 0 50px 50px rgba(0,0,0,.33333);min-height:100vh}@media(max-width:1870px){.main-column[data-v-816c6d80]{width:100%;padding:0 200px 50px}}@media(max-width:1280px){.main-column[data-v-816c6d80]{width:100%;padding:0 100px 50px}}@media(max-width:768px){.main-column[data-v-816c6d80]{width:100%;padding:0 20px 50px}}",""]),t.exports=o},229:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{usage:{}}},c={update:function(t,data){t.usage=data}},d={update:function(t){r.a.post("/api",{request:"get_disk_usage"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.disk_usage)}))}}},247:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{cache:[]}},c={update:function(t,data){t.cache=data}},d={update:function(t){r.a.post("/api",{request:"fetch_alltime_cache"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.cache)}))}}},248:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{logs:[]}},c={update:function(t,data){t.logs=data}},d={update:function(t){r.a.post("/api",{request:"fetch_session_logs"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.logs)}))}}},249:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{os_name:""}},c={update:function(t,data){t.os_name=data}},d={update:function(t){r.a.post("/api",{request:"get_os_name"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.os_name)}))}}},250:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{serverVersion:-1}},c={update:function(t,data){t.serverVersion=data}},d={update:function(t){r.a.post("/api",{request:"get_server_version"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.server_version)}))}}},251:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{config:{}}},c={updateGet:function(t,data){t.config=data}},d={updateGet:function(t,e){r.a.post("/api",{request:"update_config"}).then((function(n){"OK"===n.data.status&&(t.commit("updateGet",n.data.config),"function"==typeof e&&e())}))},updateSet:function(t,e){r.a.post("/api",{request:"update_config",config:e}).then((function(e){"OK"===e.data.status&&t.commit("updateGet",e.data.config)}))},resetToDefaults:function(t){r.a.post("/api",{request:"reset_config_to_default_values"}).then((function(e){"OK"===e.data.status&&t.commit("updateGet",e.data.config)}))}}},70:function(t,e,n){"use strict";n.r(e);n(223);var o=n(9),component=Object(o.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 191.98 54"}},[n("defs",[n("style",[t._v(".cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#89cfe5;}")]),n("clipPath",{attrs:{id:"clip-path",transform:"translate(0 0)"}},[n("rect",{staticClass:"cls-1",attrs:{width:"191.98",height:"54"}})])]),n("g",{attrs:{id:"Ebene_2","data-name":"Ebene 2"}},[n("g",{attrs:{id:"Ebene_1-2","data-name":"Ebene 1"}},[n("g",{staticClass:"cls-2"},[n("path",{staticClass:"cls-3",attrs:{d:"M169.73,19.77A6,6,0,0,1,180,24V42a6,6,0,0,1-12,0V24a5.8,5.8,0,0,1,1.77-4.25m-10.21-4.26A11.58,11.58,0,0,0,156,24V42a12.05,12.05,0,0,0,12,12h12a12.11,12.11,0,0,0,12-12V24a11.64,11.64,0,0,0-3.53-8.48A11.49,11.49,0,0,0,180,12H168a11.58,11.58,0,0,0-8.44,3.53M169.5,54l.09-6H143.93V12H132V54ZM143.94,0H132V6h12ZM96,24a6,6,0,0,1,12,0V42a6,6,0,0,1-6,6H96Zm12,30a12.11,12.11,0,0,0,12-12V24a11.64,11.64,0,0,0-3.53-8.48A11.49,11.49,0,0,0,108,12h-6a5.65,5.65,0,0,0-4.15,1.49A7.53,7.53,0,0,0,96,18V0H84V54ZM60,12V42a6,6,0,0,1-12,0V12H36V42A12.05,12.05,0,0,0,48,54h6q5.31,0,6-6v6H95.46l.06-6H72V12ZM6,12H0v6H6V42a11.56,11.56,0,0,0,3.51,8.45A11.55,11.55,0,0,0,18,54H48.82V48H23.46a5.87,5.87,0,0,1-3.55-1.53A5.36,5.36,0,0,1,18,42V18h6V12H18V0H6Z",transform:"translate(0 0)"}})])])])])}),[],!1,null,"49c8107e",null);e.default=component.exports}},[[165,19,1,20]]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{140:function(t,e,n){var content=n(220);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("1b4a9212",content,!0,{sourceMap:!1})},141:function(t,e,n){var content=n(222);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("774711c0",content,!0,{sourceMap:!1})},142:function(t,e,n){var content=n(224);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("d7443b22",content,!0,{sourceMap:!1})},143:function(t,e,n){var content=n(226);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("1d72187b",content,!0,{sourceMap:!1})},144:function(t,e,n){var content=n(228);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("fffbc5ce",content,!0,{sourceMap:!1})},159:function(t,e,n){"use strict";n.r(e);var o=n(162),r=n(163),l=n(70),c={components:{IconGear:o.default,IconGithub:r.default,Logo:l.default}},d=(n(225),n(9)),component=Object(d.a)(c,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"header flex flex-row justify-between w-full p-5"},[n("div",{staticClass:"left-icons flex flex-flex-row justify-start"},[n("nuxt-link",{attrs:{exact:"",to:"/"}},[n("div",{staticClass:"headerbutton block md:hidden"},[n("Logo",{staticClass:"headerlogo"})],1)])],1),t._v(" "),n("div",{staticClass:"right-icons flex flex-row justify-end flex-grow"},[n("a",{staticClass:"mr-4",attrs:{href:"https://github.com/Leonetienne/Tubio",target:"_blank",title:"GitHub repository"}},[n("div",{staticClass:"headerbutton flex justify-center items-center"},[n("IconGithub",{staticClass:"headericon icon-github"})],1)]),t._v(" "),n("nuxt-link",{attrs:{exact:"",to:"/settings",title:"Settings"}},[n("div",{staticClass:"headerbutton button-settings"},[n("IconGear",{staticClass:"headericon icon-gear"})],1)])],1)])}),[],!1,null,"3e286fb6",null);e.default=component.exports;installComponents(component,{Logo:n(70).default})},160:function(t,e,n){"use strict";n.r(e);n(216);var o={data:function(){return{offsetX:{type:Number,default:0}}},computed:{cssVars:function(){return"transform: translateY(-"+this.offsetX/2+"px);"}},methods:{handleScroll:function(t){this.offsetX=window.scrollY}},beforeMount:function(){window.addEventListener("scroll",this.handleScroll)},destroyed:function(){window.removeEventListener("scroll",this.handleScroll)}},r=(n(219),n(9)),component=Object(r.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",{staticClass:"bgdrop"}),t._v(" "),n("div",{staticClass:"bggatter__wrapper"},[n("div",{ref:"bggatter",staticClass:"bggatter",style:t.cssVars})]),t._v(" "),n("div",{staticClass:"bgmask"})])}),[],!1,null,"2e19fe75",null);e.default=component.exports},161:function(t,e,n){"use strict";var o=n(160),r=n(159),l={components:{Background:o.default,Header:r.default}},c=(n(227),n(9)),component=Object(c.a)(l,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("Background"),t._v(" "),n("Header"),t._v(" "),n("div",{staticClass:"main-column mx-auto"},[n("Nuxt",{staticClass:"w-full flex flex-col justify-start items-center"})],1)],1)}),[],!1,null,"20a801df",null);e.a=component.exports},162:function(t,e,n){"use strict";n.r(e);var o=n(9),component=Object(o.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("svg",{staticClass:"bi bi-gear",attrs:{viewBox:"-2 -2 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{"fill-rule":"evenodd",d:"M8.837 1.626c-.246-.835-1.428-.835-1.674 0l-.094.319A1.873 1.873 0 0 1 4.377 3.06l-.292-.16c-.764-.415-1.6.42-1.184 1.185l.159.292a1.873 1.873 0 0 1-1.115 2.692l-.319.094c-.835.246-.835 1.428 0 1.674l.319.094a1.873 1.873 0 0 1 1.115 2.693l-.16.291c-.415.764.42 1.6 1.185 1.184l.292-.159a1.873 1.873 0 0 1 2.692 1.116l.094.318c.246.835 1.428.835 1.674 0l.094-.319a1.873 1.873 0 0 1 2.693-1.115l.291.16c.764.415 1.6-.42 1.184-1.185l-.159-.291a1.873 1.873 0 0 1 1.116-2.693l.318-.094c.835-.246.835-1.428 0-1.674l-.319-.094a1.873 1.873 0 0 1-1.115-2.692l.16-.292c.415-.764-.42-1.6-1.185-1.184l-.291.159A1.873 1.873 0 0 1 8.93 1.945l-.094-.319zm-2.633-.283c.527-1.79 3.065-1.79 3.592 0l.094.319a.873.873 0 0 0 1.255.52l.292-.16c1.64-.892 3.434.901 2.54 2.541l-.159.292a.873.873 0 0 0 .52 1.255l.319.094c1.79.527 1.79 3.065 0 3.592l-.319.094a.873.873 0 0 0-.52 1.255l.16.292c.893 1.64-.902 3.434-2.541 2.54l-.292-.159a.873.873 0 0 0-1.255.52l-.094.319c-.527 1.79-3.065 1.79-3.592 0l-.094-.319a.873.873 0 0 0-1.255-.52l-.292.16c-1.64.893-3.433-.902-2.54-2.541l.159-.292a.873.873 0 0 0-.52-1.255l-.319-.094c-1.79-.527-1.79-3.065 0-3.592l.319-.094a.873.873 0 0 0 .52-1.255l-.16-.292c-.892-1.64.902-3.433 2.541-2.54l.292.159a.873.873 0 0 0 1.255-.52l.094-.319z"}}),t._v(" "),n("path",{attrs:{"fill-rule":"evenodd",d:"M8 5.754a2.246 2.246 0 1 0 0 4.492 2.246 2.246 0 0 0 0-4.492zM4.754 8a3.246 3.246 0 1 1 6.492 0 3.246 3.246 0 0 1-6.492 0z"}})])}),[],!1,null,null,null);e.default=component.exports},163:function(t,e,n){"use strict";n.r(e);n(221);var o=n(9),component=Object(o.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"github-logo"})}),[],!1,null,"0311b2ca",null);e.default=component.exports},165:function(t,e,n){n(166),t.exports=n(167)},208:function(t,e,n){var content=n(209);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("3a312388",content,!0,{sourceMap:!1})},209:function(t,e,n){var o=n(14)(!1);o.push([t.i,'a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none}audio,canvas,video{display:inline-block;display:inline;zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic}figure,form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;height:13px;width:13px}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}button,html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}',""]),t.exports=o},210:function(t,e,n){var content=n(211);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("f52d43e0",content,!0,{sourceMap:!1})},211:function(t,e,n){var o=n(14)(!1);o.push([t.i,'*,a,h1,h2,h3,h4,h5,h6,input,li,p{font-family:"ZillaSlab",serif}.button{background-color:#fff;border-radius:5px;min-width:80px;height:50px;display:flex;justify-content:center;align-items:center;cursor:pointer}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}',""]),t.exports=o},212:function(t,e,n){var content=n(213);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("12bd18e8",content,!0,{sourceMap:!1})},213:function(t,e,n){var o=n(14)(!1);o.push([t.i,".inherit-all{all:inherit}",""]),t.exports=o},214:function(t,e,n){var content=n(215);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(15).default)("79e64d57",content,!0,{sourceMap:!1})},215:function(t,e,n){var o=n(14)(!1);o.push([t.i,'@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Regular.ttf) format("truetype")}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Italic.ttf) format("truetype");font-style:italic}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Bold.ttf) format("truetype");font-weight:700}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Light.ttf) format("truetype");font-weight:lighter}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Light.ttf) format("truetype");font-weight:lighter;font-style:italic}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Medium.ttf) format("truetype");font-weight:500}@font-face{font-family:"ZillaSlab";src:url(/assets/fonts/zilla-slab/ZillaSlab-Medium.ttf) format("truetype");font-weight:500;font-style:italic}',""]),t.exports=o},219:function(t,e,n){"use strict";n(140)},220:function(t,e,n){var o=n(14)(!1);o.push([t.i,".bgdrop[data-v-2e19fe75]{width:100vw;height:100vh;position:fixed;z-index:-10;background-color:#04254e}.bggatter[data-v-2e19fe75]{width:100%;height:1000000px;position:absolute;z-index:-9;-webkit-mask-image:url(/assets/images/tiles/grid.png);mask-image:url(/assets/images/tiles/grid.png);background-color:#5954a4}.bggatter__wrapper[data-v-2e19fe75]{overflow:hidden;z-index:-9}.bggatter__wrapper[data-v-2e19fe75],.bgmask[data-v-2e19fe75]{width:100vw;height:100vh;position:fixed}.bgmask[data-v-2e19fe75]{z-index:-8;background-image:linear-gradient(transparent 50%,#04254e)}",""]),t.exports=o},221:function(t,e,n){"use strict";n(141)},222:function(t,e,n){var o=n(14)(!1);o.push([t.i,".github-logo[data-v-0311b2ca]{background-image:url(/assets/brand/github/github-mark-light-120px.png);background-size:contain}",""]),t.exports=o},223:function(t,e,n){"use strict";n(142)},224:function(t,e,n){var o=n(14)(!1);o.push([t.i,".cls-1[data-v-49c8107e]{fill:none!important}.cls-2[data-v-49c8107e]{stroke:none!important}",""]),t.exports=o},225:function(t,e,n){"use strict";n(143)},226:function(t,e,n){var o=n(14)(!1);o.push([t.i,".headerbutton[data-v-3e286fb6]{cursor:pointer;height:50px;width:50px}.headericon[data-v-3e286fb6]{transition:stroke .2s,fill .2s,color .2s,transform .2s ease-in-out}.headericon[data-v-3e286fb6],.headerlogo[data-v-3e286fb6]{stroke:#8ad5eb;fill:#8ad5eb}.headerlogo[data-v-3e286fb6]{cursor:pointer;height:60px;width:60px;transition:stroke .2s,fill .2s,color .2s}.headerlogo[data-v-3e286fb6]:hover{stroke:#bee7f4}.headerlogo svg[data-v-3e286fb6]{fill:var(#8ad5eb);stroke:var(#8ad5eb);height:100%}.icon-gear svg[data-v-3e286fb6]{height:100%}.icon-gear[data-v-3e286fb6]:hover{transform:rotate(90deg);stroke:#bee7f4;fill:#bee7f4}.icon-github[data-v-3e286fb6]{height:40px;width:40px}.icon-github[data-v-3e286fb6]:hover{transform:scale(1.075)}",""]),t.exports=o},227:function(t,e,n){"use strict";n(144)},228:function(t,e,n){var o=n(14)(!1);o.push([t.i,".main-column[data-v-20a801df]{width:70%;padding:0 0 50px;background-color:rgba(0,0,0,.33333);box-shadow:0 0 50px 50px rgba(0,0,0,.33333);min-height:100vh}@media(max-width:1870px){.main-column[data-v-20a801df]{width:100%;padding:0 200px 50px}}@media(max-width:1280px){.main-column[data-v-20a801df]{width:100%;padding:0 100px 50px}}@media(max-width:768px){.main-column[data-v-20a801df]{width:100%;padding:0 20px 50px}}",""]),t.exports=o},229:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{usage:{}}},c={update:function(t,data){t.usage=data}},d={update:function(t){r.a.post("/api",{request:"get_disk_usage"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.disk_usage)}))}}},247:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{cache:[]}},c={update:function(t,data){t.cache=data}},d={update:function(t){r.a.post("/api",{request:"fetch_alltime_cache"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.cache)}))}}},248:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{logs:[]}},c={update:function(t,data){t.logs=data}},d={update:function(t){r.a.post("/api",{request:"fetch_session_logs"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.logs)}))}}},249:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{os_name:""}},c={update:function(t,data){t.os_name=data}},d={update:function(t){r.a.post("/api",{request:"get_os_name"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.os_name)}))}}},250:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{serverVersion:-1}},c={update:function(t,data){t.serverVersion=data}},d={update:function(t){r.a.post("/api",{request:"get_server_version"}).then((function(e){"OK"===e.data.status&&t.commit("update",e.data.server_version)}))}}},251:function(t,e,n){"use strict";n.r(e),n.d(e,"state",(function(){return l})),n.d(e,"mutations",(function(){return c})),n.d(e,"actions",(function(){return d}));var o=n(7),r=n.n(o),l=function(){return{config:{}}},c={updateGet:function(t,data){t.config=data}},d={updateGet:function(t,e){r.a.post("/api",{request:"update_config"}).then((function(n){"OK"===n.data.status&&(t.commit("updateGet",n.data.config),"function"==typeof e&&e())}))},updateSet:function(t,e){r.a.post("/api",{request:"update_config",config:e}).then((function(e){"OK"===e.data.status&&t.commit("updateGet",e.data.config)}))},resetToDefaults:function(t){r.a.post("/api",{request:"reset_config_to_default_values"}).then((function(e){"OK"===e.data.status&&t.commit("updateGet",e.data.config)}))}}},70:function(t,e,n){"use strict";n.r(e);n(223);var o=n(9),component=Object(o.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 191.98 54"}},[n("defs",[n("style",[t._v(".cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#89cfe5;}")]),n("clipPath",{attrs:{id:"clip-path",transform:"translate(0 0)"}},[n("rect",{staticClass:"cls-1",attrs:{width:"191.98",height:"54"}})])]),n("g",{attrs:{id:"Ebene_2","data-name":"Ebene 2"}},[n("g",{attrs:{id:"Ebene_1-2","data-name":"Ebene 1"}},[n("g",{staticClass:"cls-2"},[n("path",{staticClass:"cls-3",attrs:{d:"M169.73,19.77A6,6,0,0,1,180,24V42a6,6,0,0,1-12,0V24a5.8,5.8,0,0,1,1.77-4.25m-10.21-4.26A11.58,11.58,0,0,0,156,24V42a12.05,12.05,0,0,0,12,12h12a12.11,12.11,0,0,0,12-12V24a11.64,11.64,0,0,0-3.53-8.48A11.49,11.49,0,0,0,180,12H168a11.58,11.58,0,0,0-8.44,3.53M169.5,54l.09-6H143.93V12H132V54ZM143.94,0H132V6h12ZM96,24a6,6,0,0,1,12,0V42a6,6,0,0,1-6,6H96Zm12,30a12.11,12.11,0,0,0,12-12V24a11.64,11.64,0,0,0-3.53-8.48A11.49,11.49,0,0,0,108,12h-6a5.65,5.65,0,0,0-4.15,1.49A7.53,7.53,0,0,0,96,18V0H84V54ZM60,12V42a6,6,0,0,1-12,0V12H36V42A12.05,12.05,0,0,0,48,54h6q5.31,0,6-6v6H95.46l.06-6H72V12ZM6,12H0v6H6V42a11.56,11.56,0,0,0,3.51,8.45A11.55,11.55,0,0,0,18,54H48.82V48H23.46a5.87,5.87,0,0,1-3.55-1.53A5.36,5.36,0,0,1,18,42V18h6V12H18V0H6Z",transform:"translate(0 0)"}})])])])])}),[],!1,null,"49c8107e",null);e.default=component.exports}},[[165,19,1,20]]]); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/5cc2e9d.js b/Tubio/frontend/_nuxt/d640171.js similarity index 55% rename from Tubio/frontend/_nuxt/5cc2e9d.js rename to Tubio/frontend/_nuxt/d640171.js index 7900fe0..ebdfc88 100644 --- a/Tubio/frontend/_nuxt/5cc2e9d.js +++ b/Tubio/frontend/_nuxt/d640171.js @@ -1,2 +1,2 @@ /*! For license information please see LICENSES */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{0:function(t,e,n){"use strict";n.d(e,"d",(function(){return w})),n.d(e,"l",(function(){return y})),n.d(e,"n",(function(){return _})),n.d(e,"m",(function(){return j})),n.d(e,"f",(function(){return O})),n.d(e,"b",(function(){return $})),n.d(e,"s",(function(){return k})),n.d(e,"h",(function(){return C})),n.d(e,"i",(function(){return S})),n.d(e,"e",(function(){return P})),n.d(e,"r",(function(){return E})),n.d(e,"k",(function(){return R})),n.d(e,"t",(function(){return A})),n.d(e,"o",(function(){return M})),n.d(e,"q",(function(){return I})),n.d(e,"g",(function(){return D})),n.d(e,"c",(function(){return L})),n.d(e,"j",(function(){return U})),n.d(e,"p",(function(){return z})),n.d(e,"a",(function(){return Y})),n.d(e,"v",(function(){return G})),n.d(e,"u",(function(){return Q}));n(71),n(58),n(43),n(131),n(37),n(101),n(44),n(186),n(85),n(12),n(188),n(34),n(97),n(63),n(45),n(189),n(51),n(133),n(134),n(67);var r=n(29),o=(n(48),n(6)),c=n(23),f=n(21),d=n(1),l=n(10);function h(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function m(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function v(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1&&void 0!==arguments[1]?arguments[1]:"";return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e;return void 0===t[n]&&(t[n]=0),t[n]++}}function y(t){d.a.config.errorHandler&&d.a.config.errorHandler(t)}function _(t){return t.then((function(t){return t.default||t}))}function j(t){return t.$options&&"function"==typeof t.$options.fetch&&!t.$options.fetch.length}function O(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=t.$children||[],o=x(r);try{for(o.s();!(e=o.n()).done;){var c=e.value;c.$fetch?n.push(c):c.$children&&O(c,n)}}catch(t){o.e(t)}finally{o.f()}return n}function $(t,e){if(e||!t.options.__hasNuxtData){var n=t.options._originDataFn||t.options.data||function(){return{}};t.options._originDataFn=n,t.options.data=function(){var data=n.call(this,this);return this.$ssrContext&&(e=this.$ssrContext.asyncData[t.cid]),m(m({},data),e)},t.options.__hasNuxtData=!0,t._Ctor&&t._Ctor.options&&(t._Ctor.options.data=t.options.data)}}function k(t){return t.options&&t._Ctor===t||(t.options?(t._Ctor=t,t.extendOptions=t.options):(t=d.a.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file)),t}function C(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"components";return Array.prototype.concat.apply([],t.matched.map((function(t,r){return Object.keys(t[n]).map((function(o){return e&&e.push(r),t[n][o]}))})))}function S(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return C(t,e,"instances")}function P(t,e){return Array.prototype.concat.apply([],t.matched.map((function(t,n){return Object.keys(t.components).reduce((function(r,o){return t.components[o]?r.push(e(t.components[o],t.instances[o],t,o,n)):delete t.components[o],r}),[])})))}function E(t,e){return Promise.all(P(t,function(){var t=Object(o.a)(regeneratorRuntime.mark((function t(n,r,o,c){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("function"!=typeof n||n.options){t.next=4;break}return t.next=3,n();case 3:n=t.sent;case 4:return o.components[c]=n=k(n),t.abrupt("return","function"==typeof e?e(n,r,o,c):n);case 6:case"end":return t.stop()}}),t)})));return function(e,n,r,o){return t.apply(this,arguments)}}()))}function R(t){return T.apply(this,arguments)}function T(){return(T=Object(o.a)(regeneratorRuntime.mark((function t(e){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,E(e);case 4:return t.abrupt("return",m(m({},e),{},{meta:C(e).map((function(t,n){return m(m({},t.options.meta),(e.matched[n]||{}).meta)}))}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function A(t,e){return N.apply(this,arguments)}function N(){return(N=Object(o.a)(regeneratorRuntime.mark((function t(e,n){var o,c,d,h;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.context||(e.context={isStatic:!0,isDev:!1,isHMR:!1,app:e,store:e.store,payload:n.payload,error:n.error,base:e.router.options.base,env:{}},n.ssrContext&&(e.context.ssrContext=n.ssrContext),e.context.redirect=function(t,path,n){if(t){e.context._redirected=!0;var o=Object(r.a)(path);if("number"==typeof t||"undefined"!==o&&"object"!==o||(n=path||{},path=t,o=Object(r.a)(path),t=302),"object"===o&&(path=e.router.resolve(path).route.fullPath),!/(^[.]{1,2}\/)|(^\/(?!\/))/.test(path))throw path=Object(l.f)(path,n),window.location.replace(path),new Error("ERR_REDIRECT");e.context.next({path:path,query:n,status:t})}},e.context.nuxtState=window.__NUXT__),t.next=3,Promise.all([R(n.route),R(n.from)]);case 3:o=t.sent,c=Object(f.a)(o,2),d=c[0],h=c[1],n.route&&(e.context.route=d),n.from&&(e.context.from=h),e.context.next=n.next,e.context._redirected=!1,e.context._errored=!1,e.context.isHMR=!1,e.context.params=e.context.route.params||{},e.context.query=e.context.route.query||{};case 15:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function M(t,e){return!t.length||e._redirected||e._errored?Promise.resolve():I(t[0],e).then((function(){return M(t.slice(1),e)}))}function I(t,e){var n;return(n=2===t.length?new Promise((function(n){t(e,(function(t,data){t&&e.error(t),n(data=data||{})}))})):t(e))&&n instanceof Promise&&"function"==typeof n.then?n:Promise.resolve(n)}function D(base,t){if("hash"===t)return window.location.hash.replace(/^#\//,"");base=decodeURI(base).slice(0,-1);var path=decodeURI(window.location.pathname);base&&path.startsWith(base)&&(path=path.slice(base.length));var e=(path||"/")+window.location.search+window.location.hash;return Object(l.d)(e)}function L(t,e){return function(t,e){for(var n=new Array(t.length),i=0;ie.parts.length&&(n.parts.length=e.parts.length)}else{var o=[];for(r=0;r2&&void 0!==arguments[2]?arguments[2]:".",c=arguments.length>3?arguments[3]:void 0;if(!r(e))return o(t,{},n,c);var f=Object.assign({},e);for(var d in t)if("__proto__"!==d&&"constructor"!==d){var l=t[d];null!==l&&(c&&c(f,d,l,n)||(Array.isArray(l)&&Array.isArray(f[d])?f[d]=f[d].concat(l):r(l)&&r(f[d])?f[d]=o(l,f[d],(n?"".concat(n,"."):"")+d.toString(),c):f[d]=l))}return f}function c(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r0)){t.next=19;break}return t.next=19,new Promise((function(t){return setTimeout(t,r)}));case 19:this.$fetchState.error=e,this.$fetchState.pending=!1,this.$fetchState.timestamp=Date.now(),this.$nextTick((function(){return o.$nuxt.nbFetching--}));case 23:case"end":return t.stop()}}),t,this,[[6,11]])})))).apply(this,arguments)}e.a={beforeCreate:function(){Object(c.m)(this)&&(this._fetchDelay="number"==typeof this.$options.fetchDelay?this.$options.fetchDelay:200,o.a.util.defineReactive(this,"$fetchState",{pending:!1,error:null,timestamp:Date.now()}),this.$fetch=m.bind(this),Object(c.a)(this,"created",l),Object(c.a)(this,"beforeMount",d))}}},158:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));n(44),n(12),n(39);var r={},o={},c={};function f(t,e){if(r[t])return Promise.resolve(r[t]);if(c[t])return Promise.reject(c[t]);if(o[t])return o[t];var n,f,d=o[t]=new Promise((function(t,e){n=t,f=e}));delete r[t];var l,script=document.createElement("script");script.charset="utf-8",script.timeout=120,script.src=e;var h=new Error,m=script.onerror=script.onload=function(e){if(clearTimeout(l),delete o[t],script.onerror=script.onload=null,r[t])return n(r[t]);var d=e&&("load"===e.type?"missing":e.type),m=e&&e.target&&e.target.src;h.message="Loading chunk "+t+" failed.\n("+d+": "+m+")",h.name="ChunkLoadError",h.type=d,h.request=m,c[t]=h,f(h)};return l=setTimeout((function(){m({type:"timeout",target:script})}),12e4),document.head.appendChild(script),d}function d(){window.__NUXT_JSONP__=function(t,e){r[t]=e},window.__NUXT_JSONP_CACHE__=r,window.__NUXT_IMPORT__=f}},166:function(t,e,n){(function(t){t.installComponents=function(component,t){var n="function"==typeof component.exports?component.exports.extendOptions:component.options;for(var i in"function"==typeof component.exports&&(n.components=component.exports.options.components),n.components=n.components||{},t)n.components[i]=n.components[i]||t[i];n.functional&&function(component,t){if(component.exports[e])return;component.exports[e]=!0;var n=component.exports.render;component.exports.render=function(e,r){return n(e,Object.assign({},r,{_c:function(e,a,b){return r._c(t[e]||e,a,b)}}))}}(component,n.components)};var e="_functionalComponents"}).call(this,n(26))},167:function(t,e,n){"use strict";n.r(e),function(t){n(71),n(58),n(43),n(37),n(44),n(85),n(12),n(34),n(63),n(45),n(102),n(66),n(67),n(39);var e=n(29),r=(n(48),n(6)),o=(n(94),n(177),n(184),n(185),n(1)),c=n(153),f=n(98),d=n(0),l=n(25),h=n(157),m=n(69),x=n(158);function v(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return w(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function w(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2?e-2:0),r=2;r1&&void 0!==arguments[1]?arguments[1]:O,n=arguments.length>2?arguments[2]:void 0;return r.call(this,t,e,n)};var o=n.resolve.bind(n);return n.resolve=function(t,e,n){return"string"==typeof t&&(t=Object(w.d)(t)),o(t,e,n)},n}n(66);var C={name:"NuxtChild",functional:!0,props:{nuxtChildKey:{type:String,default:""},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0}},render:function(t,e){var n=e.parent,data=e.data,r=e.props,o=n.$createElement;data.nuxtChild=!0;for(var c=n,f=n.$nuxt.nuxt.transitions,d=n.$nuxt.nuxt.defaultTransition,l=0;n;)n.$vnode&&n.$vnode.data.nuxtChild&&l++,n=n.$parent;data.nuxtChildDepth=l;var h=f[l]||d,m={};S.forEach((function(t){void 0!==h[t]&&(m[t]=h[t])}));var x={};P.forEach((function(t){"function"==typeof h[t]&&(x[t]=h[t].bind(c))}));var v=x.beforeEnter;if(x.beforeEnter=function(t){if(window.$nuxt.$nextTick((function(){window.$nuxt.$emit("triggerScroll")})),v)return v.call(c,t)},!1===h.css){var w=x.leave;(!w||w.length<2)&&(x.leave=function(t,e){w&&w.call(c,t),c.$nextTick(e)})}var y=o("routerView",data);return r.keepAlive&&(y=o("keep-alive",{props:r.keepAliveProps},[y])),o("transition",{props:m,on:x},[y])}},S=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],P=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"],E={name:"NuxtError",props:{error:{type:Object,default:null}},computed:{statusCode:function(){return this.error&&this.error.statusCode||500},message:function(){return this.error.message||"Error"}},head:function(){return{title:this.message,meta:[{name:"viewport",content:"width=device-width,initial-scale=1.0,minimum-scale=1.0"}]}}},R=(n(202),n(9)),T=Object(R.a)(E,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"__nuxt-error-page"},[n("div",{staticClass:"error"},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"90",height:"90",fill:"#DBE1EC",viewBox:"0 0 48 48"}},[n("path",{attrs:{d:"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z"}})]),t._v(" "),n("div",{staticClass:"title"},[t._v(t._s(t.message))]),t._v(" "),404===t.statusCode?n("p",{staticClass:"description"},[void 0===t.$route?n("a",{staticClass:"error-link",attrs:{href:"/"}}):n("NuxtLink",{staticClass:"error-link",attrs:{to:"/"}},[t._v("Back to the home page")])],1):t._e(),t._v(" "),t._m(0)])])}),[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"logo"},[n("a",{attrs:{href:"https://nuxtjs.org",target:"_blank",rel:"noopener"}},[t._v("Nuxt")])])}],!1,null,null,null).exports,A=(n(34),n(97),n(51),n(21)),N={name:"Nuxt",components:{NuxtChild:C,NuxtError:T},props:{nuxtChildKey:{type:String,default:void 0},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0},name:{type:String,default:"default"}},errorCaptured:function(t){this.displayingNuxtError&&(this.errorFromNuxtError=t,this.$forceUpdate())},computed:{routerViewKey:function(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(y.c)(this.$route.matched[0].path)(this.$route.params);var t=Object(A.a)(this.$route.matched,1)[0];if(!t)return this.$route.path;var e=t.components.default;if(e&&e.options){var n=e.options;if(n.key)return"function"==typeof n.key?n.key(this.$route):n.key}return/\/$/.test(t.path)?this.$route.path:this.$route.path.replace(/\/$/,"")}},beforeCreate:function(){c.a.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},render:function(t){var e=this;return this.nuxt.err?this.errorFromNuxtError?(this.$nextTick((function(){return e.errorFromNuxtError=!1})),t("div",{},[t("h2","An error occurred while showing the error page"),t("p","Unfortunately an error occurred and while showing the error page another error occurred"),t("p","Error details: ".concat(this.errorFromNuxtError.toString())),t("nuxt-link",{props:{to:"/"}},"Go back to home")])):(this.displayingNuxtError=!0,this.$nextTick((function(){return e.displayingNuxtError=!1})),t(T,{props:{error:this.nuxt.err}})):t("NuxtChild",{key:this.routerViewKey,props:this.$props})}},M=(n(43),n(63),n(45),n(67),n(39),{name:"NuxtLoading",data:function(){return{percent:0,show:!1,canSucceed:!0,reversed:!1,skipTimerCount:0,rtl:!1,throttle:200,duration:5e3,continuous:!1}},computed:{left:function(){return!(!this.continuous&&!this.rtl)&&(this.rtl?this.reversed?"0px":"auto":this.reversed?"auto":"0px")}},beforeDestroy:function(){this.clear()},methods:{clear:function(){clearInterval(this._timer),clearTimeout(this._throttle),this._timer=null},start:function(){var t=this;return this.clear(),this.percent=0,this.reversed=!1,this.skipTimerCount=0,this.canSucceed=!0,this.throttle?this._throttle=setTimeout((function(){return t.startTimer()}),this.throttle):this.startTimer(),this},set:function(t){return this.show=!0,this.canSucceed=!0,this.percent=Math.min(100,Math.max(0,Math.floor(t))),this},get:function(){return this.percent},increase:function(t){return this.percent=Math.min(100,Math.floor(this.percent+t)),this},decrease:function(t){return this.percent=Math.max(0,Math.floor(this.percent-t)),this},pause:function(){return clearInterval(this._timer),this},resume:function(){return this.startTimer(),this},finish:function(){return this.percent=this.reversed?0:100,this.hide(),this},hide:function(){var t=this;return this.clear(),setTimeout((function(){t.show=!1,t.$nextTick((function(){t.percent=0,t.reversed=!1}))}),500),this},fail:function(t){return this.canSucceed=!1,this},startTimer:function(){var t=this;this.show||(this.show=!0),void 0===this._cut&&(this._cut=1e4/Math.floor(this.duration)),this._timer=setInterval((function(){t.skipTimerCount>0?t.skipTimerCount--:(t.reversed?t.decrease(t._cut):t.increase(t._cut),t.continuous&&(t.percent>=100||t.percent<=0)&&(t.skipTimerCount=1,t.reversed=!t.reversed))}),100)}},render:function(t){var e=t(!1);return this.show&&(e=t("div",{staticClass:"nuxt-progress",class:{"nuxt-progress-notransition":this.skipTimerCount>0,"nuxt-progress-failed":!this.canSucceed},style:{width:this.percent+"%",left:this.left}})),e}}),I=(n(204),Object(R.a)(M,undefined,undefined,!1,null,null,null).exports),D=(n(206),n(208),n(210),n(212),n(214),n(161));function L(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return U(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return U(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function U(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},isPreview:function(){return Boolean(this.$options.previewData)}},methods:{refreshOnlineStatus:function(){void 0===window.navigator.onLine?this.isOnline=!0:this.isOnline=window.navigator.onLine},refresh:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((n=Object(y.i)(t.$route)).length){e.next=3;break}return e.abrupt("return");case 3:return t.$loading.start(),r=n.map((function(e){var p=[];if(e.$options.fetch&&e.$options.fetch.length&&p.push(Object(y.q)(e.$options.fetch,t.context)),e.$fetch)p.push(e.$fetch());else{var n,r=L(Object(y.f)(e.$vnode.componentInstance));try{for(r.s();!(n=r.n()).done;){var component=n.value;p.push(component.$fetch())}}catch(t){r.e(t)}finally{r.f()}}return e.$options.asyncData&&p.push(Object(y.q)(e.$options.asyncData,t.context).then((function(t){for(var n in t)c.a.set(e.$data,n,t[n])}))),Promise.all(p)})),e.prev=5,e.next=8,Promise.all(r);case 8:e.next=15;break;case 10:e.prev=10,e.t0=e.catch(5),t.$loading.fail(e.t0),Object(y.l)(e.t0),t.error(e.t0);case 15:t.$loading.finish();case 16:case"end":return e.stop()}}),e,null,[[5,10]])})))()},errorChanged:function(){if(this.nuxt.err){this.$loading&&(this.$loading.fail&&this.$loading.fail(this.nuxt.err),this.$loading.finish&&this.$loading.finish());var t=(T.options||T).layout;"function"==typeof t&&(t=t(this.context)),this.setLayout(t)}},setLayout:function(t){return t&&z["_"+t]||(t="default"),this.layoutName=t,this.layout=z["_"+t],this.layout},loadLayout:function(t){return t&&z["_"+t]||(t="default"),Promise.resolve(z["_"+t])},getRouterBase:function(){return Object(w.h)(this.$router.options.base)},getRoutePath:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",base=this.getRouterBase();return Object(w.h)(Object(w.g)(Object(w.e)(t).pathname,base))},getStaticAssetsPath:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",e=window.__NUXT__.staticAssetsBase;return Object(y.v)(e,this.getRoutePath(t))},fetchStaticManifest:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.__NUXT_IMPORT__("manifest.js",Object(w.d)(Object(y.v)(t.getStaticAssetsPath(),"manifest.js"))));case 1:case"end":return e.stop()}}),e)})))()},setPagePayload:function(t){this._pagePayload=t,this._fetchCounters={}},fetchPayload:function(t,e){var n=this;return Object(r.a)(regeneratorRuntime.mark((function r(){var path,o,c;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return path=Object(w.a)(n.getRoutePath(t)),r.next=3,n.fetchStaticManifest();case 3:if(r.sent.routes.includes(path)){r.next=7;break}throw e||n.setPagePayload(!1),new Error("Route ".concat(path," is not pre-rendered"));case 7:return o=Object(y.v)(n.getStaticAssetsPath(t),"payload.js"),r.prev=8,r.next=11,window.__NUXT_IMPORT__(path,Object(w.d)(o));case 11:return c=r.sent,e||n.setPagePayload(c),r.abrupt("return",c);case 16:throw r.prev=16,r.t0=r.catch(8),e||n.setPagePayload(!1),r.t0;case 20:case"end":return r.stop()}}),r,null,[[8,16]])})))()}},components:{NuxtLoading:I}};n(136);function F(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return K(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return K(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function K(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:{},r=n.isProperty,o=void 0!==r&&r;if(!e.length||o&&1===e.length)return t;var c=e.shift();return t.modules[c]=t.modules[c]||{},t.modules[c].namespaced=!0,t.modules[c].modules=t.modules[c].modules||{},Q(t.modules[c],e,{isProperty:o})}function V(t,e,n){e&&("state"===n?t.state=e||t.state:t[n]=Object.assign({},t[n],e))}var W={DownloadBox:function(){return n.e(2).then(n.bind(null,288)).then((function(t){return t.default||t}))},DownloadEntry:function(){return n.e(3).then(n.bind(null,257)).then((function(t){return t.default||t}))},LogBox:function(){return n.e(12).then(n.bind(null,286)).then((function(t){return t.default||t}))},LogEntry:function(){return n.e(13).then(n.bind(null,255)).then((function(t){return t.default||t}))},Logo:function(){return Promise.resolve().then(n.bind(null,70)).then((function(t){return t.default||t}))},PleaseWaitBlocker:function(){return n.e(14).then(n.bind(null,287)).then((function(t){return t.default||t}))},Spacer:function(){return n.e(15).then(n.bind(null,256)).then((function(t){return t.default||t}))},Toggle:function(){return n.e(16).then(n.bind(null,285)).then((function(t){return t.default||t}))},IconsArrowRightSquare:function(){return n.e(4).then(n.bind(null,291)).then((function(t){return t.default||t}))},IconsDownload:function(){return n.e(5).then(n.bind(null,258)).then((function(t){return t.default||t}))},IconsFilm:function(){return n.e(6).then(n.bind(null,259)).then((function(t){return t.default||t}))},IconsGear:function(){return Promise.resolve().then(n.bind(null,162)).then((function(t){return t.default||t}))},IconsGithub:function(){return Promise.resolve().then(n.bind(null,163)).then((function(t){return t.default||t}))},IconsMusicNote:function(){return n.e(7).then(n.bind(null,260)).then((function(t){return t.default||t}))},IconsTerminal:function(){return n.e(8).then(n.bind(null,298)).then((function(t){return t.default||t}))},IconsToggleOff:function(){return n.e(9).then(n.bind(null,276)).then((function(t){return t.default||t}))},IconsToggleOn:function(){return n.e(10).then(n.bind(null,275)).then((function(t){return t.default||t}))},IconsX:function(){return n.e(11).then(n.bind(null,261)).then((function(t){return t.default||t}))},LayoutBackground:function(){return Promise.resolve().then(n.bind(null,160)).then((function(t){return t.default||t}))},LayoutHeader:function(){return Promise.resolve().then(n.bind(null,159)).then((function(t){return t.default||t}))}};for(var Z in W)c.a.component(Z,W[Z]),c.a.component("Lazy"+Z,W[Z]);var tt=n(7),et=n.n(tt),nt=n(156),ot=n.n(nt);function it(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function at(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function ct(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:"common",o=st(Array.isArray(r)?r:[r]);try{for(o.s();!(n=o.n()).done;){var c=n.value;if(!e)return void delete this.defaults.headers[c][t];this.defaults.headers[c][t]=e}}catch(t){o.e(t)}finally{o.f()}},setToken:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"common",r=t?(e?e+" ":"")+t:null;this.setHeader("Authorization",r,n)},onRequest:function(t){this.interceptors.request.use((function(e){return t(e)||e}))},onResponse:function(t){this.interceptors.response.use((function(e){return t(e)||e}))},onRequestError:function(t){this.interceptors.request.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onResponseError:function(t){this.interceptors.response.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onError:function(t){this.onRequestError(t),this.onResponseError(t)},create:function(t){return ht(ot()(t,this.defaults))}},ft=function(){var t=pt[lt];ut["$"+t]=function(){return this[t].apply(this,arguments).then((function(t){return t&&t.data}))}},lt=0,pt=["request","delete","get","head","options","post","put","patch"];lt has been deprecated and will be removed in Nuxt 3, please use instead")),x.a.render(t,e)}})),c.a.component(C.name,C),c.a.component("NChild",C),c.a.component(N.name,N),Object.defineProperty(c.a.prototype,"$nuxt",{get:function(){return this.$root.$options.$nuxt},configurable:!0}),c.a.use(d.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var vt={name:"page",mode:"out-in",appear:!1,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"},wt=f.a.Store.prototype.registerModule;function yt(path,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=Array.isArray(path)?!!path.reduce((function(t,path){return t&&t[path]}),this.state):path in this.state;return wt.call(this,path,t,gt({preserveState:n},e))}function _t(t){return jt.apply(this,arguments)}function jt(){return(jt=Object(r.a)(regeneratorRuntime.mark((function t(e){var n,r,o,f,d,l,path,h,m=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=function(t,e){if(!t)throw new Error("inject(key, value) has no key provided");if(void 0===e)throw new Error("inject('".concat(t,"', value) has no value provided"));f[t="$"+t]=e,f.context[t]||(f.context[t]=e),o[t]=f[t];var n="__nuxt_"+t+"_installed__";c.a[n]||(c.a[n]=!0,c.a.use((function(){Object.prototype.hasOwnProperty.call(c.a.prototype,t)||Object.defineProperty(c.a.prototype,t,{get:function(){return this.$root.$options[t]}})})))},n=m.length>1&&void 0!==m[1]?m[1]:{},t.next=4,k(0,n);case 4:return r=t.sent,(o=J(e)).$router=r,o.registerModule=yt,f=gt({head:{title:"Tubio - Video downloader",meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{hid:"description",name:"description",content:""},{name:"msapplication-TileColor",content:"#031934"},{name:"theme-color",content:"#031934"}],link:[{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"},{rel:"manifest",href:"/site.webmanifest"},{rel:"mask-icon",href:"/safari-pinned-tab.svg",color:"#031934"}],style:[],script:[]},store:o,router:r,nuxt:{defaultTransition:vt,transitions:[vt],setTransitions:function(t){return Array.isArray(t)||(t=[t]),t=t.map((function(t){return t=t?"string"==typeof t?Object.assign({},vt,{name:t}):Object.assign({},vt,t):vt})),this.$options.nuxt.transitions=t,t},err:null,dateErr:null,error:function(t){t=t||null,f.context._errored=Boolean(t),t=t?Object(y.p)(t):null;var n=f.nuxt;return this&&(n=this.nuxt||this.$options.nuxt),n.dateErr=Date.now(),n.err=t,e&&(e.nuxt.error=t),t}}},B),o.app=f,d=e?e.next:function(t){return f.router.push(t)},e?l=r.resolve(e.url).route:(path=Object(y.g)(r.options.base,r.options.mode),l=r.resolve(path).route),t.next=14,Object(y.t)(f,{store:o,route:l,next:d,error:f.nuxt.error.bind(f),payload:e?e.payload:void 0,req:e?e.req:void 0,res:e?e.res:void 0,beforeRenderFns:e?e.beforeRenderFns:void 0,ssrContext:e});case 14:h("config",n),window.__NUXT__&&window.__NUXT__.state&&o.replaceState(window.__NUXT__.state),f.context.enablePreview=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};f.previewData=Object.assign({},t),h("preview",t)},t.next=20;break;case 20:return t.next=23,xt(f.context,h);case 23:f.context.enablePreview=function(){console.warn("You cannot call enablePreview() outside a plugin.")},t.next=27;break;case 27:return t.abrupt("return",{store:o,app:f,router:r});case 28:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},38:function(t,e,n){"use strict";var r={name:"NoSsr",functional:!0,props:{placeholder:String,placeholderTag:{type:String,default:"div"}},render:function(t,e){var n=e.parent,r=e.slots,o=e.props,c=r(),f=c.default;void 0===f&&(f=[]);var d=c.placeholder;return n._isMounted?f:(n.$once("hook:mounted",(function(){n.$forceUpdate()})),o.placeholderTag&&(o.placeholder||d)?t(o.placeholderTag,{class:["no-ssr-placeholder"]},o.placeholder||d):f.length>0?f.map((function(){return t(!1)})):t(!1))}};t.exports=r},69:function(t,e,n){"use strict";n(58),n(43),n(37),n(12),n(63),n(66),n(39);var r=n(1);function o(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,f=!0,d=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return f=t.done,t},e:function(t){d=!0,o=t},f:function(){try{f||null==n.return||n.return()}finally{if(d)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0?f.map((function(){return t(!1)})):t(!1))}};t.exports=r}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{0:function(t,e,n){"use strict";n.d(e,"d",(function(){return w})),n.d(e,"l",(function(){return y})),n.d(e,"n",(function(){return _})),n.d(e,"m",(function(){return j})),n.d(e,"f",(function(){return O})),n.d(e,"b",(function(){return $})),n.d(e,"s",(function(){return k})),n.d(e,"h",(function(){return C})),n.d(e,"i",(function(){return S})),n.d(e,"e",(function(){return P})),n.d(e,"r",(function(){return E})),n.d(e,"k",(function(){return R})),n.d(e,"t",(function(){return A})),n.d(e,"o",(function(){return M})),n.d(e,"q",(function(){return I})),n.d(e,"g",(function(){return D})),n.d(e,"c",(function(){return L})),n.d(e,"j",(function(){return U})),n.d(e,"p",(function(){return z})),n.d(e,"a",(function(){return Y})),n.d(e,"v",(function(){return G})),n.d(e,"u",(function(){return Q}));n(71),n(58),n(43),n(131),n(37),n(101),n(44),n(186),n(85),n(12),n(188),n(34),n(97),n(63),n(45),n(189),n(51),n(133),n(134),n(67);var r=n(29),o=(n(48),n(6)),c=n(23),f=n(21),d=n(1),l=n(10);function h(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function m(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function v(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1&&void 0!==arguments[1]?arguments[1]:"";return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e;return void 0===t[n]&&(t[n]=0),t[n]++}}function y(t){d.a.config.errorHandler&&d.a.config.errorHandler(t)}function _(t){return t.then((function(t){return t.default||t}))}function j(t){return t.$options&&"function"==typeof t.$options.fetch&&!t.$options.fetch.length}function O(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=t.$children||[],o=x(r);try{for(o.s();!(e=o.n()).done;){var c=e.value;c.$fetch?n.push(c):c.$children&&O(c,n)}}catch(t){o.e(t)}finally{o.f()}return n}function $(t,e){if(e||!t.options.__hasNuxtData){var n=t.options._originDataFn||t.options.data||function(){return{}};t.options._originDataFn=n,t.options.data=function(){var data=n.call(this,this);return this.$ssrContext&&(e=this.$ssrContext.asyncData[t.cid]),m(m({},data),e)},t.options.__hasNuxtData=!0,t._Ctor&&t._Ctor.options&&(t._Ctor.options.data=t.options.data)}}function k(t){return t.options&&t._Ctor===t||(t.options?(t._Ctor=t,t.extendOptions=t.options):(t=d.a.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file)),t}function C(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"components";return Array.prototype.concat.apply([],t.matched.map((function(t,r){return Object.keys(t[n]).map((function(o){return e&&e.push(r),t[n][o]}))})))}function S(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return C(t,e,"instances")}function P(t,e){return Array.prototype.concat.apply([],t.matched.map((function(t,n){return Object.keys(t.components).reduce((function(r,o){return t.components[o]?r.push(e(t.components[o],t.instances[o],t,o,n)):delete t.components[o],r}),[])})))}function E(t,e){return Promise.all(P(t,function(){var t=Object(o.a)(regeneratorRuntime.mark((function t(n,r,o,c){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("function"!=typeof n||n.options){t.next=4;break}return t.next=3,n();case 3:n=t.sent;case 4:return o.components[c]=n=k(n),t.abrupt("return","function"==typeof e?e(n,r,o,c):n);case 6:case"end":return t.stop()}}),t)})));return function(e,n,r,o){return t.apply(this,arguments)}}()))}function R(t){return T.apply(this,arguments)}function T(){return(T=Object(o.a)(regeneratorRuntime.mark((function t(e){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,E(e);case 4:return t.abrupt("return",m(m({},e),{},{meta:C(e).map((function(t,n){return m(m({},t.options.meta),(e.matched[n]||{}).meta)}))}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function A(t,e){return N.apply(this,arguments)}function N(){return(N=Object(o.a)(regeneratorRuntime.mark((function t(e,n){var o,c,d,h;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.context||(e.context={isStatic:!0,isDev:!1,isHMR:!1,app:e,store:e.store,payload:n.payload,error:n.error,base:e.router.options.base,env:{}},n.ssrContext&&(e.context.ssrContext=n.ssrContext),e.context.redirect=function(t,path,n){if(t){e.context._redirected=!0;var o=Object(r.a)(path);if("number"==typeof t||"undefined"!==o&&"object"!==o||(n=path||{},path=t,o=Object(r.a)(path),t=302),"object"===o&&(path=e.router.resolve(path).route.fullPath),!/(^[.]{1,2}\/)|(^\/(?!\/))/.test(path))throw path=Object(l.f)(path,n),window.location.replace(path),new Error("ERR_REDIRECT");e.context.next({path:path,query:n,status:t})}},e.context.nuxtState=window.__NUXT__),t.next=3,Promise.all([R(n.route),R(n.from)]);case 3:o=t.sent,c=Object(f.a)(o,2),d=c[0],h=c[1],n.route&&(e.context.route=d),n.from&&(e.context.from=h),e.context.next=n.next,e.context._redirected=!1,e.context._errored=!1,e.context.isHMR=!1,e.context.params=e.context.route.params||{},e.context.query=e.context.route.query||{};case 15:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function M(t,e){return!t.length||e._redirected||e._errored?Promise.resolve():I(t[0],e).then((function(){return M(t.slice(1),e)}))}function I(t,e){var n;return(n=2===t.length?new Promise((function(n){t(e,(function(t,data){t&&e.error(t),n(data=data||{})}))})):t(e))&&n instanceof Promise&&"function"==typeof n.then?n:Promise.resolve(n)}function D(base,t){if("hash"===t)return window.location.hash.replace(/^#\//,"");base=decodeURI(base).slice(0,-1);var path=decodeURI(window.location.pathname);base&&path.startsWith(base)&&(path=path.slice(base.length));var e=(path||"/")+window.location.search+window.location.hash;return Object(l.d)(e)}function L(t,e){return function(t,e){for(var n=new Array(t.length),i=0;ie.parts.length&&(n.parts.length=e.parts.length)}else{var o=[];for(r=0;r2&&void 0!==arguments[2]?arguments[2]:".",c=arguments.length>3?arguments[3]:void 0;if(!r(e))return o(t,{},n,c);var f=Object.assign({},e);for(var d in t)if("__proto__"!==d&&"constructor"!==d){var l=t[d];null!==l&&(c&&c(f,d,l,n)||(Array.isArray(l)&&Array.isArray(f[d])?f[d]=f[d].concat(l):r(l)&&r(f[d])?f[d]=o(l,f[d],(n?"".concat(n,"."):"")+d.toString(),c):f[d]=l))}return f}function c(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r0)){t.next=19;break}return t.next=19,new Promise((function(t){return setTimeout(t,r)}));case 19:this.$fetchState.error=e,this.$fetchState.pending=!1,this.$fetchState.timestamp=Date.now(),this.$nextTick((function(){return o.$nuxt.nbFetching--}));case 23:case"end":return t.stop()}}),t,this,[[6,11]])})))).apply(this,arguments)}e.a={beforeCreate:function(){Object(c.m)(this)&&(this._fetchDelay="number"==typeof this.$options.fetchDelay?this.$options.fetchDelay:200,o.a.util.defineReactive(this,"$fetchState",{pending:!1,error:null,timestamp:Date.now()}),this.$fetch=m.bind(this),Object(c.a)(this,"created",l),Object(c.a)(this,"beforeMount",d))}}},158:function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));n(44),n(12),n(39);var r={},o={},c={};function f(t,e){if(r[t])return Promise.resolve(r[t]);if(c[t])return Promise.reject(c[t]);if(o[t])return o[t];var n,f,d=o[t]=new Promise((function(t,e){n=t,f=e}));delete r[t];var l,script=document.createElement("script");script.charset="utf-8",script.timeout=120,script.src=e;var h=new Error,m=script.onerror=script.onload=function(e){if(clearTimeout(l),delete o[t],script.onerror=script.onload=null,r[t])return n(r[t]);var d=e&&("load"===e.type?"missing":e.type),m=e&&e.target&&e.target.src;h.message="Loading chunk "+t+" failed.\n("+d+": "+m+")",h.name="ChunkLoadError",h.type=d,h.request=m,c[t]=h,f(h)};return l=setTimeout((function(){m({type:"timeout",target:script})}),12e4),document.head.appendChild(script),d}function d(){window.__NUXT_JSONP__=function(t,e){r[t]=e},window.__NUXT_JSONP_CACHE__=r,window.__NUXT_IMPORT__=f}},166:function(t,e,n){(function(t){t.installComponents=function(component,t){var n="function"==typeof component.exports?component.exports.extendOptions:component.options;for(var i in"function"==typeof component.exports&&(n.components=component.exports.options.components),n.components=n.components||{},t)n.components[i]=n.components[i]||t[i];n.functional&&function(component,t){if(component.exports[e])return;component.exports[e]=!0;var n=component.exports.render;component.exports.render=function(e,r){return n(e,Object.assign({},r,{_c:function(e,a,b){return r._c(t[e]||e,a,b)}}))}}(component,n.components)};var e="_functionalComponents"}).call(this,n(26))},167:function(t,e,n){"use strict";n.r(e),function(t){n(71),n(58),n(43),n(37),n(44),n(85),n(12),n(34),n(63),n(45),n(102),n(66),n(67),n(39);var e=n(29),r=(n(48),n(6)),o=(n(94),n(177),n(184),n(185),n(1)),c=n(153),f=n(98),d=n(0),l=n(25),h=n(157),m=n(69),x=n(158);function v(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return w(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function w(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2?e-2:0),r=2;r1&&void 0!==arguments[1]?arguments[1]:O,n=arguments.length>2?arguments[2]:void 0;return r.call(this,t,e,n)};var o=n.resolve.bind(n);return n.resolve=function(t,e,n){return"string"==typeof t&&(t=Object(w.d)(t)),o(t,e,n)},n}n(66);var C={name:"NuxtChild",functional:!0,props:{nuxtChildKey:{type:String,default:""},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0}},render:function(t,e){var n=e.parent,data=e.data,r=e.props,o=n.$createElement;data.nuxtChild=!0;for(var c=n,f=n.$nuxt.nuxt.transitions,d=n.$nuxt.nuxt.defaultTransition,l=0;n;)n.$vnode&&n.$vnode.data.nuxtChild&&l++,n=n.$parent;data.nuxtChildDepth=l;var h=f[l]||d,m={};S.forEach((function(t){void 0!==h[t]&&(m[t]=h[t])}));var x={};P.forEach((function(t){"function"==typeof h[t]&&(x[t]=h[t].bind(c))}));var v=x.beforeEnter;if(x.beforeEnter=function(t){if(window.$nuxt.$nextTick((function(){window.$nuxt.$emit("triggerScroll")})),v)return v.call(c,t)},!1===h.css){var w=x.leave;(!w||w.length<2)&&(x.leave=function(t,e){w&&w.call(c,t),c.$nextTick(e)})}var y=o("routerView",data);return r.keepAlive&&(y=o("keep-alive",{props:r.keepAliveProps},[y])),o("transition",{props:m,on:x},[y])}},S=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],P=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"],E={name:"NuxtError",props:{error:{type:Object,default:null}},computed:{statusCode:function(){return this.error&&this.error.statusCode||500},message:function(){return this.error.message||"Error"}},head:function(){return{title:this.message,meta:[{name:"viewport",content:"width=device-width,initial-scale=1.0,minimum-scale=1.0"}]}}},R=(n(202),n(9)),T=Object(R.a)(E,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"__nuxt-error-page"},[n("div",{staticClass:"error"},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"90",height:"90",fill:"#DBE1EC",viewBox:"0 0 48 48"}},[n("path",{attrs:{d:"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z"}})]),t._v(" "),n("div",{staticClass:"title"},[t._v(t._s(t.message))]),t._v(" "),404===t.statusCode?n("p",{staticClass:"description"},[void 0===t.$route?n("a",{staticClass:"error-link",attrs:{href:"/"}}):n("NuxtLink",{staticClass:"error-link",attrs:{to:"/"}},[t._v("Back to the home page")])],1):t._e(),t._v(" "),t._m(0)])])}),[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"logo"},[n("a",{attrs:{href:"https://nuxtjs.org",target:"_blank",rel:"noopener"}},[t._v("Nuxt")])])}],!1,null,null,null).exports,A=(n(34),n(97),n(51),n(21)),N={name:"Nuxt",components:{NuxtChild:C,NuxtError:T},props:{nuxtChildKey:{type:String,default:void 0},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0},name:{type:String,default:"default"}},errorCaptured:function(t){this.displayingNuxtError&&(this.errorFromNuxtError=t,this.$forceUpdate())},computed:{routerViewKey:function(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(y.c)(this.$route.matched[0].path)(this.$route.params);var t=Object(A.a)(this.$route.matched,1)[0];if(!t)return this.$route.path;var e=t.components.default;if(e&&e.options){var n=e.options;if(n.key)return"function"==typeof n.key?n.key(this.$route):n.key}return/\/$/.test(t.path)?this.$route.path:this.$route.path.replace(/\/$/,"")}},beforeCreate:function(){c.a.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},render:function(t){var e=this;return this.nuxt.err?this.errorFromNuxtError?(this.$nextTick((function(){return e.errorFromNuxtError=!1})),t("div",{},[t("h2","An error occurred while showing the error page"),t("p","Unfortunately an error occurred and while showing the error page another error occurred"),t("p","Error details: ".concat(this.errorFromNuxtError.toString())),t("nuxt-link",{props:{to:"/"}},"Go back to home")])):(this.displayingNuxtError=!0,this.$nextTick((function(){return e.displayingNuxtError=!1})),t(T,{props:{error:this.nuxt.err}})):t("NuxtChild",{key:this.routerViewKey,props:this.$props})}},M=(n(43),n(63),n(45),n(67),n(39),{name:"NuxtLoading",data:function(){return{percent:0,show:!1,canSucceed:!0,reversed:!1,skipTimerCount:0,rtl:!1,throttle:200,duration:5e3,continuous:!1}},computed:{left:function(){return!(!this.continuous&&!this.rtl)&&(this.rtl?this.reversed?"0px":"auto":this.reversed?"auto":"0px")}},beforeDestroy:function(){this.clear()},methods:{clear:function(){clearInterval(this._timer),clearTimeout(this._throttle),this._timer=null},start:function(){var t=this;return this.clear(),this.percent=0,this.reversed=!1,this.skipTimerCount=0,this.canSucceed=!0,this.throttle?this._throttle=setTimeout((function(){return t.startTimer()}),this.throttle):this.startTimer(),this},set:function(t){return this.show=!0,this.canSucceed=!0,this.percent=Math.min(100,Math.max(0,Math.floor(t))),this},get:function(){return this.percent},increase:function(t){return this.percent=Math.min(100,Math.floor(this.percent+t)),this},decrease:function(t){return this.percent=Math.max(0,Math.floor(this.percent-t)),this},pause:function(){return clearInterval(this._timer),this},resume:function(){return this.startTimer(),this},finish:function(){return this.percent=this.reversed?0:100,this.hide(),this},hide:function(){var t=this;return this.clear(),setTimeout((function(){t.show=!1,t.$nextTick((function(){t.percent=0,t.reversed=!1}))}),500),this},fail:function(t){return this.canSucceed=!1,this},startTimer:function(){var t=this;this.show||(this.show=!0),void 0===this._cut&&(this._cut=1e4/Math.floor(this.duration)),this._timer=setInterval((function(){t.skipTimerCount>0?t.skipTimerCount--:(t.reversed?t.decrease(t._cut):t.increase(t._cut),t.continuous&&(t.percent>=100||t.percent<=0)&&(t.skipTimerCount=1,t.reversed=!t.reversed))}),100)}},render:function(t){var e=t(!1);return this.show&&(e=t("div",{staticClass:"nuxt-progress",class:{"nuxt-progress-notransition":this.skipTimerCount>0,"nuxt-progress-failed":!this.canSucceed},style:{width:this.percent+"%",left:this.left}})),e}}),I=(n(204),Object(R.a)(M,undefined,undefined,!1,null,null,null).exports),D=(n(206),n(208),n(210),n(212),n(214),n(161));function L(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return U(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return U(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function U(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},isPreview:function(){return Boolean(this.$options.previewData)}},methods:{refreshOnlineStatus:function(){void 0===window.navigator.onLine?this.isOnline=!0:this.isOnline=window.navigator.onLine},refresh:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((n=Object(y.i)(t.$route)).length){e.next=3;break}return e.abrupt("return");case 3:return t.$loading.start(),r=n.map((function(e){var p=[];if(e.$options.fetch&&e.$options.fetch.length&&p.push(Object(y.q)(e.$options.fetch,t.context)),e.$fetch)p.push(e.$fetch());else{var n,r=L(Object(y.f)(e.$vnode.componentInstance));try{for(r.s();!(n=r.n()).done;){var component=n.value;p.push(component.$fetch())}}catch(t){r.e(t)}finally{r.f()}}return e.$options.asyncData&&p.push(Object(y.q)(e.$options.asyncData,t.context).then((function(t){for(var n in t)c.a.set(e.$data,n,t[n])}))),Promise.all(p)})),e.prev=5,e.next=8,Promise.all(r);case 8:e.next=15;break;case 10:e.prev=10,e.t0=e.catch(5),t.$loading.fail(e.t0),Object(y.l)(e.t0),t.error(e.t0);case 15:t.$loading.finish();case 16:case"end":return e.stop()}}),e,null,[[5,10]])})))()},errorChanged:function(){if(this.nuxt.err){this.$loading&&(this.$loading.fail&&this.$loading.fail(this.nuxt.err),this.$loading.finish&&this.$loading.finish());var t=(T.options||T).layout;"function"==typeof t&&(t=t(this.context)),this.setLayout(t)}},setLayout:function(t){return t&&z["_"+t]||(t="default"),this.layoutName=t,this.layout=z["_"+t],this.layout},loadLayout:function(t){return t&&z["_"+t]||(t="default"),Promise.resolve(z["_"+t])},getRouterBase:function(){return Object(w.h)(this.$router.options.base)},getRoutePath:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",base=this.getRouterBase();return Object(w.h)(Object(w.g)(Object(w.e)(t).pathname,base))},getStaticAssetsPath:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",e=window.__NUXT__.staticAssetsBase;return Object(y.v)(e,this.getRoutePath(t))},fetchStaticManifest:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.__NUXT_IMPORT__("manifest.js",Object(w.d)(Object(y.v)(t.getStaticAssetsPath(),"manifest.js"))));case 1:case"end":return e.stop()}}),e)})))()},setPagePayload:function(t){this._pagePayload=t,this._fetchCounters={}},fetchPayload:function(t,e){var n=this;return Object(r.a)(regeneratorRuntime.mark((function r(){var path,o,c;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return path=Object(w.a)(n.getRoutePath(t)),r.next=3,n.fetchStaticManifest();case 3:if(r.sent.routes.includes(path)){r.next=7;break}throw e||n.setPagePayload(!1),new Error("Route ".concat(path," is not pre-rendered"));case 7:return o=Object(y.v)(n.getStaticAssetsPath(t),"payload.js"),r.prev=8,r.next=11,window.__NUXT_IMPORT__(path,Object(w.d)(o));case 11:return c=r.sent,e||n.setPagePayload(c),r.abrupt("return",c);case 16:throw r.prev=16,r.t0=r.catch(8),e||n.setPagePayload(!1),r.t0;case 20:case"end":return r.stop()}}),r,null,[[8,16]])})))()}},components:{NuxtLoading:I}};n(136);function F(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return K(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return K(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function K(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:{},r=n.isProperty,o=void 0!==r&&r;if(!e.length||o&&1===e.length)return t;var c=e.shift();return t.modules[c]=t.modules[c]||{},t.modules[c].namespaced=!0,t.modules[c].modules=t.modules[c].modules||{},Q(t.modules[c],e,{isProperty:o})}function V(t,e,n){e&&("state"===n?t.state=e||t.state:t[n]=Object.assign({},t[n],e))}var W={DownloadBox:function(){return n.e(2).then(n.bind(null,288)).then((function(t){return t.default||t}))},DownloadEntry:function(){return n.e(3).then(n.bind(null,257)).then((function(t){return t.default||t}))},LogBox:function(){return n.e(12).then(n.bind(null,286)).then((function(t){return t.default||t}))},LogEntry:function(){return n.e(13).then(n.bind(null,255)).then((function(t){return t.default||t}))},Logo:function(){return Promise.resolve().then(n.bind(null,70)).then((function(t){return t.default||t}))},PleaseWaitBlocker:function(){return n.e(14).then(n.bind(null,287)).then((function(t){return t.default||t}))},Spacer:function(){return n.e(15).then(n.bind(null,256)).then((function(t){return t.default||t}))},Toggle:function(){return n.e(16).then(n.bind(null,285)).then((function(t){return t.default||t}))},LayoutBackground:function(){return Promise.resolve().then(n.bind(null,160)).then((function(t){return t.default||t}))},LayoutHeader:function(){return Promise.resolve().then(n.bind(null,159)).then((function(t){return t.default||t}))},IconsArrowRightSquare:function(){return n.e(4).then(n.bind(null,291)).then((function(t){return t.default||t}))},IconsDownload:function(){return n.e(5).then(n.bind(null,258)).then((function(t){return t.default||t}))},IconsFilm:function(){return n.e(6).then(n.bind(null,259)).then((function(t){return t.default||t}))},IconsGear:function(){return Promise.resolve().then(n.bind(null,162)).then((function(t){return t.default||t}))},IconsGithub:function(){return Promise.resolve().then(n.bind(null,163)).then((function(t){return t.default||t}))},IconsMusicNote:function(){return n.e(7).then(n.bind(null,260)).then((function(t){return t.default||t}))},IconsTerminal:function(){return n.e(8).then(n.bind(null,298)).then((function(t){return t.default||t}))},IconsToggleOff:function(){return n.e(9).then(n.bind(null,276)).then((function(t){return t.default||t}))},IconsToggleOn:function(){return n.e(10).then(n.bind(null,275)).then((function(t){return t.default||t}))},IconsX:function(){return n.e(11).then(n.bind(null,261)).then((function(t){return t.default||t}))}};for(var Z in W)c.a.component(Z,W[Z]),c.a.component("Lazy"+Z,W[Z]);var tt=n(7),et=n.n(tt),nt=n(156),ot=n.n(nt);function it(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function at(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function ct(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:"common",o=st(Array.isArray(r)?r:[r]);try{for(o.s();!(n=o.n()).done;){var c=n.value;if(!e)return void delete this.defaults.headers[c][t];this.defaults.headers[c][t]=e}}catch(t){o.e(t)}finally{o.f()}},setToken:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"common",r=t?(e?e+" ":"")+t:null;this.setHeader("Authorization",r,n)},onRequest:function(t){this.interceptors.request.use((function(e){return t(e)||e}))},onResponse:function(t){this.interceptors.response.use((function(e){return t(e)||e}))},onRequestError:function(t){this.interceptors.request.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onResponseError:function(t){this.interceptors.response.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onError:function(t){this.onRequestError(t),this.onResponseError(t)},create:function(t){return ht(ot()(t,this.defaults))}},ft=function(){var t=pt[lt];ut["$"+t]=function(){return this[t].apply(this,arguments).then((function(t){return t&&t.data}))}},lt=0,pt=["request","delete","get","head","options","post","put","patch"];lt has been deprecated and will be removed in Nuxt 3, please use instead")),x.a.render(t,e)}})),c.a.component(C.name,C),c.a.component("NChild",C),c.a.component(N.name,N),Object.defineProperty(c.a.prototype,"$nuxt",{get:function(){return this.$root.$options.$nuxt},configurable:!0}),c.a.use(d.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var vt={name:"page",mode:"out-in",appear:!1,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"},wt=f.a.Store.prototype.registerModule;function yt(path,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=Array.isArray(path)?!!path.reduce((function(t,path){return t&&t[path]}),this.state):path in this.state;return wt.call(this,path,t,gt({preserveState:n},e))}function _t(t){return jt.apply(this,arguments)}function jt(){return(jt=Object(r.a)(regeneratorRuntime.mark((function t(e){var n,r,o,f,d,l,path,h,m=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=function(t,e){if(!t)throw new Error("inject(key, value) has no key provided");if(void 0===e)throw new Error("inject('".concat(t,"', value) has no value provided"));f[t="$"+t]=e,f.context[t]||(f.context[t]=e),o[t]=f[t];var n="__nuxt_"+t+"_installed__";c.a[n]||(c.a[n]=!0,c.a.use((function(){Object.prototype.hasOwnProperty.call(c.a.prototype,t)||Object.defineProperty(c.a.prototype,t,{get:function(){return this.$root.$options[t]}})})))},n=m.length>1&&void 0!==m[1]?m[1]:{},t.next=4,k(0,n);case 4:return r=t.sent,(o=J(e)).$router=r,o.registerModule=yt,f=gt({head:{title:"Tubio - Video downloader",meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{hid:"description",name:"description",content:""},{name:"msapplication-TileColor",content:"#031934"},{name:"theme-color",content:"#031934"}],link:[{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"},{rel:"manifest",href:"/site.webmanifest"},{rel:"mask-icon",href:"/safari-pinned-tab.svg",color:"#031934"}],style:[],script:[]},store:o,router:r,nuxt:{defaultTransition:vt,transitions:[vt],setTransitions:function(t){return Array.isArray(t)||(t=[t]),t=t.map((function(t){return t=t?"string"==typeof t?Object.assign({},vt,{name:t}):Object.assign({},vt,t):vt})),this.$options.nuxt.transitions=t,t},err:null,dateErr:null,error:function(t){t=t||null,f.context._errored=Boolean(t),t=t?Object(y.p)(t):null;var n=f.nuxt;return this&&(n=this.nuxt||this.$options.nuxt),n.dateErr=Date.now(),n.err=t,e&&(e.nuxt.error=t),t}}},B),o.app=f,d=e?e.next:function(t){return f.router.push(t)},e?l=r.resolve(e.url).route:(path=Object(y.g)(r.options.base,r.options.mode),l=r.resolve(path).route),t.next=14,Object(y.t)(f,{store:o,route:l,next:d,error:f.nuxt.error.bind(f),payload:e?e.payload:void 0,req:e?e.req:void 0,res:e?e.res:void 0,beforeRenderFns:e?e.beforeRenderFns:void 0,ssrContext:e});case 14:h("config",n),window.__NUXT__&&window.__NUXT__.state&&o.replaceState(window.__NUXT__.state),f.context.enablePreview=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};f.previewData=Object.assign({},t),h("preview",t)},t.next=20;break;case 20:return t.next=23,xt(f.context,h);case 23:f.context.enablePreview=function(){console.warn("You cannot call enablePreview() outside a plugin.")},t.next=27;break;case 27:return t.abrupt("return",{store:o,app:f,router:r});case 28:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},38:function(t,e,n){"use strict";var r={name:"NoSsr",functional:!0,props:{placeholder:String,placeholderTag:{type:String,default:"div"}},render:function(t,e){var n=e.parent,r=e.slots,o=e.props,c=r(),f=c.default;void 0===f&&(f=[]);var d=c.placeholder;return n._isMounted?f:(n.$once("hook:mounted",(function(){n.$forceUpdate()})),o.placeholderTag&&(o.placeholder||d)?t(o.placeholderTag,{class:["no-ssr-placeholder"]},o.placeholder||d):f.length>0?f.map((function(){return t(!1)})):t(!1))}};t.exports=r},69:function(t,e,n){"use strict";n(58),n(43),n(37),n(12),n(63),n(66),n(39);var r=n(1);function o(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,f=!0,d=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return f=t.done,t},e:function(t){d=!0,o=t},f:function(){try{f||null==n.return||n.return()}finally{if(d)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0?f.map((function(){return t(!1)})):t(!1))}};t.exports=r}}]); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/fa9d36f.js b/Tubio/frontend/_nuxt/fa9d36f.js deleted file mode 100644 index 89a935a..0000000 --- a/Tubio/frontend/_nuxt/fa9d36f.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3,5,6,7,11],{254:function(t,e,o){var content=o(272);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("2ec3859b",content,!0,{sourceMap:!1})},257:function(t,e,o){"use strict";o.r(e);o(101),o(34),o(268),o(51);var r=o(258),l=o(261),n=o(259),d=o(260),c=o(7),f=o.n(c),v={components:{IconDownload:r.default,IconX:l.default,IconFilm:n.default,IconMusic:d.default},props:{downloadEntry:{type:Object}},methods:{getQueuedDateString:function(t){var e=new Date(1e3*t);return("0"+e.getDate()).slice(-2)+"."+("0"+(e.getMonth()+1)).slice(-2)+"."+e.getFullYear()},getDurationString:function(t){if(t<0)return"";if(t>36e4)return"";var e=Math.floor(t/3600),o=Math.floor(t%3600/60),s=Math.floor(t%3600%60),r="";return e>0&&(r=String(e).padStart(2,"0")+":"),r+=String(o).padStart(2,"0")+":"+String(s).padStart(2,"0")},linebreaksToBrTags:function(t){return t.replace("\n","
")},removeDownload:function(){var t=this;f.a.post("/api",{request:"remove_download_entry",id:this.downloadEntry.tubio_id}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("dlcache/update",t)}))}}},h=(o(271),o(9)),component=Object(h.a)(v,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"frame mb-6 pt-2 pb-4"},[o("div",{staticClass:"flex flex-col"},[o("div",{staticClass:"flex items-end justify-between w-full md:w-auto"},[o("div",{staticClass:"flex flex-col"},[o("div",{staticClass:"icon--mode"},["video"===t.downloadEntry.mode?o("IconFilm"):o("IconMusic")],1),t._v(" "),o("div",{staticClass:"timestamp"},[t._v("\n "+t._s(t.getQueuedDateString(t.downloadEntry.queued_timestamp))+"\n ")])]),t._v(" "),o("div",{staticClass:"button-remove",on:{click:t.removeDownload}},[o("IconX")],1)]),t._v(" "),o("div",{staticClass:"flex flex-col-reverse md:flex-row w-full mt-2"},[o("div",{staticClass:"flex flex-col"},[o("a",{attrs:{href:t.downloadEntry.webpage_url,target:"_blank",title:"To the original source"}},[o("div",{staticClass:"thumbnail flex-shrink-0",style:"--thumbnail: url('"+t.downloadEntry.thumbnail_url+"')"},[o("div",{staticClass:"thumbnail__vignette"}),t._v(" "),o("div",{staticClass:"thumbnail__duration"},[t._v(t._s(t.getDurationString(t.downloadEntry.duration)))])])]),t._v(" "),"downloading"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--progressbar flex w-full mt-3"},[o("div",{staticClass:"status--progressbar__good items-stretch",style:"--download-progress: "+t.downloadEntry.download_progress+"%;"})]),t._v(" "),o("div",{staticClass:"status--progressbar__text"},[t._v("\n "+t._s(t.downloadEntry.download_progress)+"%\n ")])]):"finished"===t.downloadEntry.status?o("a",{attrs:{href:t.downloadEntry.download_url,title:"download"}},[o("div",{staticClass:"status--ready mt-3 button flex justify-center w-full"},[o("div",[o("IconDownload")],1)])]):"queued"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--queued mt-3"},[t._v("\n Queued\n ")])]):"failed"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--failed mt-3"},[t._v("\n Failed!\n ")])]):t._e()]),t._v(" "),o("div",{staticClass:"flex flex-col md:ml-4 w-full overflow-x-hidden overflow-y-visible"},[o("h1",{staticClass:"title"},[t._v(t._s(t.downloadEntry.title))]),t._v(" "),o("div",{staticClass:"relative my-4"},[""!=t.downloadEntry.description?o("div",[o("p",{staticClass:"description p-2"},[o("span",{domProps:{innerHTML:t._s(t.linebreaksToBrTags(t.downloadEntry.description))}})]),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--left"}),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--right"})]):t._e()])])])])])}),[],!1,null,"7df42c9f",null);e.default=component.exports},258:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-download",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{"fill-rule":"evenodd",d:"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"}})])}),[],!1,null,null,null);e.default=component.exports},259:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-film",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0h8v6H4V1zm8 8H4v6h8V9zM1 1h2v2H1V1zm2 3H1v2h2V4zM1 7h2v2H1V7zm2 3H1v2h2v-2zm-2 3h2v2H1v-2zM15 1h-2v2h2V1zm-2 3h2v2h-2V4zm2 3h-2v2h2V7zm-2 3h2v2h-2v-2zm2 3h-2v2h2v-2z"}})])}),[],!1,null,null,null);e.default=component.exports},260:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-music-note-beamed",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{d:"M6 13c0 1.105-1.12 2-2.5 2S1 14.105 1 13c0-1.104 1.12-2 2.5-2s2.5.896 2.5 2zm9-2c0 1.105-1.12 2-2.5 2s-2.5-.895-2.5-2 1.12-2 2.5-2 2.5.895 2.5 2z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M14 11V2h1v9h-1zM6 3v10H5V3h1z"}}),t._v(" "),o("path",{attrs:{d:"M5 2.905a1 1 0 0 1 .9-.995l8-.8a1 1 0 0 1 1.1.995V3L5 4V2.905z"}})])}),[],!1,null,null,null);e.default=component.exports},261:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-x",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"}})])}),[],!1,null,null,null);e.default=component.exports},268:function(t,e,o){"use strict";var r=o(4),l=o(269).start;r({target:"String",proto:!0,forced:o(270)},{padStart:function(t){return l(this,t,arguments.length>1?arguments[1]:void 0)}})},269:function(t,e,o){var r=o(17),l=o(164),n=o(16),d=Math.ceil,c=function(t){return function(e,o,c){var f,v,h=String(n(e)),m=h.length,w=void 0===c?" ":String(c),_=r(o);return _<=m||""==w?h:(f=_-m,(v=l.call(w,d(f/w.length))).length>f&&(v=v.slice(0,f)),t?h+v:v+h)}};t.exports={start:c(!1),end:c(!0)}},270:function(t,e,o){var r=o(50);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},271:function(t,e,o){"use strict";o(254)},272:function(t,e,o){var r=o(14)(!1);r.push([t.i,".frame[data-v-7df42c9f]{width:100%;border-bottom:2px solid #888}.frame .timestamp[data-v-7df42c9f]{font-family:ZillaSlab,serif;font-size:12pt;color:#bbb}.frame .thumbnail[data-v-7df42c9f]{background-image:var(--thumbnail);background-size:cover;background-position:50%;background-repeat:no-repeat;width:150px;height:84.375px;position:relative;cursor:pointer;scrollbar-width:none}@media(max-width:768px){.frame .thumbnail[data-v-7df42c9f]{width:100%;height:130px}}.frame .thumbnail__vignette[data-v-7df42c9f]{position:absolute;top:0;bottom:0;right:0;left:0;box-shadow:0 0 15px 2px #000}.frame .thumbnail__duration[data-v-7df42c9f]{position:absolute;bottom:0;right:0;padding:0 3px 3px 0;text-align:right;font-size:12pt;color:#bbb;background-color:rgba(0,0,0,.66667)}.frame .title[data-v-7df42c9f]{color:#bbb;font-size:22pt;max-height:1.3em;overflow-y:hidden;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.frame .description[data-v-7df42c9f]{color:#bbb;font-size:14pt;height:100px;overflow-x:hidden;overflow-y:scroll;position:relative;background-color:rgba(0,0,0,.2)}@media(max-width:768px){.frame .description[data-v-7df42c9f]{overflow:scroll}}.frame .description__decobox[data-v-7df42c9f]{position:absolute}.frame .description__decobox--left[data-v-7df42c9f]{top:0;left:0;width:40px;height:40px;border-top:2px solid #888;border-left:2px solid #888;pointer-events:none}.frame .description__decobox--right[data-v-7df42c9f]{bottom:0;right:0;width:40px;height:40px;border-bottom:2px solid #888;border-right:2px solid #888;pointer-events:none}.frame .status--progressbar[data-v-7df42c9f]{background-color:#900;height:5px}.frame .status--progressbar__good[data-v-7df42c9f]{background-color:#0b0;width:var(--download-progress);transition:width 1s}.frame .status--progressbar__text[data-v-7df42c9f]{font-size:24pt;color:#bbb}.frame .status--ready[data-v-7df42c9f]{height:45px;background-color:#bbb;transition:background-color .2s,border .2s}.frame .status--ready[data-v-7df42c9f]:hover{background-color:#5954a4;color:#fff}.frame .status--ready svg[data-v-7df42c9f]{height:35px}.frame .status--queued[data-v-7df42c9f]{font-family:ZillaSlab,serif;font-size:24pt;color:#bbb}.frame .status--failed[data-v-7df42c9f]{font-family:ZillaSlab,serif;font-size:24pt;color:#d40}.frame .button-remove[data-v-7df42c9f]{width:35px;height:35px;fill:#333;stroke:#333;cursor:pointer;transition:background-color .2s,border-radius .2s}.frame .button-remove[data-v-7df42c9f]:hover{background-color:#d40;border-radius:50%}.frame[data-v-7df42c9f]::-webkit-scrollbar,.frame[data-v-7df42c9f] ::-webkit-scrollbar{display:none}.frame .icon--mode[data-v-7df42c9f]{width:20px}",""]),t.exports=r}}]); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/fc857d8.js b/Tubio/frontend/_nuxt/fc857d8.js deleted file mode 100644 index 8f1a99a..0000000 --- a/Tubio/frontend/_nuxt/fc857d8.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2,3,5,6,7,11],{254:function(t,e,o){var content=o(272);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("2ec3859b",content,!0,{sourceMap:!1})},257:function(t,e,o){"use strict";o.r(e);o(101),o(34),o(268),o(51);var r=o(258),n=o(261),l=o(259),d=o(260),c=o(7),f=o.n(c),v={components:{IconDownload:r.default,IconX:n.default,IconFilm:l.default,IconMusic:d.default},props:{downloadEntry:{type:Object}},methods:{getQueuedDateString:function(t){var e=new Date(1e3*t);return("0"+e.getDate()).slice(-2)+"."+("0"+(e.getMonth()+1)).slice(-2)+"."+e.getFullYear()},getDurationString:function(t){if(t<0)return"";if(t>36e4)return"";var e=Math.floor(t/3600),o=Math.floor(t%3600/60),s=Math.floor(t%3600%60),r="";return e>0&&(r=String(e).padStart(2,"0")+":"),r+=String(o).padStart(2,"0")+":"+String(s).padStart(2,"0")},linebreaksToBrTags:function(t){return t.replace("\n","
")},removeDownload:function(){var t=this;f.a.post("/api",{request:"remove_download_entry",id:this.downloadEntry.tubio_id}).then((function(e){"OK"===e.data.status&&t.$store.dispatch("dlcache/update",t)}))}}},h=(o(271),o(9)),component=Object(h.a)(v,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"frame mb-6 pt-2 pb-4"},[o("div",{staticClass:"flex flex-col"},[o("div",{staticClass:"flex items-end justify-between w-full md:w-auto"},[o("div",{staticClass:"flex flex-col"},[o("div",{staticClass:"icon--mode"},["video"===t.downloadEntry.mode?o("IconFilm"):o("IconMusic")],1),t._v(" "),o("div",{staticClass:"timestamp"},[t._v("\n "+t._s(t.getQueuedDateString(t.downloadEntry.queued_timestamp))+"\n ")])]),t._v(" "),o("div",{staticClass:"button-remove",on:{click:t.removeDownload}},[o("IconX")],1)]),t._v(" "),o("div",{staticClass:"flex flex-col-reverse md:flex-row w-full mt-2"},[o("div",{staticClass:"flex flex-col"},[o("a",{attrs:{href:t.downloadEntry.webpage_url,target:"_blank",title:"To the original source"}},[o("div",{staticClass:"thumbnail flex-shrink-0",style:"--thumbnail: url('"+t.downloadEntry.thumbnail_url+"')"},[o("div",{staticClass:"thumbnail__vignette"}),t._v(" "),o("div",{staticClass:"thumbnail__duration"},[t._v(t._s(t.getDurationString(t.downloadEntry.duration)))])])]),t._v(" "),"downloading"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--progressbar flex w-full mt-3"},[o("div",{staticClass:"status--progressbar__good items-stretch",style:"--download-progress: "+t.downloadEntry.download_progress+"%;"})]),t._v(" "),o("div",{staticClass:"status--progressbar__text"},[t._v("\n "+t._s(t.downloadEntry.download_progress)+"%\n ")])]):"finished"===t.downloadEntry.status?o("a",{attrs:{href:t.downloadEntry.download_url,title:"download"}},[o("div",{staticClass:"status--ready mt-3 button flex justify-center w-full"},[o("div",[o("IconDownload")],1)])]):"queued"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--queued mt-3"},[t._v("\n Queued\n ")])]):"failed"===t.downloadEntry.status?o("div",[o("div",{staticClass:"status--failed mt-3"},[t._v("\n Failed!\n ")])]):t._e()]),t._v(" "),o("div",{staticClass:"flex flex-col md:ml-4 w-full overflow-x-hidden overflow-y-visible"},[o("h1",{staticClass:"title"},[t._v(t._s(t.downloadEntry.title))]),t._v(" "),o("div",{staticClass:"relative my-4"},[""!=t.downloadEntry.description?o("div",[o("p",{staticClass:"description p-2"},[o("span",{domProps:{innerHTML:t._s(t.linebreaksToBrTags(t.downloadEntry.description))}})]),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--left"}),t._v(" "),o("div",{staticClass:"description__decobox description__decobox--right"})]):t._e()])])])])])}),[],!1,null,"7df42c9f",null);e.default=component.exports},258:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-download",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{"fill-rule":"evenodd",d:"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"}})])}),[],!1,null,null,null);e.default=component.exports},259:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-film",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0h8v6H4V1zm8 8H4v6h8V9zM1 1h2v2H1V1zm2 3H1v2h2V4zM1 7h2v2H1V7zm2 3H1v2h2v-2zm-2 3h2v2H1v-2zM15 1h-2v2h2V1zm-2 3h2v2h-2V4zm2 3h-2v2h2V7zm-2 3h2v2h-2v-2zm2 3h-2v2h2v-2z"}})])}),[],!1,null,null,null);e.default=component.exports},260:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("svg",{staticClass:"bi bi-music-note-beamed",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[o("path",{attrs:{d:"M6 13c0 1.105-1.12 2-2.5 2S1 14.105 1 13c0-1.104 1.12-2 2.5-2s2.5.896 2.5 2zm9-2c0 1.105-1.12 2-2.5 2s-2.5-.895-2.5-2 1.12-2 2.5-2 2.5.895 2.5 2z"}}),t._v(" "),o("path",{attrs:{"fill-rule":"evenodd",d:"M14 11V2h1v9h-1zM6 3v10H5V3h1z"}}),t._v(" "),o("path",{attrs:{d:"M5 2.905a1 1 0 0 1 .9-.995l8-.8a1 1 0 0 1 1.1.995V3L5 4V2.905z"}})])}),[],!1,null,null,null);e.default=component.exports},261:function(t,e,o){"use strict";o.r(e);var r=o(9),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-x",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"}})])}),[],!1,null,null,null);e.default=component.exports},268:function(t,e,o){"use strict";var r=o(4),n=o(269).start;r({target:"String",proto:!0,forced:o(270)},{padStart:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}})},269:function(t,e,o){var r=o(17),n=o(164),l=o(16),d=Math.ceil,c=function(t){return function(e,o,c){var f,v,h=String(l(e)),m=h.length,w=void 0===c?" ":String(c),x=r(o);return x<=m||""==w?h:(f=x-m,(v=n.call(w,d(f/w.length))).length>f&&(v=v.slice(0,f)),t?h+v:v+h)}};t.exports={start:c(!1),end:c(!0)}},270:function(t,e,o){var r=o(50);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},271:function(t,e,o){"use strict";o(254)},272:function(t,e,o){var r=o(14)(!1);r.push([t.i,".frame[data-v-7df42c9f]{width:100%;border-bottom:2px solid #888}.frame .timestamp[data-v-7df42c9f]{font-family:ZillaSlab,serif;font-size:12pt;color:#bbb}.frame .thumbnail[data-v-7df42c9f]{background-image:var(--thumbnail);background-size:cover;background-position:50%;background-repeat:no-repeat;width:150px;height:84.375px;position:relative;cursor:pointer;scrollbar-width:none}@media(max-width:768px){.frame .thumbnail[data-v-7df42c9f]{width:100%;height:130px}}.frame .thumbnail__vignette[data-v-7df42c9f]{position:absolute;top:0;bottom:0;right:0;left:0;box-shadow:0 0 15px 2px #000}.frame .thumbnail__duration[data-v-7df42c9f]{position:absolute;bottom:0;right:0;padding:0 3px 3px 0;text-align:right;font-size:12pt;color:#bbb;background-color:rgba(0,0,0,.66667)}.frame .title[data-v-7df42c9f]{color:#bbb;font-size:22pt;max-height:1.3em;overflow-y:hidden;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.frame .description[data-v-7df42c9f]{color:#bbb;font-size:14pt;height:100px;overflow-x:hidden;overflow-y:scroll;position:relative;background-color:rgba(0,0,0,.2)}@media(max-width:768px){.frame .description[data-v-7df42c9f]{overflow:scroll}}.frame .description__decobox[data-v-7df42c9f]{position:absolute}.frame .description__decobox--left[data-v-7df42c9f]{top:0;left:0;width:40px;height:40px;border-top:2px solid #888;border-left:2px solid #888;pointer-events:none}.frame .description__decobox--right[data-v-7df42c9f]{bottom:0;right:0;width:40px;height:40px;border-bottom:2px solid #888;border-right:2px solid #888;pointer-events:none}.frame .status--progressbar[data-v-7df42c9f]{background-color:#900;height:5px}.frame .status--progressbar__good[data-v-7df42c9f]{background-color:#0b0;width:var(--download-progress);transition:width 1s}.frame .status--progressbar__text[data-v-7df42c9f]{font-size:24pt;color:#bbb}.frame .status--ready[data-v-7df42c9f]{height:45px;background-color:#bbb;transition:background-color .2s,border .2s}.frame .status--ready[data-v-7df42c9f]:hover{background-color:#5954a4;color:#fff}.frame .status--ready svg[data-v-7df42c9f]{height:35px}.frame .status--queued[data-v-7df42c9f]{font-family:ZillaSlab,serif;font-size:24pt;color:#bbb}.frame .status--failed[data-v-7df42c9f]{font-family:ZillaSlab,serif;font-size:24pt;color:#d40}.frame .button-remove[data-v-7df42c9f]{width:35px;height:35px;fill:#333;stroke:#333;cursor:pointer;transition:background-color .2s,border-radius .2s}.frame .button-remove[data-v-7df42c9f]:hover{background-color:#d40;border-radius:50%}.frame[data-v-7df42c9f]::-webkit-scrollbar,.frame[data-v-7df42c9f] ::-webkit-scrollbar{display:none}.frame .icon--mode[data-v-7df42c9f]{width:20px}",""]),t.exports=r},273:function(t,e,o){var content=o(282);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(15).default)("2feed4f0",content,!0,{sourceMap:!1})},281:function(t,e,o){"use strict";o(273)},282:function(t,e,o){var r=o(14)(!1);r.push([t.i,".download-box[data-v-8061dfc4]{width:100%;min-height:600px;border-radius:5px;padding:20px;background-color:hsla(0,0%,100%,.33333)}.no-dls-yet[data-v-8061dfc4]{color:#bbb;font-size:34pt;text-align:center}",""]),t.exports=r},288:function(t,e,o){"use strict";o.r(e);o(39);var r=o(257),n=(o(7),{components:{DownloadEntry:r.default},computed:{dlcache:function(){return this.$store.state.dlcache.cache}},data:function(){return{downloads:{type:Array}}},mounted:function(){var t=this;this.$store.dispatch("dlcache/update"),setInterval((function(){t.$store.dispatch("dlcache/update")}),1e3)}}),l=(o(281),o(9)),component=Object(l.a)(n,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"download-box"},[t._e(),t._v(" "),t._l(t.dlcache,(function(t,e){return o("DownloadEntry",{key:e,attrs:{downloadEntry:t}})}))],2)}),[],!1,null,"8061dfc4",null);e.default=component.exports;installComponents(component,{DownloadEntry:o(257).default})}}]); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/static/1614811903/manifest.js b/Tubio/frontend/_nuxt/static/1615643415/manifest.js similarity index 100% rename from Tubio/frontend/_nuxt/static/1614811903/manifest.js rename to Tubio/frontend/_nuxt/static/1615643415/manifest.js diff --git a/Tubio/frontend/_nuxt/static/1614811903/payload.js b/Tubio/frontend/_nuxt/static/1615643415/payload.js similarity index 100% rename from Tubio/frontend/_nuxt/static/1614811903/payload.js rename to Tubio/frontend/_nuxt/static/1615643415/payload.js diff --git a/Tubio/frontend/_nuxt/static/1614811903/settings/payload.js b/Tubio/frontend/_nuxt/static/1615643415/settings/payload.js similarity index 100% rename from Tubio/frontend/_nuxt/static/1614811903/settings/payload.js rename to Tubio/frontend/_nuxt/static/1615643415/settings/payload.js diff --git a/Tubio/frontend/_nuxt/static/1614811903/settings/state.js b/Tubio/frontend/_nuxt/static/1615643415/settings/state.js similarity index 83% rename from Tubio/frontend/_nuxt/static/1614811903/settings/state.js rename to Tubio/frontend/_nuxt/static/1615643415/settings/state.js index 8f4df03..877eaa8 100644 --- a/Tubio/frontend/_nuxt/static/1614811903/settings/state.js +++ b/Tubio/frontend/_nuxt/static/1615643415/settings/state.js @@ -1 +1 @@ -window.__NUXT__=(function(a){return {staticAssetsBase:"\u002F_nuxt\u002Fstatic\u002F1614811903",layout:"default",error:a,state:{diskUsage:{usage:{}},dlcache:{cache:[]},logs:{logs:[]},serverOs:{os_name:""},serverVersion:{serverVersion:-1},settings:{config:{}}},serverRendered:true,routePath:"\u002Fsettings",config:{app:{basePath:"\u002F",assetsPath:"\u002F_nuxt\u002F",cdnURL:a}}}}(null)); \ No newline at end of file +window.__NUXT__=(function(a){return {staticAssetsBase:"\u002F_nuxt\u002Fstatic\u002F1615643415",layout:"default",error:a,state:{diskUsage:{usage:{}},dlcache:{cache:[]},logs:{logs:[]},serverOs:{os_name:""},serverVersion:{serverVersion:-1},settings:{config:{}}},serverRendered:true,routePath:"\u002Fsettings",config:{app:{basePath:"\u002F",assetsPath:"\u002F_nuxt\u002F",cdnURL:a}}}}(null)); \ No newline at end of file diff --git a/Tubio/frontend/_nuxt/static/1614811903/state.js b/Tubio/frontend/_nuxt/static/1615643415/state.js similarity index 83% rename from Tubio/frontend/_nuxt/static/1614811903/state.js rename to Tubio/frontend/_nuxt/static/1615643415/state.js index e458d93..8284564 100644 --- a/Tubio/frontend/_nuxt/static/1614811903/state.js +++ b/Tubio/frontend/_nuxt/static/1615643415/state.js @@ -1 +1 @@ -window.__NUXT__=(function(a,b){return {staticAssetsBase:"\u002F_nuxt\u002Fstatic\u002F1614811903",layout:"default",error:a,state:{diskUsage:{usage:{}},dlcache:{cache:[]},logs:{logs:[]},serverOs:{os_name:""},serverVersion:{serverVersion:-1},settings:{config:{}}},serverRendered:true,routePath:b,config:{app:{basePath:b,assetsPath:"\u002F_nuxt\u002F",cdnURL:a}}}}(null,"\u002F")); \ No newline at end of file +window.__NUXT__=(function(a,b){return {staticAssetsBase:"\u002F_nuxt\u002Fstatic\u002F1615643415",layout:"default",error:a,state:{diskUsage:{usage:{}},dlcache:{cache:[]},logs:{logs:[]},serverOs:{os_name:""},serverVersion:{serverVersion:-1},settings:{config:{}}},serverRendered:true,routePath:b,config:{app:{basePath:b,assetsPath:"\u002F_nuxt\u002F",cdnURL:a}}}}(null,"\u002F")); \ No newline at end of file diff --git a/Tubio/frontend/index.html b/Tubio/frontend/index.html index 752a432..8205a33 100644 --- a/Tubio/frontend/index.html +++ b/Tubio/frontend/index.html @@ -1,9 +1,9 @@ - Tubio - Video downloader + Tubio - Video downloader - + diff --git a/Tubio/frontend/rest-dummies/cache.json b/Tubio/frontend/rest-dummies/cache.json index 2f8973f..d5d4be6 100644 --- a/Tubio/frontend/rest-dummies/cache.json +++ b/Tubio/frontend/rest-dummies/cache.json @@ -1,5 +1,21 @@ { "cache": [ + { + "description": "Stream or buy the track here: https://umg.lnk.to/Knebel\n\n\"F & M\", the new Lindemann album \u2013 out now: https://umg.lnk.to/FundM\n\nVideo Director: Zoran Bihac\nVideo Producer: Nafta Films & Zoki.tv\n\nhttps://www.instagram.com/lindemannofficial/\nhttps://www.facebook.com/Lindemann\nhttps://www.lindemann.band\n\n#LINDEMANN #Knebel", + "download_progress": 100, + "download_url": "/download/1Ll3WR", + "downloaded_filename": "dlcache/download/1Ll3WR.mp4", + "duration": 232, + "mode": "video", + "queued_timestamp": 1615640695, + "status": "finished", + "thumbnail_url": "https://i.ytimg.com/vi/p64X_5GX0J8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAmnCY71V_pUKqziS-9ceQrjuLszg", + "title": "LINDEMANN - Knebel (Official Video)", + "tubio_id": "1Ll3WR", + "uploader": "Lindemann Official", + "webpage_url": "https://www.youtube.com/watch?v=p64X_5GX0J8", + "quality": "best" + }, { "description": "Download Eminem's 'MMLP2' Album on iTunes now:http://smarturl.it/MMLP2\n\nCredits below\nVideo Director: Rich Lee\nVideo Producer: Justin Diener\nVideo Producer: Kathy Angstadt\n\nPlaylist Best of Eminem: https://goo.gl/AquNpo\nSubscribe for more: https://goo.gl/DxCrDV\n\n#Eminem #RapGod #Vevo", "download_progress": 0, @@ -13,22 +29,24 @@ "title": "Eminem - Rap God (Explicit) [Official Video]", "tubio_id": "1KnEwh", "uploader": "EminemVEVO", - "webpage_url": "https://www.youtube.com/watch?v=XbGs_qK2PQA" + "webpage_url": "https://www.youtube.com/watch?v=XbGs_qK2PQA", + "quality": "1080p" }, { - "description": "Check out my SoundCloud Channel for more music: https://soundcloud.com/user-411907790\n\u266c \u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u266c \nA big thank you to everyone who voluntarily financially supports my work and thus makes it possible:\n\u26abPaypal: https://www.paypal.me/KarlSternau\n\u26abPatreon: https://www.patreon.com/karlsternau\n\u266c \u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012\u2012 \u266c", - "download_progress": 98, - "download_url": "/download/1KnEwb", - "downloaded_filename": "dlcache/download/1KnEwb.mp4", - "duration": 413, + "description": "Rick Astley's official music video for \u201cNever Gonna Give You Up\u201d \nListen to Rick Astley: https://RickAstley.lnk.to/_listenYD\n\nSubscribe to the official Rick Astley YouTube channel: https://RickAstley.lnk.to/subscribeYD\n\nFollow Rick Astley:\nFacebook: https://RickAstley.lnk.to/followFI\nTwitter: https://RickAstley.lnk.to/followTI\nInstagram: https://RickAstley.lnk.to/followII\nWebsite: https://RickAstley.lnk.to/followWI\nSpotify: https://RickAstley.lnk.to/followSI\n\nLyrics:\nNever gonna give you up\nNever gonna let you down\nNever gonna run around and desert you\nNever gonna make you cry\nNever gonna say goodbye\nNever gonna tell a lie and hurt you\n\n#RickAstley #NeverGonnaGiveYouUp #DancePop", + "download_progress": 100, + "download_url": "/download/1Lij6Z", + "downloaded_filename": "dlcache/download/1Lij6Z.mp4", + "duration": 212, "mode": "video", - "queued_timestamp": 1601481591, - "status": "downloading", - "thumbnail_url": "https://i.ytimg.com/vi/c3wRzxiQ8Zk/hqdefault.jpg?sqp=-oaymwEZCNACELwBSFXyq4qpAwsIARUAAIhCGAFwAQ==&rs=AOn4CLC4MWTAc7sY5uF6hFzNk2D0tawTSA", - "title": "Sing with Karl - Des Morgens Um Halb Viere [Old soldier and student way][All Stanzas]", - "tubio_id": "1KnEwb", - "uploader": "Karl Sternau", - "webpage_url": "https://www.youtube.com/watch?v=c3wRzxiQ8Zk" + "queued_timestamp": 1614984000, + "status": "finished", + "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB_p0PncTtkrhaNDZtntrE3gKkoYw", + "title": "Rick Astley - Never Gonna Give You Up (Video)", + "tubio_id": "1Lij6Z", + "uploader": "RickAstleyVEVO", + "webpage_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", + "quality": "720p" }, { "description": "Latest video off of Lil Dicky's debut album \"Professional Rapper.\" Download the album here: http://smarturl.it/LilDickyiTunes \n\nWatch Lil Dicky create the most epic rap video, all while he $aves Dat Money! Click here for the documentary: https://www.youtube.com/watch?v=zkXpb20b-NQ\n\nDirector\nTony Yacenda\nwww.TonyYacenda.com\n\nProducer\nJim Cummings\n\nCinematographer\nAlan Gwizdowski\n\nMusic Video Editor\nBrian Vannucci\n\nDocumentary Editor\nBrad Allen Wilde\n\nPost Supervisor\nRyan Ross\n\nColorist\nSean Wells\n\nSound Mixers\nDi Le\nDarrell Tung\n\nSecond Unit DPs\nAdam Lee\nJeff Kulig\nLuc Delamare\n\nBoat Girls\nMelissa Soria\nSuzanne Quast\nJulia Misaki\n\nSpecial Thanks\n\"The Study\u201d Hollywood\nAvilaVIP\nMrs. \u201cK\u201d\nThe Noho Diner\nFrosty Treats/Amp Entertainment\n\nWeedmaps\nMaster and Dynamic\nRGF Productions\nJash\nMeUndies (www.meundies.com)\n\nand\n\nSarah Silverman\nKevin Durant\nDillon Francis\nHannibal Buress\nAbbi Jacobson\nIlana Glazer\nMark Cuban\nTom Petty\n\nSong produced by Money Alwayz\nSong Mixed by Rob Kinelski at The Fortress of Amplitude\nAssistant Engineer: David Baker", @@ -43,7 +61,8 @@ "title": "Lil Dicky - $ave Dat Money feat. Fetty Wap and Rich Homie Quan (Official Music Video)", "tubio_id": "1KnEw2", "uploader": "Lil Dicky", - "webpage_url": "https://www.youtube.com/watch?v=yvHYWD29ZNY" + "webpage_url": "https://www.youtube.com/watch?v=yvHYWD29ZNY", + "quality": "360p" }, { "description": "Get the new album \"Wintersaga\" here: https://smarturl.it/Wintersaga-NPR\n\nWind Rose states:\n\u201cMining is one of the most important activities for a Dwarf, naturally Wind Rose needed a theme song for this great honor of collecting these jewels from the soil, so sing with us with pride!!\u201c \n\n\"Diggy Diggy Hole\" originally written by Yogscast\n\nMixed and Mastered by Lasse Lammert", @@ -58,7 +77,8 @@ "title": "WIND ROSE - Diggy Diggy Hole (Official Video) | Napalm Records", "tubio_id": "1KnEvV", "uploader": "Napalm Records", - "webpage_url": "https://www.youtube.com/watch?v=34CZjsEI1yU" + "webpage_url": "https://www.youtube.com/watch?v=34CZjsEI1yU", + "quality": "144p" } ], "cache_size": 4, diff --git a/Tubio/frontend/settings/index.html b/Tubio/frontend/settings/index.html index 62a0f72..8836822 100644 --- a/Tubio/frontend/settings/index.html +++ b/Tubio/frontend/settings/index.html @@ -1,11 +1,11 @@ - Tubio - Video downloader + Tubio - Video downloader -

Settings

Web-UI version: 0.761

Server version: -1

Disk usage

Downloads:

NaN mb

Logs:

NaN mb

Dependencies:

NaN mb

Misc:

NaN mb

Total:

NaN mb

Clear downloads
Clear logs
Kill server
Reset to defaults

Logs

From 2914c3762b8214735c3f012c01d2e6bb4147b893 Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Sat, 13 Mar 2021 15:16:24 +0100 Subject: [PATCH 8/8] Fixed quality persistency and improved performance for audio-only downloads --- Tubio/DownloadManager.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Tubio/DownloadManager.cpp b/Tubio/DownloadManager.cpp index d5b087c..cc5c51d 100644 --- a/Tubio/DownloadManager.cpp +++ b/Tubio/DownloadManager.cpp @@ -180,12 +180,11 @@ void DownloadManager::DownloadNext() // Call template std::string ytdl_call_audio_base = "youtube-dl --newline --no-call-home --no-playlist --no-part --no-warnings --socket-timeout 5 --limit-rate $$DL_RATE" - " --no-mtime --no-cache-dir -f \"$$QUALITY\" --audio-format mp3 --audio-quality 0 --extract-audio -o \"$$DL_FILE\"" + " --no-mtime --no-cache-dir -f worstvideo+bestaudio --audio-format mp3 --audio-quality 0 --extract-audio -o \"$$DL_FILE\"" " \"$$DL_URL\" > \"$$DL_PROG_BUF_FILE\""; // Fill template - ytdl_call_audio_base = Internal::StringHelpers::Replace(ytdl_call_audio_base, "$$QUALITY", DownloadQualityToStringParams(entry->quality)); ytdl_call_audio_base = Internal::StringHelpers::Replace(ytdl_call_audio_base, "$$DL_RATE", XGConfig::downloader.max_dlrate_per_thread); ytdl_call_audio_base = Internal::StringHelpers::Replace(ytdl_call_audio_base, "$$DL_FILE", XGConfig::downloader.cachedir + "/download/" + entry->tubio_id + ".%(ext)s"); ytdl_call_audio_base = Internal::StringHelpers::Replace(ytdl_call_audio_base, "$$DL_URL", entry->webpage_url); @@ -580,7 +579,11 @@ std::vector DownloadManager::ParseJsonArrayToEntries(const JasonP if ((iter.DoesExist("quality")) && (iter["quality"].GetDataType() == JDType::STRING)) { newEntry.quality = GetDownloadQualityByName(iter["quality"].AsString); + if (newEntry.quality == DOWNLOAD_QUALITY::INVALID) + newEntry.quality = DOWNLOAD_QUALITY::_BEST; } + else + newEntry.quality = DOWNLOAD_QUALITY::_BEST; if ((iter.DoesExist("mode")) && (iter["mode"].GetDataType() == JDType::STRING)) { @@ -626,7 +629,7 @@ std::string DownloadManager::DownloadQualityToName(DOWNLOAD_QUALITY quality) switch (quality) { case DOWNLOAD_QUALITY::_BEST: - return "Best"; + return "best"; case DOWNLOAD_QUALITY::_1440p: return "1440p"; case DOWNLOAD_QUALITY::_1080p: @@ -641,6 +644,8 @@ std::string DownloadManager::DownloadQualityToName(DOWNLOAD_QUALITY quality) return "240p"; case DOWNLOAD_QUALITY::_144p: return "144p"; + case DOWNLOAD_QUALITY::INVALID: + return "INVALID"; } return std::string();