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

29 lines
1.6 KiB
TypeScript

// Metro module 15198 (f15199).
import { useEffect } from "react";
import GatewayConnectionStore from "../gateway/GatewayConnectionStore";
import GuildAvailabilityStore from "../../stores/GuildAvailabilityStore";
import VoiceChannelStartTimeStore from "./VoiceChannelStartTimeStore";
import { ChannelTypes } from "../../Constants";
import { useStateFromStoresObject, useStateFromStores } from "../../_bundle/Module589";
import { fetchChannelInfo } from "./ChannelInfoActionCreators";
export function useStartTime(a0) {
let hasRequestedStartTimes, isGuildUnavailable, stateFromStores, c21751_4;
const stateFromStoresObject = useStateFromStoresObject([VoiceChannelStartTimeStore, GuildAvailabilityStore], () => ({
hasRequestedStartTimes: VoiceChannelStartTimeStore.hasRequestedStartTimes(a0.guild_id),
startTime: VoiceChannelStartTimeStore.getStartTime(a0),
isGuildUnavailable: GuildAvailabilityStore.isUnavailable(a0.guild_id)
}));
hasRequestedStartTimes = stateFromStoresObject.hasRequestedStartTimes;
const startTime = stateFromStoresObject.startTime;
isGuildUnavailable = stateFromStoresObject.isGuildUnavailable;
stateFromStores = useStateFromStores([GatewayConnectionStore], () => GatewayConnectionStore.isConnected());
const r27 = a0.type === ChannelTypes.GUILD_VOICE;
c21751_4 = r27;
useEffect(() => {
if ((hasRequestedStartTimes ? !hasRequestedStartTimes : c21751_4) && !isGuildUnavailable && stateFromStores) {
fetchChannelInfo(a0.guild_id);
}
}, [r27, a0.guild_id, hasRequestedStartTimes, isGuildUnavailable, stateFromStores]);
return startTime;
}