Files
discord-decomp/modules/clips/ClipsExperiment.tsx
T
2026-11-01 12:12:55 +02:00

57 lines
1.9 KiB
TypeScript

// Metro module 4248 (f4249).
import MediaEngineStore from "../../stores/MediaEngineStore";
import UserStore from "../../stores/UserStore";
import { PremiumTypes } from "../premium/PremiumConstants";
import { createApexExperiment } from "../experiments/apex/index";
import isClientClipsCapable from "./isClientClipsCapable";
import { useStateFromStores } from "../../_bundle/Module589";
import PremiumUtils from "../../utils/PremiumUtils";
const apexExperiment = createApexExperiment({
kind: "user",
name: "2026-03-clips-experiment",
defaultConfig: {
enableClips: false,
ignorePlatformRestriction: false
},
variations: {
1: {
enableClips: true,
ignorePlatformRestriction: false
},
2: {
enableClips: true,
ignorePlatformRestriction: true
}
}
});
export { apexExperiment as ClipsExperiment };
export function areClipsAvailable() {
if (isClientClipsCapable(MediaEngineStore)) {
let r20 = PremiumUtils.isPremiumAtLeast(UserStore.getCurrentUser()?.premiumType, PremiumTypes.TIER_2);
const enableClips = apexExperiment.getConfig({
location: "areClipsEnabled"
}).enableClips;
if (!r20) {
r20 = enableClips;
}
return r20;
}
return false;
}
export function useIsClipsAvailable() {
const isClientClipsCapable2 = isClientClipsCapable(MediaEngineStore);
const stateFromStores = useStateFromStores([UserStore], () => PremiumUtils.isPremiumAtLeast(UserStore.getCurrentUser()?.premiumType, PremiumTypes.TIER_2));
return (apexExperiment.getConfig({
location: "useEnableClips"
}).enableClips || stateFromStores) && isClientClipsCapable2;
}
export function isUserPremiumTypeForClipsEarlyAccess(a0) {
return PremiumUtils.isPremiumAtLeast(a0?.premiumType, PremiumTypes.TIER_2);
}
export function isScreenshotKeybindEnabled() {
return false;
}
export function useScreenshotKeybindEnabled() {
return false;
}