Skip to content

Commit ac5ab6c

Browse files
Merge pull request #151 from gnims-project/dev
Upload/Main Merge #100
2 parents 5d19aab + 61ce109 commit ac5ab6c

12 files changed

+158
-166
lines changed

public/favicon.ico

1.12 KB
Binary file not shown.

public/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
charset="utf-8"
88
></script>
99
<meta charset="utf-8" />
10+
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
1011
<meta name="viewport" content="width=device-width, initial-scale=1" />
1112
<meta name="theme-color" content="#000000" />
1213
<meta
@@ -29,7 +30,6 @@
2930
-->
3031

3132
<title>Gnims</title>
32-
3333
</head>
3434
<body>
3535
<noscript>You need to enable JavaScript to run this app.</noscript>

src/components/Schedule/ScheduleDetail.jsx

+67-74
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ const ScheduleDetail = () => {
2222
dispatch(__getScheduleDetail(id));
2323
}, []);
2424
const joiner = schedule.invitees;
25-
console.log(joiner);
2625
const numberOfJoiner = joiner && joiner.length;
2726
const hostId = schedule.hostId;
2827
//isHidden은 해당 스케쥴이 본인의 스케쥴이 아닐 땐 케밥버튼이 보이지 않게하기 위해 쓰인다. 기본값은 flex이고,
@@ -33,89 +32,83 @@ const ScheduleDetail = () => {
3332
}
3433

