feat: 프론트엔드 프로젝트 우선 구조 재구성 (Phase 2-a)
- 데이터 계층 신설: types/project·useProject·project.store (프로젝트 CRUD·페이지네이션) - useTask/useMember/useActivity 경로를 /projects/:projectId/... 로 전환 - task·my-task·activity 타입/스토어 repoId/repoName → projectId/projectName - 알림 store 라우팅·문구 프로젝트화, 활동 타입 repo.linked/unlinked·project.* 반영 - 라우팅 /projects/... 전면 교체, / → /projects 리다이렉트 - 페이지 rename Repo*→Project* (List/Create/Detail/Settings/Members/Activity) - ProjectCreatePage: Gitea 저장소 폼 → 단순 프로젝트 생성 폼으로 재작성 - RepoHeader→ProjectHeader, RepoTabs→ProjectTabs, AppShell 네비 프로젝트화 - 죽은 파일 삭제: repo.store·useRepo·GiteaRepoBar Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,8 +18,8 @@ const authStore = useAuthStore()
|
||||
const agentOpen = ref(false)
|
||||
|
||||
// 현재 경로 기준으로 상단 네비 활성 항목을 판별
|
||||
const activeNav = computed<'tasks' | 'repos'>(() =>
|
||||
route.path.startsWith('/repos') ? 'repos' : 'tasks',
|
||||
const activeNav = computed<'tasks' | 'projects'>(() =>
|
||||
route.path.startsWith('/projects') ? 'projects' : 'tasks',
|
||||
)
|
||||
|
||||
// 현재 로그인 사용자(프로필 아바타는 UserAvatar 가 이미지/placeholder 로 표시)
|
||||
@@ -65,7 +65,7 @@ async function onLogout() {
|
||||
<template>
|
||||
<header class="topbar">
|
||||
<RouterLink
|
||||
to="/repos"
|
||||
to="/projects"
|
||||
class="brand"
|
||||
>
|
||||
<div class="logo">
|
||||
@@ -82,10 +82,10 @@ async function onLogout() {
|
||||
내 업무
|
||||
</RouterLink>
|
||||
<RouterLink
|
||||
to="/repos"
|
||||
:class="{ active: activeNav === 'repos' }"
|
||||
to="/projects"
|
||||
:class="{ active: activeNav === 'projects' }"
|
||||
>
|
||||
저장소
|
||||
프로젝트
|
||||
</RouterLink>
|
||||
</nav>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user