nocobase/packages/core/client/src/appInfo/CurrentAppInfoProvider.tsx
jack zhang 454d1d34ed
fix: add displayName (#3628)
* fix: context add displayName

* fix: observer add displayName

* fix: memo component add displayName

* fix: forwordRef component add displayName
2024-03-06 18:22:31 +08:00

29 lines
804 B
TypeScript

import React, { createContext, useContext } from 'react';
import { useRequest } from '../api-client';
import { useAppSpin } from '../application/hooks/useAppSpin';
export const CurrentAppInfoContext = createContext(null);
CurrentAppInfoContext.displayName = 'CurrentAppInfoContext';
export const useCurrentAppInfo = () => {
return useContext<{
data: {
database: {
dialect: string;
};
lang: string;
version: string;
};
}>(CurrentAppInfoContext);
};
export const CurrentAppInfoProvider = (props) => {
const { render } = useAppSpin();
const result = useRequest({
url: 'app:getInfo',
});
if (result.loading) {
return render();
}
return <CurrentAppInfoContext.Provider value={result.data}>{props.children}</CurrentAppInfoContext.Provider>;
};