New way of handling firm initialization
This commit is contained in:
@@ -3,6 +3,8 @@ import { IFirm } from "../interfaces";
|
||||
import { useParams } from "react-router";
|
||||
import { useOne } from "@refinedev/core";
|
||||
import { CircularProgress } from "@mui/material";
|
||||
import { FirmInitForm } from "../pages/firm";
|
||||
import { Header } from "../components";
|
||||
|
||||
type FirmContextType = {
|
||||
currentFirm: IFirm,
|
||||
@@ -19,19 +21,27 @@ export const FirmContextProvider: React.FC<PropsWithChildren> = ({ children }: P
|
||||
const { data, isError, error, isLoading } = useOne({resource: 'firm', id: `${instance}/${firm}/`, errorNotification: false});
|
||||
|
||||
if (instance === undefined || firm === undefined) {
|
||||
return "Error"
|
||||
throw({statusCode: 400});
|
||||
}
|
||||
const currentFirm: IFirm = { instance, firm }
|
||||
|
||||
if (isLoading) {
|
||||
return <CircularProgress />
|
||||
}
|
||||
|
||||
let value: FirmContextType = {
|
||||
currentFirm: {instance, firm}
|
||||
if (isError && error) {
|
||||
if (error.statusCode == 405) {
|
||||
return <><Header /><FirmInitForm currentFirm={currentFirm} /></>
|
||||
}
|
||||
if (error.statusCode == 404) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
if (!isError || error?.statusCode != 405) {
|
||||
value.currentFirm.entity = data?.data.entity;
|
||||
value.partnerMap = new Map(data?.data.partner_list.map((item: any) => [item.id, item.label]));
|
||||
|
||||
currentFirm.entity = data?.data.entity;
|
||||
let value: FirmContextType = {
|
||||
currentFirm: currentFirm,
|
||||
partnerMap: new Map(data?.data.partner_list.map((item: any) => [item.id, item.label])),
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -55,7 +55,7 @@ type FirmInitFormPros = {
|
||||
currentFirm: IFirm
|
||||
}
|
||||
|
||||
const FirmInitForm = (props: FirmInitFormPros) => {
|
||||
export const FirmInitForm = (props: FirmInitFormPros) => {
|
||||
const { currentFirm } = props;
|
||||
const { translate: t } = useTranslation();
|
||||
const resourceBasePath = `firm`
|
||||
|
||||
Reference in New Issue
Block a user