From 6757cc46337922a1179121d7ee3bfa3c21b2d25c Mon Sep 17 00:00:00 2001 From: TheBeastLT Date: Mon, 1 Feb 2021 00:09:12 +0100 Subject: [PATCH] [addon] update configure page to include premiumize --- addon/lib/landingTemplate.js | 71 ++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 16 deletions(-) diff --git a/addon/lib/landingTemplate.js b/addon/lib/landingTemplate.js index 8356dcf..038fee5 100644 --- a/addon/lib/landingTemplate.js +++ b/addon/lib/landingTemplate.js @@ -190,8 +190,10 @@ function landingTemplate(manifest, config = {}) { const sort = config.sort || SortOptions.options.qualitySeeders.key; const limit = config.limit || ''; + const debridProvider = Object.keys(MochOptions).find(mochKey => config[mochKey]); const debridOptions = config[DebridOptions.key] || []; const realDebridApiKey = config[MochOptions.realdebrid.key] || ''; + const premiumizeApiKey = config[MochOptions.premiumize.key] || ''; const allDebridApiKey = config[MochOptions.alldebrid.key] || ''; const putioKey = config[MochOptions.putio.key] || ''; const putioClientId = putioKey.replace(/@.*/, ''); @@ -210,8 +212,11 @@ function landingTemplate(manifest, config = {}) { const sortOptionsHTML = Object.values(SortOptions.options) .map((option, i) => ``) .join('\n'); + const debridProvidersHTML = Object.values(MochOptions) + .map(moch => ``) + .join('\n'); const debridOptionsHTML = Object.values(DebridOptions.options) - .map((option) => ``) + .map(option => ``) .join('\n'); const stylizedTypes = manifest.types .map(t => t[0].toUpperCase() + t.slice(1) + (t !== 'series' ? 's' : '')); @@ -265,20 +270,39 @@ function landingTemplate(manifest, config = {}) { - - + + ${debridProvidersHTML} - - +
+ + +
- - +
+ + +
- - - +
+ + +
+ +
+ + + +
+ +
+ + +
@@ -299,13 +323,16 @@ function landingTemplate(manifest, config = {}) { onChange: () => generateInstallLink() }); $('#iDebridOptions').multiselect('select', [${debridOptions.map(option => '"' + option + '"')}]); + $('#iDebridProviders').val("${debridProvider || 'none'}"); $('#iRealDebrid').val("${realDebridApiKey}"); + $('#iPremiumize').val("${premiumizeApiKey}"); $('#iAllDebrid').val("${allDebridApiKey}"); $('#iPutioClientId').val("${putioClientId}"); $('#iPutioToken').val("${putioToken}"); $('#iSort').val("${sort}"); $('#iLimit').val("${limit}"); generateInstallLink(); + debridProvidersChange(); }); function sortModeChange() { @@ -317,6 +344,15 @@ function landingTemplate(manifest, config = {}) { generateInstallLink(); } + function debridProvidersChange() { + const provider = $('#iDebridProviders').val() + $('#dDebridOptions').toggle(provider !== 'none'); + $('#dRealDebrid').toggle(provider === '${MochOptions.realdebrid.key}'); + $('#dPremiumize').toggle(provider === '${MochOptions.premiumize.key}'); + $('#dAllDebrid').toggle(provider === '${MochOptions.alldebrid.key}'); + $('#dPutio').toggle(provider === '${MochOptions.putio.key}'); + } + function generateInstallLink() { const providersValue = $('#iProviders').val().join(',') || ''; const sortValue = $('#iSort').val() || ''; @@ -325,6 +361,7 @@ function landingTemplate(manifest, config = {}) { const debridOptionsValue = $('#iDebridOptions').val().join(',') || ''; const realDebridValue = $('#iRealDebrid').val() || ''; const allDebridValue = $('#iAllDebrid').val() || ''; + const premiumizeValue = $('#iPremiumize').val() || ''; const putioClientIdValue = $('#iPutioClientId').val() || ''; const putioTokenValue = $('#iPutioToken').val() || ''; @@ -335,16 +372,18 @@ function landingTemplate(manifest, config = {}) { const debridOptions = debridOptionsValue.length && debridOptionsValue.trim(); const realDebrid = realDebridValue.length && realDebridValue.trim(); + const premiumize = premiumizeValue.length && premiumizeValue.trim(); const allDebrid = allDebridValue.length && allDebridValue.trim(); const putio = putioClientIdValue.length && putioTokenValue.length && putioClientIdValue.trim() + '@' + putioTokenValue.trim(); const configurationValue = [ - ['providers', providers], - ['${SortOptions.key}', sort], - ['limit', limit], + ['providers', providers], + ['${SortOptions.key}', sort], + ['limit', limit], ['${DebridOptions.key}', debridOptions], - ['${MochOptions.realdebrid.key}', realDebrid], - ['${MochOptions.alldebrid.key}', allDebrid], + ['${MochOptions.realdebrid.key}', realDebrid], + ['${MochOptions.premiumize.key}', premiumize], + ['${MochOptions.alldebrid.key}', allDebrid], ['${MochOptions.putio.key}', putio] ].filter(([_, value]) => value.length).map(([key, value]) => key + '=' + value).join('|'); const configuration = configurationValue && configurationValue.length ? '/' + configurationValue : '';