-
Notifications
You must be signed in to change notification settings - Fork 4
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
Feature/#137 workspace에 로티애니메이션 적용 #141
The head ref may contain hidden characters: "Feature/FE/#137_workspace\uC5D0_\uB85C\uD2F0\uC560\uB2C8\uBA54\uC774\uC158_\uC801\uC6A9"
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다~~~!~!
const { pages, addPage, selectPage, closePage, updatePageTitle } = usePagesManage(); | ||
const visiblePages = pages.filter((a) => a.isVisible); | ||
const visiblePages = pages.filter((page) => page.isVisible); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
핫핫 a 누가 썼는지,,, 수정해주셔서 감사합니다!
error: Error | null; | ||
} | ||
|
||
export const useWorkspaceInit = (): UseWorkspaceInitReturn => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hook 으로 뺘셨군요!! 👍
그런데 저희 나중에 react query를 쓰게되면
const { data, isError, error, isLoading } = useQuery()
로 자체적인 useQuery훅을 써서, 지금 짜신 코드가 안 쓰일 수도 있습니다,,, useQuery 자체에서 현훈님이 작성하신 코드기능을 제공할겁니다,,,🥲
그치만 직접 구현하신거 너무 짱입니다!! 👍👍👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
추후에 reactQuery를 도입할때 개선해보겠습니다..!
/> | ||
))} | ||
<> | ||
<IntroScreen isVisible={isLoading} /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<IntroScreen isVisible={isLoading} /> | |
isLoading && <IntroScreen /> |
이렇게 조건부로도 사용할 수 있을 것 같아요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다! 어차피 hook 에서 isLoading을 부여하니까 따로 내부에서 isVisible을 볼 필요가 없군요!
width: "500px", | ||
minHeight: "400px", | ||
padding: "40px", | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기 띄어쓰기 넣어주실 수 있을까요,, ㅎㅁㅎ,,,, 약간 신경쓰입니다.. 머쓱하군요,,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다! 세세하게 봐주셔서 감사합니다 !! ㅋㅋ
export const ErrorScreen = ({ errorMessage }: ErrorScreenProps) => { | ||
return ( | ||
<div className={overlay}> | ||
<div className={`${glassContainer({ border: "lg" })} ${modalWrapper}`}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기 부분은 style파일로 다 넣어도 좋을 것 같아요! panda css 함수중에 cx 사용하면 될거에요!
bottomNavigatorContainer
검색해보시고 참고하시면 좋을 것 같습니당!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이파일은 지금은 지워버렸지만.. 다음에 꼭 사용해 보겠습니다 !
특정 스타일들을 불러와서 사용할 수 있군요! glassContainer로 지정한 Recipe와 css값을 불러올 수 있다니.. 조금 복잡하지만 정말 편한 것 같아요 panda CSS !
visibility: isInitialized && !isLoading ? "visible" : "hidden", | ||
opacity: isInitialized && !isLoading ? 1 : 0, | ||
transition: "opacity 0.3s ease-in-out", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
export const pageControlButton = cva({
base: {
borderRadius: "full",
width: "20px",
height: "20px",
cursor: "pointer",
},
variants: {
color: {
yellow: { background: "yellow" },
green: { background: "green" },
red: { background: "red" },
},
},
이렇게 사용할 수 있군요!
pandaCSS를 써보기로 했으니 적극 적용해보겠습니다.
className="fixed inset-0 flex items-center justify-center bg-white z-50" | ||
style={{ | ||
opacity: isVisible ? 1 : 0, | ||
transition: "opacity 0.5s ease-in-out", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
transition은 panda css 파일에 같이 넣으면 더 깔끔해질 것 같아요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다 !
@@ -0,0 +1,10 @@ | |||
import { Player } from "@lottiefiles/react-lottie-player"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 loading 폴더는 나중에 스켈레톤 ui 같은 컴포넌트들이 담기는 걸까요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
loading 폴더를 만들었지만, 현재
components/lotties/LoadingSpinner
components/lotties/ErrorAlert
등으로 로티용 tsx를 선언할까 생각중입니다!
스켈레톤의 경우는 별도 or lotties와 결합? 등을 고려해봐야 할 것 같네요 !
errorMessage: string; | ||
} | ||
|
||
export const ErrorScreen = ({ errorMessage }: ErrorScreenProps) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ErrorScreen는 공통 컴포넌트로 빼는거 어떠신가요?? 워크스페이스뿐만 아니라, 다른 에러나는 곳에서도 쓸 수 있을 것 같아서요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Screen에만 국한되지 않게 공통적으로 확인할 수 있도록 ErrorModal
로 빼놓겠습니다!
…into Feature/FE/#137_workspace에_로티애니메이션_적용
- glassContainer
- 내부 모듈도 Modal을 사용하여 추상화 예정
- 목적 별 분류가 아닌, 로티파일 tsx 별로 분류
- 추후 내부 요소의 크기에 맞게 container가 조절되도록 수정
- 로티애니메이션 주입 - 에러메세지 붉은색 메세지로 변경 #137
- pandaCSS로 스타일 이전 - cva사용 - red.500 -> red 로 변경 (토큰값) - isLoading 표시 올바르게 변경 - dummy error boolean값 삭제
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영하신다고 고생하셨습니다... 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다!
자동 머지가 안되서 제가 직접 눌렀습니다 ! |
📝 변경 사항
1212.mp4
🔍 변경 사항 설명
🙏 질문 사항
📷 스크린샷 (선택)
✅ 작성자 체크리스트
PR 만 열어둔 상태입니다 !!!