GUI Functionality
This commit is contained in:
1 parent
ad7eac5343
commit
c33216f2dd
40 files changed
+4727
-44
No files matched your search
@@ -150,7 +150,7 @@ void DownloadManager::DownloadNext()
|
|||||||
if (entry->mode == DOWNLOAD_MODE::VIDEO)
|
if (entry->mode == DOWNLOAD_MODE::VIDEO)
|
||||||
{
|
{
|
||||||
std::string ytdl_call_video_base =
|
std::string ytdl_call_video_base =
|
||||||
"youtube-dl --newline --no-call-home --no-playlist --no-part --no-warnings --limit-rate $$DL_RATE"
|
"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 --format \"bestvideo[ext=mp4]+bestaudio/best[ext=mp4]/best\""
|
" --no-mtime --no-cache-dir --recode-video mp4 --format \"bestvideo[ext=mp4]+bestaudio/best[ext=mp4]/best\""
|
||||||
" --merge-output-format mp4 -o \"$$DL_FILE\" \"$$DL_URL\" > \"$$DL_PROG_BUF_FILE\"";
|
" --merge-output-format mp4 -o \"$$DL_FILE\" \"$$DL_URL\" > \"$$DL_PROG_BUF_FILE\"";
|
||||||
|
|
||||||
@@ -166,7 +166,7 @@ void DownloadManager::DownloadNext()
|
|||||||
else // DOWNLOAD_MODE::AUDIO
|
else // DOWNLOAD_MODE::AUDIO
|
||||||
{
|
{
|
||||||
std::string ytdl_call_audio_base =
|
std::string ytdl_call_audio_base =
|
||||||
"youtube-dl --newline --no-call-home --no-playlist --no-part --no-warnings --limit-rate $$DL_RATE"
|
"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 --audio-format mp3 --audio-quality 0 --extract-audio -o \"$$DL_FILE\""
|
||||||
" \"$$DL_URL\" > \"$$DL_PROG_BUF_FILE\"";
|
" \"$$DL_URL\" > \"$$DL_PROG_BUF_FILE\"";
|
||||||
|
|
||||||
@@ -405,7 +405,8 @@ bool DownloadManager::RemoveFromCacheByID(std::string id)
|
|||||||
FileSystem::Delete(filePath);
|
FileSystem::Delete(filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
Save();
|
// Only save, if we can save immediately
|
||||||
|
if (downloadThreads.size() == 0) Save();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -573,7 +574,7 @@ std::vector<DownloadEntry> DownloadManager::ParseJsonArrayToEntries(const JasonP
|
|||||||
void DownloadManager::FetchInformation(std::string url, std::string tubId)
|
void DownloadManager::FetchInformation(std::string url, std::string tubId)
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << "youtube-dl.exe --skip-download --dump-json \"" << url << "\" > \"" << XGConfig::downloader.cachedir << "/metadata/" << tubId << ".json" << "\"" << std::endl;
|
ss << "youtube-dl.exe --skip-download --no-warnings --socket-timeout 5 --dump-json \"" << url << "\" > \"" << XGConfig::downloader.cachedir << "/metadata/" << tubId << ".json" << "\"" << std::endl;
|
||||||
system(ss.str().c_str());
|
system(ss.str().c_str());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,8 +106,8 @@ bool RestQueryHandler::QueueDownload(const JsonBlock& request, JsonBlock& respon
|
|||||||
|
|
||||||
bool RestQueryHandler::FetchSessionCache(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
bool RestQueryHandler::FetchSessionCache(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
||||||
{
|
{
|
||||||
log->cout << "Asking for session cache...";
|
//log->cout << "Asking for session cache...";
|
||||||
log->Flush();
|
//log->Flush();
|
||||||
|
|
||||||
time_t max_age = time(0) - XGControl::boot_time; // Default max_age is session length
|
time_t max_age = time(0) - XGControl::boot_time; // Default max_age is session length
|
||||||
std::size_t max_num = (std::size_t )-1; // Default max_num is infinite
|
std::size_t max_num = (std::size_t )-1; // Default max_num is infinite
|
||||||
@@ -137,8 +137,8 @@ bool RestQueryHandler::FetchSessionCache(const JsonBlock& request, JsonBlock& re
|
|||||||
|
|
||||||
bool RestQueryHandler::FetchAlltimeCache(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
bool RestQueryHandler::FetchAlltimeCache(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
||||||
{
|
{
|
||||||
log->cout << "Asking for whole cache...";
|
//log->cout << "Asking for whole cache...";
|
||||||
log->Flush();
|
//log->Flush();
|
||||||
|
|
||||||
responseCode = OK;
|
responseCode = OK;
|
||||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||||
@@ -254,8 +254,8 @@ bool RestQueryHandler::GetOSName(const JsonBlock& request, JsonBlock& responseBo
|
|||||||
|
|
||||||
bool RestQueryHandler::FetchSessionLogs(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
bool RestQueryHandler::FetchSessionLogs(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
||||||
{
|
{
|
||||||
log->cout << "Fetching session logs...";
|
//log->cout << "Fetching session logs...";
|
||||||
log->Flush();
|
//log->Flush();
|
||||||
|
|
||||||
responseCode = OK;
|
responseCode = OK;
|
||||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||||
@@ -267,8 +267,8 @@ bool RestQueryHandler::FetchSessionLogs(const JsonBlock& request, JsonBlock& res
|
|||||||
|
|
||||||
bool RestQueryHandler::FetchAlltimeLogs(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
bool RestQueryHandler::FetchAlltimeLogs(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
||||||
{
|
{
|
||||||
log->cout << "Fetching logs...";
|
//log->cout << "Fetching alltime logs...";
|
||||||
log->Flush();
|
//log->Flush();
|
||||||
|
|
||||||
time_t max_age = -1;
|
time_t max_age = -1;
|
||||||
std::size_t max_num = (std::size_t) - 1;
|
std::size_t max_num = (std::size_t) - 1;
|
||||||
|
|||||||
Whitespace-only changes.
@@ -0,0 +1,9 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Tubio - Video downloader</title><meta data-n-head="1" charset="utf-8"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" data-hid="description" name="description" content=""><link data-n-head="1" rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="preload" href="/_nuxt/5104fab.js" as="script"><link rel="preload" href="/_nuxt/9ba7375.js" as="script"><link rel="preload" href="/_nuxt/44d19af.js" as="script"><link rel="preload" href="/_nuxt/3545cee.js" as="script">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="__nuxt"><style>#nuxt-loading{background:#fff;visibility:hidden;opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;flex-direction:column;animation:nuxtLoadingIn 10s ease;-webkit-animation:nuxtLoadingIn 10s ease;animation-fill-mode:forwards;overflow:hidden}@keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}@-webkit-keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}#nuxt-loading>div,#nuxt-loading>div:after{border-radius:50%;width:5rem;height:5rem}#nuxt-loading>div{font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid #f5f5f5;border-left:.5rem solid #000;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:nuxtLoading 1.1s infinite linear;animation:nuxtLoading 1.1s infinite linear}#nuxt-loading.error>div{border-left:.5rem solid #ff4500;animation-duration:5s}@-webkit-keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}</style><script>window.addEventListener("error",function(){var e=document.getElementById("nuxt-loading");e&&(e.className+=" error")})</script><div id="nuxt-loading" aria-live="polite" role="status"><div>Loading...</div></div></div><script>window.__NUXT__={config:{},staticAssetsBase:"/_nuxt/static/1601491529"}</script>
|
||||||
|
<script src="/_nuxt/5104fab.js"></script><script src="/_nuxt/9ba7375.js"></script><script src="/_nuxt/44d19af.js"></script><script src="/_nuxt/3545cee.js"></script></body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
# STATIC
|
||||||
|
|
||||||
|
**This directory is not required, you can delete it if you don't want to use it.**
|
||||||
|
|
||||||
|
This directory contains your static files.
|
||||||
|
Each file inside this directory is mapped to `/`.
|
||||||
|
Thus you'd want to delete this README.md before deploying to production.
|
||||||
|
|
||||||
|
Example: `/static/robots.txt` is mapped as `/robots.txt`.
|
||||||
|
|
||||||
|
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{110:function(t,e,n){"use strict";n.r(e);var l=n(9),o={components:{IconGear:Object(l.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-gear",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("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"}}),this._v(" "),e("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).exports,Logo:n(86).default}},r=(n(220),Object(l.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"header flex flex-row justify-between w-full p-5"},[e("div",{staticClass:"left-icons flex flex-flex-row justify-start"},[e("nuxt-link",{attrs:{exact:"",to:"/"}},[e("div",{staticClass:"headerbutton block md:hidden"},[e("Logo",{staticClass:"headerlogo"})],1)])],1),this._v(" "),e("div",{staticClass:"right-icons flex flex-row justify-end flex-grow"},[e("nuxt-link",{attrs:{exact:"",to:"/settings"}},[e("div",{staticClass:"headerbutton button-settings"},[e("IconGear",{staticClass:"headericon icon-gear"})],1)])],1)])}),[],!1,null,"3413a9a4",null));e.default=r.exports;installComponents(r,{Logo:n(86).default})},111:function(t,e,n){"use strict";n.r(e);n(213);var l={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)}},o=(n(216),n(9)),component=Object(o.a)(l,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("div",{staticClass:"bgdrop"}),this._v(" "),e("div",{staticClass:"bggatter__wrapper"},[e("div",{ref:"bggatter",staticClass:"bggatter",style:this.cssVars})]),this._v(" "),e("div",{staticClass:"bgmask"})])}),[],!1,null,"2e19fe75",null);e.default=component.exports},165:function(t,e,n){"use strict";var l=n(111),o=n(110),r={components:{Background:l.default,Header:o.default}},c=(n(222),n(9)),component=Object(c.a)(r,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("Background"),this._v(" "),e("Header"),this._v(" "),e("div",{staticClass:"main-column mx-auto"},[e("Nuxt",{staticClass:"w-full flex flex-col justify-start items-center"})],1)],1)}),[],!1,null,"816c6d80",null);e.a=component.exports;installComponents(component,{Background:n(111).default,Header:n(110).default})},167:function(t,e,n){n(168),t.exports=n(169)},207:function(t,e,n){var content=n(208);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(19).default)("3a312388",content,!0,{sourceMap:!1})},208:function(t,e,n){(e=n(18)(!1)).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=searLine truncated
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/*! For license information please see LICENSES */
|
||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{0:function(t,e,n){"use strict";n.d(e,"k",(function(){return w})),n.d(e,"m",(function(){return v})),n.d(e,"l",(function(){return y})),n.d(e,"e",(function(){return _})),n.d(e,"b",(function(){return $})),n.d(e,"r",(function(){return k})),n.d(e,"g",(function(){return j})),n.d(e,"h",(function(){return O})),n.d(e,"d",(function(){return C})),n.d(e,"q",(function(){return S})),n.d(e,"j",(function(){return E})),n.d(e,"s",(function(){return P})),n.d(e,"n",(function(){return A})),n.d(e,"p",(function(){return N})),n.d(e,"f",(function(){return M})),n.d(e,"c",(function(){return I})),n.d(e,"i",(function(){return L})),n.d(e,"o",(function(){return U})),n.d(e,"a",(function(){return H})),n.d(e,"t",(function(){return J}));n(31),n(38),n(39),n(126),n(56),n(40),n(42),n(74),n(188),n(189),n(58),n(190),n(35),n(30),n(107),n(108),n(75),n(16),n(192),n(34),n(33),n(193),n(101),n(43),n(194),n(63),n(196),n(109),n(150),n(44),n(45);var r=n(61),o=n(47),c=(n(59),n(6)),d=n(46),l=n(1);function f(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 h(t){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?f(Object(source),!0).forEach((function(e){Object(d.a)(t,e,source[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(source)):f(Object(source)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(source,e))}))}return t}function m(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 x(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 x(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,d=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){d=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(d)throw o}}}}function x(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function w(t){l.a.config.errorHandler&&l.a.config.errorHandler(t)}function v(t){return t.then((function(t){return t.default||t}))}function y(t){return t.$options&&"function"==typeof t.$options.fetch&&!t.$options.fetch.length}function _(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=t.$children||[],o=m(r);try{for(o.s();!(e=o.n()).done;){var c=e.value;c.$fetch?n.push(c):c.$children&&_(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]),h(h({},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=l.a.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file)),t}function j(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 O(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return j(t,e,"instances")}function C(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 S(t,e){return Promise.all(C(t,function(){var t=Object(c.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 E(t){return R.apply(this,arguments)}function R(){return(R=Object(c.a)(regeneratorRuntime.mark((function t(e){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.pLine truncated
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
!function(e){function r(data){for(var r,n,l=data[0],f=data[1],d=data[2],i=0,h=[];i<l.length;i++)n=l[i],Object.prototype.hasOwnProperty.call(o,n)&&o[n]&&h.push(o[n][0]),o[n]=0;for(r in f)Object.prototype.hasOwnProperty.call(f,r)&&(e[r]=f[r]);for(v&&v(data);h.length;)h.shift()();return c.push.apply(c,d||[]),t()}function t(){for(var e,i=0;i<c.length;i++){for(var r=c[i],t=!0,n=1;n<r.length;n++){var f=r[n];0!==o[f]&&(t=!1)}t&&(c.splice(i--,1),e=l(l.s=r[0]))}return e}var n={},o={4:0},c=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var c,script=document.createElement("script");script.charset="utf-8",script.timeout=120,l.nc&&script.setAttribute("nonce",l.nc),script.src=function(e){return l.p+""+{2:"ab89623",3:"9898305"}[e]+".js"}(e);var f=new Error;c=function(r){script.onerror=script.onload=null,clearTimeout(d);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;f.message="Loading chunk "+e+" failed.\n("+n+": "+c+")",f.name="ChunkLoadError",f.type=n,f.request=c,t[1](f)}o[e]=void 0}};var d=setTimeout((function(){c({type:"timeout",target:script})}),12e4);script.onerror=script.onload=c,document.head.appendChild(script)}return Promise.all(r)},l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(object,e){return Object.prototype.hasOwnProperty.call(object,e)},l.p="/_nuxt/",l.oe=function(e){throw console.error(e),e};var f=window.webpackJsonp=window.webpackJsonp||[],d=f.push.bind(f);f.push=r,f=f.slice();for(var i=0;i<f.length;i++)r(f[i]);var v=d;t()}([]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{243:function(t,e,o){var content=o(249);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(19).default)("ac8f1938",content,!0,{sourceMap:!1})},244: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}}},l=(o(248),o(9)),component=Object(l.a)(r,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"spacer",style:"--height: "+this.height+"; --m_height: "+this.mobile_height+";"})}),[],!1,null,"70a5daf0",null);e.default=component.exports},245:function(t,e,o){var content=o(260);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(19).default)("1d10f8d7",content,!0,{sourceMap:!1})},246:function(t,e,o){var content=o(262);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(19).default)("3edd6b06",content,!0,{sourceMap:!1})},247:function(t,e,o){var content=o(264);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(19).default)("2759991e",content,!0,{sourceMap:!1})},248:function(t,e,o){"use strict";var r=o(243);o.n(r).a},249:function(t,e,o){(e=o(18)(!1)).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=e},250:function(t,e,o){var content=o(266);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(19).default)("414ca0a3",content,!0,{sourceMap:!1})},255:function(t,e,o){"use strict";o.r(e);var r=o(9),l=Object(r.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).exports,n=Object(r.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).exports,c={props:{isOn:{type:Boolean,default:!1}},components:{IconToggleOn:l,IconToggleOff:n}},d=(o(259),Object(r.a)(c,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("div",{staticClass:"toggle-button"},[this.isOn?e("IconToggleOn"):e("IconToggleOff")],1)])}),[],!1,null,"7e3e3a36",null));e.default=d.exports},256:function(t,e,o){"use strict";o.r(e);o(49);var r={components:{LogEntry:o(257).default},computed:{logs:function(){return this.$store.state.logs.logs}},mounted:function(){var t=this;this.$store.dispatch("logs/update",this),setInterval((function(){t.$store.dispatch("logs/update",t)}),1e3)}},l=(o(263),o(9)),component=Object(l.a)(r,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"log-box"},this._l(this.logs,(function(t,o){return e("LogEntry",{key:o,attrs:{mode:0===t.type?"normal":1===t.type?"warn":"error",message:t.compiledMessage}})})),1)}),[],!1,null,"89740186",null);e.default=component.exports;installComponents(component,{LogEntry:o(257).default})},257:function(t,e,o){"use strict";o.r(e);var r={props:{mode:{type:String,default:"normal"},message:{type:String}}},l=(o(261),o(9)),component=Object(l.a)(r,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("p",{class:this.mode},[this._v("\n "+this._s(this.message)+"\n ")])])}),[],!1,null,"6828301b",null);e.default=component.exports},259:function(t,e,o){"use strict";var r=o(245);o.n(r).a},260:function(t,e,o){(e=o(18)(!1)).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=e},261:function(t,e,o){"use strict";var r=o(246);o.n(r).a},262:function(t,e,o){(e=o(18)(!1)).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=e},263:function(t,e,o){"use strict";var r=o(247);o.n(r).a},264:function(t,e,o){(e=o(18)(!1)).push([t.i,".log-box[data-v-89740186]{width:100%;height:600px;border-radius:5px;padding:20px;background-color:hsla(0,0%,100%,.33333);overflow-y:scroll}",""]),t.exports=e},265:function(t,e,o){"use strict";var r=o(250);o.n(r).a},266:function(Line truncated
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/*! For license information please see LICENSES */
|
||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[,function(t,e,n){"use strict";(function(t,n){var r=Object.freeze({});function o(t){return null==t}function c(t){return null!=t}function f(t){return!0===t}function l(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function d(t){return null!==t&&"object"==typeof t}var h=Object.prototype.toString;function v(t){return"[object Object]"===h.call(t)}function y(t){return"[object RegExp]"===h.call(t)}function m(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function _(t){return c(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function w(t){return null==t?"":Array.isArray(t)||v(t)&&t.toString===h?JSON.stringify(t,null,2):String(t)}function x(t){var e=parseFloat(t);return isNaN(e)?t:e}function S(t,e){for(var map=Object.create(null),n=t.split(","),i=0;i<n.length;i++)map[n[i]]=!0;return e?function(t){return map[t.toLowerCase()]}:function(t){return map[t]}}S("slot,component",!0);var O=S("key,ref,slot,slot-scope,is");function A(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}var E=Object.prototype.hasOwnProperty;function C(t,e){return E.call(t,e)}function k(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var $=/-(\w)/g,j=k((function(t){return t.replace($,(function(t,e){return e?e.toUpperCase():""}))})),T=k((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),I=/\B([A-Z])/g,N=k((function(t){return t.replace(I,"-$1").toLowerCase()}));var P=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(a){var n=arguments.length;return n?n>1?t.apply(e,arguments):t.call(e,a):t.call(e)}return n._length=t.length,n};function M(t,e){e=e||0;for(var i=t.length-e,n=new Array(i);i--;)n[i]=t[i+e];return n}function R(t,e){for(var n in e)t[n]=e[n];return t}function L(t){for(var e={},i=0;i<t.length;i++)t[i]&&R(e,t[i]);return e}function D(a,b,t){}var F=function(a,b,t){return!1},U=function(t){return t};function B(a,b){if(a===b)return!0;var t=d(a),e=d(b);if(!t||!e)return!t&&!e&&String(a)===String(b);try{var n=Array.isArray(a),r=Array.isArray(b);if(n&&r)return a.length===b.length&&a.every((function(t,i){return B(t,b[i])}));if(a instanceof Date&&b instanceof Date)return a.getTime()===b.getTime();if(n||r)return!1;var o=Object.keys(a),c=Object.keys(b);return o.length===c.length&&o.every((function(t){return B(a[t],b[t])}))}catch(t){return!1}}function V(t,e){for(var i=0;i<t.length;i++)if(B(t[i],e))return i;return-1}function H(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var z=["component","directive","filter"],G=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],K={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:F,isReservedAttr:F,isUnknownElement:F,getTagNamespace:D,parsePlatformTagName:U,mustUseProp:F,async:!0,_lifecycleHooks:G},W=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function X(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var J=new RegExp("[^"+W.source+".$_\\d]");var Y,Q="__proto__"in{},Z="undefined"!=typeof window,tt="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,et=tt&&WXEnvironment.platform.toLowerCase(),nt=Z&&window.navigator.userAgent.toLowerCase(),ot=nt&&/msie|trident/.test(nt),it=nt&&nt.indexOf("msie 9.0")>0,at=nt&&nt.indexOf("edge/")>0,st=(nt&&nt.indexOf("android"),nt&&/iphone|ipad|ipod|ios/.test(nt)||"ios"===et),ct=(nt&&/chrome\/\d+/.test(nt),nt&&/phantomjs/.test(nt),nt&&nt.match(/firefox\/(\d+)/)),ut={}.watch,ft=!1;if(Z)try{var lt={};Object.defineProperty(lt,"passive",{get:function(){ft=!0}}),window.addEventListener("test-passive",null,lt)}catch(t){}var pt=function(){return void 0===Y&&(Y=!Z&&!tt&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),Y},ht=Z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function vt(t){return"function"==typeof t&&/native code/.test(t.toString())}var yt,mt="undefined"!=typeof Symbol&&vt(Symbol)&&"undefined"!=typeof Reflect&&vt(Reflect.ownKeys);yt="undefined"!=typeof Set&&vt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var gt=D,bt=0,_t=function(){this.id=bt++,this.subs=[]};_t.prototype.addSub=function(sub){this.subs.push(sub)},_t.prototype.removeSub=function(sub){A(this.subs,sub)},_t.prototype.depend=function(){_t.target&&_t.target.addDep(this)},_t.prototype.notify=function(){var t=this.subs.slice();for(var i=0,e=t.length;i<e;i++)t[i].update()},_t.target=null;var wt=[];function
Line truncated
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
/*!
|
||||||
|
* vue-router v3.4.5
|
||||||
|
* (c) 2020 Evan You
|
||||||
|
* @license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Vue.js v2.6.12
|
||||||
|
* (c) 2014-2020 Evan You
|
||||||
|
* Released under the MIT License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* vuex v3.5.1
|
||||||
|
* (c) 2020 Evan You
|
||||||
|
* @license MIT
|
||||||
|
*/
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{243:function(t,e,o){var content=o(249);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(19).default)("ac8f1938",content,!0,{sourceMap:!1})},244: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}}},l=(o(248),o(9)),component=Object(l.a)(r,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"spacer",style:"--height: "+this.height+"; --m_height: "+this.mobile_height+";"})}),[],!1,null,"70a5daf0",null);e.default=component.exports},248:function(t,e,o){"use strict";var r=o(243);o.n(r).a},249:function(t,e,o){(e=o(18)(!1)).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=e},251:function(t,e,o){var content=o(268);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(19).default)("7bd584fa",content,!0,{sourceMap:!1})},252:function(t,e,o){var content=o(270);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(19).default)("ed7d878c",content,!0,{sourceMap:!1})},253:function(t,e,o){var content=o(272);"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(19).default)("3d960322",content,!0,{sourceMap:!1})},254:function(t,e,o){"use strict";o.r(e);o(35),o(34),o(63);var r=o(9),l=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-download",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("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"}}),this._v(" "),e("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).exports,n=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).exports,d=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).exports,c=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{staticClass:"bi bi-music-note-beamed",attrs:{viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("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"}}),this._v(" "),e("path",{attrs:{"fill-rule":"evenodd",d:"M14 11V2h1v9h-1zM6 3v10H5V3h1z"}}),this._v(" "),e("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).exports,f=o(26),h=o.n(f),v={components:{IconDownload:l,IconX:n,IconFilm:d,IconMusic:c},props:{downloadEntry:{type:Object}},methods:{getQueuedDateString:function(t){var e=new Date(1e3*t);return("0"+e.getDay()).slice(-2)+"."+("0"+e.getMonth()).slice(-2)+"."+e.getFullYear()},getDurationString:function(t){var time=new Date(1e3*t),e=String(time.getHours()-1);return("0"!==e?e+":":"")+("0"+time.getMinutes()).slice(-2)+":"+("0"+time.getSeconds()).slice(-2)},linebreaksToBrTags:function(t){return t.replace("\n","<br />")},removeDownload:function(){var t=this;h.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)}))}}},m=(o(267),Object(r.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
Line truncated
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
__NUXT_JSONP__("/", {data:[{}],fetch:[],mutations:[]});
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
__NUXT_JSONP__("/settings", {data:[{}],fetch:[],mutations:[]});
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 527 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,9 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html data-n-head-ssr>
|
||||||
|
<head>
|
||||||
|
<title>Tubio - Video downloader</title><meta data-n-head="ssr" charset="utf-8"><meta data-n-head="ssr" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="ssr" data-hid="description" name="description" content=""><link data-n-head="ssr" rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="preload" href="/_nuxt/5104fab.js" as="script"><link rel="preload" href="/_nuxt/9ba7375.js" as="script"><link rel="preload" href="/_nuxt/44d19af.js" as="script"><link rel="preload" href="/_nuxt/3545cee.js" as="script"><link rel="preload" href="/_nuxt/ab89623.js" as="script"><style data-vue-ssr-id="0211d3d2:0 3a312388:0 f52d43e0:0 79e64d57:0 fa7ff0ca:0 a00d49f6:0 1b4a9212:0 1804a966:0 d4cb531a:0 3d960322:0 ac8f1938:0 ed7d878c:0">/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width:660px){.container{max-width:660px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:950px){.container{max-width:950px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1870px){.container{max-width:1870px}}@media (min-width:2480px){.container{max-width:2480px}}.border{border-width:1px}.block{display:block}.flex{display:flex}.table{display:table}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-2{margin-top:.5rLine truncated
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div data-server-rendered="true" id="__nuxt"><!----><div id="__layout"><div data-v-816c6d80><div data-v-2e19fe75 data-v-816c6d80><div class="bgdrop" data-v-2e19fe75></div> <div class="bggatter__wrapper" data-v-2e19fe75><div class="bggatter" style="transform:translateY(-NaNpx)" data-v-2e19fe75></div></div> <div class="bgmask" data-v-2e19fe75></div></div> <div class="header flex flex-row justify-between w-full p-5" data-v-3413a9a4 data-v-816c6d80><div class="left-icons flex flex-flex-row justify-start" data-v-3413a9a4><a href="/" aria-current="page" class="nuxt-link-exact-active nuxt-link-active" data-v-3413a9a4><div class="headerbutton block md:hidden" data-v-3413a9a4><div class="headerlogo" data-v-341191f0 data-v-3413a9a4><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 504 456.28" data-v-341191f0><defs data-v-341191f0></defs><g id="Ebene_2" data-name="Ebene 2" data-v-341191f0><g id="Ebene_1-2" data-name="Ebene 1" data-v-341191f0><path d="M341,10h-196a33,33,0,0,0-28.55,16.49l-98,169.69a63.94,63.94,0,0,0,0,63.91l89.05,154.23a63.88,63.88,0,0,0,55.34,32H341a63.9,63.9,0,0,0,55.35-32l89-154.23a63.89,63.89,0,0,0,0-63.91L396.39,42A63.91,63.91,0,0,0,341,10Z" class="cls-1" data-v-341191f0></path><path d="M207.21,311.16H136.14v-7.9l8.67-.66a32,32,0,0,0,8-1.34,11,11,0,0,0,5.34-3.95,12.44,12.44,0,0,0,1.67-6.95V176a15.44,15.44,0,0,0-1.22-6.51q-1.23-2.61-5.79-4.39a58.26,58.26,0,0,0-8.4-2.5,55.35,55.35,0,0,0-8.28-1.39v-7.9h71.07v7.9a71.14,71.14,0,0,0-8.23.83,56.31,56.31,0,0,0-8.34,1.84q-4.23,1.33-5.67,4.33a15.14,15.14,0,0,0-1.45,6.68V289.14a13,13,0,0,0,1.61,6.5,11,11,0,0,0,5.51,4.51,54,54,0,0,0,7.62,2,55.31,55.31,0,0,0,9,1.16Z" class="cls-2" data-v-341191f0></path><path d="M354.48,172a77.69,77.69,0,0,1,16.35,26.3,94.67,94.67,0,0,1,5.89,34.09,92.89,92.89,0,0,1-6,34.15A75.91,75.91,0,0,1,354,292.7a72.4,72.4,0,0,1-24,16.46,77.24,77.24,0,0,1-59.57-.39,70.63,70.63,0,0,1-24-17.19,77.75,77.75,0,0,1-15.73-26.19,93.83,93.83,0,0,1-5.73-33q0-19.24,6-34.31A79.94,79.94,0,0,1,247.59,172a71.59,71.59,0,0,1,24.3-16.69,76.38,76.38,0,0,1,58.56.11A70.79,70.79,0,0,1,354.48,172ZM337.9,283.91A73.74,73.74,0,0,0,347,261a132.51,132.51,0,0,0,2.83-28.59,130.75,130.75,0,0,0-3.17-29.81,74,74,0,0,0-9.28-23.13A44.53,44.53,0,0,0,322,164.73a41.83,41.83,0,0,0-21.14-5.28q-13.33,0-22.69,6.11a47.62,47.62,0,0,0-15.23,16.35,78.52,78.52,0,0,0-8.29,22.92,135.15,135.15,0,0,0-2.73,27.58,132.42,132.42,0,0,0,2.9,28.92,73,73,0,0,0,9.12,22.91,44.83,44.83,0,0,0,15.12,15.3q9.12,5.5,21.8,5.5a41.9,41.9,0,0,0,21.47-5.56A43.5,43.5,0,0,0,337.9,283.91Z" class="cls-2" data-v-341191f0></path><path d="M220,86.76c-1.67.69-3.26,1.28-4.75,1.75a18,18,0,0,1-5.47.72c-3.19,0-5.44-.81-6.74-2.41A10.64,10.64,0,0,1,201.05,80V54.24h-6.87v-3.7h7V38.7h7V50.54h10.92v3.7H208.3V75.5a39.91,39.91,0,0,0,.17,4,7.36,7.36,0,0,0,.83,2.79,3.93,3.93,0,0,0,1.85,1.7,7.88,7.88,0,0,0,3.32.58c.64,0,1.59-.06,2.84-.17a12.8,12.8,0,0,0,2.64-.45Z" class="cls-2" data-v-341191f0></path><path d="M268.45,87.72,256,88.57l-.58-.54V83.21h-.23c-.62.64-1.31,1.33-2.08,2.06a14,14,0,0,1-2.66,2,17,17,0,0,1-3.35,1.58,15.07,15.07,0,0,1-4.58.54q-5,0-7.68-3.29t-2.64-9.58V58.32a4.36,4.36,0,0,0-2.06-4,4.83,4.83,0,0,0-1.74-.68,16.78,16.78,0,0,0-2.22-.29V50.85l12.69-.93.58.54V76.88q0,4.14,1.85,6.21a5.76,5.76,0,0,0,4.44,2.09,10.19,10.19,0,0,0,3.78-.66A10.73,10.73,0,0,0,252.33,83a13.68,13.68,0,0,0,1.83-1.71,10.13,10.13,0,0,0,1.22-1.68V58.05a4.74,4.74,0,0,0-.54-2.25,5.36,5.36,0,0,0-1.51-1.68,4.35,4.35,0,0,0-2.06-.55c-.92-.07-1.94-.13-3.07-.18V50.85l13.85-.93.58.54V80.63a4.4,4.4,0,0,0,.54,2.24,4.87,4.87,0,0,0,1.5,1.57,4.18,4.18,0,0,0,1.66.56c.64.09,1.35.15,2.12.18Z" class="cls-2" data-v-341191f0></path><path d="M315.68,69.36a20.36,20.36,0,0,1-5.4,14.39q-5.4,5.82-12.54,5.82a20.25,20.25,0,0,1-6.15-1A26.12,26.12,0,0,1,285.9,86l-2.85,4.43-2.39-.54q.18-2.85.27-6.87c.05-2.68.07-5.26.07-7.76V37.62a6.43,6.43,0,0,0-.59-2.63,4.23,4.23,0,0,0-1.53-1.89,6.21,6.21,0,0,0-2.45-.75q-1.71-.26-2.76-.33V29.55l14-.85.54.58V54.36l.27.07a16.38,16.38,0,0,1,5.23-3.82,13.64,13.64,0,0,1,5.57-1.27A14.75,14.75,0,0,1,311,54.9Q315.68,60.45,315.68,69.36Zm-8.06.27a28.67,28.67,0,0,0-.62-5.82,16.4,16.4,0,0,0-1.93-5.17A10.84,10.84,0,0,0,301.64,55a9.12,9.12,0,0,0-5.09-1.39,10.15,10.15,0,0,0-4.73,1.06,12.93,12.93,0,0,0-3.64,2.88V79.7a9.08,9.08,0,0,0,.9,2.16,9.9,9.9,0,0,0,1.84,2.35A9.8,9.8,0,0,0,293.54,86a8.55,8.55,0,0,0,3.59.67q4.69,0,7.6-4.55T307.62,69.63Z" class="cls-2" data-v-341191f0></path></g></g></svg></div></div></a></div> <div class="right-icons flex flex-row justify-end flex-grow" data-v-3413a9a4><a href="/settings" data-v-3413a9a4><div class="headerbutton button-settings" data-v-3413a9a4><svg viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="bi bi-gear headericon icon-gear" data-v-3413a9a4><path 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.8Line truncated
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
{
|
||||||
|
"cache": [
|
||||||
|
{
|
||||||
|
"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,
|
||||||
|
"download_url": "/download/1KnEwh",
|
||||||
|
"downloaded_filename": "",
|
||||||
|
"duration": 369,
|
||||||
|
"mode": "video",
|
||||||
|
"queued_timestamp": 1601481597,
|
||||||
|
"status": "queued",
|
||||||
|
"thumbnail_url": "https://i.ytimg.com/vi/XbGs_qK2PQA/hqdefault.jpg?sqp=-oaymwEZCNACELwBSFXyq4qpAwsIARUAAIhCGAFwAQ==&rs=AOn4CLCNO4b_zqnDZVdwf7GpJ1i0TEEvJA",
|
||||||
|
"title": "Eminem - Rap God (Explicit) [Official Video]",
|
||||||
|
"tubio_id": "1KnEwh",
|
||||||
|
"uploader": "EminemVEVO",
|
||||||
|
"webpage_url": "https://www.youtube.com/watch?v=XbGs_qK2PQA"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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,
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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",
|
||||||
|
"download_progress": 100,
|
||||||
|
"download_url": "/download/1KnEw2",
|
||||||
|
"downloaded_filename": "dlcache/download/1KnEw2.mp4",
|
||||||
|
"duration": 528,
|
||||||
|
"mode": "video",
|
||||||
|
"queued_timestamp": 1601481583,
|
||||||
|
"status": "finished",
|
||||||
|
"thumbnail_url": "https://i.ytimg.com/vi/yvHYWD29ZNY/hqdefault.jpg?sqp=-oaymwEZCNACELwBSFXyq4qpAwsIARUAAIhCGAFwAQ==&rs=AOn4CLAEDvLcxoI0aEQ_gYmFwJJN_4Zpyg",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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",
|
||||||
|
"download_progress": 9,
|
||||||
|
"download_url": "/download/1KnEvV",
|
||||||
|
"downloaded_filename": "dlcache/download/1KnEvV.mp4",
|
||||||
|
"duration": 341,
|
||||||
|
"mode": "video",
|
||||||
|
"queued_timestamp": 1601481574,
|
||||||
|
"status": "failed",
|
||||||
|
"thumbnail_url": "https://i.ytimg.com/vi/34CZjsEI1yU/hqdefault.jpg?sqp=-oaymwEZCNACELwBSFXyq4qpAwsIARUAAIhCGAFwAQ==&rs=AOn4CLBW5B03ohHsKIrdYgJRvSAQNyRNqQ",
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cache_size": 4,
|
||||||
|
"status": "OK"
|
||||||
|
}
|
||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,9 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html data-n-head-ssr>
|
||||||
|
<head>
|
||||||
|
<title>Tubio - Video downloader</title><meta data-n-head="ssr" charset="utf-8"><meta data-n-head="ssr" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="ssr" data-hid="description" name="description" content=""><link data-n-head="ssr" rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="preload" href="/_nuxt/5104fab.js" as="script"><link rel="preload" href="/_nuxt/9ba7375.js" as="script"><link rel="preload" href="/_nuxt/44d19af.js" as="script"><link rel="preload" href="/_nuxt/3545cee.js" as="script"><link rel="preload" href="/_nuxt/9898305.js" as="script"><style data-vue-ssr-id="0211d3d2:0 3a312388:0 f52d43e0:0 79e64d57:0 fa7ff0ca:0 a00d49f6:0 1b4a9212:0 1804a966:0 d4cb531a:0 414ca0a3:0 ac8f1938:0 1d10f8d7:0 2759991e:0">/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width:660px){.container{max-width:660px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:950px){.container{max-width:950px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1870px){.container{max-width:1870px}}@media (min-width:2480px){.container{max-width:2480px}}.border{border-width:1px}.block{display:block}.flex{display:flex}.table{display:table}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-2{marLine truncated
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div data-server-rendered="true" id="__nuxt"><!----><div id="__layout"><div data-v-816c6d80><div data-v-2e19fe75 data-v-816c6d80><div class="bgdrop" data-v-2e19fe75></div> <div class="bggatter__wrapper" data-v-2e19fe75><div class="bggatter" style="transform:translateY(-NaNpx)" data-v-2e19fe75></div></div> <div class="bgmask" data-v-2e19fe75></div></div> <div class="header flex flex-row justify-between w-full p-5" data-v-3413a9a4 data-v-816c6d80><div class="left-icons flex flex-flex-row justify-start" data-v-3413a9a4><a href="/" data-v-3413a9a4><div class="headerbutton block md:hidden" data-v-3413a9a4><div class="headerlogo" data-v-341191f0 data-v-3413a9a4><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 504 456.28" data-v-341191f0><defs data-v-341191f0></defs><g id="Ebene_2" data-name="Ebene 2" data-v-341191f0><g id="Ebene_1-2" data-name="Ebene 1" data-v-341191f0><path d="M341,10h-196a33,33,0,0,0-28.55,16.49l-98,169.69a63.94,63.94,0,0,0,0,63.91l89.05,154.23a63.88,63.88,0,0,0,55.34,32H341a63.9,63.9,0,0,0,55.35-32l89-154.23a63.89,63.89,0,0,0,0-63.91L396.39,42A63.91,63.91,0,0,0,341,10Z" class="cls-1" data-v-341191f0></path><path d="M207.21,311.16H136.14v-7.9l8.67-.66a32,32,0,0,0,8-1.34,11,11,0,0,0,5.34-3.95,12.44,12.44,0,0,0,1.67-6.95V176a15.44,15.44,0,0,0-1.22-6.51q-1.23-2.61-5.79-4.39a58.26,58.26,0,0,0-8.4-2.5,55.35,55.35,0,0,0-8.28-1.39v-7.9h71.07v7.9a71.14,71.14,0,0,0-8.23.83,56.31,56.31,0,0,0-8.34,1.84q-4.23,1.33-5.67,4.33a15.14,15.14,0,0,0-1.45,6.68V289.14a13,13,0,0,0,1.61,6.5,11,11,0,0,0,5.51,4.51,54,54,0,0,0,7.62,2,55.31,55.31,0,0,0,9,1.16Z" class="cls-2" data-v-341191f0></path><path d="M354.48,172a77.69,77.69,0,0,1,16.35,26.3,94.67,94.67,0,0,1,5.89,34.09,92.89,92.89,0,0,1-6,34.15A75.91,75.91,0,0,1,354,292.7a72.4,72.4,0,0,1-24,16.46,77.24,77.24,0,0,1-59.57-.39,70.63,70.63,0,0,1-24-17.19,77.75,77.75,0,0,1-15.73-26.19,93.83,93.83,0,0,1-5.73-33q0-19.24,6-34.31A79.94,79.94,0,0,1,247.59,172a71.59,71.59,0,0,1,24.3-16.69,76.38,76.38,0,0,1,58.56.11A70.79,70.79,0,0,1,354.48,172ZM337.9,283.91A73.74,73.74,0,0,0,347,261a132.51,132.51,0,0,0,2.83-28.59,130.75,130.75,0,0,0-3.17-29.81,74,74,0,0,0-9.28-23.13A44.53,44.53,0,0,0,322,164.73a41.83,41.83,0,0,0-21.14-5.28q-13.33,0-22.69,6.11a47.62,47.62,0,0,0-15.23,16.35,78.52,78.52,0,0,0-8.29,22.92,135.15,135.15,0,0,0-2.73,27.58,132.42,132.42,0,0,0,2.9,28.92,73,73,0,0,0,9.12,22.91,44.83,44.83,0,0,0,15.12,15.3q9.12,5.5,21.8,5.5a41.9,41.9,0,0,0,21.47-5.56A43.5,43.5,0,0,0,337.9,283.91Z" class="cls-2" data-v-341191f0></path><path d="M220,86.76c-1.67.69-3.26,1.28-4.75,1.75a18,18,0,0,1-5.47.72c-3.19,0-5.44-.81-6.74-2.41A10.64,10.64,0,0,1,201.05,80V54.24h-6.87v-3.7h7V38.7h7V50.54h10.92v3.7H208.3V75.5a39.91,39.91,0,0,0,.17,4,7.36,7.36,0,0,0,.83,2.79,3.93,3.93,0,0,0,1.85,1.7,7.88,7.88,0,0,0,3.32.58c.64,0,1.59-.06,2.84-.17a12.8,12.8,0,0,0,2.64-.45Z" class="cls-2" data-v-341191f0></path><path d="M268.45,87.72,256,88.57l-.58-.54V83.21h-.23c-.62.64-1.31,1.33-2.08,2.06a14,14,0,0,1-2.66,2,17,17,0,0,1-3.35,1.58,15.07,15.07,0,0,1-4.58.54q-5,0-7.68-3.29t-2.64-9.58V58.32a4.36,4.36,0,0,0-2.06-4,4.83,4.83,0,0,0-1.74-.68,16.78,16.78,0,0,0-2.22-.29V50.85l12.69-.93.58.54V76.88q0,4.14,1.85,6.21a5.76,5.76,0,0,0,4.44,2.09,10.19,10.19,0,0,0,3.78-.66A10.73,10.73,0,0,0,252.33,83a13.68,13.68,0,0,0,1.83-1.71,10.13,10.13,0,0,0,1.22-1.68V58.05a4.74,4.74,0,0,0-.54-2.25,5.36,5.36,0,0,0-1.51-1.68,4.35,4.35,0,0,0-2.06-.55c-.92-.07-1.94-.13-3.07-.18V50.85l13.85-.93.58.54V80.63a4.4,4.4,0,0,0,.54,2.24,4.87,4.87,0,0,0,1.5,1.57,4.18,4.18,0,0,0,1.66.56c.64.09,1.35.15,2.12.18Z" class="cls-2" data-v-341191f0></path><path d="M315.68,69.36a20.36,20.36,0,0,1-5.4,14.39q-5.4,5.82-12.54,5.82a20.25,20.25,0,0,1-6.15-1A26.12,26.12,0,0,1,285.9,86l-2.85,4.43-2.39-.54q.18-2.85.27-6.87c.05-2.68.07-5.26.07-7.76V37.62a6.43,6.43,0,0,0-.59-2.63,4.23,4.23,0,0,0-1.53-1.89,6.21,6.21,0,0,0-2.45-.75q-1.71-.26-2.76-.33V29.55l14-.85.54.58V54.36l.27.07a16.38,16.38,0,0,1,5.23-3.82,13.64,13.64,0,0,1,5.57-1.27A14.75,14.75,0,0,1,311,54.9Q315.68,60.45,315.68,69.36Zm-8.06.27a28.67,28.67,0,0,0-.62-5.82,16.4,16.4,0,0,0-1.93-5.17A10.84,10.84,0,0,0,301.64,55a9.12,9.12,0,0,0-5.09-1.39,10.15,10.15,0,0,0-4.73,1.06,12.93,12.93,0,0,0-3.64,2.88V79.7a9.08,9.08,0,0,0,.9,2.16,9.9,9.9,0,0,0,1.84,2.35A9.8,9.8,0,0,0,293.54,86a8.55,8.55,0,0,0,3.59.67q4.69,0,7.6-4.55T307.62,69.63Z" class="cls-2" data-v-341191f0></path></g></g></svg></div></div></a></div> <div class="right-icons flex flex-row justify-end flex-grow" data-v-3413a9a4><a href="/settings" aria-current="page" class="nuxt-link-exact-active nuxt-link-active" data-v-3413a9a4><div class="headerbutton button-settings" data-v-3413a9a4><svg viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="bi bi-gear headericon icon-gear" data-v-3413a9a4><path 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.8Line truncated
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
v10.19.0
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="download-box">
|
<div class="download-box">
|
||||||
<h2 v-if="false" class="no-dls-yet mt-2">No downloads yet...</h2>
|
<h2 v-if="false" class="no-dls-yet mt-2">No downloads yet...</h2>
|
||||||
|
|
||||||
<DownloadEntry v-for="(nObj, nIdx) in downloads_c" :downloadEntry="nObj" :key="nIdx" />
|
<DownloadEntry v-for="(nObj, nIdx) in dlcache" :downloadEntry="nObj" :key="nIdx" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -17,8 +17,8 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
downloads_c: function() {
|
dlcache: function() {
|
||||||
return this.downloads;
|
return this.$store.state.dlcache.cache;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -30,15 +30,10 @@ export default {
|
|||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
const that = this;
|
const that = this;
|
||||||
axios.get("/rest-dummies/cache.json", {
|
this.$store.dispatch("dlcache/update", this);
|
||||||
responseType: 'text'
|
setInterval(function(){
|
||||||
}).then(function(response){
|
that.$store.dispatch("dlcache/update", that);
|
||||||
if (response.data.status === "OK") {
|
}, 1000);
|
||||||
console.log(response.data);
|
|
||||||
that.downloads = response.data.cache;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="button-remove">
|
<div class="button-remove" v-on:click="removeDownload">
|
||||||
<IconX />
|
<IconX />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -65,17 +65,19 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-col md:ml-4 overflow-x-hidden overflow-y-visible">
|
<div class="flex flex-col md:ml-4 w-full overflow-x-hidden overflow-y-visible">
|
||||||
<h1 class="title">{{downloadEntry.title}}</h1>
|
<h1 class="title">{{downloadEntry.title}}</h1>
|
||||||
|
|
||||||
<div class="relative my-4">
|
<div class="relative my-4">
|
||||||
|
<div v-if="downloadEntry.description != ''">
|
||||||
<p class="description p-2">
|
<p class="description p-2">
|
||||||
{{downloadEntry.description}}
|
<span v-html="linebreaksToBrTags(downloadEntry.description)" />
|
||||||
</p>
|
</p>
|
||||||
<div class="description__decobox description__decobox--left" />
|
<div class="description__decobox description__decobox--left" />
|
||||||
<div class="description__decobox description__decobox--right" />
|
<div class="description__decobox description__decobox--right" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -87,6 +89,7 @@ import IconDownload from "~/components/Icons/download.vue";
|
|||||||
import IconX from "~/components/Icons/x.vue";
|
import IconX from "~/components/Icons/x.vue";
|
||||||
import IconFilm from "~/components/Icons/film.vue";
|
import IconFilm from "~/components/Icons/film.vue";
|
||||||
import IconMusic from "~/components/Icons/music-note.vue";
|
import IconMusic from "~/components/Icons/music-note.vue";
|
||||||
|
import axios from "axios";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@@ -109,10 +112,24 @@ export default {
|
|||||||
},
|
},
|
||||||
getDurationString: function(unixTime) {
|
getDurationString: function(unixTime) {
|
||||||
const time = new Date(unixTime * 1000);
|
const time = new Date(unixTime * 1000);
|
||||||
const hours = ("0" + (time.getHours() - 1)).slice(-2);
|
const hours = String((time.getHours() - 1));
|
||||||
const minutes = ("0" + (time.getMinutes())).slice(-2);
|
const minutes = ("0" + (time.getMinutes())).slice(-2);
|
||||||
const seconds = ("0" + (time.getSeconds())).slice(-2);
|
const seconds = ("0" + (time.getSeconds())).slice(-2);
|
||||||
return ((hours !== "0") ? hours : "") + ":" + minutes + ":" + seconds;
|
return ((hours !== "0") ? (hours + ":") : "") + minutes + ":" + seconds;
|
||||||
|
},
|
||||||
|
linebreaksToBrTags: function(str) {
|
||||||
|
return str.replace("\n", '<br />');
|
||||||
|
},
|
||||||
|
removeDownload: function() {
|
||||||
|
const that = this;
|
||||||
|
axios.post("/api", {
|
||||||
|
request: "remove_download_entry",
|
||||||
|
id: this.downloadEntry.tubio_id
|
||||||
|
}).then(function(response) {
|
||||||
|
if (response.data.status === "OK") {
|
||||||
|
that.$store.dispatch("dlcache/update", that);
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -137,7 +154,6 @@ export default {
|
|||||||
width: 150px;
|
width: 150px;
|
||||||
height: calc(150px * (9 / 16));
|
height: calc(150px * (9 / 16));
|
||||||
position: relative;
|
position: relative;
|
||||||
transition: transform 0.2s, background-image 1s ease-in-out;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
scrollbar-width: none;
|
scrollbar-width: none;
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="log-box">
|
<div class="log-box">
|
||||||
<LogEntry mode="normal" message="Hello, lol :3" />
|
<LogEntry v-for="(nObj, nKey) in logs"
|
||||||
<LogEntry mode="normal" message="Hello, lol :3" />
|
:mode="(nObj.type === 0) ? 'normal' : ((nObj.type === 1) ? 'warn' : 'error')"
|
||||||
<LogEntry mode="warn" message="Hello, lol :3" />
|
:message="nObj.compiledMessage"
|
||||||
<LogEntry mode="normal" message="Hello, lol :3" />
|
:key="nKey" />
|
||||||
<LogEntry mode="error" message="Hello, lol :3" />
|
|
||||||
<LogEntry mode="normal" message="Hello, lol :3" />
|
|
||||||
<LogEntry mode="normal" message="Hello, lol :3" />
|
|
||||||
<LogEntry mode="normal" message="Hello, lol :3" />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -17,6 +13,21 @@ import LogEntry from "~/components/LogEntry";
|
|||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
LogEntry,
|
LogEntry,
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
logs: function() {
|
||||||
|
return this.$store.state.logs.logs;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
mounted() {
|
||||||
|
const that = this;
|
||||||
|
this.$store.dispatch("logs/update", this);
|
||||||
|
setInterval(function(){
|
||||||
|
that.$store.dispatch("logs/update", that);
|
||||||
|
}, 1000);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ export default {
|
|||||||
target: 'static',
|
target: 'static',
|
||||||
|
|
||||||
generate: {
|
generate: {
|
||||||
dir: "web"
|
dir: "../Tubio/frontend/"
|
||||||
},
|
},
|
||||||
|
|
||||||
server: {
|
server: {
|
||||||
|
|||||||
@@ -7,12 +7,22 @@
|
|||||||
<Spacer height="2em" m_height="2em" />
|
<Spacer height="2em" m_height="2em" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row input-flex justify-center">
|
<div class="flex flex-row flex-wrap md:flex-no-wrap input-flex justify-between md:justify-center">
|
||||||
<input class="flex-grow mr-4" type="url" name="" id="" placeholder="video-url">
|
<input class="flex-grow md:mr-4 mb-2 md:mb-0 w-full" type="url" name="video_url" id="video_url" ref="video_url" placeholder="video-url">
|
||||||
|
|
||||||
<div class="button flex-shrink button-submit flex-grow-0">
|
<div class="w-full md:hidden" />
|
||||||
|
|
||||||
|
<div class="flex-shrink button-submit flex-grow-0">
|
||||||
|
<select name="mode" id="mode" ref="mode" class="dropdown">
|
||||||
|
<option value="video">Video</option>
|
||||||
|
<option value="audio">Audio</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="button flex-shrink button-submit flex-grow-0 ml-3" v-on:click="downloadButtonClicked">
|
||||||
<IconArrowRightSquare class="icon-button" />
|
<IconArrowRightSquare class="icon-button" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Spacer height="2em" m_height="2em" />
|
<Spacer height="2em" m_height="2em" />
|
||||||
@@ -26,6 +36,7 @@ import Logo from "~/components/Logo";
|
|||||||
import Spacer from "~/components/Spacer";
|
import Spacer from "~/components/Spacer";
|
||||||
import DownloadBox from "~/components/DownloadBox";
|
import DownloadBox from "~/components/DownloadBox";
|
||||||
import IconArrowRightSquare from "~/components/Icons/arrow-right-square";
|
import IconArrowRightSquare from "~/components/Icons/arrow-right-square";
|
||||||
|
import axios from "axios";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@@ -33,6 +44,28 @@ export default {
|
|||||||
Spacer,
|
Spacer,
|
||||||
DownloadBox,
|
DownloadBox,
|
||||||
IconArrowRightSquare,
|
IconArrowRightSquare,
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
downloadButtonClicked: function(){
|
||||||
|
|
||||||
|
const that = this;
|
||||||
|
if (this.$refs.video_url.value.match(/(https?:\/\/)?[a-zA-Z0-9-_.]+\.[a-zA-Z-_.]+/)) {
|
||||||
|
const url = this.$refs.video_url.value;
|
||||||
|
this.$refs.video_url.value = "";
|
||||||
|
axios.post("/api", {
|
||||||
|
request: "queue_download",
|
||||||
|
video_url: url,
|
||||||
|
mode: this.$refs.mode.options[this.$refs.mode.selectedIndex].value
|
||||||
|
}).then(function(response){
|
||||||
|
if (response.data.status === "OK") {
|
||||||
|
that.$store.dispatch("dlcache/update", that);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -120,4 +153,13 @@ input {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdown {
|
||||||
|
min-width: 100px;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-family: ZillaSlab, serif;
|
||||||
|
font-size: 16pt;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -75,8 +75,8 @@
|
|||||||
|
|
||||||
<Spacer height="50px"/>
|
<Spacer height="50px"/>
|
||||||
|
|
||||||
<div class="button">Clear downloads</div>
|
<div class="button" v-on:click="clearDLCache">Clear downloads</div>
|
||||||
<div class="button mt-2">Clear logs</div>
|
<div class="button mt-2" v-on:click="clearLogs">Clear logs</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -94,6 +94,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import axios from "axios";
|
||||||
import Toggle from "~/components/Toggle.vue";
|
import Toggle from "~/components/Toggle.vue";
|
||||||
import LogBox from "~/components/LogBox.vue";
|
import LogBox from "~/components/LogBox.vue";
|
||||||
import Spacer from "~/components/Spacer.vue";
|
import Spacer from "~/components/Spacer.vue";
|
||||||
@@ -104,6 +105,35 @@ export default {
|
|||||||
Toggle,
|
Toggle,
|
||||||
LogBox,
|
LogBox,
|
||||||
Spacer
|
Spacer
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
clearDLCache: function() {
|
||||||
|
|
||||||
|
const that = this;
|
||||||
|
axios.post("/api", {
|
||||||
|
request: "clear_download_cache",
|
||||||
|
}).then(function(response){
|
||||||
|
if (response.data.status === "OK") {
|
||||||
|
that.$store.dispatch("dlcache/update", that);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
},
|
||||||
|
|
||||||
|
clearLogs: function() {
|
||||||
|
|
||||||
|
const that = this;
|
||||||
|
axios.post("/api", {
|
||||||
|
request: "clear_logs",
|
||||||
|
}).then(function(response){
|
||||||
|
if (response.data.status === "OK") {
|
||||||
|
that.$store.dispatch("logs/update", that);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,24 @@
|
|||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
export const state = () => ({
|
||||||
|
cache: []
|
||||||
|
});
|
||||||
|
|
||||||
|
export const mutations = {
|
||||||
|
update(state, data) {
|
||||||
|
state.cache = data;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const actions = {
|
||||||
|
update(context, instance) {
|
||||||
|
axios.post("/api", {
|
||||||
|
request: "fetch_alltime_cache"
|
||||||
|
})
|
||||||
|
.then(function(response) {
|
||||||
|
if (response.data.status === "OK") {
|
||||||
|
instance.$store.commit("dlcache/update", response.data.cache);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
export const state = () => ({
|
||||||
|
logs: []
|
||||||
|
});
|
||||||
|
|
||||||
|
export const mutations = {
|
||||||
|
update(state, data) {
|
||||||
|
state.logs = data;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const actions = {
|
||||||
|
update(context, instance) {
|
||||||
|
axios.post("/api", {
|
||||||
|
request: "fetch_session_logs"
|
||||||
|
})
|
||||||
|
.then(function(response) {
|
||||||
|
if (response.data.status === "OK") {
|
||||||
|
instance.$store.commit("logs/update", response.data.logs);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
Reference in new issue
Block a user