The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Rocket.Chat/client/components/setupWizard/ParametersProvider.js

42 lines
1.1 KiB

import React, { createContext, useContext, useEffect, useMemo, useState } from 'react';
import { call } from '../../../app/ui-utils/client';
const ParametersContext = createContext({
loaded: true,
settings: [],
canDeclineServerRegistration: false,
});
export const useSetupWizardParameters = () => useContext(ParametersContext);
export function ParametersProvider({ children }) {
const [loaded, setLoaded] = useState(false);
const [settings, setSettings] = useState([]);
const [canDeclineServerRegistration, setCapableOfDeclineServerRegistration] = useState(false);
useEffect(() => {
const getParameters = async () => {
const {
settings,
allowStandaloneServer,
} = await call('getSetupWizardParameters') || {};
setLoaded(true);
setSettings(settings);
setCapableOfDeclineServerRegistration(allowStandaloneServer);
};
getParameters();
}, []);
const value = useMemo(() => ({
loaded,
settings,
canDeclineServerRegistration,
}), [loaded, settings, canDeclineServerRegistration]);
return <ParametersContext.Provider value={value}>
{children}
</ParametersContext.Provider>;
}