+
{purpose.map((text, i) => (
))}
diff --git a/app/feature/place/components/PlaceDetail/skeleton/PlaceDetailSkeleton.tsx b/app/feature/place/components/PlaceDetail/skeleton/PlaceDetailSkeleton.tsx
new file mode 100644
index 00000000..6bc076a6
--- /dev/null
+++ b/app/feature/place/components/PlaceDetail/skeleton/PlaceDetailSkeleton.tsx
@@ -0,0 +1,35 @@
+import Divider from "@/common/components/ui/divider/Divider";
+
+export default function PlaceDetailSkeleton() {
+ return (
+
+ );
+}
diff --git a/app/feature/place/queries/getPlaceDetail.tsx b/app/feature/place/queries/getPlaceDetail.tsx
index dffa8c4b..ffdf9cf3 100644
--- a/app/feature/place/queries/getPlaceDetail.tsx
+++ b/app/feature/place/queries/getPlaceDetail.tsx
@@ -4,7 +4,6 @@ import ApiErrorMessage from "@/common/utils/error/api-error-message";
export default async function GetPlaceDetail(
id: number
): Promise
{
- console.log("hi");
const res = await fetch(
`${process.env.NEXT_PUBLIC_SERVER_API}/api/v1/spaces/${id}`,
{
diff --git a/app/feature/place/queries/getPlaceRelatedInfo.tsx b/app/feature/place/queries/getPlaceRelatedInfo.tsx
index 1fa52dcf..b177666e 100644
--- a/app/feature/place/queries/getPlaceRelatedInfo.tsx
+++ b/app/feature/place/queries/getPlaceRelatedInfo.tsx
@@ -17,5 +17,7 @@ export default async function GetPlaceRelatedInfo(
if (!res.ok) throw new Error(ApiErrorMessage(res.status));
const data = await res.json();
+ // Introduce a 10-second delay before returning the data
+ await new Promise((resolve) => setTimeout(resolve, 10000));
return data;
}
From 651bd2cfdbb63a2e7f5e20a7cb99d449850454b1 Mon Sep 17 00:00:00 2001
From: brian <90752841+wokbjso@users.noreply.github.com>
Date: Fri, 12 Jul 2024 18:24:12 +0900
Subject: [PATCH 2/9] =?UTF-8?q?feat:=20=EC=9E=A5=EC=86=8C=EC=99=80=20?=
=?UTF-8?q?=EC=97=B0=EA=B4=80=EB=90=9C=20=EC=8A=AC=EB=9D=BC=EC=9D=B4?=
=?UTF-8?q?=EB=8D=94=20=EC=8A=A4=EC=BC=88=EB=A0=88=ED=86=A4=20=EA=B5=AC?=
=?UTF-8?q?=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/(pages)/(withoutFooter)/place/[id]/page.tsx | 9 ++-------
.../PlaceDetail/organisms/RelatedSlider.tsx | 2 +-
.../PlaceDetail/organisms/RelatedSliderLists.tsx | 2 +-
.../skeleton/PlaceRelatedSkeleton.tsx | 16 ++++++++++++++++
.../place/queries/getPlaceRelatedInfo.tsx | 2 --
5 files changed, 20 insertions(+), 11 deletions(-)
create mode 100644 app/feature/place/components/PlaceDetail/skeleton/PlaceRelatedSkeleton.tsx
diff --git a/app/(pages)/(withoutFooter)/place/[id]/page.tsx b/app/(pages)/(withoutFooter)/place/[id]/page.tsx
index b60388cf..663b681e 100644
--- a/app/(pages)/(withoutFooter)/place/[id]/page.tsx
+++ b/app/(pages)/(withoutFooter)/place/[id]/page.tsx
@@ -12,6 +12,7 @@ import UseDeferredComponent from "@/common/hooks/useDeferredComponent";
import LoadingUI from "@/common/components/ui/loading/LoadingUI";
import RelatedSliderLists from "@/feature/place/components/PlaceDetail/organisms/RelatedSliderLists";
import PlaceDetailSkeleton from "@/feature/place/components/PlaceDetail/skeleton/PlaceDetailSkeleton";
+import PlaceRelatedSkeleton from "@/feature/place/components/PlaceDetail/skeleton/PlaceRelatedSkeleton";
type Props = {
params: { id: number };
@@ -98,13 +99,7 @@ export default async function PlaceDetailPage({
/>
-
-
-
- }
- >
+ }>
diff --git a/app/feature/place/components/PlaceDetail/organisms/RelatedSlider.tsx b/app/feature/place/components/PlaceDetail/organisms/RelatedSlider.tsx
index 6cbc0498..d03a2fae 100644
--- a/app/feature/place/components/PlaceDetail/organisms/RelatedSlider.tsx
+++ b/app/feature/place/components/PlaceDetail/organisms/RelatedSlider.tsx
@@ -14,7 +14,7 @@ export default function RelatedSlider({ title, children }: RelatedSliderProps) {
return (
{title}
- {children}
+ {children}
);
}
diff --git a/app/feature/place/components/PlaceDetail/organisms/RelatedSliderLists.tsx b/app/feature/place/components/PlaceDetail/organisms/RelatedSliderLists.tsx
index bd5f98e8..d94c5dd4 100644
--- a/app/feature/place/components/PlaceDetail/organisms/RelatedSliderLists.tsx
+++ b/app/feature/place/components/PlaceDetail/organisms/RelatedSliderLists.tsx
@@ -15,7 +15,7 @@ export default async function RelatedSliderLists({
const relatedData = await GetPlaceRelatedInfo(id);
return (
-
+
{relatedData?.similarSpaceList.slice(0, 6).map((data) => (
+
+
+ {Array.from({ length: 5 }, (_, i) => (
+
+ ))}
+
+
+ );
+}
diff --git a/app/feature/place/queries/getPlaceRelatedInfo.tsx b/app/feature/place/queries/getPlaceRelatedInfo.tsx
index b177666e..1fa52dcf 100644
--- a/app/feature/place/queries/getPlaceRelatedInfo.tsx
+++ b/app/feature/place/queries/getPlaceRelatedInfo.tsx
@@ -17,7 +17,5 @@ export default async function GetPlaceRelatedInfo(
if (!res.ok) throw new Error(ApiErrorMessage(res.status));
const data = await res.json();
- // Introduce a 10-second delay before returning the data
- await new Promise((resolve) => setTimeout(resolve, 10000));
return data;
}
From aacea21a1ef8578fc64ec6f984c3492e5418dd20 Mon Sep 17 00:00:00 2001
From: brian <90752841+wokbjso@users.noreply.github.com>
Date: Fri, 12 Jul 2024 18:59:50 +0900
Subject: [PATCH 3/9] =?UTF-8?q?feat:=20=EC=9E=A5=EC=86=8C=20=EC=83=81?=
=?UTF-8?q?=EC=84=B8=20api=20=EA=B4=80=EB=A0=A8=20Suspense=EC=97=90=20UseD?=
=?UTF-8?q?efferredComponent=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../(withoutFooter)/place/[id]/page.tsx | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/app/(pages)/(withoutFooter)/place/[id]/page.tsx b/app/(pages)/(withoutFooter)/place/[id]/page.tsx
index 663b681e..eabedda0 100644
--- a/app/(pages)/(withoutFooter)/place/[id]/page.tsx
+++ b/app/(pages)/(withoutFooter)/place/[id]/page.tsx
@@ -8,11 +8,10 @@ import { Metadata } from "next";
import { PLACE_SUB_TYPE } from "@/feature/place/constants/place-tag-category";
import { Suspense } from "react";
import PlaceDetailTopBar from "@/feature/place/components/PlaceDetail/organisms/PlaceDetailTopBar";
-import UseDeferredComponent from "@/common/hooks/useDeferredComponent";
-import LoadingUI from "@/common/components/ui/loading/LoadingUI";
import RelatedSliderLists from "@/feature/place/components/PlaceDetail/organisms/RelatedSliderLists";
import PlaceDetailSkeleton from "@/feature/place/components/PlaceDetail/skeleton/PlaceDetailSkeleton";
import PlaceRelatedSkeleton from "@/feature/place/components/PlaceDetail/skeleton/PlaceRelatedSkeleton";
+import UseDeferredComponent from "@/common/hooks/useDeferredComponent";
type Props = {
params: { id: number };
@@ -58,7 +57,13 @@ export default async function PlaceDetailPage({
return (