Skip to content

playground store 생성 및 탭 추가/닫기, 탭 활성화, 탭 이동 히스토리 기능 구현#9

Merged
Bori-github merged 12 commits intomainfrom
feat/playground-store
Oct 30, 2025
Merged

playground store 생성 및 탭 추가/닫기, 탭 활성화, 탭 이동 히스토리 기능 구현#9
Bori-github merged 12 commits intomainfrom
feat/playground-store

Conversation

@Bori-github
Copy link
Collaborator

📌 요약

  • playground store 생성 및 탭 추가/닫기, 탭 활성화, 탭 이동 히스토리 기능 구현

📝 작업 내용

  • playground store를 생성하여 탭 추가, 탭 닫기, 탭 활성화, 탭 이동 히스토리 기능 구현
  • 기존 playgorund page 컴포넌트를 복제하여 위젯 컴포넌트 생성하여 탭 활성 여부에 따라 위젯 컴포넌트 렌더링 되도록 적용
  • 탭 닫기 시 이전 활성화 탭이 자동으로 활성화 되도록 처리

🔍 스크린샷

2025-10-29.9.09.26.mov

💡 참고 사항

  • 없음

@Bori-github Bori-github self-assigned this Oct 29, 2025
@Bori-github Bori-github added the enhancement New feature or request label Oct 29, 2025
@ohah ohah requested a review from Copilot October 29, 2025 12:21
Copy link
Contributor

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 refactors the playground component architecture to support multiple tabs with independent playground states. It introduces a new Zustand store to manage playground tabs and their associated state, replacing the previous local state management approach.

  • Introduced usePlaygroundStore with tab management and history tracking
  • Created PlaygroundWidget component that receives playground state as props
  • Refactored PlaygroundGroups to use the new store for tab management

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
apps/executeJS/src/features/playground/store.ts New Zustand store for managing playground tabs, active tab state, and tab history with localStorage persistence
apps/executeJS/src/features/playground/index.ts Export barrel for the playground feature
apps/executeJS/src/widgets/playground/playground-widget.tsx New widget component that renders a playground editor and output panel
apps/executeJS/src/widgets/playground/index.ts Export barrel for the playground widget
apps/executeJS/src/pages/playground/playground-groups.tsx Refactored to use the new playground store and render PlaygroundWidget components

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

@Bori-github Bori-github merged commit d1436f3 into main Oct 30, 2025
3 checks passed
ohah pushed a commit that referenced this pull request Dec 12, 2025
* feat: playground store 생성
- 탭 추가 로직 추가

* feat: 탭 추가 기능 스토어 로직으로 변경 및 탭 닫기 기능 임시 주석처리

* feat: 탭 닫기 기능 생성 및 playgrounds Map객체로 변경

* feat: 탭 닫기 기능 스토어 로직으로 변경

* feat: playground-page 컴포넌트 복제하여 playground widget 생성

* feat: 활성화된 탭에 따른 playground widget 컴포넌트 렌더링

* feat: 클릭한 탭 제목 클릭 시 탭 활성화 기능

* refactor: 활성화된 탭 id 저장하여 탭 활성화 여부 로직 변경

* feat: 탭 이동 히스토리 스토어에 추가 및 탭 닫기 시 이전 탭 활성화 처리

* fix: 사용하지 않는 값 제거

* chore: 탭 히스토리의 마지막 탭과 현재 선택한 탭이 동일한 경우, 탭 히스토리에 중복으로 쌓이지 않도록 처리

* chore: 불필요한 partialize 옵션 제거
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant