diff options
Diffstat (limited to 'components/project/ProjectList.tsx')
| -rw-r--r-- | components/project/ProjectList.tsx | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/components/project/ProjectList.tsx b/components/project/ProjectList.tsx index 9dec7e77..e267b21c 100644 --- a/components/project/ProjectList.tsx +++ b/components/project/ProjectList.tsx @@ -98,20 +98,31 @@ export function ProjectList() { fetchProjects(); }, []); - const fetchProjects = async () => { - try { - const response = await fetch('/api/projects'); - const data = await response.json(); - setProjects(data); - } catch (error) { - toast({ - title: 'Error', - description: 'Unable to load project list.', - variant: 'destructive', - }); +// components/project/ProjectList.tsx 의 fetchProjects 함수 수정 + +const fetchProjects = async () => { + try { + const response = await fetch('/api/projects'); + const data = await response.json(); + setProjects(data); + + // 멤버인 프로젝트가 정확히 1개일 때 자동 리다이렉트 + const memberProjects = data.member || []; + const ownedProjects = data.owned || []; + const totalProjects = [...memberProjects, ...ownedProjects]; + + if (totalProjects.length === 1) { + const singleProject = totalProjects[0]; + router.push(`/evcp/data-room/${singleProject.id}/files`); } - }; - + } catch (error) { + toast({ + title: 'Error', + description: 'Unable to load project list.', + variant: 'destructive', + }); + } +}; const onSubmit = async (data: ProjectFormData) => { setIsSubmitting(true); try { |
