diff --git a/src/app/gathering/[id]/page.tsx b/src/app/gathering/[id]/page.tsx
index 70ca5c2f..ead1d7c5 100644
--- a/src/app/gathering/[id]/page.tsx
+++ b/src/app/gathering/[id]/page.tsx
@@ -1,5 +1,5 @@
-import GatheringRecommendationList from "@/components/gathering/GatheringRecommendationList";
import GatheringViewerContainer from "@/components/gathering/GatheringViewerContainer";
+import GatheringRecommendationList from "@/components/gathering/read/GatheringRecommendationList";
import { GatheringDetailResponseDto } from "@/types/GatheringDto";
import { cookies } from "next/headers";
import { NextResponse } from "next/server";
diff --git a/src/app/gathering/edit/[id]/page.tsx b/src/app/gathering/edit/[id]/page.tsx
index a77feda7..5e15e3bf 100644
--- a/src/app/gathering/edit/[id]/page.tsx
+++ b/src/app/gathering/edit/[id]/page.tsx
@@ -1,4 +1,4 @@
-import GatheringEditorContainer from "@/containers/gathering/edit/GatheringEditorContainer";
+import GatheringUpdateContainer from "@/containers/gathering/createUpdate/GatheringUpdateContainer";
import { GatheringDetailResponseDto } from "@/types/GatheringDto";
import { NextResponse } from "next/server";
@@ -47,10 +47,10 @@ export default async function Page({ params: { id } }: PageProps) {
try {
const gatheringData = await fetchGatheringData(postId);
return (
-
-
+
);
} catch (error) {
diff --git a/src/app/gathering/page.tsx b/src/app/gathering/page.tsx
index d188b1f2..3d048871 100644
--- a/src/app/gathering/page.tsx
+++ b/src/app/gathering/page.tsx
@@ -1,6 +1,6 @@
import Banner from "@/components/common/Banner";
import TopList from "@/components/common/TopList";
-import GatheringListContainer from "@/containers/gathering/GatheringListContainer";
+import GatheringListContainer from "@/containers/gathering/read/GatheringListContainer";
import { Metadata } from "next";
type MyProps = {
diff --git a/src/app/gathering/write/page.tsx b/src/app/gathering/write/page.tsx
index d1a5a434..25baec95 100644
--- a/src/app/gathering/write/page.tsx
+++ b/src/app/gathering/write/page.tsx
@@ -1,4 +1,4 @@
-import GatheringWriteContainer from "@/containers/gathering/write/GatheringWriteContainer";
+import GatheringCreateContainer from "@/containers/gathering/createUpdate/GatheringCreateContainer";
import { Metadata } from "next";
export const metadata: Metadata = {
@@ -9,7 +9,7 @@ export const metadata: Metadata = {
export default function page() {
return (
-
+
);
}
diff --git a/src/components/common/GatheringItem.tsx b/src/components/common/GatheringItem.tsx
index 846350c3..0c347cee 100644
--- a/src/components/common/GatheringItem.tsx
+++ b/src/components/common/GatheringItem.tsx
@@ -1,5 +1,5 @@
-import GatheringBookMarkContainer from "@/containers/gathering/GatheringBookmarkContainer";
-import GatheringLikeContainer from "@/containers/gathering/GatheringLikeContainer";
+import GatheringBookMarkContainer from "@/containers/gathering/read/GatheringBookmarkContainer";
+import GatheringLikeContainer from "@/containers/gathering/read/GatheringLikeContainer";
import { Gathering } from "@/types/GatheringDto";
import { convertNumberToShortForm } from "@/utils/convertNumberToShortForm";
import { format } from "date-fns";
diff --git a/src/components/common/GatheringItemHome.tsx b/src/components/common/GatheringItemHome.tsx
index 5d568146..3e6e4642 100644
--- a/src/components/common/GatheringItemHome.tsx
+++ b/src/components/common/GatheringItemHome.tsx
@@ -1,5 +1,5 @@
-import GatheringBookMarkContainer from "@/containers/gathering/GatheringBookmarkContainer";
-import GatheringLikeContainer from "@/containers/gathering/GatheringLikeContainer";
+import GatheringBookMarkContainer from "@/containers/gathering/read/GatheringBookmarkContainer";
+import GatheringLikeContainer from "@/containers/gathering/read/GatheringLikeContainer";
import { GatheringRecommend } from "@/types/GatheringDto";
import { convertNumberToShortForm } from "@/utils/convertNumberToShortForm";
import { format } from "date-fns";
diff --git a/src/components/gathering/GatheringPagination.tsx b/src/components/gathering/GatheringPagination.tsx
deleted file mode 100644
index 6e6a40b6..00000000
--- a/src/components/gathering/GatheringPagination.tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-import { AiOutlineEllipsis } from "react-icons/ai";
-import { IoIosArrowBack, IoIosArrowForward } from "react-icons/io";
-import { MdFirstPage, MdLastPage } from "react-icons/md";
-
-interface Props {
- currentPage: number;
- totalPages: number;
- pageHandler: (currentPage: number) => void;
-}
-
-const GatheringPagination = ({
- currentPage,
- totalPages,
- pageHandler,
-}: Props) => {
- const pageList = Array.from({ length: totalPages }, (_, index) => index + 1);
- const leftPage = Math.max(currentPage - 2, 1);
- const rightPage = Math.min(leftPage + 4, totalPages);
-
- return (
-
- {currentPage > 1 ? (
-
- ) : (
-
- )}
- {currentPage > 1 ? (
-
- ) : (
-
- )}
- {leftPage > 1 && (
-
-
-
-
- )}
- {pageList.slice(leftPage - 1, rightPage).map((pageNumber) => (
-
- ))}
- {rightPage < totalPages && (
-
-
-
-
- )}
- {currentPage < totalPages ? (
-
- ) : (
-
- )}
- {currentPage < totalPages ? (
-
- ) : (
-
- )}
-
- );
-};
-
-export default GatheringPagination;
diff --git a/src/components/gathering/editor/GatheringEditor.tsx b/src/components/gathering/createUpdate/editor/GatheringEditor.tsx
similarity index 85%
rename from src/components/gathering/editor/GatheringEditor.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditor.tsx
index c118384f..a985c6c8 100644
--- a/src/components/gathering/editor/GatheringEditor.tsx
+++ b/src/components/gathering/createUpdate/editor/GatheringEditor.tsx
@@ -1,18 +1,18 @@
import Breadcrumbs from "@/components/common/Breadcrumb";
-import GatheringEditorCategoryContainer from "@/containers/gathering/editor/GatheringEditorCategoryContainer";
-import GatheringEditorChattingLinkContainer from "@/containers/gathering/editor/GatheringEditorChattingLinkContainer";
-import GatheringEditorContentContainer from "@/containers/gathering/editor/GatheringEditorContentContainer";
-import GatheringEditorDeadlineContainer from "@/containers/gathering/editor/GatheringEditorDeadlineContainer";
-import GatheringEditorHashTagContainer from "@/containers/gathering/editor/GatheringEditorHashTagContainer";
-import GatheringEditorParticipantsFilterContainer from "@/containers/gathering/editor/GatheringEditorParticipantsFilterContainer";
-import GatheringEditorPeriodContainer from "@/containers/gathering/editor/GatheringEditorPeriodContainer";
-import GatheringEditorPlaceContainer from "@/containers/gathering/editor/GatheringEditorPlaceContainer";
-import GatheringEditorTitleContainer from "@/containers/gathering/editor/GatheringEditorTitleContainer";
+import GatheringEditorCategoryContainer from "@/containers/gathering/createUpdate/editor/GatheringEditorCategoryContainer";
+import GatheringEditorChattingLinkContainer from "@/containers/gathering/createUpdate/editor/GatheringEditorChattingLinkContainer";
+import GatheringEditorContentContainer from "@/containers/gathering/createUpdate/editor/GatheringEditorContentContainer";
+import GatheringEditorDeadlineContainer from "@/containers/gathering/createUpdate/editor/GatheringEditorDeadlineContainer";
+import GatheringEditorHashTagContainer from "@/containers/gathering/createUpdate/editor/GatheringEditorHashTagContainer";
+import GatheringEditorParticipantsFilterContainer from "@/containers/gathering/createUpdate/editor/GatheringEditorParticipantsFilterContainer";
+import GatheringEditorPeriodContainer from "@/containers/gathering/createUpdate/editor/GatheringEditorPeriodContainer";
+import GatheringEditorPlaceContainer from "@/containers/gathering/createUpdate/editor/GatheringEditorPlaceContainer";
+import GatheringEditorTitleContainer from "@/containers/gathering/createUpdate/editor/GatheringEditorTitleContainer";
import Image from "next/image";
import "react-date-range/dist/styles.css";
import "react-date-range/dist/theme/default.css";
import { useFormContext } from "react-hook-form";
-import GatheringEditorTimeContainer from "./GatheringEditorTimeContainer";
+import GatheringEditorTimeContainer from "../../../../containers/gathering/createUpdate/editor/GatheringEditorTimeContainer";
interface IGatheringEditorEditProps {
isEdit: true;
diff --git a/src/components/gathering/editor/GatheringEditorCategory.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorCategory.tsx
similarity index 97%
rename from src/components/gathering/editor/GatheringEditorCategory.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorCategory.tsx
index c39951f4..73193579 100644
--- a/src/components/gathering/editor/GatheringEditorCategory.tsx
+++ b/src/components/gathering/createUpdate/editor/GatheringEditorCategory.tsx
@@ -1,7 +1,7 @@
import { Modal } from "@/components/common/modal/Modal";
import { ModalState } from "@/types/ModalState";
import { useFormContext } from "react-hook-form";
-import GatheringCategoryModal from "../modal/GatheringCategoryModal";
+import GatheringCategoryModal from "./modal/GatheringCategoryModal";
interface ICategory {
id: number;
diff --git a/src/components/gathering/editor/GatheringEditorChattingLink.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorChattingLink.tsx
similarity index 100%
rename from src/components/gathering/editor/GatheringEditorChattingLink.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorChattingLink.tsx
diff --git a/src/components/gathering/editor/GatheringEditorContent.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorContent.tsx
similarity index 100%
rename from src/components/gathering/editor/GatheringEditorContent.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorContent.tsx
diff --git a/src/components/gathering/editor/GatheringEditorDeadline.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorDeadline.tsx
similarity index 96%
rename from src/components/gathering/editor/GatheringEditorDeadline.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorDeadline.tsx
index 8fafffbc..b66ecb7c 100644
--- a/src/components/gathering/editor/GatheringEditorDeadline.tsx
+++ b/src/components/gathering/createUpdate/editor/GatheringEditorDeadline.tsx
@@ -3,7 +3,7 @@ import { ModalState } from "@/types/ModalState";
import { format } from "date-fns";
import Image from "next/image";
import { useFormContext } from "react-hook-form";
-import GatheringDeadlineModal from "../modal/GatheringDeadlineModal";
+import GatheringDeadlineModal from "./modal/GatheringDeadlineModal";
interface IGatheringEditorDeadline {
modalState: ModalState;
diff --git a/src/components/gathering/editor/GatheringEditorHashTag.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorHashTag.tsx
similarity index 100%
rename from src/components/gathering/editor/GatheringEditorHashTag.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorHashTag.tsx
diff --git a/src/components/gathering/editor/GatheringEditorParticipantsFilter.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorParticipantsFilter.tsx
similarity index 97%
rename from src/components/gathering/editor/GatheringEditorParticipantsFilter.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorParticipantsFilter.tsx
index c5cb7e03..36cc6355 100644
--- a/src/components/gathering/editor/GatheringEditorParticipantsFilter.tsx
+++ b/src/components/gathering/createUpdate/editor/GatheringEditorParticipantsFilter.tsx
@@ -2,7 +2,7 @@ import { Modal } from "@/components/common/modal/Modal";
import { SETTING_MODAL_SEX } from "@/constants/gathering/GatheringConstant";
import { ModalState } from "@/types/ModalState";
import { useFormContext } from "react-hook-form";
-import GatheringParticipantsFilterModal from "../modal/GatheringParticipantsFilterModal";
+import GatheringParticipantsFilterModal from "./modal/GatheringParticipantsFilterModal";
interface IGatheringEditorParticipantsFilter {
modalState: ModalState;
diff --git a/src/components/gathering/editor/GatheringEditorPeriod.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorPeriod.tsx
similarity index 97%
rename from src/components/gathering/editor/GatheringEditorPeriod.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorPeriod.tsx
index 1e8c0cef..96f0c6fc 100644
--- a/src/components/gathering/editor/GatheringEditorPeriod.tsx
+++ b/src/components/gathering/createUpdate/editor/GatheringEditorPeriod.tsx
@@ -3,7 +3,7 @@ import { ModalState } from "@/types/ModalState";
import { format } from "date-fns";
import Image from "next/image";
import { useFormContext } from "react-hook-form";
-import GatheringPeriodModal from "../modal/GatheringPeriodModal";
+import GatheringPeriodModal from "./modal/GatheringPeriodModal";
interface IGatheringEditorPeriod {
modalState: ModalState
diff --git a/src/components/gathering/editor/GatheringEditorPlace.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorPlace.tsx
similarity index 96%
rename from src/components/gathering/editor/GatheringEditorPlace.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorPlace.tsx
index 21f65d99..9e309008 100644
--- a/src/components/gathering/editor/GatheringEditorPlace.tsx
+++ b/src/components/gathering/createUpdate/editor/GatheringEditorPlace.tsx
@@ -1,7 +1,7 @@
import { Modal } from "@/components/common/modal/Modal";
import { ModalState } from "@/types/ModalState";
import { useFormContext } from "react-hook-form";
-import GatheringPlaceModal from "../modal/GatheringPlaceModal";
+import GatheringPlaceModal from "./modal/GatheringPlaceModal";
interface IGatheringEditorPlace {
modalState: ModalState;
diff --git a/src/components/gathering/editor/GatheringEditorTime.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorTime.tsx
similarity index 96%
rename from src/components/gathering/editor/GatheringEditorTime.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorTime.tsx
index 3abfa8f9..89bb264c 100644
--- a/src/components/gathering/editor/GatheringEditorTime.tsx
+++ b/src/components/gathering/createUpdate/editor/GatheringEditorTime.tsx
@@ -2,7 +2,7 @@ import { Modal } from '@/components/common/modal/Modal';
import { ModalState } from '@/types/ModalState';
import { format } from 'date-fns';
import { useFormContext } from 'react-hook-form';
-import GatheringTimeModal from '../modal/GatheringTimeModal';
+import GatheringTimeModal from './modal/GatheringTimeModal';
interface IGatheringEditorTime {
modalState: ModalState
diff --git a/src/components/gathering/editor/GatheringEditorTitle.tsx b/src/components/gathering/createUpdate/editor/GatheringEditorTitle.tsx
similarity index 100%
rename from src/components/gathering/editor/GatheringEditorTitle.tsx
rename to src/components/gathering/createUpdate/editor/GatheringEditorTitle.tsx
diff --git a/src/components/gathering/modal/GatheringCategoryModal.tsx b/src/components/gathering/createUpdate/editor/modal/GatheringCategoryModal.tsx
similarity index 100%
rename from src/components/gathering/modal/GatheringCategoryModal.tsx
rename to src/components/gathering/createUpdate/editor/modal/GatheringCategoryModal.tsx
diff --git a/src/components/gathering/modal/GatheringContent.tsx b/src/components/gathering/createUpdate/editor/modal/GatheringContent.tsx
similarity index 100%
rename from src/components/gathering/modal/GatheringContent.tsx
rename to src/components/gathering/createUpdate/editor/modal/GatheringContent.tsx
diff --git a/src/components/gathering/modal/GatheringDeadlineModal.tsx b/src/components/gathering/createUpdate/editor/modal/GatheringDeadlineModal.tsx
similarity index 100%
rename from src/components/gathering/modal/GatheringDeadlineModal.tsx
rename to src/components/gathering/createUpdate/editor/modal/GatheringDeadlineModal.tsx
diff --git a/src/components/gathering/modal/GatheringParticipantsFilterModal.tsx b/src/components/gathering/createUpdate/editor/modal/GatheringParticipantsFilterModal.tsx
similarity index 90%
rename from src/components/gathering/modal/GatheringParticipantsFilterModal.tsx
rename to src/components/gathering/createUpdate/editor/modal/GatheringParticipantsFilterModal.tsx
index 51de7203..d0f9d75d 100644
--- a/src/components/gathering/modal/GatheringParticipantsFilterModal.tsx
+++ b/src/components/gathering/createUpdate/editor/modal/GatheringParticipantsFilterModal.tsx
@@ -242,9 +242,24 @@ const onClickImproveMaxAge = () => {
{
backgroundColor: "#0d6efd",
height: 30,
+ left:
+ startAge >= 56
+ ? `calc(${((startAge - 20) / 39) * 100}% - 2rem)`
+ : `calc(${((startAge - 20) / 35) * 87.5}% - ${((((startAge - 20) / 35) * 87.5) / 100) * 2}rem)`,
+ width:
+ startAge >= 56
+ ? endAge >= 56
+ ? `calc(100% - (${((startAge - 20) / 39) * 100}% - 2rem - (${((59 - endAge) / 39) * 87.5}%))`
+ : `calc(100% - (${((startAge - 20) / 39) * 100}% - 2rem - (${((59 - endAge) / 39) * 87.5}%))` // 55 1 , 57 0.5, 59 0
+ : endAge >= 55
+ ? `calc(100% - (${((startAge - 20) / 35) * 87.5}% - ${((((startAge - 20) / 35) * 87.5) / 100) * 2}rem) - calc(calc(100% - 2rem) / 8 * ${59 - endAge} / 4 )`
+ : `calc(100% - (${((startAge - 20) / 35) * 87.5}% - ${((((startAge - 20) / 35) * 87.5) / 100) * 2}rem) - calc(calc(100% - 2rem) / 8 * ${55 - endAge + 5} / 5 )`,
},
]}
- railStyle={{ backgroundColor: "#ddd", height: 32 }}
+ railStyle={{
+ backgroundColor: "#ddd",
+ height: 32,
+ }}
/>
{markerPositions.map((age) => (
diff --git a/src/components/gathering/modal/GatheringPeriodModal.tsx b/src/components/gathering/createUpdate/editor/modal/GatheringPeriodModal.tsx
similarity index 100%
rename from src/components/gathering/modal/GatheringPeriodModal.tsx
rename to src/components/gathering/createUpdate/editor/modal/GatheringPeriodModal.tsx
diff --git a/src/components/gathering/modal/GatheringPlaceModal.tsx b/src/components/gathering/createUpdate/editor/modal/GatheringPlaceModal.tsx
similarity index 100%
rename from src/components/gathering/modal/GatheringPlaceModal.tsx
rename to src/components/gathering/createUpdate/editor/modal/GatheringPlaceModal.tsx
diff --git a/src/components/gathering/modal/GatheringTimeModal.tsx b/src/components/gathering/createUpdate/editor/modal/GatheringTimeModal.tsx
similarity index 100%
rename from src/components/gathering/modal/GatheringTimeModal.tsx
rename to src/components/gathering/createUpdate/editor/modal/GatheringTimeModal.tsx
diff --git a/src/components/gathering/GatheringBookmark.tsx b/src/components/gathering/read/GatheringBookmark.tsx
similarity index 100%
rename from src/components/gathering/GatheringBookmark.tsx
rename to src/components/gathering/read/GatheringBookmark.tsx
diff --git a/src/components/gathering/GatheringCardList.tsx b/src/components/gathering/read/GatheringCardList.tsx
similarity index 86%
rename from src/components/gathering/GatheringCardList.tsx
rename to src/components/gathering/read/GatheringCardList.tsx
index e682755d..402958b9 100644
--- a/src/components/gathering/GatheringCardList.tsx
+++ b/src/components/gathering/read/GatheringCardList.tsx
@@ -1,7 +1,7 @@
import LottieFile from "@/../public/lottie/list-not-found.json";
import { Gathering } from "@/types/GatheringDto";
-import GatheringItem from "../common/GatheringItem";
-import LottieComponent from "../common/lottie/LottieComponent";
+import GatheringItem from "../../common/GatheringItem";
+import LottieComponent from "../../common/lottie/LottieComponent";
interface IGatheringCardList {
data: Gathering[]
}
diff --git a/src/components/gathering/GatheringKakaoMap.tsx b/src/components/gathering/read/GatheringKakaoMap.tsx
similarity index 100%
rename from src/components/gathering/GatheringKakaoMap.tsx
rename to src/components/gathering/read/GatheringKakaoMap.tsx
diff --git a/src/components/gathering/write/GatheringLike.tsx b/src/components/gathering/read/GatheringLike.tsx
similarity index 100%
rename from src/components/gathering/write/GatheringLike.tsx
rename to src/components/gathering/read/GatheringLike.tsx
diff --git a/src/components/gathering/GatheringList.tsx b/src/components/gathering/read/GatheringList.tsx
similarity index 78%
rename from src/components/gathering/GatheringList.tsx
rename to src/components/gathering/read/GatheringList.tsx
index fb9ce472..48285378 100644
--- a/src/components/gathering/GatheringList.tsx
+++ b/src/components/gathering/read/GatheringList.tsx
@@ -1,11 +1,11 @@
"use client"
-import GatheringCardListContainer from "@/containers/gathering/GatheringCardListContainer";
-import GatheringCategoryListContainer from "@/containers/gathering/GatheringCategoryListContainer";
-import GatheringExcludeCompleteContainer from "@/containers/gathering/GatheringExcludeCompleteContainer";
-import GatheringFilterContainer from "@/containers/gathering/GatheringFilterContainer";
-import GatheringSearchContainer from "@/containers/gathering/GatheringSearchContainer";
-import GatheringSortContainer from "@/containers/gathering/GatheringSortContainer";
+import GatheringCardListContainer from "@/containers/gathering/read/GatheringCardListContainer";
+import GatheringCategoryListContainer from "@/containers/gathering/read/GatheringCategoryListContainer";
+import GatheringExcludeCompleteContainer from "@/containers/gathering/read/GatheringExcludeCompleteContainer";
+import GatheringFilterContainer from "@/containers/gathering/read/GatheringFilterContainer";
+import GatheringSearchContainer from "@/containers/gathering/read/GatheringSearchContainer";
+import GatheringSortContainer from "@/containers/gathering/read/GatheringSortContainer";
import { GatheringCategoryListType } from "@/types/GatheringCategoryDto";
import "react-date-range/dist/styles.css";
import "react-date-range/dist/theme/default.css";
diff --git a/src/components/gathering/write/GatheringPlace.tsx b/src/components/gathering/read/GatheringPlace.tsx
similarity index 100%
rename from src/components/gathering/write/GatheringPlace.tsx
rename to src/components/gathering/read/GatheringPlace.tsx
diff --git a/src/components/gathering/GatheringRecommendationList.tsx b/src/components/gathering/read/GatheringRecommendationList.tsx
similarity index 97%
rename from src/components/gathering/GatheringRecommendationList.tsx
rename to src/components/gathering/read/GatheringRecommendationList.tsx
index 83269137..683465ea 100644
--- a/src/components/gathering/GatheringRecommendationList.tsx
+++ b/src/components/gathering/read/GatheringRecommendationList.tsx
@@ -3,7 +3,7 @@
import { Gathering, GatheringRecommend } from "@/types/GatheringDto";
import { fetchWithAuth } from "@/utils/fetchWithAuth";
import { useState } from "react";
-import GatheringItem from "../common/GatheringItem";
+import GatheringItem from "../../common/GatheringItem";
const GatheringRecommendationList = ({data}: {data: GatheringRecommend[]}) => {
const [elements, setElements] = useState
(data);
diff --git a/src/components/gathering/GatheringSearch.tsx b/src/components/gathering/read/GatheringSearch.tsx
similarity index 97%
rename from src/components/gathering/GatheringSearch.tsx
rename to src/components/gathering/read/GatheringSearch.tsx
index 2a1a49e8..001a2f75 100644
--- a/src/components/gathering/GatheringSearch.tsx
+++ b/src/components/gathering/read/GatheringSearch.tsx
@@ -1,5 +1,5 @@
import Image from "next/image";
-import Dropdown from "../common/dropdown/Dropdown";
+import Dropdown from "../../common/dropdown/Dropdown";
interface Props {
dropDownHandler: (value: string) => void;
diff --git a/src/components/gathering/GatheringApplicantList.tsx b/src/components/gathering/read/detail/GatheringApplicantList.tsx
similarity index 100%
rename from src/components/gathering/GatheringApplicantList.tsx
rename to src/components/gathering/read/detail/GatheringApplicantList.tsx
diff --git a/src/components/gathering/GatheringSupportManagement.tsx b/src/components/gathering/read/detail/GatheringSupportManagement.tsx
similarity index 100%
rename from src/components/gathering/GatheringSupportManagement.tsx
rename to src/components/gathering/read/detail/GatheringSupportManagement.tsx
diff --git a/src/components/gathering/GatheringUpdateDeleteButtonComponent.tsx b/src/components/gathering/read/detail/GatheringUpdateDeleteButtonComponent.tsx
similarity index 100%
rename from src/components/gathering/GatheringUpdateDeleteButtonComponent.tsx
rename to src/components/gathering/read/detail/GatheringUpdateDeleteButtonComponent.tsx
diff --git a/src/components/gathering/GatheringViewer.tsx b/src/components/gathering/read/detail/GatheringViewer.tsx
similarity index 94%
rename from src/components/gathering/GatheringViewer.tsx
rename to src/components/gathering/read/detail/GatheringViewer.tsx
index e37d95b1..ce98cc27 100644
--- a/src/components/gathering/GatheringViewer.tsx
+++ b/src/components/gathering/read/detail/GatheringViewer.tsx
@@ -1,17 +1,17 @@
import { SETTING_MODAL_SEX } from "@/constants/gathering/GatheringConstant";
-import GatheringApplicantListContainer from "@/containers/gathering/GatheringApplicantListContainer";
-import GatheringSupportManagementContainer from "@/containers/gathering/GatheringSupportManagementContainer";
+import GatheringApplicantListContainer from "@/containers/gathering/read/detail/GatheringApplicantListContainer";
+import GatheringSupportManagementContainer from "@/containers/gathering/read/detail/GatheringSupportManagementContainer";
import { GatheringDetailResponseDto } from "@/types/GatheringDto";
import { ModalState } from "@/types/ModalState";
import { convertNumberToShortForm } from "@/utils/convertNumberToShortForm";
import { format } from "date-fns";
import { ko } from 'date-fns/locale';
import Image from "next/image";
-import GatheringLike from "../../containers/gathering/GatheringLikeContainer";
-import Breadcrumbs from "../common/Breadcrumb";
-import GatheringKakaoMap from "./GatheringKakaoMap";
+import GatheringDeleteModalContainer from "../../../../containers/gathering/read/detail/GatheringDeleteModalContainer";
+import GatheringLike from "../../../../containers/gathering/read/GatheringLikeContainer";
+import Breadcrumbs from "../../../common/Breadcrumb";
+import GatheringKakaoMap from "../GatheringKakaoMap";
import GatheringUpdateDeleteButtonComponent from "./GatheringUpdateDeleteButtonComponent";
-import GatheringDeleteModalContainer from "./modal/GatheringDeleteModalContainer";
interface IGatheringViewer {
data: GatheringDetailResponseDto;
diff --git a/src/components/gathering/GatheringFilterModal.tsx b/src/components/gathering/read/modal/GatheringFilterModal.tsx
similarity index 92%
rename from src/components/gathering/GatheringFilterModal.tsx
rename to src/components/gathering/read/modal/GatheringFilterModal.tsx
index 40b47598..b9e6452c 100644
--- a/src/components/gathering/GatheringFilterModal.tsx
+++ b/src/components/gathering/read/modal/GatheringFilterModal.tsx
@@ -363,6 +363,18 @@ const GatheringFilterModal = ({closeModal}: IGatheringFilterModalProps) => {
{
backgroundColor: "#0d6efd",
height: 30,
+ left:
+ startAge >= 56
+ ? `calc(${((startAge - 20) / 39) * 100}% - 2rem)`
+ : `calc(${((startAge - 20) / 35) * 87.5}% - ${((((startAge - 20) / 35) * 87.5) / 100) * 2}rem)`,
+ width:
+ startAge >= 56
+ ? endAge >= 56
+ ? `calc(100% - (${((startAge - 20) / 39) * 100}% - 2rem - (${((59 - endAge) / 39) * 87.5}%))`
+ : `calc(100% - (${((startAge - 20) / 39) * 100}% - 2rem - (${((59 - endAge) / 39) * 87.5}%))` // 55 1 , 57 0.5, 59 0
+ : endAge >= 55
+ ? `calc(100% - (${((startAge - 20) / 35) * 87.5}% - ${((((startAge - 20) / 35) * 87.5) / 100) * 2}rem) - calc(calc(100% - 2rem) / 8 * ${59 - endAge} / 4 )`
+ : `calc(100% - (${((startAge - 20) / 35) * 87.5}% - ${((((startAge - 20) / 35) * 87.5) / 100) * 2}rem) - calc(calc(100% - 2rem) / 8 * ${55 - endAge + 5} / 5 )`,
},
]}
railStyle={{
@@ -370,18 +382,17 @@ const GatheringFilterModal = ({closeModal}: IGatheringFilterModalProps) => {
height: 32,
}}
/>
-
- {markerPositions.map((age) => (
+
+ {markerPositions.map((age, index) => (