eleven-solutions-common-website-unique-web 4.0.28 → 4.0.30
Sign up to get free protection for your applications and to get access to all the features.
@@ -23,6 +23,7 @@ const TaxonomyForm = () => {
|
|
23
23
|
const [subType, setSubType] = useState("");
|
24
24
|
const [subCode, setSubCode] = useState("");
|
25
25
|
const [subValue, setSubValue] = useState("");
|
26
|
+
const [isAddingSubType, setIsAddingSubType] = useState(false);
|
26
27
|
const [tempTaxonomy, setTempTaxonomy] = useState([]);
|
27
28
|
const [similarTaxonomies, setSimilarTaxonomies] = useState([]);
|
28
29
|
const [isSimilarTaxonomyOpen, setIsSimilarTaxonomyOpen] = useState(true);
|
@@ -189,6 +190,14 @@ const TaxonomyForm = () => {
|
|
189
190
|
setNewValue(item.value);
|
190
191
|
setIsModalOpen(true);
|
191
192
|
};
|
193
|
+
const handleAddSubTypeClick = (index, id) => {
|
194
|
+
const item = similarTaxonomies[index];
|
195
|
+
setSelectedTaxonomyId(id);
|
196
|
+
setNewCode(item.code);
|
197
|
+
setNewValue(item.value);
|
198
|
+
setIsModalOpen(true);
|
199
|
+
setIsAddingSubType(true);
|
200
|
+
};
|
192
201
|
const handleEditTaxClick = () => __awaiter(void 0, void 0, void 0, function* () {
|
193
202
|
try {
|
194
203
|
yield updateTaxonomyApi(selectedTaxonomyId, type, Number(newCode), newValue);
|
@@ -237,15 +246,17 @@ const TaxonomyForm = () => {
|
|
237
246
|
!isEditMode && (_jsx("button", { type: "submit", onClick: handleSave, className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: isEditMode ? "Save" : "Add" })), _jsx("button", { onClick: handleCancelClick, type: "button", className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: "Cancel" })] })] })] })), isSimilarTaxonomyOpen && isMultiple && isEditMode && (_jsxs("div", { className: "flex-grow ml-0 mt-4 w-full", children: [_jsx("div", { className: "overflow-hidden border border-gray-200 dark:border-gray-700 md:rounded-lg mt-6", children: _jsxs("table", { className: "min-w-full divide-y divide-gray-200 dark:divide-gray-700", children: [_jsx("thead", { className: "bg-gray-50 dark:bg-gray-800", children: _jsxs("tr", { children: [similarTaxonomies.some((taxonomy) => taxonomy.isEdit) && (_jsx("th", { className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Actions" })), _jsx("th", { className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Code" }), _jsx("th", { className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Value" })] }) }), _jsx("tbody", { className: "divide-y divide-gray-200", children: similarTaxonomies.map((taxonomy, index) => (_jsxs("tr", { children: [similarTaxonomies.some((taxonomy) => taxonomy.isEdit) && (_jsx("td", { className: "px-4 py-4 text-sm whitespace-nowrap", children: _jsxs("div", { className: "flex items-center gap-x-6", children: [_jsx("button", { type: "button", onClick: () => handleDeleteClick(taxonomy.id), className: "text-gray-500 transition-colors duration-200 dark:hover:text-red-600 dark:text-gray-300 hover:text-red-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" }) }) }), _jsx("button", { type: "button", onClick: () => {
|
238
247
|
handleEditClick(index, taxonomy.id);
|
239
248
|
}, className: "text-gray-500 transition-colors duration-200 dark:hover:text-yellow-500 dark:text-gray-300 hover:text-yellow-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" }) }) }), _jsx("button", { type: "button", onClick: () => {
|
240
|
-
|
249
|
+
handleAddSubTypeClick(index, taxonomy.id);
|
241
250
|
}, className: "text-gray-500 transition-colors duration-200 dark:hover:text-blue-500 dark:text-gray-300 hover:text-blue-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 4.5v15m7.5-7.5h-15" }) }) })] }) })), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-400", children: taxonomy.code }), _jsx("td", { className: "px-4 py-4 text-sm font-medium text-gray-900 dark:text-white", children: taxonomy.value })] }, index))) })] }) }), similarTaxonomies.some((taxonomy) => taxonomy.isEdit) && (_jsx("div", { className: "flex space-x-4 mt-6 justify-start", children: _jsxs("button", { type: "button", onClick: handleOpenModal, className: "flex items-center justify-center px-6 py-2 font-medium tracking-wide text-white capitalize transition-colors duration-300 transform bg-blue-600 rounded-lg hover:bg-blue-500 focus:outline-none focus:ring focus:ring-blue-300 focus:ring-opacity-80", children: [_jsx(FaPlus, { className: "mr-2 font-medium" }), "Add Multiple Values"] }) }))] })), isEditMode && (_jsx(_Fragment, { children: tempTaxonomy.length > 0 && (_jsxs("div", { className: "flex-grow ml-0 mt-4 w-full", children: [_jsx("div", { className: "overflow-hidden border border-gray-200 dark:border-gray-700 md:rounded-lg mt-6", children: _jsxs("table", { className: "min-w-full divide-y divide-gray-200 dark:divide-gray-700", children: [_jsx("thead", { className: "bg-gray-50 dark:bg-gray-800", children: _jsxs("tr", { children: [_jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Edit/Delete" }), _jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left text-gray-500 dark:text-gray-400", children: "Code" }), _jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left text-gray-500 dark:text-gray-400", children: "Value" })] }) }), _jsx("tbody", { className: "bg-white divide-y divide-gray-200 dark:bg-gray-800 dark:divide-gray-700", children: [...tempTaxonomy].map((item, index) => (_jsxs("tr", { children: [_jsx("td", { className: "px-4 py-4 text-sm whitespace-nowrap", children: _jsxs("div", { className: "flex items-center gap-x-6", children: [_jsx("button", { type: "button", onClick: () => {
|
242
251
|
const newTempTaxonomy = [...tempTaxonomy];
|
243
252
|
newTempTaxonomy.splice(index, 1);
|
244
253
|
setTempTaxonomy(newTempTaxonomy);
|
245
254
|
}, className: "text-gray-500 transition-colors duration-200 dark:hover:text-red-600 dark:text-gray-300 hover:text-red-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" }) }) }), _jsx("button", { type: "button", onClick: () => {
|
246
255
|
handleTempEditClick(index);
|
247
|
-
}, className: "text-gray-500 transition-colors duration-200 dark:hover:text-yellow-500 dark:text-gray-300 hover:text-yellow-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" }) }) })] }) }), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-400", children: item.code }), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-400", children: item.value })] }, index))) })] }) }), _jsx("div", { className: "flex space-x-4 mt-6 justify-start", children: _jsx("button", { type: "button", onClick: handleSaveClick, className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: "Save" }) })] })) })), isMultiple && (_jsxs("div", { className: "flex space-x-4 mt-6 justify-end", children: [similarTaxonomies.some((taxonomy) => taxonomy.isEdit) && (_jsx("button", { type: "submit", onClick: handleSubmit, className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: isEditMode ? "Save " : "Add " })), _jsx("button", { onClick: handleCancelClick, type: "button", className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: "Cancel" })] }))] }), _jsx("div", { className: `fixed inset-y-0 right-0 z-50 w-1/3 bg-white dark:bg-gray-800 p-6 shadow-lg transform ${isModalOpen ? "translate-x-0" : "translate-x-full"} transition-transform duration-300`, children: _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("h2", { className: "text-xl font-bold text-blue-600 mb-4 ", children:
|
248
|
-
? "
|
249
|
-
:
|
256
|
+
}, className: "text-gray-500 transition-colors duration-200 dark:hover:text-yellow-500 dark:text-gray-300 hover:text-yellow-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" }) }) })] }) }), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-400", children: item.code }), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-400", children: item.value })] }, index))) })] }) }), _jsx("div", { className: "flex space-x-4 mt-6 justify-start", children: _jsx("button", { type: "button", onClick: handleSaveClick, className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: "Save" }) })] })) })), isMultiple && (_jsxs("div", { className: "flex space-x-4 mt-6 justify-end", children: [similarTaxonomies.some((taxonomy) => taxonomy.isEdit) && (_jsx("button", { type: "submit", onClick: handleSubmit, className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: isEditMode ? "Save " : "Add " })), _jsx("button", { onClick: handleCancelClick, type: "button", className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: "Cancel" })] }))] }), _jsx("div", { className: `fixed inset-y-0 right-0 z-50 w-1/3 bg-white dark:bg-gray-800 p-6 shadow-lg transform ${isModalOpen ? "translate-x-0" : "translate-x-full"} transition-transform duration-300`, children: _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("h2", { className: "text-xl font-bold text-blue-600 mb-4 ", children: isAddingSubType
|
257
|
+
? "Add SubType"
|
258
|
+
: editTaxonomyItem || editTempTaxonomyItem
|
259
|
+
? "Edit Values"
|
260
|
+
: "Add Values" }), _jsx("button", { onClick: handleCloseModal, className: "text-xl text-gray-600 dark:text-gray-400 h-6 w-6", children: "\u00D7" })] }), isAddingSubType ? (_jsxs(_Fragment, { children: [_jsx("label", { className: "text-gray-900 dark:text-gray-200 font-semibold", children: "Type" }), _jsx("input", { type: "text", value: subType, onChange: (e) => setSubType(e.target.value), placeholder: "Enter Type", className: "w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md" }), _jsx("label", { className: "text-gray-900 dark:text-gray-200 font-semibold", children: "Code" }), _jsx("input", { type: "number", value: subCode, onChange: (e) => setSubCode(e.target.value), placeholder: "Enter Code", className: "w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md" }), _jsx("label", { className: "text-gray-900 dark:text-gray-200 font-semibold", children: "Value" }), _jsx("input", { type: "text", value: subValue, onChange: (e) => setSubValue(e.target.value), placeholder: "Enter Value", className: "w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md" })] })) : (_jsxs(_Fragment, { children: [_jsx("label", { className: "text-gray-900 dark:text-gray-200 font-semibold", children: "Code" }), _jsx("input", { type: "number", value: newCode, onChange: (e) => setNewCode(e.target.value), placeholder: "Enter Code", className: "w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md" }), _jsx("label", { className: "text-gray-900 dark:text-gray-200 font-semibold", children: "Value" }), _jsx("input", { type: "text", value: newValue, onChange: (e) => setNewValue(e.target.value), placeholder: "Enter Value", className: "w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md" })] })), _jsxs("div", { className: "flex space-x-4 justify-end", children: [_jsx("button", { onClick: handleCloseModal, className: "px-8 py-2.5 leading-5 bg-gray-300 rounded-md", children: "Cancel" }), _jsx("button", { onClick: editTaxonomyItem ? handleEditTaxClick : handleAddClick, className: "px-8 py-2.5 leading-5 text-white transition-colors duration-300 transform bg-blue-600 rounded-md hover:bg-blue-500 focus:outline-none focus:bg-gray-600", children: editTaxonomyItem || editTempTaxonomyItem ? "Edit" : "Add" })] })] }) })] }));
|
250
261
|
};
|
251
262
|
export default TaxonomyForm;
|
package/package.json
CHANGED
@@ -28,6 +28,8 @@ const TaxonomyForm = () => {
|
|
28
28
|
const [subCode, setSubCode] = useState<number | string>("");
|
29
29
|
const [subValue, setSubValue] = useState<string>("");
|
30
30
|
|
31
|
+
const [isAddingSubType, setIsAddingSubType] = useState(false);
|
32
|
+
|
31
33
|
const [tempTaxonomy, setTempTaxonomy] = useState<any[]>([]);
|
32
34
|
|
33
35
|
const [similarTaxonomies, setSimilarTaxonomies] = useState<any[]>([]);
|
@@ -233,6 +235,16 @@ const TaxonomyForm = () => {
|
|
233
235
|
setIsModalOpen(true);
|
234
236
|
};
|
235
237
|
|
238
|
+
const handleAddSubTypeClick = (index: number, id: string) => {
|
239
|
+
const item = similarTaxonomies[index];
|
240
|
+
setSelectedTaxonomyId(id);
|
241
|
+
|
242
|
+
setNewCode(item.code);
|
243
|
+
setNewValue(item.value);
|
244
|
+
setIsModalOpen(true);
|
245
|
+
setIsAddingSubType(true);
|
246
|
+
};
|
247
|
+
|
236
248
|
const handleEditTaxClick = async () => {
|
237
249
|
try {
|
238
250
|
await updateTaxonomyApi(
|
@@ -482,7 +494,7 @@ const TaxonomyForm = () => {
|
|
482
494
|
<button
|
483
495
|
type="button"
|
484
496
|
onClick={() => {
|
485
|
-
|
497
|
+
handleAddSubTypeClick(index, taxonomy.id);
|
486
498
|
}}
|
487
499
|
className="text-gray-500 transition-colors duration-200 dark:hover:text-blue-500 dark:text-gray-300 hover:text-blue-500 focus:outline-none"
|
488
500
|
>
|
@@ -669,7 +681,12 @@ const TaxonomyForm = () => {
|
|
669
681
|
<div className="p-6">
|
670
682
|
<div className="flex justify-between">
|
671
683
|
<h2 className="text-xl font-bold text-blue-600 mb-4 ">
|
672
|
-
{editTaxonomyItem || editTempTaxonomyItem
|
684
|
+
{/* {editTaxonomyItem || editTempTaxonomyItem
|
685
|
+
? "Edit Values"
|
686
|
+
: "Add Values"} */}
|
687
|
+
{isAddingSubType
|
688
|
+
? "Add SubType"
|
689
|
+
: editTaxonomyItem || editTempTaxonomyItem
|
673
690
|
? "Edit Values"
|
674
691
|
: "Add Values"}
|
675
692
|
</h2>
|
@@ -681,7 +698,7 @@ const TaxonomyForm = () => {
|
|
681
698
|
</button>
|
682
699
|
</div>
|
683
700
|
|
684
|
-
<label className="text-gray-900 dark:text-gray-200 font-semibold">
|
701
|
+
{/* <label className="text-gray-900 dark:text-gray-200 font-semibold">
|
685
702
|
Code
|
686
703
|
</label>
|
687
704
|
<input
|
@@ -700,7 +717,66 @@ const TaxonomyForm = () => {
|
|
700
717
|
onChange={(e) => setNewValue(e.target.value)}
|
701
718
|
placeholder="Enter Value"
|
702
719
|
className="w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md"
|
703
|
-
/>
|
720
|
+
/> */}
|
721
|
+
|
722
|
+
{isAddingSubType ? (
|
723
|
+
<>
|
724
|
+
<label className="text-gray-900 dark:text-gray-200 font-semibold">
|
725
|
+
Type
|
726
|
+
</label>
|
727
|
+
<input
|
728
|
+
type="text"
|
729
|
+
value={subType}
|
730
|
+
onChange={(e) => setSubType(e.target.value)}
|
731
|
+
placeholder="Enter Type"
|
732
|
+
className="w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md"
|
733
|
+
/>
|
734
|
+
<label className="text-gray-900 dark:text-gray-200 font-semibold">
|
735
|
+
Code
|
736
|
+
</label>
|
737
|
+
<input
|
738
|
+
type="number"
|
739
|
+
value={subCode}
|
740
|
+
onChange={(e) => setSubCode(e.target.value)}
|
741
|
+
placeholder="Enter Code"
|
742
|
+
className="w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md"
|
743
|
+
/>
|
744
|
+
<label className="text-gray-900 dark:text-gray-200 font-semibold">
|
745
|
+
Value
|
746
|
+
</label>
|
747
|
+
<input
|
748
|
+
type="text"
|
749
|
+
value={subValue}
|
750
|
+
onChange={(e) => setSubValue(e.target.value)}
|
751
|
+
placeholder="Enter Value"
|
752
|
+
className="w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md"
|
753
|
+
/>
|
754
|
+
</>
|
755
|
+
) : (
|
756
|
+
<>
|
757
|
+
<label className="text-gray-900 dark:text-gray-200 font-semibold">
|
758
|
+
Code
|
759
|
+
</label>
|
760
|
+
<input
|
761
|
+
type="number"
|
762
|
+
value={newCode}
|
763
|
+
onChange={(e) => setNewCode(e.target.value)}
|
764
|
+
placeholder="Enter Code"
|
765
|
+
className="w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md"
|
766
|
+
/>
|
767
|
+
<label className="text-gray-900 dark:text-gray-200 font-semibold">
|
768
|
+
Value
|
769
|
+
</label>
|
770
|
+
<input
|
771
|
+
type="text"
|
772
|
+
value={newValue}
|
773
|
+
onChange={(e) => setNewValue(e.target.value)}
|
774
|
+
placeholder="Enter Value"
|
775
|
+
className="w-full px-4 py-2 mt-2 mb-4 border border-gray-300 rounded-md"
|
776
|
+
/>
|
777
|
+
</>
|
778
|
+
)}
|
779
|
+
|
704
780
|
<div className="flex space-x-4 justify-end">
|
705
781
|
<button
|
706
782
|
onClick={handleCloseModal}
|