laconic-deploy/packages/frontend/src/components/projects/project/ProjectTabs.tsx
Nabarun Gogoi c0a20c80a2
Implement layout for Project settings tab panel (#10)
* Implement tab functionality for settings pannel

* Use material ui input component

* Handle form state of general panel

* Organize project components

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-20 10:16:10 +05:30

65 lines
1.7 KiB
TypeScript

import React from 'react';
import { Tab, Tabs, TabList, TabPanel } from 'react-tabs';
import OverviewTabPanel from './OverviewTabPanel';
import DeploymentsTabPanel from './DeploymentsTabPanel';
import { ProjectDetails } from '../../../types/project';
import SettingsTabPanel from './SettingsTabPanel';
interface ProjectTabsProps {
project: ProjectDetails;
}
const Database = () => (
<div>
Content of database tab
<p className="block">
It is a long established fact that a reader will be distracted by the
readable content of a page when looking at its layout.
</p>
</div>
);
const Integrations = () => (
<div>
Content of integrations tab
<p className="block">
There are many variations of passages of Lorem Ipsum available.
</p>
</div>
);
const ProjectTabs = ({ project }: ProjectTabsProps) => {
return (
<Tabs
selectedTabClassName={
'border-b-2 border-gray-900 text-gray-900 focus:outline-none'
}
>
<TabList className="flex border-b border-gray-300 text-gray-400">
<Tab className={'p-2 cursor-pointer'}>Overview</Tab>
<Tab className={'p-2 cursor-pointer'}>Deployments</Tab>
<Tab className={'p-2 cursor-pointer'}>Database</Tab>
<Tab className={'p-2 cursor-pointer'}>Integrations</Tab>
<Tab className={'p-2 cursor-pointer'}>Settings</Tab>
</TabList>
<TabPanel>
<OverviewTabPanel project={project} />
</TabPanel>
<TabPanel>
<DeploymentsTabPanel />
</TabPanel>
<TabPanel>
<Database />
</TabPanel>
<TabPanel>
<Integrations />
</TabPanel>
<TabPanel>
<SettingsTabPanel />
</TabPanel>
</Tabs>
);
};
export default ProjectTabs;