diff --git a/src/component/product/ProductFactory.jsx b/src/component/product/ProductFactory.jsx index 9395842..8b4e664 100644 --- a/src/component/product/ProductFactory.jsx +++ b/src/component/product/ProductFactory.jsx @@ -2,14 +2,16 @@ import { useQuery } from '@tanstack/react-query' import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS"; // import getImage from "../../utils/getImage"; import ProductStart from "./ProductStart"; -import { useLocation } from 'react-router-dom'; +import { useLocation, useNavigate } from 'react-router-dom'; import {MyProductData} from "../../services/services"; import ProductActive from "./ProductActive"; import ProductProvision from "./ProductProvision"; import {productConst} from "../../constants/products"; import queryKeys from "../../services/queryKeys"; +import siteLinks from '../../links/siteLinks'; export default function ProductFactory(){ + const navigate = useNavigate() const location = useLocation(); const pathname = location.pathname; @@ -45,8 +47,9 @@ export default function ProductFactory(){ : isError ?
-
+

{error?.message}

+
: diff --git a/src/component/product/settingsTab/GeneralTab.jsx b/src/component/product/settingsTab/GeneralTab.jsx index cb59ffd..645da8a 100644 --- a/src/component/product/settingsTab/GeneralTab.jsx +++ b/src/component/product/settingsTab/GeneralTab.jsx @@ -5,6 +5,7 @@ import SiteTemplateSelector from './SiteTemplateSelector'; import NoYesBooleanDropdown from './NoYesBooleanDropdown'; import {IoMdArrowDropdown} from 'react-icons/io'; import queryKeys from '../../../services/queryKeys'; +import sortObjectByListOrder from '../../../helpers/sortObjectByListOrder'; const GeneralTab = memo(({name = 'Full Name', data, isCustom, productData, backendValues, setFieldsChanged}) => { @@ -27,9 +28,11 @@ const GeneralTab = memo(({name = 'Full Name', data, isCustom, productData, backe const [fields, setFields] = useState({}) + const sortedData = sortObjectByListOrder(data ? data : {}) // SORTED SETTINGSCONFIG + useEffect(() => { const fieldData = {} - Object.entries(data)?.forEach(([key, value]) => { // LOOP TO POPULATE FIELDDATA PROPERTIES WITH DATA OF EACH TAB + Object.entries(sortedData)?.forEach(([key, value]) => { // LOOP TO POPULATE FIELDDATA PROPERTIES WITH DATA OF EACH TAB fieldData[value?.name?.toLowerCase().replaceAll(" ", "_")] = '' }) backendValues?.data?.forEach(item => { //LOOPING THROUGH USER ALREADY ADDED DATA FROM BACKEND IF ANY AND UPDATING THE FIELDDATA OBJECT @@ -98,7 +101,7 @@ const GeneralTab = memo(({name = 'Full Name', data, isCustom, productData, backe : <> {isCustom === true ? - :
@@ -107,7 +110,7 @@ const GeneralTab = memo(({name = 'Full Name', data, isCustom, productData, backe
<> - {Object.entries(data)?.map(([key, value]) => { + {Object.entries(sortedData)?.map(([key, value]) => { let fieldName = key; // value.key.toLowerCase().replaceAll(" ", "_") let fieldValue = fields[key]; //fields[value.name.toLowerCase().replaceAll(" ", "_")] return ( diff --git a/src/component/product/settingsTab/Settings.jsx b/src/component/product/settingsTab/Settings.jsx index 7d48221..4ba49d5 100644 --- a/src/component/product/settingsTab/Settings.jsx +++ b/src/component/product/settingsTab/Settings.jsx @@ -4,6 +4,7 @@ import { getSettingsData, getMyProductConfig } from '../../../services/services' import queryKeys from '../../../services/queryKeys'; import { useSelector } from 'react-redux'; import { useQuery } from '@tanstack/react-query'; +import sortObjectByListOrder from '../../../helpers/sortObjectByListOrder' const Settings = memo(({productData}) => { @@ -59,6 +60,8 @@ const Settings = memo(({productData}) => { const settingsData = {data: data?.data?.settings, isFetching, isError, error} // console.log('data', settingsData) + const sortedSettingsConfig = sortObjectByListOrder(settingsConfig ? settingsConfig : {}) // SORTED SETTINGSCONFIG + return ( <> {configIsFetching ? @@ -79,7 +82,7 @@ const Settings = memo(({productData}) => {
    <> - {Object.entries(settingsConfig).map(([key, value], index) => ( + {Object.entries(sortedSettingsConfig).map(([key, value], index) => (
  • {
<> - {Object.entries(settingsConfig).map(([key, value], index) => ( + {Object.entries(sortedSettingsConfig).map(([key, value], index) => (
{ } ) -export default Settings +export default Settings \ No newline at end of file diff --git a/src/component/start/Start.jsx b/src/component/start/Start.jsx index 3d45662..4a1ebad 100644 --- a/src/component/start/Start.jsx +++ b/src/component/start/Start.jsx @@ -1,16 +1,19 @@ import React from "react"; import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS"; +import getImage from "../../utils/getImage"; //const imP = '../../../../src/assets/img/side-banner.jpg' export default function Start() { + const bgImg = getImage("side-banner.jpg"); + return ( <>
+ style={{minHeight: '350px', backgroundImage: `url(${bgImg})`}}>
{/*
*/} {/*
Premium
*/} diff --git a/src/helpers/sortObjectByListOrder.js b/src/helpers/sortObjectByListOrder.js new file mode 100644 index 0000000..123be5c --- /dev/null +++ b/src/helpers/sortObjectByListOrder.js @@ -0,0 +1,14 @@ +const sortObjectByListOrder = (data) => { + const sortedEntriesByValue = Object.entries(data).sort((a, b) => { + if(a[1].list_order > b[1].list_order){ + return 1 + }else{ + return -1 + } + }); // Sorts numerically by value + + const sortedObjectByValue = Object.fromEntries(sortedEntriesByValue); + return sortedObjectByValue +} + +export default sortObjectByListOrder diff --git a/src/services/services.js b/src/services/services.js index 019a11b..82beb63 100644 --- a/src/services/services.js +++ b/src/services/services.js @@ -26,7 +26,8 @@ const postAuxEnd = (path, postData, media=false) => { return axios.post(`${basePath}${path}`, postData).then(res => { return res }).catch(err => { - throw new Error(err.response.data.msg); + // console.log('res', err.response.data) + throw new Error(err.response.data.error_message); }) }