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

26 lines
1.1 KiB
TypeScript

// Metro module 14249 (f14250).
import { useMemo } from "react";
import { TIER_TRIAL_INTERVALS } from "./GuildRoleSubscriptionsConstants";
import { SubscriptionIntervalTypes } from "../premium/PremiumConstants";
import { intl, t } from "../../intl/index.native";
import { formatPlanIntervalDuration } from "./GuildRoleSubscriptionTypeUtils";
export default function useTrialIntervalOptions(a0) {
return useMemo(() => {
const options = TIER_TRIAL_INTERVALS.map((item) => ({
value: item,
label: item.interval === SubscriptionIntervalTypes.DAY && item.interval_count === 7 ? intl.formatToPlainString(t.XfSsr1, {
defaultLimit: formatPlanIntervalDuration(item)
}) : formatPlanIntervalDuration(item),
isDefault: item.interval === SubscriptionIntervalTypes.DAY && item.interval_count === 7
}));
let selectedOption = a0;
if (selectedOption != null) {
selectedOption = options.find((option) => option.value != null && option.value.interval === a0.interval && option.value.interval_count === a0.interval_count)?.value;
}
return {
options,
selectedOption
};
}, [a0]);
};