decord/alpha/source/modules/clips/ClipsExperiment.tsx

68 lines
2.7 KiB
TypeScript
Raw Normal View History

// Module ID: 13879
// Function ID: 13880
// Name: ClipsExperiment
// Dependencies: [1909, 1372, 1374, 1434, 13880, 504, 4380, 2]
2026-07-29 08:29:29 +00:00
// Exports: areClipsAvailable, isScreenshotKeybindEnabled, isUserPremiumTypeForClipsEarlyAccess, useIsClipsAvailable, useScreenshotKeybindEnabled
2026-07-20 16:05:17 +00:00
// Module 13879 (ClipsExperiment)
import initialize from "initialize" /* 504 */;
import PremiumUtilsDefault from "PremiumUtils" /* 4380 */;
import isClientClipsCapableDefault from "isClientClipsCapable" /* 13880 */;
import MediaEngineStore from "MediaEngineStore" /* 1909 */;
import UserStore from "UserStore" /* 1372 */;
2026-07-23 10:11:24 +00:00
require = fn;
const PremiumTypes = fn(1374).PremiumTypes;
const ApexExperiment = fn(1434);
const obj2 = { kind: "user", name: "2026-03-clips-experiment", defaultConfig: { enableClips: false, ignorePlatformRestriction: false }, variations: null };
const obj3 = { 1: null, 2: { enableClips: true, ignorePlatformRestriction: false } };
obj3[2] = { enableClips: true, ignorePlatformRestriction: true };
obj2.variations = obj3;
const apexExperiment = ApexExperiment.createApexExperiment(obj2);
const size = fn(2);
const result = size.fileFinishedImporting("modules/clips/ClipsExperiment.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export const ClipsExperiment = apexExperiment;
2026-07-20 16:05:17 +00:00
export const areClipsAvailable = function areClipsAvailable() {
if (isClientClipsCapableDefault(MediaEngineStore)) {
const currentUser = UserStore.getCurrentUser();
2026-07-29 08:29:29 +00:00
let premiumType;
if (currentUser != null) {
premiumType = currentUser.premiumType;
}
let enableClips = PremiumUtilsDefault.isPremiumAtLeast(premiumType, PremiumTypes.TIER_2);
2026-07-20 16:05:17 +00:00
if (!enableClips) {
2026-07-29 08:29:29 +00:00
enableClips = apexExperiment.getConfig({ location: "areClipsEnabled" }).enableClips;
2026-07-20 16:05:17 +00:00
}
return enableClips;
} else {
return false;
}
};
export const useIsClipsAvailable = function useIsClipsAvailable() {
const tmp = isClientClipsCapableDefault(MediaEngineStore);
const items = [UserStore];
2026-08-24 06:08:38 +00:00
const stateFromStores = initialize.useStateFromStores(items, () => {
2026-07-29 08:29:29 +00:00
currentUser = currentUser.getCurrentUser();
let premiumType;
if (currentUser != null) {
premiumType = currentUser.premiumType;
}
return PremiumUtilsDefault.isPremiumAtLeast(premiumType, TIER_2.TIER_2);
2026-07-29 08:29:29 +00:00
});
return (apexExperiment.getConfig({ location: "useEnableClips" }).enableClips || stateFromStores) && tmp;
};
export const isUserPremiumTypeForClipsEarlyAccess = function isUserPremiumTypeForClipsEarlyAccess(premiumType) {
premiumType = undefined;
if (premiumType != null) {
premiumType = premiumType.premiumType;
}
return PremiumUtilsDefault.isPremiumAtLeast(premiumType, PremiumTypes.TIER_2);
2026-07-20 16:05:17 +00:00
};
export function isScreenshotKeybindEnabled() {
return false;
}
export function useScreenshotKeybindEnabled() {
return false;
}