57 lines
1.9 KiB
TypeScript
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;
|
|
}
|