import React, { useEffect, useState } from "react"; import { Link, useLocation } from "react-router-dom"; import CustomBreadcrumb from "../../Breadcrumb/CustomBreadcrumb"; import Icons from "../../Helpers/Icons"; import Layout from "../../Partials/Layout"; import { AddFamily, FamilyBanner, Relatives } from "./Tabs"; const FamilySettings = () => { let { state } = useLocation(); const tabs = [ { id: 1, name: "add_family", title: "Add Family", iconName: "new-family", }, { id: 2, name: "relatives", title: "Relatives", iconName: "people-hover", }, { id: 3, name: "family_banner", title: "Family Banner", iconName: "people-hover", }, ]; const [tab, setTab] = useState(() => { // Retrieve the active tab from local storage or use the default tab return localStorage.getItem("activeTab") || tabs[0].name; }); const tabHandler = (value) => { setTab(value); }; // Update local storage when the tab changes useEffect(() => { localStorage.setItem("activeTab", tab); }, [tab]); const tabComponents = { add_family: , relatives: , family_banner: , }; const defaultTabComponent = Array(tabComponents)[0].add_family; const selectedComponent = tabComponents[tab] || defaultTabComponent; return (
{/* heading */}
Family
    {tabs.map(({ name, id, title, iconName }) => (
  • tabHandler(name)} key={id} className={`flex lg:space-x-4 space-x-2 hover:text-purple transition-all duration-300 ease-in-out items-center cursor-pointer lg:mb-11 mb-2 mr-6 lg:mr-0 float-left lg:float-none overflow-hidden ${ tab === name ? "text-purple" : " text-thin-light-gray" }`} >

    {title}

  • ))}
{selectedComponent}
); }; export default FamilySettings;