Skip to content

Fix/kanban item#76

Merged
Jieunsse merged 2 commits into
mainfrom
fix/kanban-item
Feb 23, 2026
Merged

Fix/kanban item#76
Jieunsse merged 2 commits into
mainfrom
fix/kanban-item

Conversation

@Jieunsse

Copy link
Copy Markdown
Contributor

Summary

  • (root) 하위로 [teamid], addteam 페이지 폴더 이동

Issue

  • Closes #

Scope

  • 포함

    • 변경한 내용
  • 특이사항

@Jieunsse Jieunsse merged commit 42c7c14 into main Feb 23, 2026
1 check passed
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @Jieunsse, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 Pull Request는 [teamid]addteam 페이지와 관련된 모든 파일 및 폴더를 루트 하위의 새로운 디렉토리로 이동하여 프로젝트의 전반적인 아키텍처를 개선하는 데 중점을 둡니다. 이러한 구조적 변경은 코드의 응집도를 높이고 유지보수성을 향상시키며, 향후 기능 확장 및 관리를 용이하게 할 것입니다.

Highlights

  • 파일 및 폴더 구조 재편성: 기존 src/app/[teamid]src/app/addteam 경로에 있던 모든 파일과 폴더가 하위 디렉토리로 이동되었습니다. 이는 프로젝트의 전반적인 파일 구조를 개선하기 위한 리팩토링의 일환입니다.
  • 칸반 관련 컴포넌트 이동: 칸반 보드, 컬럼, 아이템 및 관련 로직(useKanbanDnd, useKanbanTasks)을 포함한 모든 칸반 관련 컴포넌트와 훅이 새로운 위치로 옮겨졌습니다.
  • 팀 관리 및 멤버 관련 컴포넌트 이동: 팀 대시보드, 멤버 카드, 케밥 메뉴, 초대 섹션 등 팀 관리 및 멤버 관련 컴포넌트들이 재배치되었습니다.
  • API 및 쿼리 로직 이동: 그룹, 태스크, 태스크 리스트 관련 API 호출 함수 및 React Query 훅들이 새로운 디렉토리 구조에 맞춰 이동되었습니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • src/app/[teamid]/_domain/apis/group.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/apis/task.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/apis/taskList.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/apis/types.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Kanban/KanbanBoard.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Kanban/KanbanBoard.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Kanban/KanbanColumn.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Kanban/KanbanColumn.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Kanban/KanbanItem.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Kanban/KanbanItem.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Member/MemberCard.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Member/MemberCard.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Member/MemberKebabMenu.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Member/MemberKebabMenu.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Member/MemberSection.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Member/MemberSection.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Team/SidebarWrapper.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Team/TeamDashboard.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Team/TeamDashboard.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Team/TeamNavClient.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Team/TeamNavClient.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Team/TeamSidebarDropdown.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Team/TeamSidebarDropdown.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Team/TeamTabletHeader.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/Team/TeamTabletHeader.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/TodayReport/TodayReport.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/components/TodayReport/TodayReport.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/constants/mockData.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/hooks/useKanbanDnd.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/hooks/useKanbanTasks.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/interfaces/team.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/queryKeys.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/useCreateTaskListMutation.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/useDeleteGroupMutation.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/useDeleteTaskListMutation.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/useGroupInvitationQuery.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/useGroupQuery.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/useGroupTasksQuery.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/useRemoveMemberMutation.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/useTaskListQuery.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/queries/useUpdateGroupMutation.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/_domain/styles/common.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/layout.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/page.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/[teamid]/page.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/apis/image.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/components/CreateTeamCard.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/components/CreateTeamCard.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/components/FeedbackMessage.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/components/FeedbackMessage.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/components/JoinTeamCard.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/components/JoinTeamCard.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/components/NoTeamState.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/components/NoTeamState.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/constants/createTeam.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/hooks/useCreateTeam.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/hooks/useJoinTeam.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/interfaces/feedback.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/queries/useUploadImageMutation.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/styles/common.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/svg/noTeamImg.svg
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/utils/duplicationCalculator.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/_domain/utils/getCreateTeamFailureMessage.ts
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/create/page.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/join/page.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/layout.tsx
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/page.module.css
    • 파일이 새로운 위치로 이동되었습니다.
  • src/app/addteam/page.tsx
    • 파일이 새로운 위치로 이동되었습니다.
Activity
  • 이 Pull Request에는 아직 활동이 없습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR은 [teamid]addteam 관련 페이지의 파일들을 중앙 위치로 이동하는 대규모 리팩터링으로 보입니다. 코드 구성과 재사용성을 위한 좋은 변화입니다. 하지만 제공된 변경사항에는 삭제된 파일만 표시되고, 이동으로 인해 추가되거나 수정된 새 파일들은 보이지 않습니다. 새로운 코드가 없으면 전체적인 리뷰를 진행하기 어렵습니다. 따라서 제 피드백은 삭제되는 코드에 한정되며, 만약 기존 패턴이 새 코드로 이전되었다면 이 피드백이 도움이 되기를 바랍니다.

I am having trouble creating individual review comments. Click here to see my feedback.

src/app/[teamid]/_domain/hooks/useKanbanTasks.ts (80-86)

high

props(또는 props에서 파생된 메모이즈된 값)와 state를 동기화하기 위한 이 패턴은 React의 안티패턴이며 예기치 않은 동작을 유발할 수 있습니다. 렌더링 함수 본문에서 직접 state를 업데이트해서는 안 됩니다. useEffect 훅을 사용하여 파생된 computedTasks 값이 변경될 때 state를 업데이트하는 것이 올바른 접근 방식입니다. 또한 이 방법을 사용하면 prevComputed state가 필요 없어져 로직이 더 단순해집니다.

  const [tasks, setTasks] = useState<KanbanTask[]>(computedTasks);

  useEffect(() => {
    setTasks(computedTasks);
  }, [computedTasks]);

src/app/[teamid]/_domain/hooks/useKanbanTasks.ts (17-31)

medium

localStorage에 직접 접근하면 서버 사이드 렌더링(SSR) 중에 오류가 발생할 수 있습니다. localStorage는 브라우저 전용 API이기 때문입니다. 이 훅이 클라이언트 컴포넌트에서 사용될 가능성이 높지만, 잠재적인 문제를 방지하기 위해 localStorage 접근을 보호하는 것이 좋습니다. typeof window !== 'undefined' 체크를 추가하면 이 코드가 브라우저 환경에서만 실행되도록 보장할 수 있습니다.

function getStoredStatus(groupId: number, taskListId: number): KanbanStatus | null {
  if (typeof window === 'undefined') return null;
  try {
    const stored = localStorage.getItem(`kanban-status-${groupId}-${taskListId}`);
    if (stored === 'todo' || stored === 'inProgress' || stored === 'done') return stored;
    return null;
  } catch {
    return null;
  }
}

function setStoredStatus(groupId: number, taskListId: number, status: KanbanStatus): void {
  if (typeof window === 'undefined') return;
  try {
    localStorage.setItem(`kanban-status-${groupId}-${taskListId}`, status);
  } catch {}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant