Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
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
clearWindowsByCategoryhelper function deletes windows but doesn't clean up the associated state inminimizedWindows,maximizedWindows, andrestorePositions. 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 thecloseWindowmethod.
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.
- 최소화/최대화/복원 기능 구현 - Taskbar에서 최소화된 윈도우 복원 기능 추가 - TitleBar 버튼 로직 업데이트 - Window 레이아웃 및 상태 반영 스타일 구현 - useWindowStore에 상태 및 동작 관련 새로운 slice 추가 - windowVariants로 상태 기반 UI 스타일링 지원
2f64640 to
06036ba
Compare
RumPumpumpum
approved these changes
Nov 19, 2025
Collaborator
RumPumpumpum
left a comment
There was a problem hiding this comment.
구현확인했습니다.
고생하셨습니다~
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📖 개요
윈도우 최소화/최대화 기능 추가
✅ 관련 이슈
🛠️ 상세 작업 내용
📸 스크린샷
N/A
N/A
👥 리뷰 확인 사항
N/A