openreplay/frontend/app/components/Client/Projects/ProjectTabContent.tsx
Shekar Siri 80462e4534
change(ui): projects settings (#2924)
* change(ui): projects revamtp (wip)

* change(ui): projects revamtp (wip)

* change(ui): projects revamp - project form

* change(ui): projects revamp - capture rate tab

* change(ui): projects revamp - gdpr

* change(ui): projects revamp - reset state

* change(ui): projects revamp - progress avatar of samplerate, scroll etc.,

* change(ui): projects revamp - sync projects in list

* change(ui): projects revamp - project menu improvements
2025-01-08 11:50:22 +01:00

40 lines
1.2 KiB
TypeScript

import React from 'react';
import { useStore } from '@/mstore';
import { observer } from 'mobx-react-lite';
import ProjectTabTracking from 'Components/Client/Projects/ProjectTabTracking';
import CustomFields from 'Components/Client/CustomFields';
import ProjectTags from 'Components/Client/Projects/ProjectTags';
import ProjectCaptureRate from 'Components/Client/Projects/ProjectCaptureRate';
import { Empty } from 'antd';
const ProjectTabContent: React.FC = () => {
const { projectsStore } = useStore();
const { pid, tab } = projectsStore.config;
const project = React.useMemo(
() => projectsStore.list.find((p) => p.projectId === pid),
[pid, projectsStore.list]
);
if (!project) {
return <Empty description="Project not found" />;
}
const tabContent: Record<string, React.ReactNode> = React.useMemo(
() => ({
installation: <ProjectTabTracking project={project} />,
captureRate: <ProjectCaptureRate project={project} />,
metadata: <CustomFields />,
tags: <ProjectTags />
}),
[project]
);
return (
<div>
{tabContent[tab] || <Empty description="Tab not found" />}
</div>
);
};
export default observer(ProjectTabContent);