Current Path: > home > transcarter > public_html > wp-content > plugins > leadin > scripts > shared > Meeting >
Operation : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 Software : Apache Server IP : 198.54.126.42 | Your IP: 216.73.216.135 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
hooks | Directory | - | - | |
MeetingController.tsx | File | 2582 bytes | July 17 2025 21:06:25. | |
MeetingEdit.tsx | File | 2015 bytes | July 17 2025 21:06:25. | |
MeetingSelector.tsx | File | 840 bytes | July 17 2025 21:06:25. | |
MeetingWarning.tsx | File | 1273 bytes | July 17 2025 21:06:25. | |
MeetingsContext.tsx | File | 2329 bytes | July 17 2025 21:06:25. | |
PreviewMeeting.tsx | File | 887 bytes | July 17 2025 21:06:25. | |
constants.ts | File | 152 bytes | July 17 2025 21:06:25. |
import React, { useEffect, useState, useCallback } from 'react'; import useCurrentUserFetch from './hooks/useCurrentUserFetch'; import useMeetingsFetch from './hooks/useMeetingsFetch'; import LoadState from '../enums/loadState'; interface IMeetingsContextWrapperState { loading: boolean; error: any; meetings: any[]; currentUser: any; meetingUsers: any; selectedMeeting: string; } interface IMeetingsContext extends IMeetingsContextWrapperState { reload: Function; } interface IMeetingsContextWrapperProps { url: string; } export const MeetingsContext = React.createContext<IMeetingsContext>({ loading: true, error: null, meetings: [], currentUser: null, meetingUsers: {}, selectedMeeting: '', reload: () => {}, }); export default function MeetingsContextWrapper({ url, children, }: React.PropsWithChildren<IMeetingsContextWrapperProps>) { const [state, setState] = useState<IMeetingsContextWrapperState>({ loading: true, error: null, meetings: [], currentUser: null, meetingUsers: {}, selectedMeeting: url, }); const { meetings, meetingUsers, loadMeetingsState, error: errorMeeting, reload: reloadMeetings, } = useMeetingsFetch(); const { user: currentUser, loadUserState, error: errorUser, reload: reloadUser, } = useCurrentUserFetch(); const reload = useCallback(() => { reloadUser(); reloadMeetings(); }, [reloadUser, reloadMeetings]); useEffect(() => { if ( !state.loading && !state.error && state.currentUser && state.meetings.length === 0 ) { reloadMeetings(); } }, [state, reloadMeetings]); useEffect(() => { setState(previous => ({ ...previous, loading: loadUserState === LoadState.Loading || loadMeetingsState === LoadState.Loading, currentUser, meetings, meetingUsers: meetingUsers.reduce((p, c) => ({ ...p, [c.id]: c }), {}), error: errorMeeting || errorUser, selectedMeeting: url, })); }, [ loadUserState, loadMeetingsState, currentUser, meetings, meetingUsers, errorMeeting, errorUser, url, setState, ]); return ( <MeetingsContext.Provider value={{ ...state, reload }}> {children} </MeetingsContext.Provider> ); }
SILENT KILLER Tool