import React, { createElement } from 'react'; import { Project } from 'gql-client'; import { Tabs, TabsHeader, TabsBody, Tab, TabPanel, } from '@material-tailwind/react'; import Domains from './settings/Domains'; import GeneralTabPanel from './settings/GeneralTabPanel'; import { EnvironmentVariablesTabPanel } from './settings/EnvironmentVariablesTabPanel'; import GitTabPanel from './settings/GitTabPanel'; import MembersTabPanel from './settings/MembersTabPanel'; const tabsData = [ { label: 'General', icon: '^', value: 'general', component: GeneralTabPanel, }, { label: 'Domains', icon: '^', value: 'domains', component: Domains, }, { label: 'Git', icon: '^', value: 'git', component: GitTabPanel, }, { label: 'Environment variables', icon: '^', value: 'environmentVariables', component: EnvironmentVariablesTabPanel, }, { label: 'Members', icon: '^', value: 'members', component: MembersTabPanel, }, ]; const SettingsTabPanel = ({ project, onUpdate, }: { project: Project; onUpdate: () => Promise; }) => { return ( <> {tabsData.map(({ label, value, icon }) => (
{icon}
{label}
))}
{tabsData.map(({ value, component }) => ( {createElement(component, { project: project, onUpdate: onUpdate, })} ))}
); }; export default SettingsTabPanel;