From 8f7b51c08641d7a61b9d45a1c5f2a06680f64be7 Mon Sep 17 00:00:00 2001
From: deepbig <34956359+deepbig@users.noreply.github.com>
Date: Wed, 17 Jan 2024 09:47:44 +0900
Subject: [PATCH 3/9] Merge branch 'feat/home-position-after-goal-detail-saved'
of https://github.com/depromeet/amazing3-fe into
feat/home-position-after-goal-detail-saved
---
src/hooks/reactQuery/goal/useGetGoals.ts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/hooks/reactQuery/goal/useGetGoals.ts b/src/hooks/reactQuery/goal/useGetGoals.ts
index da98f4fe..3eef576a 100644
--- a/src/hooks/reactQuery/goal/useGetGoals.ts
+++ b/src/hooks/reactQuery/goal/useGetGoals.ts
@@ -34,3 +34,11 @@ export const usePrefetchGoals = (): void => {
queryFn: () => api.get
('/life-map'),
});
};
+
+export const usePrefetchGoals = (): void => {
+ const queryClient = useQueryClient();
+ queryClient.prefetchQuery({
+ queryKey: ['goals'],
+ queryFn: () => api.get('/life-map'),
+ });
+};
From 1e5c12c2d655507584256b9bb7bf9ca5a4b4592a Mon Sep 17 00:00:00 2001
From: deepbig <34956359+deepbig@users.noreply.github.com>
Date: Wed, 17 Jan 2024 10:16:14 +0900
Subject: [PATCH 4/9] =?UTF-8?q?fix:=20rebase=20=EA=B3=BC=EC=A0=95=EC=97=90?=
=?UTF-8?q?=EC=84=9C=20=EC=A4=91=EB=B3=B5=20=EC=B6=94=EA=B0=87=EB=90=9C=20?=
=?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=82=AD=EC=A0=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/hooks/reactQuery/goal/useGetGoals.ts | 8 --------
1 file changed, 8 deletions(-)
diff --git a/src/hooks/reactQuery/goal/useGetGoals.ts b/src/hooks/reactQuery/goal/useGetGoals.ts
index 3eef576a..da98f4fe 100644
--- a/src/hooks/reactQuery/goal/useGetGoals.ts
+++ b/src/hooks/reactQuery/goal/useGetGoals.ts
@@ -34,11 +34,3 @@ export const usePrefetchGoals = (): void => {
queryFn: () => api.get('/life-map'),
});
};
-
-export const usePrefetchGoals = (): void => {
- const queryClient = useQueryClient();
- queryClient.prefetchQuery({
- queryKey: ['goals'],
- queryFn: () => api.get('/life-map'),
- });
-};
From 1102c96f4dd69241d6640582f38830efcf9c60c6 Mon Sep 17 00:00:00 2001
From: deepbig <34956359+deepbig@users.noreply.github.com>
Date: Wed, 17 Jan 2024 10:28:23 +0900
Subject: [PATCH 5/9] =?UTF-8?q?fix:=20rebase=20=EB=B0=98=EC=98=81=20?=
=?UTF-8?q?=EC=8B=9C=20=EB=B9=A0=EC=A7=84=20=EC=BD=94=EB=93=9C=20=EC=B6=94?=
=?UTF-8?q?=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../goal/components/detail/DeleteGoalButtomSheet.tsx | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/features/goal/components/detail/DeleteGoalButtomSheet.tsx b/src/features/goal/components/detail/DeleteGoalButtomSheet.tsx
index f45c3328..2815204d 100644
--- a/src/features/goal/components/detail/DeleteGoalButtomSheet.tsx
+++ b/src/features/goal/components/detail/DeleteGoalButtomSheet.tsx
@@ -6,6 +6,7 @@ import { useRouter } from 'next/navigation';
import BandiMoori from '@/assets/images/bandi-moori.png';
import { BottomSheet, Button, Typography } from '@/components/atoms';
+import { useGetMemberData } from '@/hooks/reactQuery/auth';
import { useDeleteGoal } from '@/hooks/reactQuery/goal';
interface DeleteGoalButtomSheetProps {
@@ -16,14 +17,15 @@ interface DeleteGoalButtomSheetProps {
export const DeleteGoalButtomSheet = ({ open, onClose, goalId }: DeleteGoalButtomSheetProps) => {
const { mutate, isSuccess, isError } = useDeleteGoal();
+ const { data: memberData } = useGetMemberData();
const router = useRouter();
useEffect(() => {
if (isSuccess) {
onClose();
- router.push('/home');
+ router.push(`/home/${memberData?.username}`);
}
- }, [isSuccess, isError, onClose, router]);
+ }, [isSuccess, isError, onClose, router, memberData]);
const handleDelete = () => {
if (!goalId) {
From 09115052b501db2b8f5a62ca2344daeda4ba5277 Mon Sep 17 00:00:00 2001
From: deepbig <34956359+deepbig@users.noreply.github.com>
Date: Wed, 17 Jan 2024 12:38:21 +0900
Subject: [PATCH 6/9] =?UTF-8?q?feat:=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?=
=?UTF-8?q?=EC=9D=B4=EB=8F=99=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../goal/components/detail/DetailHeader.tsx | 2 +-
.../components/detail/SavedFooterButton.tsx | 2 +-
.../goal/components/detail/SavedHeader.tsx | 7 ++++---
.../components/lifeMap/LifeMapContent.tsx | 20 ++++++++++++++-----
4 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/src/features/goal/components/detail/DetailHeader.tsx b/src/features/goal/components/detail/DetailHeader.tsx
index f03507ee..19d0f706 100644
--- a/src/features/goal/components/detail/DetailHeader.tsx
+++ b/src/features/goal/components/detail/DetailHeader.tsx
@@ -18,7 +18,7 @@ export const DetailHeader = ({ goalId }: DetailHeaderProps) => {
return (
<>
-
+
diff --git a/src/features/goal/components/detail/SavedFooterButton.tsx b/src/features/goal/components/detail/SavedFooterButton.tsx
index 32f11fb3..29ae8ec3 100644
--- a/src/features/goal/components/detail/SavedFooterButton.tsx
+++ b/src/features/goal/components/detail/SavedFooterButton.tsx
@@ -12,7 +12,7 @@ export const SavedFooterButton = ({ goalId }: SavedFooterButtonProps) => {
const { data: memberData } = useGetMemberData();
return (
-
+
);
diff --git a/src/features/goal/components/detail/SavedHeader.tsx b/src/features/goal/components/detail/SavedHeader.tsx
index d7fc6e25..8e253930 100644
--- a/src/features/goal/components/detail/SavedHeader.tsx
+++ b/src/features/goal/components/detail/SavedHeader.tsx
@@ -13,15 +13,16 @@ interface SavedHeaderProps {
export const SavedHeader = ({ goalId }: SavedHeaderProps) => {
const { data: memberData } = useGetMemberData();
- const pathname = `/home/${memberData?.username}?id=${goalId}`;
+ const pathname = `/home/${memberData?.username}`;
+ const query = { id: goalId };
return (
<>
-
+
목표 저장 완료!
-
+
>
diff --git a/src/features/home/components/lifeMap/LifeMapContent.tsx b/src/features/home/components/lifeMap/LifeMapContent.tsx
index b615ddee..f6b9cc02 100644
--- a/src/features/home/components/lifeMap/LifeMapContent.tsx
+++ b/src/features/home/components/lifeMap/LifeMapContent.tsx
@@ -27,11 +27,19 @@ interface LifeMapProps {
isPublic?: boolean;
}
+interface PositionStateProps {
+ position: number | null;
+ positionPage: number | null;
+}
+
export const LifeMapContent = ({ goalsData, memberData, downloadSectionRef, isPublic = false }: LifeMapProps) => {
const participatedGoalsArray = partitionArrayWithSmallerFirstGroup(GOAL_COUNT_PER_PAGE, goalsData?.goals);
const LAST_PAGE = participatedGoalsArray.length;
- const [position, setPosition] = useState(null);
+ const [positionState, setPositionState] = useState({
+ position: null,
+ positionPage: null,
+ });
const [currentPage, setCurrentPage] = useState(null);
const paramId = Number(useSearchParams().get('id'));
@@ -59,9 +67,11 @@ export const LifeMapContent = ({ goalsData, memberData, downloadSectionRef, isPu
default:
position = currentPosition + 1;
}
- setPosition(position);
+ const positionPage = Math.floor(position / GOAL_COUNT_PER_PAGE);
+ position = position % TOTAL_CURRENT_POSITIONS;
+ setPositionState({ position, positionPage });
- let page = Math.floor(position / GOAL_COUNT_PER_PAGE);
+ let page = positionPage;
// check if query params contains id value
if (paramId) {
const index = goals.findIndex(({ id: goalId }) => goalId === paramId);
@@ -115,8 +125,8 @@ export const LifeMapContent = ({ goalsData, memberData, downloadSectionRef, isPu
) : (
)}
- {position && currentPage === page && (
-
+ {positionState.positionPage === page && positionState.position && (
+
)}