diff --git a/src/components/buttons/BtnOne.module.css b/src/components/buttons/BtnOne.module.css index 898c171173e09ec2821816e59784dd9ee4ba6885..efabcba5b1b88830a5732b7b135a16863ed30d58 100644 --- a/src/components/buttons/BtnOne.module.css +++ b/src/components/buttons/BtnOne.module.css @@ -16,6 +16,22 @@ width: fit-content; } +.btn_one_disabled { + border: 1.5px solid var(--blue-primary) !important; + border-radius: 4px !important; + background-color: var(--white-100); + color: var(--blue-primary) !important; + font-family: "Lato-Bold" !important; + font-size: 0.875rem !important; + letter-spacing: 0.5px; + line-height: 1.429; + padding: 0.45rem; + padding-left: 0.75rem; + padding-right: 0.75rem; + width: fit-content; + opacity: 0.5 !important; +} + .btn_float_bottom { position: absolute; bottom: 0; diff --git a/src/components/form-elements/SelectField.tsx b/src/components/form-elements/SelectField.tsx index 724cae07f7ee6571b1886dde204b45ae34c36799..e311509790f7ce2d6e9965c17767c96441617378 100644 --- a/src/components/form-elements/SelectField.tsx +++ b/src/components/form-elements/SelectField.tsx @@ -15,8 +15,9 @@ interface SelectFieldProps { selectId: string; changeHandler?: (event: any) => void; isReadOnly?: boolean; - value?: string; - isMultiple?: boolean + value?: any; + isMultiple?: boolean; + defaultValue?: any; } export const SelectField = ({ @@ -29,7 +30,8 @@ export const SelectField = ({ selectId, isReadOnly, value, - isMultiple + isMultiple, + defaultValue, }: SelectFieldProps) => { return ( <div className=""> @@ -39,36 +41,74 @@ export const SelectField = ({ <br /> </> )} - <select - name={selectName} - id={selectId} - className={`${styles.select_field_input}`} - value={value} - defaultValue={placeholder} - disabled={isReadOnly} - multiple={isMultiple} - onChange={changeHandler} - > - {placeholder && ( - <option - disabled - className={`${styles.select_field_input_placeholder}`} - > - {placeholder} - </option> - )} + {defaultValue !== undefined && ( + <select + name={selectName} + id={selectId} + className={`${styles.select_field_input}`} + defaultValue={defaultValue} + placeholder={placeholder} + disabled={isReadOnly} + multiple={isMultiple} + onChange={changeHandler} + > + {placeholder && ( + <option + disabled + className={`${styles.select_field_input_placeholder}`} + > + {placeholder} + </option> + )} - {option && option.map((i: any, j: any) => { - return ( + {option && + option.map((i: any, j: any) => { + return ( + <option + value={i.value} + key={j} + + > + {i.key} + </option> + ); + })} + </select> + )} + + {value !== undefined && ( + <select + name={selectName} + id={selectId} + className={`${styles.select_field_input}`} + value={value} + placeholder={placeholder} + disabled={isReadOnly} + multiple={isMultiple} + onChange={changeHandler} + > + {placeholder && ( <option - value={i.value} - key={j} + disabled + className={`${styles.select_field_input_placeholder}`} > - {i.key} + {placeholder} </option> - ); - })} - </select> + )} + + {option && + option.map((i: any, j: any) => { + return ( + <option + value={i.value} + key={j} + > + {i.key} + </option> + ); + })} + </select> + )} </div> ); }; diff --git a/src/components/form/ListForms.js b/src/components/form/ListForms.js index afd1d1733c298d14d27f4cd9fed58c5cd5064845..4cbd06aee888dfb04c7e4516acc16704feae24b6 100644 --- a/src/components/form/ListForms.js +++ b/src/components/form/ListForms.js @@ -36,7 +36,7 @@ class ListForms extends Component { : Notify.error(error.message); } ); - } + }; getFormShortCode = (name) => { let shortCode; @@ -57,10 +57,10 @@ class ListForms extends Component { formData.id = form.id; formData.version = form.version; formData.title = form.title; - if(isPublish) { - formData.status = LANG.FORM_STATUS.PUBLISH + if (isPublish) { + formData.status = LANG.FORM_STATUS.PUBLISH; } else { - formData.status = LANG.FORM_STATUS.UNPUBLISH + formData.status = LANG.FORM_STATUS.UNPUBLISH; } FormService.add(formData).then( (response) => { @@ -80,7 +80,7 @@ class ListForms extends Component { : Notify.error(error.message); } ); - } + }; searchForms = (event) => { var input, filter, formContainer, formItems, a, i, txtValue; @@ -115,14 +115,14 @@ class ListForms extends Component { <input type="text" className="form-control" - id="search-roles" + id="searchRoles" placeholder="Search for an application" autoComplete="off" onKeyUp={(event) => this.searchForms(event)} /> </div> </form> - + {/* <div className="col-md-8"> <Link to="/forms/add" className="pull-right"> <button className="btn btn-default smf-btn-default-inverse"> @@ -132,7 +132,14 @@ class ListForms extends Component { </div> */} </div> <div className="col-sm-12 col-md-8 text-right"> - <BtnTwo btnType="button" label="Create new" isLink={true} link={`/forms/add`} floatBottom={false} isModal={false} /> + <BtnTwo + btnType="button" + label="Create new form" + isLink={true} + link={`/forms/add`} + floatBottom={false} + isModal={false} + /> </div> </div> <div className="row pt2"> @@ -158,15 +165,24 @@ class ListForms extends Component { {form.status.toLowerCase()} </td> <td className=""> - { - form.status === LANG.FORM_STATUS.PUBLISH && + {form.status === LANG.FORM_STATUS.PUBLISH && ( // <button type="button" className="btn btn-link td-preview">Unpublish</button> - <span className="d-inline-block td-preview cursor-pointer" onClick={(e) => this.submit(form, false)}>Unpublish</span> - } - { - (form.status === LANG.FORM_STATUS.NEW || form.status === LANG.FORM_STATUS.UNPUBLISH) && - <span className="d-inline-block td-preview cursor-pointer" onClick={(e) => this.submit(form, true)}>publish</span> - } + <span + className="d-inline-block td-preview cursor-pointer" + onClick={(e) => this.submit(form, false)} + > + Unpublish + </span> + )} + {(form.status === LANG.FORM_STATUS.NEW || + form.status === LANG.FORM_STATUS.UNPUBLISH) && ( + <span + className="d-inline-block td-preview cursor-pointer" + onClick={(e) => this.submit(form, true)} + > + publish + </span> + )} {/* { form.status === LANG.FORM_STATUS.DRAFT && <span className="font-weight-bold black-60">Draft</span> @@ -177,14 +193,12 @@ class ListForms extends Component { <Link to={`/forms/${form.id}`}>Preview</Link> </td> <td className="td-preview"> - { - form.status === LANG.FORM_STATUS.DRAFT && + {form.status === LANG.FORM_STATUS.DRAFT && ( <Link to={`/forms/${form.id}/edit`}>Edit</Link> - } - { - form.status !== LANG.FORM_STATUS.DRAFT && + )} + {form.status !== LANG.FORM_STATUS.DRAFT && ( <span className="font-weight-bold black-16">Edit</span> - } + )} </td> </tr> ))} diff --git a/src/components/modal/InspectionScheduleModal.tsx b/src/components/modal/InspectionScheduleModal.tsx index 868c101c30c2c9f780f8d0b40c21e2063d31d5c0..9394dd69522b1d9768c3ce47b40fbc80aee9c406 100644 --- a/src/components/modal/InspectionScheduleModal.tsx +++ b/src/components/modal/InspectionScheduleModal.tsx @@ -40,14 +40,26 @@ export const InspectionScheduleModal = ({ }: InspectionScheduleModalProps) => { const [date, setDate] = useState(""); const [inspectorsList, setInspectorsList] = useState<any[]>([]); + const [curatedInspectorsListOne, setCuratedInspectorsListOne] = useState< + any[] + >([]); + const [curatedInspectorsListTwo, setCuratedInspectorsListTwo] = useState< + any[] + >([]); const [leadInspectors, setLeadInspectors] = useState<any[]>([]); const [curatedLeadInspectors, setCuratedLeadInspectors] = useState<any[]>([]); const [curatedAssitingInspectors, setCuratedAssitingInspectors] = useState< any[] >([]); const [currentLeadIns, setCurrentLeadIns] = useState(""); + // const [currentLeadInsName, setCurrentLeadInsName] = useState( + // "Select from the list" + // ); const [assitingInspectors, setAssitingInspectors] = useState<any[]>([]); const [currentAssitingIns, setCurrentAssitingIns] = useState(""); + // const [currentAssitingInsName, setCurrentAssitingInsName] = useState( + // "Select from the list" + // ); const [disableSubmit, setDisableSubmit] = useState(true); let history = useHistory(); @@ -61,7 +73,7 @@ export const InspectionScheduleModal = ({ response.responseData.map((i: any, j: number) => { return tempArray.push({ value: i.id, - key: i.firstName, + key: i.firstName + " " + i.lastName, logo: i.firstName[0] + i.lastName[0], }); }); @@ -87,13 +99,13 @@ export const InspectionScheduleModal = ({ inspectionData.assignedTo.map((i: any, j: number) => { if (i.leadInspector) { return (curatedObject = { - key: i.firstName, + key: i.firstName + " " + i.lastName, value: i.id, logo: i.firstName[0] + i.lastName[0], }); } else { return curatedArray.push({ - key: i.firstName, + key: i.firstName + " " + i.lastName, value: i.id, logo: i.firstName[0] + i.lastName[0], }); @@ -147,6 +159,21 @@ export const InspectionScheduleModal = ({ setLeadInspectors(removeDup); + let tempInsArray = [...inspectorsList]; + + tempInsArray.map((k, l) => { + if (k.value === parseInt(currentLeadIns)) { + let index = tempInsArray.indexOf(k); + if (index > -1) { + tempInsArray.splice(index, 1); + } + return null; + } + return null; + }); + + setCuratedInspectorsListTwo(tempInsArray); + setCuratedLeadInspectors([curatedArray]); } }; @@ -167,6 +194,21 @@ export const InspectionScheduleModal = ({ setLeadInspectors(tempArrayTwo); + let tempInsArray = [...inspectorsList]; + + tempInsArray.map((k, l) => { + if (k.value === parseInt(currentLeadIns)) { + let index = tempInsArray.indexOf(k); + if (index > -1) { + tempInsArray.splice(index, 1); + } + return null; + } + return null; + }); + + setCuratedInspectorsListTwo(tempInsArray); + setCuratedLeadInspectors(tempArray); }; @@ -197,6 +239,24 @@ export const InspectionScheduleModal = ({ setAssitingInspectors(removeDup); + let tempInsArray = [...inspectorsList]; + + curatedArray.map((m: any, n: number) => { + tempInsArray.map((k, l) => { + let index = tempInsArray.indexOf(k); + if (k.value === m.value) { + if (index > -1) { + tempInsArray.splice(index, 1); + } + return null; + } + return null; + }); + return null; + }); + + setCuratedInspectorsListOne(tempInsArray); + setCuratedAssitingInspectors(curatedArray); } }; @@ -217,6 +277,24 @@ export const InspectionScheduleModal = ({ setAssitingInspectors(tempArrayTwo); + let tempInsArray = [...inspectorsList]; + + tempArray.map((m: any, n: number) => { + tempInsArray.map((k, l) => { + let index = tempInsArray.indexOf(k); + if (k.value === m.value) { + if (index > -1) { + tempInsArray.splice(index, 1); + } + return null; + } + return null; + }); + return null; + }); + + setCuratedInspectorsListOne(tempInsArray); + setCuratedAssitingInspectors(tempArray); }; @@ -261,6 +339,24 @@ export const InspectionScheduleModal = ({ ); }; + // const getName = (value: any, type: string) => { + // if (type === "assistingInspector") { + // inspectorsList.map((k, l) => { + // if (k.value === parseInt(value)) { + // setCurrentAssitingInsName(k.key); + // } + // }); + // } + + // if (type === "leadInspector") { + // inspectorsList.map((k, l) => { + // if (k.value === parseInt(value)) { + // setCurrentLeadInsName(k.key); + // } + // }); + // } + // }; + useEffect(() => { if (curatedAssitingInspectors.length === 0) { setDisableSubmit(true); @@ -308,25 +404,44 @@ export const InspectionScheduleModal = ({ </div> <div className="row"> <div className="col-9"> + <SelectField showLabel={false} - option={inspectorsList} + option={ + curatedInspectorsListOne.length > 0 + ? curatedInspectorsListOne + : inspectorsList + } selectId="leadInspector" selectName="leadInspector" placeholder="Select from the list" + value={ + currentLeadIns.length ? currentLeadIns : "Select from the list" + } changeHandler={(e) => { setCurrentLeadIns(e.target.value); + // getName(e.target.value, "leadInspector"); }} /> </div> <div className="col-2"> - <BtnOne - label="Add" - btnType="button" - isLink={false} - link="" - clickHandler={(e) => addLeadInspectors(e)} - /> + {currentLeadIns !== "" ? ( + <BtnOne + label="Add" + btnType="button" + isLink={false} + link="" + clickHandler={(e) => addLeadInspectors(e)} + /> + ) : ( + <button + type="button" + className={`${btnStyle.btn_one_disabled}`} + disabled={true} + > + Add + </button> + )} </div> </div> <div className="pt-2"> @@ -369,25 +484,44 @@ export const InspectionScheduleModal = ({ </div> <div className="row"> <div className="col-sm-12 col-md-9 col-lg-9"> + <SelectField showLabel={false} - option={inspectorsList} + option={ + curatedInspectorsListTwo.length > 0 + ? curatedInspectorsListTwo + : inspectorsList + } selectId="assistingInspectors" selectName="assistingInspectors" placeholder="Select from the list" + value={ + currentAssitingIns.length ? currentAssitingIns : "Select from the list" + } changeHandler={(e) => { setCurrentAssitingIns(e.target.value); + // getName(e.target.value, "assistingInspector"); }} /> </div> <div className="col-sm-12 col-md-2 col-lg-2"> - <BtnOne - label="Add" - btnType="button" - isLink={false} - link="" - clickHandler={(e) => addAssitingInspectors(e)} - /> + {currentAssitingIns !== "" ? ( + <BtnOne + label="Add" + btnType="button" + isLink={false} + link="" + clickHandler={(e) => addAssitingInspectors(e)} + /> + ) : ( + <button + type="button" + className={`${btnStyle.btn_one_disabled}`} + disabled={true} + > + Add + </button> + )} </div> <div className="pt-2"> {curatedAssitingInspectors && @@ -464,6 +598,9 @@ export const InspectionScheduleModal = ({ type="button" className={`${btnStyle.btn_one} me-2`} data-dismiss="modal" + onClick={(e) => { + e.preventDefault(); + }} > Cancel </button> diff --git a/src/layouts/Inspector/ConsentFormView.tsx b/src/layouts/Inspector/ConsentFormView.tsx index e40b98d4dbb2ce66d5e8a9bc7d83f2e6089be8b7..800316daa91c5e52be53ed041b47aa3a0dc7cb6f 100644 --- a/src/layouts/Inspector/ConsentFormView.tsx +++ b/src/layouts/Inspector/ConsentFormView.tsx @@ -1015,7 +1015,7 @@ export const ConsentFormView = ({ isReadOnly={true} label={k.label || ""} option={k.defaultValues} - placeholder={k.value || ""} + defaultValue={k.value || ""} /> </div> diff --git a/src/layouts/Inspector/FormView.tsx b/src/layouts/Inspector/FormView.tsx index 730c6d3ca4ead3ae4a49c153e4927cbd9109af09..9e7d5022cebac25f69447149ec9f590f937b3d3f 100644 --- a/src/layouts/Inspector/FormView.tsx +++ b/src/layouts/Inspector/FormView.tsx @@ -784,7 +784,7 @@ export const FormView = ({ applicationData, formData }: FormViewProps) => { isReadOnly={true} label={k.label || ""} option={k.defaultValues} - placeholder={k.value || ""} + defaultValue={k.value || ""} /> </div> <div className="mt-3"> diff --git a/src/layouts/Regulator/ReviewApplicationLayout.tsx b/src/layouts/Regulator/ReviewApplicationLayout.tsx index 3c2a197b83209417e170dbf1bc43dd8e9ab3b404..431dd18f0bd6b84714cc4991274f03675da2a550 100644 --- a/src/layouts/Regulator/ReviewApplicationLayout.tsx +++ b/src/layouts/Regulator/ReviewApplicationLayout.tsx @@ -162,7 +162,6 @@ export const ReviewApplicationLayout = ({ if (arrThree.length !== 0) { tempArray.map((i: any, n: number) => { arrThree.map((m: any, l: number) => { - if (m.sideMenu === i.sideMenu) { m.fields.map((k: any, y: number) => { if (!applicationData.inspectorDataObject) { @@ -952,7 +951,7 @@ export const ReviewApplicationLayout = ({ isReadOnly={true} label={k.label || ""} option={k.defaultValues} - placeholder={k.value || ""} + defaultValue={k.value || ""} /> </div> {(applicationData.status === diff --git a/src/layouts/reviewer/Users.tsx b/src/layouts/reviewer/Users.tsx index d1915a48f9992caed837396afe1bfd5fd8514d15..2dbeb891c512660716f7455622780fb9aa8d7ae9 100644 --- a/src/layouts/reviewer/Users.tsx +++ b/src/layouts/reviewer/Users.tsx @@ -124,7 +124,7 @@ export const Users = ({ data }: userProps) => { <div className="col-sm-12 col-md-8 text-right"> <BtnTwo btnType="button" - label="Add new" + label="Add new user" isLink={true} link={`/create-user`} floatBottom={false} diff --git a/src/pages/Regulator/RegulatorAllApplications.tsx b/src/pages/Regulator/RegulatorAllApplications.tsx index 1af0561af6e3bd7b8d40948bb13de018a73bdda5..04cfe042509e05090a3874748c8959ead9045f19 100644 --- a/src/pages/Regulator/RegulatorAllApplications.tsx +++ b/src/pages/Regulator/RegulatorAllApplications.tsx @@ -40,12 +40,12 @@ export const RegulatorAllApplications = ({ ariaLabelled: "new-tab", children: <AllApplicationsTab />, }, - { - id: "underReview", - label: "Under review", - ariaLabelled: "under-review-tab", - children: <AllApplicationsTab />, - }, + // { + // id: "underReview", + // label: "Under review", + // ariaLabelled: "under-review-tab", + // children: <AllApplicationsTab />, + // }, { id: "returned", label: "Returned", @@ -135,9 +135,9 @@ export const RegulatorAllApplications = ({ tempStatus = e.target.innerHTML; break; - case "Under review": - tempStatus = "underreview"; - break; + // case "Under review": + // tempStatus = "underreview"; + // break; case "Returned": tempStatus = "returned"; diff --git a/src/pages/Regulator/ReviewApplication.tsx b/src/pages/Regulator/ReviewApplication.tsx index e83570b62f131f0fe0f450c055a2c82e651fd355..bba18fb09a0544f469e7e33bed371f4dfb0d9c65 100644 --- a/src/pages/Regulator/ReviewApplication.tsx +++ b/src/pages/Regulator/ReviewApplication.tsx @@ -25,10 +25,11 @@ export const ReviewApplication = ({ data }: ReviewApplicationProps) => { let history = useHistory(); useEffect(() => { + if (history.location && history.location.pathname) { let tempFormId = history.location.pathname.split("/")[2]; let tempAppId = history.location.pathname.split("/")[3]; - + getApplicationDetails(tempFormId, tempAppId); } // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/src/pages/Reviewer/ReviewerHome.tsx b/src/pages/Reviewer/ReviewerHome.tsx index accce8ffadfdbd22b1df643535b86d0f138f8022..7a0235b57feeaf3a43d61f277fb408e55c19f12c 100644 --- a/src/pages/Reviewer/ReviewerHome.tsx +++ b/src/pages/Reviewer/ReviewerHome.tsx @@ -52,42 +52,59 @@ export const ReviewerHome = ({ data }: ReviewerProps) => { const [applicationsMetrics, setApplicationsMetrics] = useState< IApplicationCount[] >([]); + const [showPendingApplications, setShowPendingApplications] = useState(false); + useEffect(() => { const myApplicationsReq = { searchObjects: [], }; - FormService.getAllApplications(myApplicationsReq).then( - (response2) => { - if (response2.statusInfo.statusCode === APP.CODE.SUCCESS) { - setPendingApplications( - response2.responseData.length > 8 - ? response2.responseData.splice(0, 8) - : response2.responseData - ); - } else { - Notify.error(response2.statusInfo.errorMessage); + setTimeout(() => { + FormService.getAllApplications(myApplicationsReq).then( + (response2) => { + if (response2.statusInfo.statusCode === APP.CODE.SUCCESS) { + let data = response2.responseData.reverse(); + + let tempArray: any = []; + + data.map((m: any, n: number) => { + if ( + m.status === LANG.FORM_STATUS.NEW || + m.status === LANG.FORM_STATUS.INSPECTION_COMPLETED + ) { + tempArray.push(m); + setShowPendingApplications(true); + } + return null; + }); + + setPendingApplications( + tempArray.length > 8 ? tempArray.splice(0, 8) : tempArray + ); + } else { + Notify.error(response2.statusInfo.errorMessage); + } + }, + (error) => { + error.statusInfo + ? Notify.error(error.statusInfo.errorMessage) + : Notify.error(error.message); } - }, - (error) => { - error.statusInfo - ? Notify.error(error.statusInfo.errorMessage) - : Notify.error(error.message); - } - ); - FormService.getApplicationsStatusCount().then( - (response2: any) => { - if (response2.statusInfo.statusCode === APP.CODE.SUCCESS) { - setApplicationsMetrics(response2.responseData.keyValues); - } else { - Notify.error(response2.statusInfo.errorMessage); + ); + FormService.getApplicationsStatusCount().then( + (response2: any) => { + if (response2.statusInfo.statusCode === APP.CODE.SUCCESS) { + setApplicationsMetrics(response2.responseData.keyValues); + } else { + Notify.error(response2.statusInfo.errorMessage); + } + }, + (error: any) => { + error.statusInfo + ? Notify.error(error.statusInfo.errorMessage) + : Notify.error(error.message); } - }, - (error: any) => { - error.statusInfo - ? Notify.error(error.statusInfo.errorMessage) - : Notify.error(error.message); - } - ); + ); + }, 800); }, []); // Function to format the status label @@ -132,52 +149,59 @@ export const ReviewerHome = ({ data }: ReviewerProps) => { </section> {/* Section two */} - <section className="mt-5"> - <div className="row"> - <div className="col-md-10 col-sm-12 col-12 "> - <HeadingOne heading="Pending applications" /> - <HeadingTwo heading="These are latest applications that is pending for your review/approval" /> + {showPendingApplications && ( + <section className="mt-5"> + <div className="row"> + <div className="col-md-10 col-sm-12 col-12 "> + <HeadingOne heading="Pending applications" /> + <HeadingTwo heading="These are latest applications that is pending for your review/approval" /> + </div> + <div className="col-md-2 col-sm-12 col-12 text-right"> + <BtnOne + btnType="button" + label="SEE ALL" + isLink={true} + link={`reviewer/all-applications`} + floatBottom={false} + isModal={false} + /> + </div> </div> - <div className="col-md-2 col-sm-12 col-12 text-right"> - <BtnOne - btnType="button" - label="SEE ALL" - isLink={true} - link={`reviewer/all-applications`} - floatBottom={false} - isModal={false} - /> + <div className="row mt-3"> + {pendingApplications.map((i, j) => { + if ( + i.status === LANG.FORM_STATUS.NEW || + i.status === LANG.FORM_STATUS.INSPECTION_COMPLETED + ) { + return ( + <div + className="col-sm-12 col-md-4 col-lg-3 col-xl-3 col-xxl-3 mb-3" + key={i.applicationId} + > + <CardTwo + title={i.title} + name={i.createdBy} + time={`Created on: ${i.createdDate}`} + showStatus={true} + status={i.status} + statusLabel={i.status} + showBtn={true} + type="button" + btnText="View application" + isLink={true} + link={ + "/regulator/" + i.formId + "/" + i.applicationId + } + /> + </div> + ); + } else { + return null; + } + })} </div> - </div> - <div className="row mt-3"> - {pendingApplications.map((i, j) => { - if (i.status === LANG.FORM_STATUS.NEW) { - return ( - <div - className="col-sm-12 col-md-4 col-lg-3 col-xl-3 col-xxl-3 mb-3" - key={i.applicationId} - > - <CardTwo - title={i.title} - name={i.createdBy} - time={`Created on: ${i.createdDate}`} - showStatus={true} - status={i.status} - statusLabel={i.status} - showBtn={true} - type="button" - btnText="View application" - isLink={true} - link={"/regulator/" + i.formId + "/" + i.applicationId} - /> - </div> - ); - } else { - return null; - } - })} - </div> - </section> + </section> + )} </div> </div> </Fragment>