ThemeSelector에서 테마 변경 시 vscode configuration에 테마를 업데이트 하는 것과 별개로, window.theme 변수값을 재설정하여 변경된 테마를 바로 가져올 수 있도록 했습니다.
이에 따라 window.theme의 값이 즉각 변경되므로, ThemeIcons 컴포넌트에서 따로 selectedItem 변수를 사용하지 않고 window.theme 값을 사용할 수 있게 되어, selectedItem을 window.theme으로 대체 후 제거했습니다.
2. 테마 관련 상수와 타입을 분리
ThemeSelector.const.ts와 ThemeSelector.type.ts 를 생성해 따로 관리할 수 있도록 했습니다.
3. 로딩 컴포넌트의 테마 색상값 적용
상수로 분리하였기 때문에 로딩 컴포넌트에서 테마의 색상값을 가져올 수 있게 되어, 해당 색상값을 적용해주었습니다.
4. 기타 코드 리팩토링
760 에서 받았던 리팩토링 사항을 반영했습니다:
customTheme -> theme으로 용어 통일
불필요한 비동기 제거
함수 역할에 기반한 함수명으로 변경
Discussion
window.theme 값을 너무 자주 변경하게 되면 혹시나 발생하게 될 부수효과가 걱정됩니다. ....... 🥲
계속해서 직접 접근하는 대신, zustand를 사용해 처음 window.theme 값을 가져오고, 이후 zustand로 관리해주는 방법을 고민하고 있습니다 !!!
Related issue
close #747 #533
Result
https://github.com/user-attachments/assets/2b54babb-cbf1-448e-b836-e64b4e98a326
Work list
1. 브랜치 변경 시 테마 초기화되는 문제 해결
ThemeIcons
컴포넌트에서 따로selectedItem
변수를 사용하지 않고window.theme
값을 사용할 수 있게 되어,selectedItem
을window.theme
으로 대체 후 제거했습니다.2. 테마 관련 상수와 타입을 분리
ThemeSelector.const.ts
와ThemeSelector.type.ts
를 생성해 따로 관리할 수 있도록 했습니다.3. 로딩 컴포넌트의 테마 색상값 적용
4. 기타 코드 리팩토링
760 에서 받았던 리팩토링 사항을 반영했습니다:
Discussion
window.theme 값을 너무 자주 변경하게 되면 혹시나 발생하게 될 부수효과가 걱정됩니다. ....... 🥲 계속해서 직접 접근하는 대신, zustand를 사용해 처음 window.theme 값을 가져오고, 이후 zustand로 관리해주는 방법을 고민하고 있습니다 !!!