From 32c52dd4c18343453d998906b71be98913822e74 Mon Sep 17 00:00:00 2001 From: Uichan Lee Date: Wed, 29 May 2024 21:18:02 +0900 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20profile=20scroll=20=EC=9D=B4?= =?UTF-8?q?=EC=8A=88=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit router/index.ts에 ScrollRestoration를 추가하였습니다. --- src/app/routers/index.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/app/routers/index.tsx b/src/app/routers/index.tsx index 468f196..23677a7 100644 --- a/src/app/routers/index.tsx +++ b/src/app/routers/index.tsx @@ -1,4 +1,8 @@ -import { createBrowserRouter, RouteObject } from 'react-router-dom'; +import { + createBrowserRouter, + RouteObject, + ScrollRestoration, +} from 'react-router-dom'; import { FeedMainPage } from '@/pages/feed-main'; import { ProfileMainPage } from '@/pages/profile'; @@ -8,7 +12,16 @@ import { RootLayout } from '../layout'; const root: RouteObject[] = [ { path: '/', - element: , + element: ( + <> + + { + return location.pathname; + }} + /> + + ), children: [ { index: true, element: }, { path: 'users/:userId', element: }, From 370067633289222d630a2f156073b8228745d55b Mon Sep 17 00:00:00 2001 From: Uichan Lee Date: Wed, 29 May 2024 21:25:34 +0900 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20ScrollRestoration=20RootLayout?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/layout/RootLayout.tsx | 7 ++++++- src/app/routers/index.tsx | 17 ++--------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/app/layout/RootLayout.tsx b/src/app/layout/RootLayout.tsx index 58ce683..8490b3d 100644 --- a/src/app/layout/RootLayout.tsx +++ b/src/app/layout/RootLayout.tsx @@ -1,6 +1,6 @@ import { IPhoneLayout } from 'react-iphone-layout'; import 'react-iphone-layout/dist/ReactIPhoneLayout.css'; -import { Outlet } from 'react-router-dom'; +import { Outlet, ScrollRestoration } from 'react-router-dom'; import './RootLayout.scss'; @@ -15,6 +15,11 @@ export const RootLayout = () => {
+ { + return location.pathname; + }} + /> ); }; diff --git a/src/app/routers/index.tsx b/src/app/routers/index.tsx index 23677a7..468f196 100644 --- a/src/app/routers/index.tsx +++ b/src/app/routers/index.tsx @@ -1,8 +1,4 @@ -import { - createBrowserRouter, - RouteObject, - ScrollRestoration, -} from 'react-router-dom'; +import { createBrowserRouter, RouteObject } from 'react-router-dom'; import { FeedMainPage } from '@/pages/feed-main'; import { ProfileMainPage } from '@/pages/profile'; @@ -12,16 +8,7 @@ import { RootLayout } from '../layout'; const root: RouteObject[] = [ { path: '/', - element: ( - <> - - { - return location.pathname; - }} - /> - - ), + element: , children: [ { index: true, element: }, { path: 'users/:userId', element: }, From dc7373aa5e43df58ce20ac765fcafa477586eb48 Mon Sep 17 00:00:00 2001 From: Uichan Lee Date: Wed, 29 May 2024 22:09:33 +0900 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20ussFeedKebabStore=20export=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/widgets/feed-kebab/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/widgets/feed-kebab/index.ts b/src/widgets/feed-kebab/index.ts index bdff833..2203f57 100644 --- a/src/widgets/feed-kebab/index.ts +++ b/src/widgets/feed-kebab/index.ts @@ -1 +1,2 @@ export { FeedKebabButton } from './ui'; +export { useFeedKebabStore } from './store'; From 0a633c35d1d1d100d2435a061c3b5bd6d48e77a1 Mon Sep 17 00:00:00 2001 From: Uichan Lee Date: Wed, 29 May 2024 22:19:44 +0900 Subject: [PATCH 4/4] =?UTF-8?q?feat:=20FeedMainPage=20closeKebab=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit useEffect의 클린업 기능을 사용해, FeedMainPage가 언마운트 될 시 kebab메뉴가 닫히도록 했습니다. --- src/pages/feed-main/ui/FeedMainPage.tsx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/pages/feed-main/ui/FeedMainPage.tsx b/src/pages/feed-main/ui/FeedMainPage.tsx index 42d918c..a96c6ce 100644 --- a/src/pages/feed-main/ui/FeedMainPage.tsx +++ b/src/pages/feed-main/ui/FeedMainPage.tsx @@ -1,8 +1,17 @@ +import { useEffect } from 'react'; + +import { useFeedKebabStore } from '@/widgets/feed-kebab'; import { FeedMainHeader } from '@/widgets/feed-main-header'; import { FeedMainList } from '@/widgets/feed-main-list'; import './FeedMainPage.scss'; export const FeedMainPage = () => { + useEffect(() => { + return () => { + useFeedKebabStore.getState().closeKebab(); + }; + }, []); + return (