47 lines
2.4 KiB
TypeScript
47 lines
2.4 KiB
TypeScript
// Metro module 11320 (f11321).
|
|
import ApplicationRecord from "../../../records/ApplicationRecord";
|
|
import PermissionStore from "../../../stores/PermissionStore";
|
|
import { Permissions } from "../../../_bundle/Module505";
|
|
import { useStateFromStores } from "../../../_bundle/Module589";
|
|
import { useEmbeddedActivityLaunchability, EmbeddedActivityLaunchability } from "../../activities/utils/getEmbeddedActivityLaunchability";
|
|
import { ActivityAction } from "../../activities/utils/useActivityShelfItem";
|
|
import { isActivitiesInTextEnabled } from "../../activities/ActivitiesInTextUtils";
|
|
import getPlatform from "../../activities/utils/getPlatform";
|
|
import { getOS } from "../../../utils/PlatformUtils";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
export default function useIsPrimaryEntryPointDisabled({ context, application, activityAction }) {
|
|
let disabled, reason;
|
|
const channel = context.type === "channel" ? context.channel : void 0;
|
|
const stateFromStores = useStateFromStores([PermissionStore], () => PermissionStore.can(Permissions.USE_EMBEDDED_ACTIVITIES, channel));
|
|
const embeddedActivityLaunchability = useEmbeddedActivityLaunchability(channel?.id);
|
|
const r0 = ActivityAction.LEAVE !== activityAction ? ActivityAction.START === activityAction ? channel == null ? false : (channel == null ? void 0 : channel.isGuildVoice()) ? embeddedActivityLaunchability !== EmbeddedActivityLaunchability.CAN_LAUNCH ? true : false : isActivitiesInTextEnabled(channel) ? false : true : ActivityAction.JOIN === activityAction ? (channel == null ? void 0 : channel.isGuildVoice()) ? !stateFromStores : isActivitiesInTextEnabled(channel) ? false : true : false : false;
|
|
L32: {
|
|
const LEAVE = ActivityAction.LEAVE;
|
|
disabled = r0;
|
|
reason = void 0;
|
|
if (activityAction !== LEAVE) {
|
|
const r67 = application instanceof ApplicationRecord ? application.embeddedActivityConfig : application.embedded_activity_config;
|
|
const platform2 = getPlatform(getOS());
|
|
if (r67 != null && !r67.supported_platforms.includes(platform2)) {
|
|
reason = intl.string(t.z2YTgJ);
|
|
disabled = false;
|
|
break L32;
|
|
}
|
|
const r87 = channel == null ? void 0 : channel.isThread();
|
|
disabled = r0;
|
|
reason = void 0;
|
|
if (r87) {
|
|
reason = intl.string(t.ddSR3v);
|
|
disabled = true;
|
|
}
|
|
}
|
|
}
|
|
if (disabled && reason == null) {
|
|
reason = intl.string(t.f41E1g);
|
|
}
|
|
return {
|
|
disabled,
|
|
reason
|
|
};
|
|
};
|