Skip to content

Conversation

@sageherb
Copy link
Collaborator

📖 개요

윈도우 최소화/최대화 기능 추가

✅ 관련 이슈

🛠️ 상세 작업 내용

  • 최소화/최대화/복원 기능 구현
  • Taskbar에서 최소화된 윈도우 복원 기능 추가
  • TitleBar 버튼 로직 업데이트
  • Window 레이아웃 및 상태 반영 스타일 구현
  • useWindowStore에 상태 및 동작 관련 새로운 slice 추가
  • windowVariants로 상태 기반 UI 스타일링 지원

📸 스크린샷

N/A

⚠️ 주의 사항

N/A

👥 리뷰 확인 사항

N/A

@sageherb sageherb requested a review from Copilot November 19, 2025 17:39
@vercel
Copy link

vercel bot commented Nov 19, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
backspace Ready Ready Preview Comment Nov 19, 2025 6:04pm

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements window minimize, maximize, and restore functionality for the window management system, including integration with the taskbar for restoring minimized windows.

  • New window state management (minimized, maximized, restore positions) added to the window store
  • Window variants system for state-based UI styling with responsive behavior
  • TitleBar buttons now functional with proper event handling and accessibility labels

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/types/database.types.ts Removes unused graphql_public schema definitions (appears to be unrelated cleanup)
src/stores/useWindowStore.ts Adds minimize/maximize/restore state management and associated action methods
src/os/Window/variants.ts New file defining CSS variants for window states (minimized, maximized, active, centered)
src/os/Window/Window.tsx Integrates minimize/maximize functionality with proper state handling and drag behavior
src/os/TitleBar/TitleBar.tsx Implements event handlers for minimize/maximize/close buttons with proper event propagation control
src/os/Taskbar/Taskbar.tsx Adds logic to restore minimized windows when clicking taskbar tabs and updates focus state display
Comments suppressed due to low confidence (1)

src/stores/useWindowStore.ts:39

  • The clearWindowsByCategory helper function deletes windows but doesn't clean up the associated state in minimizedWindows, maximizedWindows, and restorePositions. This could lead to memory leaks and stale state when windows of the same category are reopened. Consider cleaning up these related states for each deleted window ID, similar to what's done in the closeWindow method.
const clearWindowsByCategory = (
  windows: Partial<Record<WindowAppId, WindowInstance>>,
  category: WindowCategory
) => {
  const idsToDelete = Object.values(windows)
    .filter((window) => window?.category === category)
    .map((window) => window.id);

  idsToDelete.forEach((id) => {
    if (id) {
      delete windows[id];
    }
  });
};

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@prgrms-fe-devcourse prgrms-fe-devcourse deleted a comment from Copilot AI Nov 19, 2025
@prgrms-fe-devcourse prgrms-fe-devcourse deleted a comment from Copilot AI Nov 19, 2025
- 최소화/최대화/복원 기능 구현
- Taskbar에서 최소화된 윈도우 복원 기능 추가
- TitleBar 버튼 로직 업데이트
- Window 레이아웃 및 상태 반영 스타일 구현
- useWindowStore에 상태 및 동작 관련 새로운 slice 추가
- windowVariants로 상태 기반 UI 스타일링 지원
Copy link
Collaborator

@RumPumpumpum RumPumpumpum left a comment

Choose a reason for hiding this comment

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

구현확인했습니다.
고생하셨습니다~

@sageherb sageherb merged commit ce1add3 into dev Nov 19, 2025
2 checks passed
@sageherb sageherb deleted the feature/window branch November 19, 2025 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 윈도우 최소화 최대화 기능 구현

3 participants