import React, { memo, useMemo, useState } from 'react' import GeneralTab from './GeneralTab' 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}) => { const { userDetails: { uid }} = useSelector((state) => state?.userDetails); // GETS USER UID const {data:configData, isFetching:configIsFetching, configIsError, error:configError} = useQuery({ queryKey: queryKeys.myProductConfig, queryFn: () => { let reqData = { token: localStorage.getItem('token'), // USER TOKEN uid: localStorage.getItem('uid'), // USER UID product_id: productData?.product_id } return getMyProductConfig(reqData) }, staleTime: 0, }) const settingsConfig = configData?.data?.settings_items // console.log('CONFIG DATA...', settingsConfig) const [fieldsChanged, setFieldsChanged] = useState(false) // const [activeTab, setActiveTab] = useState(Object.entries(settingsConfig)[0][1]?.controls) const [activeTab, setActiveTab] = useState(null) const handleChangeTab = (value) => { // if(fieldsChanged){ // const proceed = confirm('Continue without saving changes') // if(proceed){ // setActiveTab(value) // setFieldsChanged(false) // } // }else{ // setActiveTab(value) // } setActiveTab(value) } const {data, isFetching, isError, error} = useQuery({ queryKey: queryKeys.settingsData, queryFn: () => { let reqData = { token: localStorage.getItem('token'), // USER TOKEN uid: localStorage.getItem('uid'), // USER UID product_id: productData?.product_id } return getSettingsData(reqData) }, staleTime: 0, enabled: settingsConfig ? true : false }) const settingsData = {data: data?.data?.settings, isFetching, isError, error} // console.log('data', settingsData) const sortedSettingsConfig = sortObjectByListOrder(settingsConfig ? settingsConfig : {}) // SORTED SETTINGSCONFIG return ( <> {configIsFetching ? <>
Loading...
{configError.message}