mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 13:36:09 +05:00
update web
This commit is contained in:
@@ -49,24 +49,24 @@ var Mstile150x150png []byte
|
|||||||
var Sitewebmanifest []byte
|
var Sitewebmanifest []byte
|
||||||
|
|
||||||
|
|
||||||
//go:embed pages/static/js/2.c8261c65.chunk.js
|
//go:embed pages/static/js/2.15a600e8.chunk.js
|
||||||
var Staticjs2c8261c65chunkjs []byte
|
var Staticjs215a600e8chunkjs []byte
|
||||||
|
|
||||||
|
|
||||||
//go:embed pages/static/js/2.c8261c65.chunk.js.LICENSE.txt
|
//go:embed pages/static/js/2.15a600e8.chunk.js.LICENSE.txt
|
||||||
var Staticjs2c8261c65chunkjsLICENSEtxt []byte
|
var Staticjs215a600e8chunkjsLICENSEtxt []byte
|
||||||
|
|
||||||
|
|
||||||
//go:embed pages/static/js/2.c8261c65.chunk.js.map
|
//go:embed pages/static/js/2.15a600e8.chunk.js.map
|
||||||
var Staticjs2c8261c65chunkjsmap []byte
|
var Staticjs215a600e8chunkjsmap []byte
|
||||||
|
|
||||||
|
|
||||||
//go:embed pages/static/js/main.c71e4ba7.chunk.js
|
//go:embed pages/static/js/main.1f381712.chunk.js
|
||||||
var Staticjsmainc71e4ba7chunkjs []byte
|
var Staticjsmain1f381712chunkjs []byte
|
||||||
|
|
||||||
|
|
||||||
//go:embed pages/static/js/main.c71e4ba7.chunk.js.map
|
//go:embed pages/static/js/main.1f381712.chunk.js.map
|
||||||
var Staticjsmainc71e4ba7chunkjsmap []byte
|
var Staticjsmain1f381712chunkjsmap []byte
|
||||||
|
|
||||||
|
|
||||||
//go:embed pages/static/js/runtime-main.8bda5920.js
|
//go:embed pages/static/js/runtime-main.8bda5920.js
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"files": {
|
"files": {
|
||||||
"main.js": "/static/js/main.c71e4ba7.chunk.js",
|
"main.js": "/static/js/main.1f381712.chunk.js",
|
||||||
"main.js.map": "/static/js/main.c71e4ba7.chunk.js.map",
|
"main.js.map": "/static/js/main.1f381712.chunk.js.map",
|
||||||
"runtime-main.js": "/static/js/runtime-main.8bda5920.js",
|
"runtime-main.js": "/static/js/runtime-main.8bda5920.js",
|
||||||
"runtime-main.js.map": "/static/js/runtime-main.8bda5920.js.map",
|
"runtime-main.js.map": "/static/js/runtime-main.8bda5920.js.map",
|
||||||
"static/js/2.c8261c65.chunk.js": "/static/js/2.c8261c65.chunk.js",
|
"static/js/2.15a600e8.chunk.js": "/static/js/2.15a600e8.chunk.js",
|
||||||
"static/js/2.c8261c65.chunk.js.map": "/static/js/2.c8261c65.chunk.js.map",
|
"static/js/2.15a600e8.chunk.js.map": "/static/js/2.15a600e8.chunk.js.map",
|
||||||
"index.html": "/index.html",
|
"index.html": "/index.html",
|
||||||
"static/js/2.c8261c65.chunk.js.LICENSE.txt": "/static/js/2.c8261c65.chunk.js.LICENSE.txt"
|
"static/js/2.15a600e8.chunk.js.LICENSE.txt": "/static/js/2.15a600e8.chunk.js.LICENSE.txt"
|
||||||
},
|
},
|
||||||
"entrypoints": [
|
"entrypoints": [
|
||||||
"static/js/runtime-main.8bda5920.js",
|
"static/js/runtime-main.8bda5920.js",
|
||||||
"static/js/2.c8261c65.chunk.js",
|
"static/js/2.15a600e8.chunk.js",
|
||||||
"static/js/main.c71e4ba7.chunk.js"
|
"static/js/main.1f381712.chunk.js"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1 +1 @@
|
|||||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="icon" type="image/png" sizes="192x192" href="/android-chrome-192x192.png"><link rel="manifest" href="/site.webmanifest"><meta name="msapplication-TileColor" content="#da532c"><meta name="theme-color" content="#ffffff"><link rel="preconnect" href="https://fonts.gstatic.com"><link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600&display=swap" rel="stylesheet"><meta name="viewport" content="width=device-width,shrink-to-fit=no"><meta name="description" content="TorrServer - torrent to http stream"/><title>TorrServer</title></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="https://cdn.lordicon.com/libs/frhvbuzj/lord-icon-2.0.2.js"></script><script src="https://www.gstatic.com/firebasejs/8.1.2/firebase-app.js"></script><script src="https://www.gstatic.com/firebasejs/8.1.2/firebase-analytics.js"></script><script>const firebaseConfig={apiKey:"AIzaSyDivIsadtzAmp3SIY4yArNcFugUmr63rvo",authDomain:"torrserve.firebaseapp.com",databaseURL:"https://torrserve.firebaseio.com",projectId:"torrserve",storageBucket:"torrserve.appspot.com",messagingSenderId:"400168070412",appId:"1:400168070412:web:82c8e43dd7fc8f807aed29",measurementId:"G-T4RC2BFRSF"};firebase.initializeApp(firebaseConfig),firebase.analytics()</script><script>!function(e){function r(r){for(var n,l,f=r[0],i=r[1],a=r[2],c=0,s=[];c<f.length;c++)l=f[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,f=1;f<t.length;f++){var i=t[f];0!==o[i]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={1:0},u=[];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.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(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var f=this.webpackJsonptorrserver_web=this.webpackJsonptorrserver_web||[],i=f.push.bind(f);f.push=r,f=f.slice();for(var a=0;a<f.length;a++)r(f[a]);var p=i;t()}([])</script><script src="/static/js/2.c8261c65.chunk.js"></script><script src="/static/js/main.c71e4ba7.chunk.js"></script></body></html>
|
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="icon" type="image/png" sizes="192x192" href="/android-chrome-192x192.png"><link rel="manifest" href="/site.webmanifest"><meta name="msapplication-TileColor" content="#da532c"><meta name="theme-color" content="#ffffff"><link rel="preconnect" href="https://fonts.gstatic.com"><link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600&display=swap" rel="stylesheet"><meta name="viewport" content="width=device-width,shrink-to-fit=no"><meta name="description" content="TorrServer - torrent to http stream"/><title>TorrServer</title></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="https://cdn.lordicon.com/libs/frhvbuzj/lord-icon-2.0.2.js"></script><script src="https://www.gstatic.com/firebasejs/8.1.2/firebase-app.js"></script><script src="https://www.gstatic.com/firebasejs/8.1.2/firebase-analytics.js"></script><script>const firebaseConfig={apiKey:"AIzaSyDivIsadtzAmp3SIY4yArNcFugUmr63rvo",authDomain:"torrserve.firebaseapp.com",databaseURL:"https://torrserve.firebaseio.com",projectId:"torrserve",storageBucket:"torrserve.appspot.com",messagingSenderId:"400168070412",appId:"1:400168070412:web:82c8e43dd7fc8f807aed29",measurementId:"G-T4RC2BFRSF"};firebase.initializeApp(firebaseConfig),firebase.analytics()</script><script>!function(e){function r(r){for(var n,l,f=r[0],i=r[1],a=r[2],c=0,s=[];c<f.length;c++)l=f[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,f=1;f<t.length;f++){var i=t[f];0!==o[i]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={1:0},u=[];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.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(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var f=this.webpackJsonptorrserver_web=this.webpackJsonptorrserver_web||[],i=f.push.bind(f);f.push=r,f=f.slice();for(var a=0;a<f.length;a++)r(f[a]);var p=i;t()}([])</script><script src="/static/js/2.15a600e8.chunk.js"></script><script src="/static/js/main.1f381712.chunk.js"></script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -9,63 +9,23 @@ func RouteWebPages(route *gin.RouterGroup) {
|
|||||||
c.Data(200, "text/html; charset=utf-8", Indexhtml)
|
c.Data(200, "text/html; charset=utf-8", Indexhtml)
|
||||||
})
|
})
|
||||||
|
|
||||||
route.GET("/mstile-150x150.png", func(c *gin.Context) {
|
|
||||||
c.Data(200, "image/png", Mstile150x150png)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
route.GET("/static/js/2.c8261c65.chunk.js", func(c *gin.Context) {
|
|
||||||
c.Data(200, "application/javascript", Staticjs2c8261c65chunkjs)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
route.GET("/apple-touch-icon.png", func(c *gin.Context) {
|
|
||||||
c.Data(200, "image/png", Appletouchiconpng)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
route.GET("/static/js/runtime-main.8bda5920.js", func(c *gin.Context) {
|
|
||||||
c.Data(200, "application/javascript", Staticjsruntimemain8bda5920js)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
route.GET("/favicon.ico", func(c *gin.Context) {
|
|
||||||
c.Data(200, "image/vnd.microsoft.icon", Faviconico)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
route.GET("/browserconfig.xml", func(c *gin.Context) {
|
route.GET("/browserconfig.xml", func(c *gin.Context) {
|
||||||
c.Data(200, "application/xml", Browserconfigxml)
|
c.Data(200, "application/xml", Browserconfigxml)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
route.GET("/favicon-16x16.png", func(c *gin.Context) {
|
|
||||||
c.Data(200, "image/png", Favicon16x16png)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
route.GET("/favicon-32x32.png", func(c *gin.Context) {
|
|
||||||
c.Data(200, "image/png", Favicon32x32png)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
route.GET("/index.html", func(c *gin.Context) {
|
route.GET("/index.html", func(c *gin.Context) {
|
||||||
c.Data(200, "text/html; charset=utf-8", Indexhtml)
|
c.Data(200, "text/html; charset=utf-8", Indexhtml)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
route.GET("/site.webmanifest", func(c *gin.Context) {
|
route.GET("/static/js/2.15a600e8.chunk.js", func(c *gin.Context) {
|
||||||
c.Data(200, "application/manifest+json", Sitewebmanifest)
|
c.Data(200, "application/javascript", Staticjs215a600e8chunkjs)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
route.GET("/static/js/2.c8261c65.chunk.js.map", func(c *gin.Context) {
|
route.GET("/static/js/main.1f381712.chunk.js.map", func(c *gin.Context) {
|
||||||
c.Data(200, "application/json", Staticjs2c8261c65chunkjsmap)
|
c.Data(200, "application/json", Staticjsmain1f381712chunkjsmap)
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
route.GET("/static/js/main.c71e4ba7.chunk.js", func(c *gin.Context) {
|
|
||||||
c.Data(200, "application/javascript", Staticjsmainc71e4ba7chunkjs)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@@ -74,13 +34,33 @@ func RouteWebPages(route *gin.RouterGroup) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
route.GET("/static/js/runtime-main.8bda5920.js.map", func(c *gin.Context) {
|
route.GET("/android-chrome-512x512.png", func(c *gin.Context) {
|
||||||
c.Data(200, "application/json", Staticjsruntimemain8bda5920jsmap)
|
c.Data(200, "image/png", Androidchrome512x512png)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
route.GET("/static/js/main.c71e4ba7.chunk.js.map", func(c *gin.Context) {
|
route.GET("/favicon-32x32.png", func(c *gin.Context) {
|
||||||
c.Data(200, "application/json", Staticjsmainc71e4ba7chunkjsmap)
|
c.Data(200, "image/png", Favicon32x32png)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
route.GET("/mstile-150x150.png", func(c *gin.Context) {
|
||||||
|
c.Data(200, "image/png", Mstile150x150png)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
route.GET("/static/js/2.15a600e8.chunk.js.map", func(c *gin.Context) {
|
||||||
|
c.Data(200, "application/json", Staticjs215a600e8chunkjsmap)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
route.GET("/static/js/runtime-main.8bda5920.js", func(c *gin.Context) {
|
||||||
|
c.Data(200, "application/javascript", Staticjsruntimemain8bda5920js)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
route.GET("/apple-touch-icon.png", func(c *gin.Context) {
|
||||||
|
c.Data(200, "image/png", Appletouchiconpng)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@@ -89,13 +69,33 @@ func RouteWebPages(route *gin.RouterGroup) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
route.GET("/static/js/2.c8261c65.chunk.js.LICENSE.txt", func(c *gin.Context) {
|
route.GET("/static/js/2.15a600e8.chunk.js.LICENSE.txt", func(c *gin.Context) {
|
||||||
c.Data(200, "text/plain; charset=utf-8", Staticjs2c8261c65chunkjsLICENSEtxt)
|
c.Data(200, "text/plain; charset=utf-8", Staticjs215a600e8chunkjsLICENSEtxt)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
route.GET("/android-chrome-512x512.png", func(c *gin.Context) {
|
route.GET("/static/js/runtime-main.8bda5920.js.map", func(c *gin.Context) {
|
||||||
c.Data(200, "image/png", Androidchrome512x512png)
|
c.Data(200, "application/json", Staticjsruntimemain8bda5920jsmap)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
route.GET("/favicon-16x16.png", func(c *gin.Context) {
|
||||||
|
c.Data(200, "image/png", Favicon16x16png)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
route.GET("/favicon.ico", func(c *gin.Context) {
|
||||||
|
c.Data(200, "image/x-icon", Faviconico)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
route.GET("/site.webmanifest", func(c *gin.Context) {
|
||||||
|
c.Data(200, "application/manifest+json", Sitewebmanifest)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
route.GET("/static/js/main.1f381712.chunk.js", func(c *gin.Context) {
|
||||||
|
c.Data(200, "application/javascript", Staticjsmain1f381712chunkjs)
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -15,7 +15,7 @@ export const HeaderSection = styled.section`
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 80px;
|
width: 64px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 930px) {
|
@media (max-width: 930px) {
|
||||||
|
|||||||
@@ -99,7 +99,9 @@ export default function DialogTorrentDetailsContent({ closeDialog, torrent }) {
|
|||||||
})
|
})
|
||||||
}, [hash])
|
}, [hash])
|
||||||
|
|
||||||
const bufferSize = settings?.PreloadBuffer ? Capacity : 33554432 // Default is 32mb if PreloadBuffer is false
|
const preloadPerc = settings?.PreloadCache
|
||||||
|
const preloadSize = (Capacity / 100) * preloadPerc
|
||||||
|
const bufferSize = preloadSize > 33554432 ? preloadSize : 33554432 // Not less than 32MB
|
||||||
|
|
||||||
const getParsedTitle = () => {
|
const getParsedTitle = () => {
|
||||||
const newNameStringArr = []
|
const newNameStringArr = []
|
||||||
@@ -199,7 +201,7 @@ export default function DialogTorrentDetailsContent({ closeDialog, torrent }) {
|
|||||||
<CacheSection>
|
<CacheSection>
|
||||||
<SectionHeader>
|
<SectionHeader>
|
||||||
<SectionTitle mb={20}>{t('Buffer')}</SectionTitle>
|
<SectionTitle mb={20}>{t('Buffer')}</SectionTitle>
|
||||||
{!settings?.PreloadBuffer && <SectionSubName>{t('BufferNote')}</SectionSubName>}
|
{bufferSize <= 33554432 && <SectionSubName>{t('BufferNote')}</SectionSubName>}
|
||||||
<LoadingProgress
|
<LoadingProgress
|
||||||
value={Filled}
|
value={Filled}
|
||||||
fullAmount={bufferSize}
|
fullAmount={bufferSize}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import { FormControlLabel, Switch } from '@material-ui/core'
|
|||||||
import TextField from '@material-ui/core/TextField'
|
import TextField from '@material-ui/core/TextField'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Divider,
|
|
||||||
PreloadCacheValue,
|
PreloadCacheValue,
|
||||||
MainSettingsContent,
|
MainSettingsContent,
|
||||||
StorageButton,
|
StorageButton,
|
||||||
@@ -41,7 +40,8 @@ export default function PrimarySettingsComponent({
|
|||||||
updateSettings,
|
updateSettings,
|
||||||
}) {
|
}) {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { PreloadBuffer, UseDisk, TorrentsSavePath, RemoveCacheOnDrop } = settings || {}
|
const { UseDisk, TorrentsSavePath, RemoveCacheOnDrop } = settings || {}
|
||||||
|
const preloadCacheSize = Math.round((cacheSize / 100) * preloadCachePercentage)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<MainSettingsContent>
|
<MainSettingsContent>
|
||||||
@@ -51,7 +51,7 @@ export default function PrimarySettingsComponent({
|
|||||||
<PreloadCachePercentage
|
<PreloadCachePercentage
|
||||||
value={100 - cachePercentage}
|
value={100 - cachePercentage}
|
||||||
label={`${t('Cache')} ${cacheSize} MB`}
|
label={`${t('Cache')} ${cacheSize} MB`}
|
||||||
isPreloadEnabled={PreloadBuffer}
|
preloadCachePercentage={preloadCachePercentage}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<PreloadCacheValue color={cacheBeforeReaderColor}>
|
<PreloadCacheValue color={cacheBeforeReaderColor}>
|
||||||
@@ -70,7 +70,7 @@ export default function PrimarySettingsComponent({
|
|||||||
<div>{t('SettingsDialog.CacheAfterReaderDesc')}</div>
|
<div>{t('SettingsDialog.CacheAfterReaderDesc')}</div>
|
||||||
</PreloadCacheValue>
|
</PreloadCacheValue>
|
||||||
|
|
||||||
<Divider />
|
<br />
|
||||||
|
|
||||||
<SliderInput
|
<SliderInput
|
||||||
isProMode={isProMode}
|
isProMode={isProMode}
|
||||||
@@ -97,16 +97,15 @@ export default function PrimarySettingsComponent({
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<SliderInput
|
<SliderInput
|
||||||
isProMode={isProMode}
|
isProMode={isProMode}
|
||||||
title={t('SettingsDialog.PreloadCache')}
|
title={`${t('SettingsDialog.PreloadCache')} - ${preloadCachePercentage}% (${preloadCacheSize} MB)`}
|
||||||
value={preloadCachePercentage}
|
value={preloadCachePercentage}
|
||||||
setValue={setPreloadCachePercentage}
|
setValue={setPreloadCachePercentage}
|
||||||
sliderMin={0}
|
sliderMin={0}
|
||||||
sliderMax={100}
|
sliderMax={100}
|
||||||
inputMin={0}
|
inputMin={0}
|
||||||
inputMax={100}
|
inputMax={100}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{UseDisk ? (
|
{UseDisk ? (
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ export default function SettingsDialog({ handleClose }) {
|
|||||||
const { CacheSize, ReaderReadAHead, PreloadCache } = settings || {}
|
const { CacheSize, ReaderReadAHead, PreloadCache } = settings || {}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!CacheSize || !ReaderReadAHead || !PreloadCache) return
|
if (!CacheSize || !ReaderReadAHead) return
|
||||||
|
|
||||||
setCacheSize(CacheSize)
|
setCacheSize(CacheSize)
|
||||||
setCachePercentage(ReaderReadAHead)
|
setCachePercentage(ReaderReadAHead)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ export default {
|
|||||||
EnableIPv6: false,
|
EnableIPv6: false,
|
||||||
ForceEncrypt: false,
|
ForceEncrypt: false,
|
||||||
PeersListenPort: 0,
|
PeersListenPort: 0,
|
||||||
PreloadBuffer: false,
|
PreloadCache: 0,
|
||||||
RemoveCacheOnDrop: false,
|
RemoveCacheOnDrop: false,
|
||||||
RetrackersMode: 1,
|
RetrackersMode: 1,
|
||||||
Strategy: 0,
|
Strategy: 0,
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ export const PreloadCachePercentage = styled.div.attrs(({ value }) => ({
|
|||||||
background: `linear-gradient(to right, ${cacheBeforeReaderColor} 0%, ${cacheBeforeReaderColor} ${value}%, ${cacheAfterReaderColor} ${value}%, ${cacheAfterReaderColor} 100%)`,
|
background: `linear-gradient(to right, ${cacheBeforeReaderColor} 0%, ${cacheBeforeReaderColor} ${value}%, ${cacheAfterReaderColor} ${value}%, ${cacheAfterReaderColor} 100%)`,
|
||||||
},
|
},
|
||||||
}))`
|
}))`
|
||||||
${({ label, isPreloadEnabled }) => css`
|
${({ label, preloadCachePercentage }) => css`
|
||||||
border: 1px solid #323637;
|
border: 1px solid #323637;
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
@@ -190,17 +190,16 @@ export const PreloadCachePercentage = styled.div.attrs(({ value }) => ({
|
|||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
${isPreloadEnabled &&
|
:after {
|
||||||
css`
|
content: '';
|
||||||
:after {
|
width: ${preloadCachePercentage}%;
|
||||||
content: '';
|
height: 100%;
|
||||||
width: 100%;
|
background: #323637;
|
||||||
height: 2px;
|
position: absolute;
|
||||||
background: #323637;
|
bottom: 0;
|
||||||
position: absolute;
|
left: 0;
|
||||||
bottom: 0;
|
border-radius: 4px;
|
||||||
left: 0;
|
filter: opacity(0.15);
|
||||||
}
|
}
|
||||||
`}
|
|
||||||
`}
|
`}
|
||||||
`
|
`
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"AddFromLink": "Add from Link",
|
"AddFromLink": "Add from Link",
|
||||||
"AddNewTorrent": "Add new torrent",
|
"AddNewTorrent": "Add new torrent",
|
||||||
"Buffer": "Preload Buffer / Cache",
|
"Buffer": "Preload Buffer / Cache",
|
||||||
"BufferNote": "Enable “Preload Buffer” in settings to see cache loading progress",
|
"BufferNote": "Set Preload Cache Before Play > 32 MB in settings to change preload size",
|
||||||
"Cache": "Cache",
|
"Cache": "Cache",
|
||||||
"Cancel": "Cancel",
|
"Cancel": "Cancel",
|
||||||
"Clear": "Clear",
|
"Clear": "Clear",
|
||||||
@@ -88,11 +88,10 @@
|
|||||||
"DownloadRateLimit": "Download Rate Limit (Kilobytes)",
|
"DownloadRateLimit": "Download Rate Limit (Kilobytes)",
|
||||||
"ForceEncrypt": "Force Encrypt Headers",
|
"ForceEncrypt": "Force Encrypt Headers",
|
||||||
"PeersListenPort": "Peers Listen Port",
|
"PeersListenPort": "Peers Listen Port",
|
||||||
"PreloadBuffer": "Preload Buffer",
|
"PreloadCache": "Preload Cache Before Play",
|
||||||
"ProMode": "PRO mode",
|
"ProMode": "PRO mode",
|
||||||
"RAM": "RAM",
|
"RAM": "RAM",
|
||||||
"ReaderReadAHead": "Readahead Cache % (5-100%, rec. 95%)",
|
"ReaderReadAHead": "Readahead Cache (5-100%, rec. 95%)",
|
||||||
"PreloadCache": "Preload Cache Before Play %",
|
|
||||||
"RemoveCacheOnDrop": "Remove Cache from Disk on Drop Torrent",
|
"RemoveCacheOnDrop": "Remove Cache from Disk on Drop Torrent",
|
||||||
"RemoveCacheOnDropDesc": "If disabled, remove cache on delete torrent.",
|
"RemoveCacheOnDropDesc": "If disabled, remove cache on delete torrent.",
|
||||||
"RemoveRetrackers": "Remove retrackers",
|
"RemoveRetrackers": "Remove retrackers",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"AddFromLink": "Добавить",
|
"AddFromLink": "Добавить",
|
||||||
"AddNewTorrent": "Добавить новый торрент",
|
"AddNewTorrent": "Добавить новый торрент",
|
||||||
"Buffer": "Предзагрузка / Кеш",
|
"Buffer": "Предзагрузка / Кеш",
|
||||||
"BufferNote": "Включите «Наполнять кеш перед началом воспроизведения» в настройках для показа заполнения кеша",
|
"BufferNote": "Установите Буфер предзагрузки > 32 МБ в настройках для измененения размера предзагрузки",
|
||||||
"Cache": "Кеш",
|
"Cache": "Кеш",
|
||||||
"Cancel": "Отмена",
|
"Cancel": "Отмена",
|
||||||
"Clear": "Очистить",
|
"Clear": "Очистить",
|
||||||
@@ -83,18 +83,17 @@
|
|||||||
"ConnectionsLimit": "Торрент-соединения (рек. 20-25)",
|
"ConnectionsLimit": "Торрент-соединения (рек. 20-25)",
|
||||||
"DHT": "DHT (Distributed Hash Table)",
|
"DHT": "DHT (Distributed Hash Table)",
|
||||||
"DhtConnectionLimit": "Лимит подключений DHT",
|
"DhtConnectionLimit": "Лимит подключений DHT",
|
||||||
"Disk": "Диск",
|
"Disk": "ПЗУ / Диск",
|
||||||
"DontAddRetrackers": "Ничего не делать",
|
"DontAddRetrackers": "Ничего не делать",
|
||||||
"DownloadRateLimit": "Ограничение скорости загрузки (Килобайты)",
|
"DownloadRateLimit": "Ограничение скорости загрузки (Килобайты)",
|
||||||
"ForceEncrypt": "Принудительное шифрование заголовков",
|
"ForceEncrypt": "Принудительное шифрование заголовков",
|
||||||
"PeersListenPort": "Порт для входящих подключений",
|
"PeersListenPort": "Порт для входящих подключений",
|
||||||
"PreloadBuffer": "Наполнять кеш перед началом воспроизведения",
|
"PreloadCache": "Буфер предзагрузки",
|
||||||
"ProMode": "ПРО-режим",
|
"ProMode": "ПРО-режим",
|
||||||
"RAM": "Оперативная память",
|
"RAM": "Оперативная память",
|
||||||
"ReaderReadAHead": "Наполнять кэш % (5-100%, рек. 95%)",
|
"ReaderReadAHead": "Опережающий кеш (5-100%, рек. 95%)",
|
||||||
"PreloadCache": "Загружать кэш перед проигрыванием %",
|
|
||||||
"RemoveCacheOnDrop": "Очищать кеш на диске при отключении торрента",
|
"RemoveCacheOnDrop": "Очищать кеш на диске при отключении торрента",
|
||||||
"RemoveCacheOnDropDesc": "Если отключено, кэш очищается при удалении торрента.",
|
"RemoveCacheOnDropDesc": "Если отключено, кеш очищается при удалении торрента.",
|
||||||
"RemoveRetrackers": "Удалять",
|
"RemoveRetrackers": "Удалять",
|
||||||
"ReplaceRetrackers": "Заменять",
|
"ReplaceRetrackers": "Заменять",
|
||||||
"RetrackersMode": "Ретрекеры",
|
"RetrackersMode": "Ретрекеры",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ export const themeColors = {
|
|||||||
light: {
|
light: {
|
||||||
app: {
|
app: {
|
||||||
headerToggleColor: '#4db380',
|
headerToggleColor: '#4db380',
|
||||||
appSecondaryColor: '#CBE8D9',
|
appSecondaryColor: '#cbe8d9',
|
||||||
sidebarBGColor: '#575757',
|
sidebarBGColor: '#575757',
|
||||||
sidebarFillColor: '#dee3e5',
|
sidebarFillColor: '#dee3e5',
|
||||||
},
|
},
|
||||||
@@ -99,7 +99,7 @@ export const themeColors = {
|
|||||||
defaultTertiaryColor: '#545a5e',
|
defaultTertiaryColor: '#545a5e',
|
||||||
},
|
},
|
||||||
settingsDialog: {
|
settingsDialog: {
|
||||||
contentBG: '#5A6166',
|
contentBG: '#5a6166',
|
||||||
footerBG: '#323637',
|
footerBG: '#323637',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user