Advertisement
shadiff

tabs.jsx

Sep 12th, 2023
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. import React, { useState } from 'react';
  2. import Rules from './PolicyTabs/Rules';
  3. import Details from './PolicyTabs/Details'
  4. import { Link } from 'react-router-dom';
  5. import './pages.css';
  6. import Providers from './PolicyTabs/Providers';
  7. import Insurers from './PolicyTabs/Insurers';
  8. import IncExclusions from './PolicyTabs/IncExclusions';
  9. import Benefits from './PolicyTabs/Benefits';
  10. import FamilyStructure from './PolicyTabs/FamilyStructure';
  11. import FundPayment from './PolicyTabs/FundPayment';
  12. import SLA from './PolicyTabs/SLA';
  13.  
  14. const Tab = ({ label, isActive, onClick, data }) => (
  15. <div
  16. className={`tab ${isActive ? 'active' : ''}`}
  17. onClick={onClick}
  18. >
  19. {label}
  20. </div>
  21. );
  22.  
  23. const tabComponents = [
  24. // Here is where you include components
  25. <Details data={data}/>,
  26. <Rules data={data}/>,
  27. <Providers data={data}/>,
  28. <Insurers />,
  29. <IncExclusions />,
  30. <Benefits />,
  31. <FamilyStructure />,
  32. <FundPayment />,
  33. <SLA />,
  34. ];
  35.  
  36. const Tabs = ({ tabNames, data }) => {
  37. const [activeTab, setActiveTab] = useState(0);
  38.  
  39. const handleTabClick = (index) => {
  40. setActiveTab(index);
  41. };
  42.  
  43.  
  44. return (
  45. <div className="tabs-container">
  46. <div className="tabs">
  47. {tabNames.map((tab, index) => (
  48. <Link key={index} to={tab.toLowerCase()}>
  49. <Tab
  50. label={tab}
  51. isActive={index === activeTab}
  52. onClick={() => handleTabClick(index)}
  53. />
  54. </Link>
  55. ))}
  56. </div>
  57. <div className="tab-content">
  58. {tabComponents[activeTab]}
  59. </div>
  60. </div>
  61. );
  62. };
  63.  
  64. export default Tabs;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement