-
Notifications
You must be signed in to change notification settings - Fork 0
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
Kk 28/fix rw club #130
Kk 28/fix rw club #130
Conversation
src/pages/ClubPage.tsx
Outdated
|
||
const handleLikeClick = useCallback( | ||
(clubId: number) => { | ||
if (isLogin) likeClub({ clubId, queryParams: query }) | ||
if (isLogin) likeClub({ clubId, queryParams: { ...query, isLogin } }) | ||
else alert('Please sign in to use!') |
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.
p2; ์ฌ๊ธฐ alert ์์ ์ฃผ์ธ์..!
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.
์ด๊ฑฐ toast ์ปดํฌ๋ํธ ๋ชจ๋ฐ์ผ ์ต์ ํ๊ฐ ์๋์ด ์์ด ์ดํ PR์ ์ถ๊ฐํ๋ ค๊ณ ํ์ต๋๋ค!
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.Recording.2024-11-24.at.5.50.45.PM.mov
๋ณด์๋ฉด ์๋ ๋ฐ์คํฌํ์ ์๋จ ํค๋๋ฅผ ์ด์ง ๊ฐ๋ฆฌ๋ ํํ๋ก ๋จ๋๋ฐ,
๋ชจ๋ฐ์ผ์์๋ ์์น๊ฐ ๋๊ฐ๋ค๋ณด๋ ์์ชฝ์ ๋ถํ์ํ๊ฒ ๋๋ฌด ํฌ๊ฒ ํ์๋ฉ๋๋ค.
๋ชจ๋ฐ์ผ ํ ์คํธ๋ฅผ ์ด๋ป๊ฒ ๋ณด์ฌ์ค์ง๋ ํ์ ๋ ๋
ผ์ํด๋ณด๋ฉด ์ข๊ฒ ๊ตฐ์
ํฐํธ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ , ์๋จ๋ณด๋ค๋ ํ๋จ์ผ๋ก ์์น๋ฅผ ์ฎ๊ธด ํ ๋ฐ์ํ ํ์ด์ง์ ์ผ๊ด์ ์ผ๋ก ์ ์ฉํ๋๊ฒ ์ข์ ๊ฑฐ ๊ฐ์์!
src/pages/ClubPage.tsx
Outdated
}, | ||
[deleteParam, handleSetParam], | ||
[setQuery, query], |
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.
๊ทผ๋ฐ ์ ์ถ์ธก์ด ๋ง๋ค๋ฉด? query ๊ฐ์ฒด๋ ๋งค๋ฒ ์ฌ์์ฑ ๋ ํ ๋ฐ, query ๊ฐ์ฒด ๋ด๋ถ ์์ฒด๋ ๊ทธ๋๋ก์ผ ์ ์์ด์ dependency์ ๋ฃ์ด๋๋ฉด ๋ฌด์กฐ๊ฑด ๋ฆฌ๋ ๋ ๋ฐ์ํ ํ๋ฅ 100%
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.
์กฐ๊ธ ๋ ๋ถ์ฐ ์ค๋ช ์ ํ์๋ฉด,
searchFilter = {
id: query?.id,
name: query?.name
}
์ด๋ฐ searchFilter๊ฐ ์๋ค๊ณ ํ์ ๋,
pagination ์ด ๋ฐ์ํด์ page query๊ฐ ๋ฐ๋ ๊ฒฝ์ฐ query ๊ฐ ์ฌ์์ฑ ๋๊ณ searchFilter ๋ ์ฌ์์ฑ ๋๊ฒ ์ฃ ?
ํ์ง๋ง ์ค์ ๋ด๋ถ ๊ฐ์ฒด ์์ฒด๋ ๊ทธ๋๋ก์ธ ์ํฉ์์ searchFilter๋ฅผ ์์กดํ๋ ์ฝ๋ฐฑํจ์๋ ์ฌ์์ฑ๋ ํ์ ์๋๋ฐ ์ฌ์์ฑ๋๋ ์์ด๋ฌ๋ํจ์ ๊ฒช์ ๊ฒ ๊ฐ๋ค? ๋ผ๋ ๋ด์ฉ์ด์์ด์.
- club search api hook, create query ๋ก์ง ๋ถ๋ฆฌ - Responsive Component ๊ตฌํ, UI์ ๋ก์ง ๋ถ๋ฆฌ - useDrawer open ํจ์ ์ธ์ obejct๋ก ๋ณ๊ฒฝ
92343f1
to
0f1992d
Compare
@Virtuso1225 ์ฐ์ PR ๋ฆฌ๋ทฐ ๋์๋ ํญ๋ชฉ์ ๋ฐ์ ์๋ฃํ์ต๋๋ค |
src/util/hooks/useDeepCompare.ts
Outdated
}) | ||
} | ||
|
||
if (typeof obj1 === 'object' && typeof obj2 === 'object' && obj1 !== null && obj2 !== null) { |
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.
p3; obj1, obj2 null ์ธ ๊ฒฝ์ฐ early return ํ๋ฉด ๊น๊ผผํ์ง ์์๊น~? ํ๋ ์๊ฐ
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.
์ฝ๊ฐ ์ ๊ฐ ํ๋ ๋ง๊ณผ๋ ์ด์ง ๋ชจ์์ด์ง๋ง...๏ฟฝisDeepEqual ๊ฐ์ ํต์ฌ js ๊ธฐ๋ฅ์ es-toolkit or lodash์ isEqual์ ์ฐ๋ ๊ฒ์ ์ด๋ ํ ์ง...
es-toolkit isEqual ํ ๋ฒ ๊น๋ณด๋๊น ์ข ์ ํด๋ ๊ฒ ๊ฐ์์
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.
์ด๊ฑด ์ง๊ธ isDeepEqual์ด ์ ๋๋ค๋ฉด ๊ทธ๋ฅ ๋์ด๊ฐ๋ ์ค์ผ์ด~
* fix:: ์ ํญ์์ ์ด๊ธฐ ๋ฒ๊ทธ fix - noopener, noreferrer ์์ฑ์ ํตํด, ์ ํญ์ผ๋ก ์ฐ ์ฐฝ์์๋ ์ํญ ์ด๊ธฐ ๊ฐ๋ฅํ๋๋ก * fix:: major category ์ ํ ๋ชจ๋ฌ ๋์์ธ * feat:: ์๋ก์ด ์๊ฐํ ์ถ๊ฐ ๋ฒํผ ๊ตฌํ * mod:: Timetable ์ปดํฌ๋ํธ ๋ฐ์์๋ BottomSheet ์ด๊ณ ๋ซ์ ์ ์๋๋ก ์ฝ๋ ์์ * mod:: BottomSheet Position ์กฐ์ * fix:: Attendance ์งํ ์ ํฌ์ธํธ ํ์คํ ๋ฆฌ๋ ์ ๋ฐ์ดํธ * mod:: ticket -> key๋ก ์๋ฉ ์์ * feat:: Reading Key Expiration Card ๊ตฌํ & API ์ ์ฉ * design:: Figma Style๊ณผ ๋๊ธฐํ & ๋ฐ์ํ ์ ์ฉ * feat:: setInterval์ ํตํ ์๋ ์นด์ดํธ ๋ค์ด * feat:: ์บ๋ฆญํฐ ๋ณ๊ฒฝ ์ฑ๊ณต ์ ์คํฌ๋กค up * feat:: Change Password Error Handling * feat:: Change Profile Error Handling * mod:: Apply Btn ์คํ์ผ ๋ณ๊ฒฝ * fix:: Response๊ฐ ์ค์ง ์์ ๋ ์ฒ๋ฆฌ * mod:: MyPage ๊ฒ์๊ธ ๋ชจ์๋ณด๊ธฐ์์ ์ฌ์ง ์ ๋ณด์ด๋๋ก ์์ * feat:: My Community Page Search Param์ ํตํด url ๋ถ๊ธฐ * mod:: My Community ๋๊ธ ์นด๋ ๋์์ธ ์์ * feat:: <head>์ Amplitude ์ถ๊ฐ * Feat/temp password (#67) * feat:: ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ ํ์ด์ง ์ฐ๊ฒฐ * feat:: ๋น๋ฐ๋ฒํธ ๋ฆฌ์ ์ดํ ๋ชจ๋ฌ ์ฐฝ์ผ๋ก ๋ก๊ทธ์ธ ๋ค๋น๊ฒ์ด์ --------- Co-authored-by: halion <[email protected]> * feat: make Dockerfile * mod: Dockerfile KU-key์ ๋ง์ถ์ด ์์ * feat:: ๋ฐฉ์ก๊ตญ ๋จ์ฒด youtube link ์ฐ๊ฒฐ ๋ฐ ๋จ์ฒด ๋ณ๊ฒฝ (#71) * feat:: serve๋ฅผ ํตํ build file ์คํ * fix:: ์คํ ์์ * chore:: Create docker-image.yml * chore:: ๋์ปค ๋น๋ ๋ ts๋ ์ค์น * chore:: Panda init๋ ์คํ * fix::yarn ๊น๊ธฐ ์ ์ panda init? * fix:: Panda init ๋กค๋ฐฑ * chore:: build ๋ tsc ์ ์ธ * chore:: Local ํ๊ฒฝ๊ณผ ๋๊ฐ์ด ์ธํ * fix:: ์์ ๋ณ๊ฒฝ * fix:: Drop Production * fix:: frozen lockfile & ignore scripts ์์ฑ ์ฃผ๊ธฐ * fix:: tsc -noEmit ์ค์ * test:: yarn dev๋ก ์คํํด๋ณด๊ธฐ * chore:: vite config์ ์ ๋๊ฒฝ๋ก ๋ช ์ * fix:: DockerFile * Revert "fix:: DockerFile" This reverts commit e0c3f37. * Revert "chore:: vite config์ ์ ๋๊ฒฝ๋ก ๋ช ์" This reverts commit 75ee8d9. * chore:: yarn install & serve with serve * fix:: Panda CSS Config ๊ฒฝ๋ก ์์ * fix:: DockerFile ์คํ ์ panda config copy * fix:: dockerfile copy * fix: ์ฒ์์ Copyํ๊ธฐ * feat: main-deploy.yml * feat:: dev-deploy.yml * #38 (#68) * [#38] feat:: ์ญ์ ๋ ๋๊ธ Username ์ง์ * feat:: ๊ฒ์๊ธ ๋๊ธ ์ต๋ช ์ฑ์ ๋ฐ๋ฅธ ui ๋ฐ์ * fix:: isAuthor ์ธ์ ์ถ๊ฐํ๊ธฐ * [#38] feat:: ์ญ์ ๋ ๋๊ธ Username ์ง์ * feat:: ๊ฒ์๊ธ ๋๊ธ ์ต๋ช ์ฑ์ ๋ฐ๋ฅธ ui ๋ฐ์ * fix:: isAuthor ์ธ์ ์ถ๊ฐํ๊ธฐ * design:: Lecture ์ถ๊ฐ๋ฅผ ์ํ ๋ฒํผ ์ญ์ & BottomSheet Drawer ์ ์ํ * feat:: ๋น ํ๊ธฐ์ ๋ค์ด๊ฐ ์ ์๋ ํ์ํ ์ด๋ธ ์ถ๊ฐ :RealCookie: * feat:: My Timetable Page์์๋ Null table์ด ๋ณด์ด์ง ์๋๋ก ์ฒ๋ฆฌ * fix:: merge conflict * Feat/comment delete api (#69) * [#38] feat:: ์ญ์ ๋ ๋๊ธ Username ์ง์ * feat:: ๊ฒ์๊ธ ๋๊ธ ์ต๋ช ์ฑ์ ๋ฐ๋ฅธ ui ๋ฐ์ * fix:: isAuthor ์ธ์ ์ถ๊ฐํ๊ธฐ * feat:: ๋๊ธ ์ญ์ api ์ฐ๊ฒฐ - ์ญ์ ๋ ๋๊ธ ๊ธฐ์ค util button ๊ฐ์ถ๊ธฐ - ๋๊ธ ์ญ์ ์ดํ invalidation queryKey ์ปค์คํ ํ ์ผ๋ก ํธ๋ค๋ง * feat:: ๋๊ธ ์์ฑ์ ์ต์๋จ์ ๋ฐฐ์น - ๋ฆฌ๋ ๋๋งํ ๋ ๋ฐฑ์๋ api์ ๋ฐ๋ผ ๋ฐฐ์น * fix:: queryKey parse Type error * feat:: ์ญ์ ๋ ๋๊ธ UI ๋ฒํผ visibility ๋ง ์กฐ์ * mod: PR Review ๋ฐ์ - Bottom Sheet State๋Sheet ์ปดํฌ๋ํธ ๋ด์์ ๊ด๋ฆฌ * fix: Dummy Timetable์ด์ด๋ ์๋ฒ๋ก ์์ฒญ ๋ณด๋ด๋ ๋ฌธ์ * mod: INIT data ์ค๋ณต ์ ๊ฑฐ * chore: Add Amplitude Library * mod: Amplitude init script tag์์ tsx provider๋ก * feat:: Docker ๋ฒ๋ฆฌ๊ณ S3 ์ ์ ๋ฐฐํฌ * test: deploy ๋์๊ฐ๋์ง ํ ์คํธ * fix: aws cli ์ค์น ์ถ๊ฐ * fix: Cli ์ค์น๊ณผ์ ์ญ์ , CloudFront invalidation ๋ก์ง ๋ณ๊ฒฝ * test: dev ๋ธ๋์น๋ก testingํ๋๊ฑฐ ์ ์ํ * feat: .env ํ์ผ ๋ฑ๋ก * test: dev -> main * typo: change deploy.yml name * rename: Academic Calendar ๋ก์ง & ์ปดํฌ๋ํธ Calendar๋ก ํฉ๋ณ * feat: Banner API * mod: isLoading์ผ๋ก ์ค์ผ๋ ํค ๊ด๋ฆฌ * fix: ์ฌ์ง ๋ก๋ฉ์ด ๋ ๋์ด ํ๋ฉด ๊น๋นก๊ฑฐ๋ฆฌ๋ ํ์ * fix: ์ค์ผ๋ ํค ๋ฐฐ๋ width๊ฐ ์ ๋๋ก ์ ๋จน๋ ๋ฒ๊ทธ * feat: MetaTag Component * feat: Club Page ๋ฉํํ๊ทธ ์ ์ฉ * mod: Change Club Description * feat: Academic Schedule Page ๋ฉํํ๊ทธ ์ ์ฉ * feat: ์ฌ์ด๋ ํญ ๊ตฌํ (#79) * feat: side-tab component ๊ตฌํ * chore: default ์บ๋ฆญํฐ ์ด๋ฏธ์ง ๊ต์ฒด * feat: side-tab nav ์ฐ๊ฒฐ * feat: ์ฌ์ด๋ ํญ ์ ์ ์ ๋ณด ๋ณด์ฌ์ฃผ๊ธฐ * chore: ๋ถํ์ํ type export ์์ ๊ธฐ * chore: sheet ํ์ ์์ title, description srOnly ๋ก ์ฃผ์ * chore: import ์ด๋ฆ ์์ * feat: pr ๋ฆฌ๋ทฐ ๋ฐ์ * fix: ํ์๊ฐ์ ์ด๋ฉ์ผ ์ธ์ฆ์ฝ๋ valid check (#85) * feat: menu์ ๋ก๊ทธ์ธ ํญ๋ชฉ ๋ฃ๊ธฐ (#87) * feat: menu์ ๋ก๊ทธ์ธ ํญ๋ชฉ ๋ฃ๊ธฐ * feat: input fontsize smDown ์ธ ๊ฒฝ์ฐ 16px ๋ก ์์ * fix: Footer ๋ผ์ฐํ ๋ฒ๊ทธ, ๋ฉ๋ด ์์ * fix: Routing ๋ฌ๋ผ์ง ๋ ๊ธฐ๋ณธ Scroll Up * fix: timetable ๋ผ์ฐํ ๋ด์์๋ ์คํฌ๋กค์ด ์ด๊ธฐํ๋์ง ์๋ ๋ฒ๊ทธ * mod: PR ๋ฐ์ - ๋ถํ์ํ useEffect ์ ๊ฑฐ * fix: curPath ๋ฐ๋ ๋ ํญ์ Scroll Up - useScrollUp ํ ๋ง๋ฃ * fix: useScrollUp ํ ๋ง๋ฃ * fix KK-1 ํ์๊ฐ์ ํ๋๋ช ๋ณ๊ฒฝ (#91) * [KK-52] feat: ๋ฏธ์ธ์ฆ ์ ์ ์๋ ๊ธฐ๋ฅ ๋ง๊ธฐ (#94) * fix๊ฐ์ํ ์ข์์ ๋ชจ์๋ณด๊ธฐ ์์ ๋ฐฐ์ * feat: PR Template * fix: ๋ง์ดํ์ด์ง ๋ฒํผ์ผ๋ก ๋ค์ด๊ฐ ์ ๋ค๋ก๊ฐ๊ธฐ ์๋๋ ๋ฒ๊ทธ * fix: My Page ๋ฆฌ๋ค์ด๋ ์ ๋ฐฉ์ ๋ณ๊ฒฝ * fix(mod): Footer ๋ก๊ณ url ๋ณ๊ฒฝ * fix(mod): history.replaceState navigate๋ก replaceํ๊ธฐ - ๋ถํ์ํ setPage dependency๋ ์ ๊ฑฐ * fix(mod): Landing Page ๋ฆฌ๋ค์ด๋ ์ ๋ก์ง ๋ณ๊ฒฝ - My Page์ ์ ์ฌํ๊ฒ * fix: My Page ์ฟผ๋ฆฌ์คํธ๋ง ๋ถ๊ธฐ ๋ก์ง ๋ณ๊ฒฝ * [KK-86] fix(typo): ์๋ชป ํ๊ธฐ๋ ํฌ์ธํธ instruction (#103) * fix(mod): Amplitude Key ์์ผ๋ฉด ์ ๋ฌ๋ฆฌ๋๋ก, Console Warning ํด๊ฒฐ (#102) * [KK-24] fix(rwd): Schedule Page lgDown ์ฌ์ด์ง ๋์ (#100) * [KK-72] fix: ๊ฒ์๊ธ ์ ๋ชฉ, ๋ณธ๋ฌธ, ๋๊ธ, ๋๋๊ธ ๊ธธ์ด ์ ํ ๋๋ฌ์ ์ค ๋ฐ๊ฟ (#106) * fix: ๊ฒ์๊ธ ์ ๋ชฉ, ๋ณธ๋ฌธ ๊ฐ๋ก ๊ธธ์ด ์ ํ * fix: ๋๊ธ, ๋๋๊ธ ์ต๋ ๊ธธ์ด ๋๋ฌํ์ ๋ ์ค ๋ฐ๊ฟ * feat: username ๋ณ๊ฒฝ ์ validation check * fix(design): ์๋ฌ๋ฉ์ธ์ง ์, ๋ฒํผ ๋ ์ด์์ ์กฐ์ * fix: Valid Check ๋ฒํผ ์คํ์ผ, ์ด์ ๋๋ค์๊ณผ์ ๋น๊ต ๋ก์ง * [KK-79] feat: ์ง๋ฌธ๊ฒ์ํ ๋ณธ์ธ ๋๊ธ util button ๋ง๊ธฐ (#105) * feat: ์ง๋ฌธ๊ฒ์ํ ๋ณธ์ธ ๋๊ธ util button ๋ง๊ธฐ * feat: ๋๊ธ util ๋ฒํผ ์ฌ์ฉ ๋ถ๊ฐ๋ฅ ํ ๋ ์์ ๋ณด์ด์ง ์๊ฒ * [KK-76] feat: Image() ์์๋ฅผ ํตํด ์ฌ์ง์ ๊ธธ์ด์ ๋ฐ๋ฅธ ๋์ด ์กฐ์ (#112) * feat: Image() ์์๋ฅผ ํตํด ์ฌ์ง์ ๊ธธ์ด์ ๋ฐ๋ฅธ ๋์ด ์กฐ์ * feat: ์ธ๋ก ๊ธธ์ด๊ฐ 437๋ณด๋ค ์์ ๊ฒฝ์ฐ ๋จผ์ ํ์ธ * feat: ๋ถํ์ํ maxW ์ค์ ์ ๊ฑฐ * feat: toast component ui ๋ฐ ๊ฒ์๋ฌผ ์์ฑ ํ์ด์ง์ ์์ ์ ์ฉ (#108) * feat: toast component ui ๋ฐ ๊ฒ์๋ฌผ ์์ฑ ํ์ด์ง์ ์์ ์ ์ฉ * chore: ์ฌ์ฉ ์ ํ๋ modal ์ญ์ * [KK-70] fix: blob์ ํ์ ์ "image/jpeg" ๋ก ์ง์ (#109) * feat: toast component ui ๋ฐ ๊ฒ์๋ฌผ ์์ฑ ํ์ด์ง์ ์์ ์ ์ฉ * chore: ์ฌ์ฉ ์ ํ๋ modal ์ญ์ * fix: blob์ ํ์ ์ "image/jpeg" ๋ก ์ง์ * feat: ๊ฒ์๊ธ ์์ ์ญ์ ํ์ด์ง์ ๋ฐ๋ผ ์ต๋ช ์ฑ ์์ ๋ฒํผ visibility, disabled ์์ * feat: ์ถ์ฝ์ด๋ก ์ฝ๊ฒ ๋ฏธ๋์ด์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํ ์ ์๋๋ก useMediaQueryByName ๊ตฌํ * feat: ๋ก๊ทธ์ธ ์ดํ deviceCode ๋ฐ์์ ๋ก๊ทธ์์์ ์ฝ๋ ๋ณด๋ด์ฃผ๊ธฐ (#115) * feat: ๋ก๊ทธ์ธ ์ดํ deviceCode ๋ฐ์์ ๋ก๊ทธ์์์ ์ฝ๋ ๋ณด๋ด์ฃผ๊ธฐ * fix: ํ ํฐ ๊ฐฑ์ type ์์ deviceCode ์ ์ธํ๊ธฐ * fix: type ์๋ฌ * [KK-68] feat: 5๊ฐ ์ฌ์ง ์ ํํ ์ํฉ์์ ์ถ๊ฐํ๋ ค ํ๋ฉด ์๋ด ๋ฌธ๊ตฌ ๋์ฐ๊ธฐ (#116) * feat: toast ์ด์ฉํ๊ธฐ ์ํด useFile.tsx๋ก ํ์ฅ์ ๋ณ๊ฒฝ * feat: 5๊ฐ ์ฌ์ง ์ ํํ ์ํฉ์์ ์ถ๊ฐํ๋ ค ํ๋ฉด ์๋ด ๋ฌธ๊ตฌ ๋์ฐ๊ธฐ * feat: ์์ ์๋ฃ์๋ toast ๋์ด์ฃผ๊ธฐ * [KK-106] fix: no-cache ๋ก img url๋ก blob fetch (#117) * fix: ํน์ ํ๊ธฐ์ ๊ฐ์๋ง ๊ฒ์๋๋๋ก ์์ * fix(type): Semester Type ์ซ์๋ก ๋ณํ - ํ์ ์ ์ํ * fix(type): PR Review ๋ฐ์, course api type extends ํ์ฉํด์ ๋ฌถ๊ธฐ * fix: ํ๊ธฐ๊ฐ ๋ฐ๋์์ ๋ ์ฟผ๋ฆฌ์๋ ์ ์ฉ * fix: API hook param ๊ฐ์ํ * feat: useQueryParams ํ ์ ๋ง๋ค์์ด์ (#121) * feat: useQueryParams ํ ์ ๋ง๋ค์์ด์ * refactor: pr ๋ฆฌ๋ทฐ ๋ฐ์ * feat: userProvider (#122) * feat: userProvider * feat: init amplitude logging * feat(apt): user context ์ค์ * feat: init amplitude logging ์ ์ ํ๋กํผํฐ ํฌํจ * feat: useHooks hook ํด๋๋ก ์ด์ (#123) * feat: userProvider * feat: init amplitude logging * feat(apt): user context ์ค์ * feat: init amplitude logging ์ ์ ํ๋กํผํฐ ํฌํจ * feat: useHooks hook ํด๋๋ก ์ด์ * fix: import error * feat: suspense Query (#124) * feat: suspense Query * feat: club ํ์ด์ง suspense query * refactor: ์ง๋ฌธ ๊ฒ์ํ์ ๊ฒฝ์ฐ ๋๊ธ ์ซ์์ ๋ฐ๋ผ ์์ , ์ญ์ ๊ฐ๋ฅ ์ฌ๋ถ ํ๋จ (#126) * feat(home): home-carousel banner (#131) * feat(home): home-carousel banner * feat: round ๊ฐ ์ถ๊ฐ * feat: useErrorHandledMutation (#128) * feat: useErrorHandledMutation * feat: useMutation ์์ useErrorHandledMutation์ผ๋ก ๊ต์ฒด - ๋ฐฑ์๋ ์๋ฌ res์ ์กฐ์จ * feat: toast mobile ์์ ํ๋จ์ผ๋ก ๋ณด์ด๊ฒ * refactor: ์ ์ฐ๋ ํธ์ถ ์์ ๊ธฐ * [KK-63] ๊ฐ์ํ ํ์ด์ง ๋ฐ์ํ ๋์ (#107) * fix: ๊ธด ๊ฐ์๋ช , ๊ต์๋ช ์ ๋ํด ๊ฐ์ํ ํค๋์์ ์๋ฆฌ๋ ๋ฌธ์ * fix(rwd): ๊ฐ์ํ Course Info Page ๋ฐ์ํ ๋์ * fix: ReviewPage ๋ฐ์ํ ๋์ & Flex Style ํ๋ฉด ๊นจ์ง * fix(rwd): Write Review Page ๋ฐ์ํ ๋์ * fix(design): ๊ฐ์ํ์์ ๊ธด ๊ฐ์๋ช ๋์ค๊น์ง ๋ณด์ด๊ฒ * fix(design): Lecture Search Lineheight ์กฐ์ (#132) * fix(design): Lecture Search Lineheight ์กฐ์ - Figma์ height๊ฐ ๋ฏธ๋ฌํ๊ฒ ๋ค๋ฅด๋ ๋ฌธ์ ๋ฅผ ์์ ํฉ๋๋ค * fix(design): Course Drawer Height ์กฐ์ - ๋ฐ์คํฌํ ์ฌ์ด์ฆ์ ๋ฐ๋ผ ์ด๋ฆฌ๋ ๋์ด๊ฐ ๋ค๋ฅด๋๋ก - ์ด์์ ์ธ ๊ฒฝ์ฐ์ Figma View์ ๊ฐ์ด ๊ฐ์๊ฐ ํ์๋๋๋ก ํจ * Fix/timetable suspense (#129) * fix: timetable api์ suspense ์ ์ฉ * fix(refactor): ์๊ฐํ๊ฐ ์์ ๋ ์๊ฐํ๋ฅผ ์๋ ์ถ๊ฐํ๋ ๋ก์ง์ ์ต์ ํํฉ๋๋ค - ์์์ initial data ์ญ์ * fix: PR Review ๋ฐ์, checkSubmission query๋ฅผ useSuspenseQuery๋ก ๋ณ๊ฒฝ * Kk 28/fix rw club (#130) * fix: SVG Icon๋ค parents node์ ์ฌ์ด์ฆ ์ข ์๋๋๋ก ๋ณ๊ฒฝ * fix(rwd): ๊ฐ breakpoint์ ๋ํ ๋ฐ์ํ ๋์ * feat(rwd): Club Page Layout ๋ฐ์ํ ๊ตฌํ * feat: Scroll Lock custom hook ์ ์ธ * feat: Drawer Component, useDrawer ๊ตฌํ * fix: svg, tsx ํ์ผ์ react ๋ฏธํธํ css element ์์ * fix: useScrollLock - ํ๋ฉด ํด๋ฆญ์ด ์ ๋๋ก ์ ๋๋ ๋ฒ๊ทธ * fix: Key๊ฐ ๋ค์ด๊ฐ์ง ์์ ๋๋ ๋ฒ๊ทธ * feat: Drawer Opener ๋ฒํผ ๊ตฌํ, Drawer ๋๋๊ทธ ๊ตฌํ, Drawer Children ๋ฐ๋๋ก ๊ตฌํ * fix(mod): Drawer ์ฌ์ฉ ๋ฐฉ์ ๋ณ๊ฒฝ, Animate Presence ์ ์ฉ * Revert "fix: svg, tsx ํ์ผ์ react ๋ฏธํธํ css element ์์ " This reverts commit f84dfd6. * feat: Mobile Category Select Drawer UI * feat: Category ์ ํ ์ ๋ฒํผ ์ ๋ฑ * fix: Typo ์์ด๋ก ์์ * fix(design): ๋ฐฐ๊ฒฝ์, padding ์์ * feat: Club Modal ๊ตฌํ * feat: Selected Chip ์คํ์ผ๋ง * fix: React map key ๋ฏธ์ง์ ์ผ๋ก ์ธํด ๋ฐ์ํ๋ warning * fix(refactor): useDrawer ๋ณ๊ฒฝ * fix(refactor): useSearch -> useQueryParams๋ก ๋ณํ * fix(refactor): Category Drawer State Flow, useQueryParams * fix: Drawer Content์ ๋ง์ถ์ด ๋์ด ์๋ ์ง์ * fix: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * fix: ์ฃผ์, ๋ณ์๋ช ๋ค๋ฌ๊ธฐ * fix: Button ๋ด Button ๋ฌธ์ * fix: PR Review ๋ฐ์ - club search api hook, create query ๋ก์ง ๋ถ๋ฆฌ - Responsive Component ๊ตฌํ, UI์ ๋ก์ง ๋ถ๋ฆฌ - useDrawer open ํจ์ ์ธ์ obejct๋ก ๋ณ๊ฒฝ * fix: query params undefined๋ก ๋ ๋ฆฌ๊ธฐ * fix: Change folder name clubPage -> ClubPage * fix: obejct dependency๋ฅผ ๊ฐ์ง๋ ํจ์ useEffect -> useDeepCompareCallback * chore: set do not ignore case on git * fix: Versioning untracked files * feat: useDeepCompare ์ง์ ์ ์ * fix: isDeepEqual ๋ก์ง ์์ * feat: ์์ฒด useDeepCompareCallback ์ฒ๋ฆฌ * feat: useDeepCompareMemo * fix: Club Page Query ์ฒ๋ฆฌ ๋ฐฉ์ * fix(chore): Deep Compare es-toolkit ์ฌ์ฉ --------- Co-authored-by: halionaz <[email protected]>
๐ ๋ด์ฉ
โ๏ธ ์ฒดํฌ ์ฌํญ
โ Related Issues