From 14e588b0a914c0a2b241ae53687a6ceaf4a57aa8 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Fri, 25 Jul 2025 20:41:25 +0100 Subject: [PATCH] fixed tab controls --- src/component/product/ProductActive.jsx | 24 +++++--- .../product/settingsTab/GeneralTab.jsx | 57 +++++++++++-------- 2 files changed, 49 insertions(+), 32 deletions(-) diff --git a/src/component/product/ProductActive.jsx b/src/component/product/ProductActive.jsx index 7d229cd..27b6809 100644 --- a/src/component/product/ProductActive.jsx +++ b/src/component/product/ProductActive.jsx @@ -1,4 +1,4 @@ -import React, { useRef } from "react"; +import React, { useRef, useState } from "react"; import getImage from "../../utils/getImage"; import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS"; import GeneralTab from "./settingsTab/GeneralTab"; @@ -8,6 +8,7 @@ import { productRefreshSite } from "../../services/services"; export default function ProductActive({productData}){ const iframe = useRef() + const dataFields ={ site_title: { name: 'Title', controls: 'TEXT', active: true }, site_description: { name: 'Description', controls: 'TEXT', active: true }, @@ -38,6 +39,8 @@ export default function ProductActive({productData}){ color_scheme_tab: { title: 'Color Scheme', controls: 'color-scheme', active: '', data: {} }, }; + const [activeTab, setActiveTab] = useState(Object.entries(settingsObject)[0][1]?.controls) + const refresh = useMutation({ mutationFn: (fields) => { return productRefreshSite(fields) @@ -99,12 +102,16 @@ export default function ProductActive({productData}){ <> {Object.entries(settingsObject).map(([key, value]) => (
  • - {value.title} + // aria-controls={value.controls} + // aria-selected="true" + onClick={()=>setActiveTab(value.controls)} + > + {value.title} +
  • ))} @@ -112,9 +119,10 @@ export default function ProductActive({productData}){
    <> {Object.entries(settingsObject).map(([key, value]) => ( -
    +
    ))} diff --git a/src/component/product/settingsTab/GeneralTab.jsx b/src/component/product/settingsTab/GeneralTab.jsx index ab5f3fc..3334246 100644 --- a/src/component/product/settingsTab/GeneralTab.jsx +++ b/src/component/product/settingsTab/GeneralTab.jsx @@ -1,27 +1,36 @@ -import React from 'react' +import React, {memo} from 'react' -export default function GeneralTab({name='Full Name', data}) { - console.log("Page data == ", data) - return ( -
    -
    -
    -
    - <> - {Object.entries(data).map(([key, value]) => ( -
    - - -
    - ))} - -
    - +const GeneralTab = memo(({name='Full Name', data}) =>{ + console.log("Page data == ", data) + return ( +
    +
    + +
    + <> + {Object.entries(data)?.map(([key, value]) => ( +
    + + {value.controls == 'TEXT' ? + + :value.controls == 'TEXTAREA' ? +