Skip to content

Commit a6c39a5

Browse files
Merge pull request #81 from dong-fa/Feat/ScheduleEdit
Feat #66 스케줄 수정 구현 완료
2 parents dcd2c90 + 995018a commit a6c39a5

File tree

5 files changed

+57
-276
lines changed

5 files changed

+57
-276
lines changed

src/components/modal/ScheduleAddModal.jsx

+10-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
import React from "react";
22

3-
const ScheduleAddModal = (setCompleteModal) => {
3+
const ScheduleAddModal = ({ state, setCompleteModal }) => {
44
const closeModal = () => {
55
setCompleteModal(false);
66
};
77
return (
88
<div>
99
<div className="h-screen w-[375px] bg-black bg-opacity-50 flex justify-center fixed items-center">
1010
<div className="pt-12 items-center w-[300px] h-[167px] text-center fixed top-[230px] rounded-[16px] bg-white">
11-
<div className="text-[18px] font-bold flex flex-col">
12-
일정이 추가되었습니다!
13-
</div>
11+
{state.type === "edit" ? (
12+
<div className="text-[18px] font-bold flex flex-col">
13+
일정이 수정 되었습니다!
14+
</div>
15+
) : (
16+
<div className="text-[18px] font-bold flex flex-col">
17+
일정이 추가되었습니다!
18+
</div>
19+
)}
1420
<button
1521
className="bg-[#002C51] h-[40px] w-[268px] text-white mt-[18px]"
1622
onClick={closeModal}

src/components/schedule/ScheduleAdd.jsx

+46-23
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import ScheduleModal from "../modal/ScheduleModal";
1717
// state.type:"add" 은 스케줄 추가, state.type:edit은 수정
1818
const ScheduleAdd = () => {
1919
const dispatch = useDispatch();
20+
const navigate = useNavigate();
2021
//스케줄 추가, 수정 분기를 결정할 state 값을 받아옴
2122
const { state } = useLocation();
2223

@@ -27,12 +28,11 @@ const ScheduleAdd = () => {
2728
dispatch(scheduleReset());
2829
}
2930
}, []);
31+
3032
//전역으로 받아오는 state
3133
const oldSchedule = useSelector((state) => state.ScheduleSlice.oldschedules);
3234
console.log("수정할 스케줄", oldSchedule);
3335

34-
const navigate = useNavigate();
35-
3636
//필요한 변수들
3737
//날짜
3838
const [selectedDate, setSelectedDate] = useState(
@@ -41,7 +41,11 @@ const ScheduleAdd = () => {
4141
: ""
4242
);
4343

44-
const [selectedColor, setColorSelected] = useState("sora");
44+
45+
const [selectedColor, setColorSelected] = useState(
46+
state.type === "edit" ? oldSchedule.cardColor : "sora"
47+
);
48+
4549

4650
//제목
4751
const [subject, setSubject] = useState(
@@ -53,9 +57,27 @@ const ScheduleAdd = () => {
5357
state.type === "edit" ? oldSchedule.content : ""
5458
);
5559

56-
const [borderSora, setBorderSora] = useState("border-blackBorder");
57-
const [borderPink, setBorderPink] = useState("border-none");
58-
const [borderGreen, setBorderGreen] = useState("border-none");
60+
const [borderSora, setBorderSora] = useState(
61+
state.type !== "edit"
62+
? "border-blackBorder"
63+
: oldSchedule.cardColor === "sora"
64+
? "border-blackBorder"
65+
: "border-none"
66+
);
67+
const [borderPink, setBorderPink] = useState(
68+
state.type !== "edit"
69+
? "border-none"
70+
: oldSchedule.cardColor === "pink"
71+
? "border-blackBorder"
72+
: "border-none"
73+
);
74+
const [borderGreen, setBorderGreen] = useState(
75+
state.type !== "edit"
76+
? "border-none"
77+
: oldSchedule.cardColor === "green"
78+
? "border-blackBorder"
79+
: "border-none"
80+
);
5981

6082
//완료모달&경고모달
6183
const [modalOpen, setModalOpen] = useState(false);
@@ -87,7 +109,7 @@ const ScheduleAdd = () => {
87109
const onContentChangeHandler = (e) => {
88110
setContent(e.target.value);
89111
};
90-
//팔로우 선택 // 추가작업 필요
112+
//팔로우 선택
91113
const [participants, setParticipants] = useState([]);
92114
const onParticipantsChangeHandler = (e) => {
93115
// setParticipants(e.target.value);
@@ -156,7 +178,7 @@ const ScheduleAdd = () => {
156178
)}
157179
{modalOpen && <ScheduleModal setModalOpen={setModalOpen} />}
158180
{completeModal && (
159-
<ScheduleAddModal setCompleteModal={setCompleteModal} />
181+
<ScheduleAddModal state={state} setCompleteModal={setCompleteModal} />
160182
)}
161183
<div className="text-[#121213] ">
162184
<div className={"bg-[#F8FCFF] flex p-[20px] text-base"}>
@@ -206,28 +228,29 @@ const ScheduleAdd = () => {
206228
}}
207229
onChange={() => onParticipantsChangeHandler}
208230
placeholder="함께할 친구들을 선택해주세요.(최대 5명)"
209-
className="mt-4 shadow
210-
hover:bg-sky-100
211-
text-center placeholder-placeHolder
212-
w-[335px]
213-
h-12
214-
bg-input
215-
justify-center
216-
text-l
217-
rounded-md
218-
text-black
219-
font-light
220-
p-4
221-
disabled
222-
"
231+
className={`mt-4 shadow hover:bg-sky-100 text-center placeholder-placeHolder w-[335px] h-12 bg-input justify-center text-l rounded-md text-black font-light p-4 ${
232+
state.type === "edit" ? "pointer-events-none" : ""
233+
}`}
234+
disabled={state.type === "edit"}
223235
>
224-
{joinerWithoutDuplicate.length > 0 ? (
236+
{state.type === "edit" ? (
237+
<div className="text-placeHolder">
238+
수정중에는 참여자를 변경 할 수 없습니다.
239+
</div>
240+
) : joinerWithoutDuplicate.length > 0 ? (
225241
<div className=" text-placeHolder">{selectedJoinersName}</div>
226242
) : (
227243
<div className=" text-placeHolder">
228244
함께할 친구들을 선택해주세요.(최대 5명)
229245
</div>
230246
)}
247+
{/* {joinerWithoutDuplicate.length > 0 ? (
248+
<div className=" text-placeHolder">{selectedJoinersName}</div>
249+
) : (
250+
<div className=" text-placeHolder">
251+
함께할 친구들을 선택해주세요.(최대 5명)
252+
</div>
253+
)} */}
231254
</div>
232255
</div>
233256
<div className="flex flex-col mt-6 font-medium ">

src/components/schedule/ScheduleEdit.jsx

-240
This file was deleted.

0 commit comments

Comments
 (0)