push
This commit is contained in:
+34
-4
@@ -82,16 +82,45 @@
|
||||
}
|
||||
}
|
||||
|
||||
const PREFERRED_PROVIDERS = ['cineby', 'videasy', 'vidfast'];
|
||||
|
||||
// Merge the server's provider lists with the user's toggles.
|
||||
// Returns the enabled provider names, in the server's `all` order.
|
||||
function enabledProviders(allNames, serverEnabled) {
|
||||
const all = Array.isArray(allNames) ? allNames : [];
|
||||
const overrides = getProviders();
|
||||
if (!overrides) {
|
||||
const base = Array.isArray(serverEnabled) && serverEnabled.length ? serverEnabled : all;
|
||||
return all.filter((n) => base.includes(n));
|
||||
if (overrides) {
|
||||
return Object.keys(overrides).filter((n) => overrides[n] !== false);
|
||||
}
|
||||
return all.filter((n) => overrides[n] !== false);
|
||||
const server = Array.isArray(serverEnabled) ? serverEnabled : [];
|
||||
const wanted = new Set([...PREFERRED_PROVIDERS, ...server]);
|
||||
return (all.length ? all : PREFERRED_PROVIDERS.slice()).filter((n) =>
|
||||
wanted.has(n)
|
||||
);
|
||||
}
|
||||
|
||||
// Watch-page resolver. Re-reads localStorage on every call so provider
|
||||
// changes made in Settings apply to the next lookup without a reload.
|
||||
function resolveProviders(catalog) {
|
||||
const all = Array.isArray(catalog && catalog.all) ? catalog.all : [];
|
||||
const serverEnabled = Array.isArray(catalog && catalog.enabled) ? catalog.enabled : [];
|
||||
const overrides = getProviders();
|
||||
if (overrides) {
|
||||
return {
|
||||
names: Object.keys(overrides).filter((n) => overrides[n] !== false),
|
||||
customized: true,
|
||||
useServerDefaults: false,
|
||||
};
|
||||
}
|
||||
const wanted = new Set([...PREFERRED_PROVIDERS, ...serverEnabled]);
|
||||
const names = all.length
|
||||
? all.filter((n) => wanted.has(n))
|
||||
: PREFERRED_PROVIDERS.slice();
|
||||
return {
|
||||
names,
|
||||
customized: false,
|
||||
useServerDefaults: !names.length,
|
||||
};
|
||||
}
|
||||
|
||||
window.SR = window.SR || {};
|
||||
@@ -106,5 +135,6 @@
|
||||
setProviders,
|
||||
clearProviders,
|
||||
enabledProviders,
|
||||
resolveProviders,
|
||||
};
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user