-
Notifications
You must be signed in to change notification settings - Fork 103
refactor(view): ThemeSelector 리팩토링 및 공통 MUI 컴포넌트 정의 #1023
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
refactor(view): ThemeSelector 리팩토링 및 공통 MUI 컴포넌트 정의 #1023
Conversation
…ides - Define common IconButton styles in MUI theme - Remove duplicated inline styles from RefreshButton - Replace ThemeSelector icon with MUI IconButton component
- Define common Select styles in MUI theme - Remove duplicated inline styles from BranchSelector and AuthorBarChart
- Define common Tooltip styles in MUI theme - Remove duplicated inline styles from Author and Detail
@ytaek 대부분의 디자인 시스템(머터리얼, 아틀라시안 등)도 primary/secondary 중심으로 이루어져 있고 오픈소스 특성상 매번 다른 분들이 참여하다 보니 색상의 다양성보다는 개발자들이 직관적으로 이해하기 쉬운 최소 단위로 구성해야한다고 생각했습니다. 애매모호함은 결국 나중에 유지보수 리스크로 다가오니까요. MUI 테마와 통합하는 과정에서도 MUI에서 공식적으로 지원하는 색상 구조가 primary/secondary 뿐이라 tertiary를 유지하게 되면 따로 커스텀 작업이 필요했습니다. 테마는 관리를 편하게 하기 위해서 도입한 것인데 이를 확장해서 오히려 복잡성을 증가시킬 필요가 있을까? 싶었습니다. 그래서 인터랙션 같은 부분들은 동일 색상의 ligth, dark 컬러를 사용할 수 있도록 추가하고 tertiary 색상은 제거하는 것으로 테마 구조를 단순화했습니다. 결과적으로 색상 수는 줄었지만 일관성이나 상태 피드백은 훨씬 명확해졌습니다. 사전에 디코에 공유드렸을 때는 다른 의견들이 없으신 것 같아 그대로 진행했는데, 기존 구조를 그대로 유지해야한다면 다시 복원해서 반영하도록 하겠습니다🙌 |
넵! core 팀에서 얘기가 된 부분이군요! 디스코드는 제가 놓쳤나 봅니다 ㅜ.ㅜ 그래서 저 두가지 색깔을 primary/secondary로 쓰기는 사실 애매하긴 하죠
저희가 ui fw를 어떤걸 가져갈지에 따라서도 좀 다를 수 있겠구요. mui를 계속 쓸지말지도 모르기도 하고
이거는 맞는 말씀이죵!! 그리고, 실제로 개발할 때 primary, secondary만 사용하지는 않긴 합니다. 여러가지 색을 섞어 쓰긴 하죠. 결론적으로
요 얘기를 issue 에서 한번 discussion으로 등록해놔도 좋겠네요. |
|
그나저나 @nxnaxx 님이 올리시는 PR이나 이슈 보면 기술적 깊이라던지, 여러가지 상황들에 대한 깊은 고려들이 많이 보여서 저도 많이 배우는 것 같습니다 : ) 이런 건설적인 토의가 많아지면 참 좋겠네요! |
두 가지로 제한하면서 좀 더 대비되는 색상을 선택하다보니 이 부분은 미처 생각하지 못했네요😅
맞습니다. 자유도가 커지면 커스텀하기 좋겠네요ㅎㅎ 지금보다는 더 견고한 설계가 필요하겠지만요
넵ㅎㅎ 공감합니다. 개수 제한보다는 각 색상이 어떤 역할인지 명확히 정의되어 있는 게 더 중요한 것 같습니다. 데이터 표현이 많다보니 기본 색상 외에도 유연하게 확장할 수 있는 구조가 필요할 것 같네요. |
감사합니다! 저도 덕분에 많이 배우고 있습니다😄 |







Related issue
#1017
Overview
Work list
1. ThemeSelect 리팩토링
ThemeSelector.const.ts에 분산되어 있던THEME_INFO제거THEME_CONFIG로 일원화하여 참조 구조 개선2. Loader 테마 참조 변경
App.tsx)3. 공통 MUI 컴포넌트 스타일 정의
RefreshButton.tsx,ThemeSelector.tsxBranchSelector.tsx,AuthorBarChart.tsxAuthor.tsx,Detail.tsx4. SCSS 변수 토큰 추가
src/styles/_radius.scsssrc/styles/_spacing.scss5. 기타 UI 개선
AuthorBarChart의 title과 select 수평 정렬Result