Skip to content

Commit

Permalink
[FE] FEAT: DUMMY인 경우에도 일정을 변경할 수 있도록 변경 #1691
Browse files Browse the repository at this point in the history
  • Loading branch information
wet6123 committed Oct 21, 2024
1 parent 29b1752 commit 537cc0d
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@ import { useRecoilState } from "recoil";
import { padToNDigits } from "@/Cabinet/utils/dateUtils";
import { isCurrentModalState } from "@/Presentation/recoil/atoms";
import DetailContent from "@/Presentation/components/Details/DetailContent";
import {
IExtendedPresentationScheduleDetailInfo,
IPresentationScheduleDetailInfo,
} from "@/Presentation/types/dto/presentation.dto";
import { IPresentationScheduleDetailInfo } from "@/Presentation/types/dto/presentation.dto";
import {
axiosGetPresentationSchedule,
getAdminPresentationSchedule,
Expand All @@ -24,19 +21,6 @@ export interface IDate {
day: string;
}

const createEmptyPresentation = (day: Date) => ({
id: null,
subject: null,
summary: null,
detail: null,
dateTime: toISOStringwithTimeZone(day),
category: null,
userName: null,
presentationTime: null,
presentationStatus: null,
presentationLocation: null,
});

const DetailContentContainer = () => {
const [currentDate, setCurrentDate] = useState<IDate | null>(null);
const [todayDate, setTodayDate] = useState<IDate | null>(null);
Expand Down Expand Up @@ -79,12 +63,7 @@ const DetailContentContainer = () => {
requestDate.year,
requestDate.month
);
const presentationInfo = response.data.forms.map(
(info: IExtendedPresentationScheduleDetailInfo) =>
info.category === "DUMMY"
? createEmptyPresentation(new Date(info.dateTime))
: info
);
const presentationInfo = response.data.forms;
setPresentationDetailInfo(presentationInfo);
} catch (error) {
console.error("Error fetching presentation schedule:", error);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ import { useEffect, useState } from "react";
import { useLocation } from "react-router-dom";
import DetailTable from "@/Presentation/components/Details/DetailTable/DetailTable";
import EditStatusModal from "@/Presentation/components/Modals/EditStatusModal/EditStatusModal";
import { IPresentationScheduleDetailInfo } from "@/Presentation/types/dto/presentation.dto";
import {
IExtendedPresentationScheduleDetailInfo,
IPresentationScheduleDetailInfo,
} from "@/Presentation/types/dto/presentation.dto";
import { toISOStringwithTimeZone } from "@/Presentation/utils/dateUtils";

export interface IAdminCurrentModalStateInfo {
Expand Down Expand Up @@ -76,11 +79,11 @@ const DetailTableContainer = ({
setAdminModal({ ...adminModal, [modal]: false });
};

const groupEvent = (item: IPresentationScheduleDetailInfo) => {
const groupEvent = (item: IExtendedPresentationScheduleDetailInfo) => {
let itemStatus = itemType.EVENT_AVAILABLE;

// 발표가 없다면
if (!item.id) {
if (item.category === "DUMMY") {
const date = new Date();
let dateISO = toISOStringwithTimeZone(date);
const dateObj = new Date(dateISO);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ const DetailTableBodyItem = ({
}, [clickedItem]);

const handleItemClick = (item: IPresentationScheduleDetailInfo) => {
if (isAdmin && !itemInfo.itemStatus) {
if (isAdmin && itemInfo.itemStatus !== itemType.NO_EVENT_PAST) {
setCurrentPresentation({
id: item.id,
dateTime: item.dateTime,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,13 @@ const DetailTableBodyItemTopTr = ({
return (
<>
<TopTrStyled
isAdmin={isAdmin}
itemStatus={itemInfo.itemStatus}
id={isItemOpen ? "selected" : ""}
onClick={() => {
!itemInfo.itemStatus && handleItemClick(itemInfo.item);
((isAdmin && itemInfo.itemStatus !== itemType.NO_EVENT_PAST) ||
(!isAdmin && !itemInfo.itemStatus)) &&
handleItemClick(itemInfo.item);
}}
open={isItemOpen}
>
Expand Down Expand Up @@ -156,6 +159,7 @@ const DetailTableBodyItemTopTr = ({
export default DetailTableBodyItemTopTr;

const TopTrStyled = styled.tr<{
isAdmin: boolean;
itemStatus: itemType;
open?: boolean;
}>`
Expand Down Expand Up @@ -203,8 +207,16 @@ const TopTrStyled = styled.tr<{
font-size: 1rem;
}
&:hover {
cursor: ${(props) => (props.itemStatus ? "" : "pointer")};
background-color: ${(props) => (props.itemStatus ? "" : "#91B5FB")};
cursor: ${(props) => {
if (props.isAdmin)
return props.itemStatus === itemType.NO_EVENT_PAST ? "" : "pointer";
else return props.itemStatus ? "" : "pointer";
}};
background-color: ${(props) => {
if (props.isAdmin)
return props.itemStatus === itemType.NO_EVENT_PAST ? "" : "#91B5FB";
else return props.itemStatus ? "" : "#91B5FB";
}};
}
}
@media (max-width: 1150px) {
Expand Down

0 comments on commit 537cc0d

Please sign in to comment.