3534
return (
36-
<div>
35+
<div className="width-[375px]">
3736
<div className="bg-[#F8FCFF] h-full width-[375px]">
38-
<div>
39-
<div className="fixed bottom-0">
40-
{/* 케밥모달이 열리면 bottomNavi는 사라집니다 */}
41-
{modalOpen ? false : <BottomNavi />}
42-
</div>
43-
{modalOpen && <KebabModal setModalOpen={setModalOpen} id={id} />}
44-
<div
45-
className={`h-[212px] bg-${schedule.cardColor} pl-[18px] w-[375px] pt-[23px] pr-[21px] text-white
37+
<div className="fixed bottom-0">
38+
{/* 케밥모달이 열리면 bottomNavi는 사라집니다 */}
39+
{modalOpen ? false : <BottomNavi />}
40+
</div>
41+
{modalOpen && <KebabModal setModalOpen={setModalOpen} id={id} />}
42+
<div
43+
className={`h-[212px] bg-${schedule.cardColor} pl-[18px] w-[375px] pt-[23px] pr-[21px] text-white
4644
`}
47-
>
48-
<div className="flex flex-row-reverse ">
49-
<div
50-
className="w-[40px] mr-[-30px] right-0"
51-
onClick={showModalHandler}
52-
>
53-
<img
54-
className={`h-[20px] ${isHidden} row cursor-pointer`}
55-
src={kebab}
56-
alt="케밥메뉴"
57-
/>
58-
</div>
59-
</div>
60-
<div className="flex space-x-3 text-[18px] font-light ">
61-
<div>{schedule.date}</div> <div> {time}</div>
62-
</div>
63-
<div className="mt-[28px] font-semibold text-[24px]">
64-
{schedule.subject}
65-
</div>{" "}
66-
<div className="place-content-end font-light flex text-[18px] mt-[45px]">
67-
D-
68-
{schedule.dday === 0 ? (
69-
<div>DAY</div>
70-
) : (
71-
<div>{schedule.dday}</div>
72-
)}
45+
>
46+
<div className="flex flex-row-reverse ">
47+
<div
48+
className="w-[40px] mr-[-30px] right-0"
49+
onClick={showModalHandler}
50+
>
51+
<img
52+
className={`h-[20px] ${isHidden} row cursor-pointer`}
53+
src={kebab}
54+
alt="케밥메뉴"
55+
/>
7356
</div>
7457
</div>
75-
<div className="">
76-
<div>
77-
{/* 참여자는 2명이상일 때부터 화면에 보입니다. */}
78-
{numberOfJoiner !== 1 ? (
79-
<div className="mt-[30px] h-[98px] ml-[20px]">
80-
참여자
81-
<div className="bg-white h-[50px] w-[335px] mt-[20px] p-[15px] drop-shadow-lg flex rounded-lg">
82-
{joiner &&
83-
joiner.map((a) => {
84-
return (
85-
<span className="text-sm ml-[5px]">{a.username}</span>
86-
);
87-
})}
88-
</div>
89-
</div>
90-
) : (
91-
false
92-
)}
93-
</div>
94-
{/* 일정의 내용이 없을 땐 화면에 보이지 않습니다. */}
95-
{schedule.content ? (
96-
<div className="h-[234px] w-[375px] mt-[30px] mb-[8px] ml-[20px]">
97-
일정내용{" "}
98-
<div className="bg-white word-wrap break-words whitespace-normal shadow-lg h-[186px] w-[335px] mt-[20px] p-[20px] flex rounded-lg">
99-
<div className="w-[295px] relative">{schedule.content}</div>
58+
<div className="flex space-x-3 text-[18px] font-light ">
59+
<div>{schedule.date}</div> <div> {time}</div>
60+
</div>
61+
<div className="mt-[28px] font-semibold text-[24px]">
62+
{schedule.subject}
63+
</div>{" "}
64+
<div className="place-content-end font-light flex text-[18px] mt-[45px]">
65+
D-
66+
{schedule.dday === 0 ? <div>DAY</div> : <div>{schedule.dday}</div>}
67+
</div>
68+
</div>
69+
<div className="">
70+
<div>
71+
{/* 참여자는 2명이상일 때부터 화면에 보입니다. */}
72+
{numberOfJoiner !== 1 ? (
73+
<div className="mt-[30px] h-[98px] mx-auto]">
74+
참여자
75+
<div className="bg-white h-[50px] w-[335px] mt-[20px] p-[15px] drop-shadow-lg flex rounded-lg">
76+
{joiner &&
77+
joiner.map((a) => {
78+
return (
79+
<span className="text-sm ml-[5px]">{a.username}</span>
80+
);
81+
})}
10082
</div>
10183
</div>
10284
) : (
10385
false
10486
)}
105-
{!schedule.content && numberOfJoiner === 1 ? (
106-
<div className="m-auto justify-center items-center mt-[80px]">
107-
<img
108-
src={schedulealoneIcon}
109-
alt="gnimslogo"
110-
className="m-auto w-[167px] h-[153px] flex justify-center items-center"
111-
/>
112-
<div className="font-medium mt-[30px] text-[20px] text-center text-black">
113-
혼자만의 일정이군요! <br />
114-
때로는 개인시간도 중요한 법이죠.
115-
</div>
116-
</div>
117-
) : null}
11887
</div>
88+
{/* 일정의 내용이 없을 땐 화면에 보이지 않습니다. */}
89+
{schedule.content ? (
90+
<div className="h-[234px] ml-[20px] mt-[30px] mb-[8px] ">
91+
일정내용{" "}
92+
<div className="bg-white word-wrap break-words whitespace-normal shadow-lg h-[186px] w-[335px] mt-[20px] p-[20px] flex rounded-lg">
93+
<div className="w-[295px] ">{schedule.content}</div>
94+
</div>
95+
</div>
96+
) : (
97+
false
98+
)}
99+
{!schedule.content && numberOfJoiner === 1 ? (
100+
<div className="m-auto justify-center items-center mt-[80px]">
101+
<img
102+
src={schedulealoneIcon}
103+
alt="gnimslogo"
104+
className="m-auto w-[167px] h-[153px] flex justify-center items-center"
105+
/>
106+
<div className="font-medium mt-[30px] text-[20px] text-center text-black">
107+
혼자만의 일정이군요! <br />
108+
때로는 개인시간도 중요한 법이죠.
109+
</div>
110+
</div>
111+
) : null}
119112
</div>
120113
</div>
121114
</div>

src/components/follow/FollowerCard.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ const FollowerCard = ({ follower }) => {
1111
const navigate = useNavigate();
1212
const dispatch = useDispatch();
1313
const [isFollowed, setIsFollowed] = useState(
14-
follower.followStatus === "ACTIVE"
14+
follower.followStatus === "ACTIVE" || "INIT"
1515
);
1616

1717
const [btnColor, setBtnColor] = useState(
18-
follower.followStatus === "ACTIVE" ? "#A31414" : "#002C51"
18+
follower.followStatus === "ACTIVE" || "INIT" ? "#A31414" : "#002C51"
1919
);
2020

2121
const handleClick = (e) => {

src/components/layout/TopNavBar.jsx

+4-3
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,10 @@ const TopNavBar = () => {
8585
fetchSse();
8686
getNoti();
8787
//컴포넌트가 언마운트될 때 eventSource를 닫음
88-
//return () => {
89-
// eventSource && eventSource.close();
90-
// };
88+
return () => {
89+
eventSource && eventSource.close();
90+
console.log("event source closed.");
91+
};
9192
}, []);
9293

9394
return (

src/components/layout/input/LoginSignupInputBox.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { forwardRef } from "react";
22

33
const LoginSignupInputBox = forwardRef((props, ref) => {
4-
const { type, placeholder, onChange, id, bgColor, shadow } = props;
4+
const { type, placeholder, onChange, id, bgColor, shadow, maxLength } = props;
55
return (
66
<>
77
<div>
@@ -13,6 +13,7 @@ const LoginSignupInputBox = forwardRef((props, ref) => {
1313
ref={ref}
1414
placeholder={placeholder}
1515
onChange={onChange}
16+
maxLength={maxLength}
1617
autoComplete="off"
1718
/>
1819
</div>

src/components/login/EmailLogin.jsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,10 @@ const EmailLogin = () => {
225225
<div>간편 로그인</div>
226226
</div>
227227
<div className="flex gap-[110px] mx-auto h-[100px] mt-[46px]">
228-
<div className="text-center ">
228+
<div
229+
className="text-center "
230+
onClick={() => navigate("/developing")}
231+
>
229232
<NaverLogin />
230233
<p className="mt-[20px] text-[#12396F] font-[400] text-[14px]">
231234
네이버

src/components/login/NaverLogin.jsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@ const NaverLogin = () => {
2323
};
2424
//원형아이콘클릭해도 네이버로그인이 가능.
2525
const handleClick = () => {
26-
navigate("/developing");
27-
26+
// navigate("/developing");
2827
// naverRef.current.children[0].click();
2928
};
3029
// 화면 첫 렌더링이후 바로 실행
3130
useEffect(() => {
32-
initializeNaverLogin();
31+
// initializeNaverLogin();
3332
}, []);
3433

3534
return (

src/components/notification/NotificationsList.jsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ const NotificationsList = () => {
4848
eventSource = new EventSourcePolyfill(
4949
"https://eb.jxxhxxx.shop/connect",
5050
{
51-
//headers에 토큰을 꼭 담아줘야 500이 안뜬다.
51+
//headers에 토큰을 꼭 담아줘야 401이 안뜬다.
5252
headers: {
5353
Authorization: sessionStorage.getItem("accessToken"),
5454
},

0 commit comments

Comments
 (0)