This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

@@ -0,0 +1,47 @@
// Metro module 8331 (f8332).
import { useState, useEffect, useMemo } from "react";
import GuildScheduledEventStore from "./GuildScheduledEventStore";
import { useStateFromStores } from "../../_bundle/Module589";
import usePrevValue from "../../hooks/usePrevValue";
import { generateNextRecurrences, getRRule, MAX_YEARS_AHEAD_RECURRING_EVENT } from "./utils/ScheduleUtils";
import Module12 from "../../_bundle/Module12";
import SnowflakeUtils from "../../utils/SnowflakeUtils";
import Durations from "../../utils/Durations";
import GuildScheduledEventManager from "./GuildScheduledEventManager";
export default function useGuildEventRecurrences(a0, a1, a2) {
let c16508_4;
const stateFromStores = useStateFromStores([GuildScheduledEventStore], () => GuildScheduledEventStore.getGuildScheduledEvent(a0));
const prevValue = usePrevValue(a2);
c16508_4 = prevValue;
const [state, setState] = useState(a2 != null && stateFromStores != null ? generateNextRecurrences(4, getRRule(a2), new Date(stateFromStores.scheduled_start_time)) : []);
useEffect(() => {
if (c16508_4 != null) {
if (a2 != null && stateFromStores != null && !Module12.isEqual(c16508_4, a2)) {
setState(generateNextRecurrences(state.length, getRRule(a2), new Date(stateFromStores.scheduled_start_time)));
}
}
}, [a2, state.length, stateFromStores, prevValue]);
useEffect(() => {
if (a1 != null) {
GuildScheduledEventManager.getGuildEventUserCounts(a1, a0, state.map((item) => SnowflakeUtils.fromTimestamp(Math.floor(item.getTime() / Durations.Millis.SECOND) * Durations.Millis.SECOND)));
}
}, [a0, a1, state]);
return {
recurrenceStartTimes: state,
canViewMoreRecurrences: useMemo(() => {
if (a2 != null && state.length !== 0 && stateFromStores?.scheduled_start_time != null) {
const date = new Date();
date.setFullYear(date.getFullYear() + MAX_YEARS_AHEAD_RECURRING_EVENT);
const r31 = state[state.length - 1];
const r37 = getRRule(a2).after(r31);
return r37 != null && r37 <= date;
}
return false;
}, [a2, state, stateFromStores?.scheduled_start_time]),
updateRecurrenceStartTimes: function updateRecurrenceStartTimes() {
if (a2 != null && stateFromStores != null) {
setState([...state, ...generateNextRecurrences(4, getRRule(a2), state[state.length - 1], true)]);
}
}
};
};