80 lines
3.1 KiB
TypeScript
80 lines
3.1 KiB
TypeScript
// Metro module 12370 (f12371).
|
|
import { useMemo } from "react";
|
|
import { intl, t } from "../../intl/index.native";
|
|
import * as _ActivitiesInTextUtils from "../activities/ActivitiesInTextUtils";
|
|
import { EmbeddedActivityJoinability } from "../activities/utils/getEmbeddedActivityJoinability";
|
|
const getJoinOrStartButtonState = function getJoinOrStartButtonState({ embeddedActivity: embeddedActivity2, joinability: joinability2, currentEmbeddedActivity: currentEmbeddedActivity2, channel: channel2 }) {
|
|
let tooltip;
|
|
const r2 = embeddedActivity2 == null;
|
|
const r18 = {
|
|
disabled: false,
|
|
isJoinAction: !r2,
|
|
text: r2 ? intl.string(t.RscU7I) : intl.string(t.sqe0hj),
|
|
tooltip: void 0
|
|
};
|
|
const isActivitiesInTextEnabled = _ActivitiesInTextUtils.isActivitiesInTextEnabled(channel2);
|
|
if (embeddedActivity2 != null && currentEmbeddedActivity2 != null && embeddedActivity2.launchId === currentEmbeddedActivity2.launchId) {
|
|
return {
|
|
...r18,
|
|
disabled: true,
|
|
text: intl.string(t.DPfdsq),
|
|
tooltip: void 0
|
|
};
|
|
}
|
|
if (r2) {
|
|
return {
|
|
...r18,
|
|
disabled: !isActivitiesInTextEnabled,
|
|
tooltip: isActivitiesInTextEnabled ? void 0 : intl.string(t.f41E1g)
|
|
};
|
|
}
|
|
if (joinability2 != null && joinability2 !== EmbeddedActivityJoinability.CAN_JOIN) {
|
|
L27: {
|
|
if (EmbeddedActivityJoinability.NO_USE_EMBEDDED_ACTIVITIES_PERMISSION === joinability2) {
|
|
tooltip = intl.string(t.hHGrWz);
|
|
} else if (EmbeddedActivityJoinability.ACTIVITY_AGE_GATED === joinability2) {
|
|
tooltip = intl.string(t["4WuFRE"]);
|
|
} else if (EmbeddedActivityJoinability.ACTIVITIES_FEATURE_NOT_ENABLED_FOR_OS === joinability2) {
|
|
tooltip = intl.string(t.uGDCcw);
|
|
} else if (EmbeddedActivityJoinability.ACTIVITY_NOT_SUPPORTED_ON_OS === joinability2) {
|
|
tooltip = intl.string(t.UXoQTp);
|
|
} else if (EmbeddedActivityJoinability.CHANNEL_FULL === joinability2) {
|
|
tooltip = intl.string(t.rZfiNq);
|
|
} else if (EmbeddedActivityJoinability.NO_CHANNEL_CONNECT_PERMISSION === joinability2) {
|
|
tooltip = intl.string(t.w5SAps);
|
|
} else {
|
|
if (EmbeddedActivityJoinability.NO_CHANNEL !== joinability2 && EmbeddedActivityJoinability.NO_GUILD !== joinability2 && EmbeddedActivityJoinability.NO_USER !== joinability2) {
|
|
const IS_AFK_CHANNEL = EmbeddedActivityJoinability.IS_AFK_CHANNEL;
|
|
tooltip = void 0;
|
|
if (IS_AFK_CHANNEL !== joinability2) {
|
|
break L27;
|
|
}
|
|
}
|
|
tooltip = intl.string(t.Etp6uI);
|
|
}
|
|
}
|
|
return {
|
|
...r18,
|
|
disabled: true,
|
|
tooltip
|
|
};
|
|
}
|
|
return r18;
|
|
};
|
|
const r16 = {
|
|
ACTIVE: 0,
|
|
0: "ACTIVE",
|
|
ENDED: 1,
|
|
1: "ENDED"
|
|
};
|
|
export { r16 as EmbedStates };
|
|
export function useJoinOrStartButtonState({ embeddedActivity, joinability, currentEmbeddedActivity, channel }) {
|
|
return useMemo(() => getJoinOrStartButtonState({
|
|
embeddedActivity,
|
|
joinability,
|
|
currentEmbeddedActivity,
|
|
channel
|
|
}), [embeddedActivity, joinability, currentEmbeddedActivity, channel]);
|
|
}
|
|
export { getJoinOrStartButtonState };
|