import React from 'react';
import { App, Button, Card, Layout, Space, Tooltip, Typography } from 'antd';
import ProjectList from 'Components/Client/Projects/ProjectList';
import ProjectTabs from 'Components/Client/Projects/ProjectTabs';
import { useHistory } from 'react-router-dom';
import { useStore } from '@/mstore';
import { observer } from 'mobx-react-lite';
import {PlusOutlined, KeyOutlined} from '@ant-design/icons'
import ProjectTabContent from 'Components/Client/Projects/ProjectTabContent';
import { useModal } from 'Components/ModalContext';
import ProjectForm from 'Components/Client/Projects/ProjectForm';
import Project from '@/mstore/types/project';
function Projects() {
const { projectsStore } = useStore();
const history = useHistory();
const { project, pid, tab } = projectsStore.config;
const { openModal, closeModal } = useModal();
React.useEffect(() => {
const params = new URLSearchParams(history.location.search);
const pid = params.get('pid');
const tab = params.get('tab');
projectsStore.setConfigProject(pid ? parseInt(pid) : undefined);
projectsStore.setConfigTab(tab);
}, []);
React.useEffect(() => {
const params = new URLSearchParams(history.location.search);
if (projectsStore.config.pid) {
params.set('pid', projectsStore.config.pid + '');
}
if (projectsStore.config.tab) {
params.set('tab', projectsStore.config.tab);
}
history.push({ search: params.toString() });
}, [pid, tab]);
const createProject = () => {
openModal(, {
title: 'Add Project'
});
};
return (
Projects}
extra={}
>
{project && }
);
}
export default observer(Projects);
function ProjectKeyButton({ project }: { project: Project | null }) {
const { message } = App.useApp();
const copyKey = () => {
if (!project || !project.projectKey) {
void message.error('Project key not found');
return;
}
void navigator.clipboard.writeText(project?.projectKey || '');
void message.success('Project key copied to clipboard');
};
return (
} size="small" />
);
}