29 lines
1.6 KiB
TypeScript
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;
|
|
}
|