From 56c3f46dd9f5c29ef4e2fdaf1dabc11270cd9e2f Mon Sep 17 00:00:00 2001 From: mlnwns Date: Thu, 25 Jul 2024 17:34:42 +0900 Subject: [PATCH 1/8] =?UTF-8?q?feat:=20=EC=9D=BC=EC=A0=95=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EB=AA=A8=EB=8B=AC=20=EC=9D=B4=EC=A0=84=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EB=B6=88=EB=9F=AC=EC=99=80=EC=A7=80?= =?UTF-8?q?=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scheduleCheck/CheckCalendar.jsx | 53 ++++++++++--------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/FE/error/src/components/scheduleCheck/CheckCalendar.jsx b/FE/error/src/components/scheduleCheck/CheckCalendar.jsx index 2424f0b..0610dac 100644 --- a/FE/error/src/components/scheduleCheck/CheckCalendar.jsx +++ b/FE/error/src/components/scheduleCheck/CheckCalendar.jsx @@ -1,4 +1,4 @@ -import { useEffect, useState, useRef } from "react"; +import { useEffect, useState } from "react"; import { GoPencil } from "react-icons/go"; import { IoClose } from "react-icons/io5"; import { MdOutlineLocationOn } from "react-icons/md"; @@ -36,29 +36,27 @@ const CheckCalendar = ({ setEvent(specificEvent); } - const isMount = useRef(false); useEffect(() => { - if (!isMount.current) { - isMount.current = true; - return; - } + if (isOpen && selectID) { + setEvent({}); // 새로운 데이터 로딩 전에 event 상태 초기화 - axios - .get("/api/calendar/" + selectID, { - headers: { Authorization: `Bearer ${storedToken}` }, - }) - .then((res) => { - createDate( - res.data.data.eventName, - res.data.data.eventStartDate, - res.data.data.eventEndDate, - res.data.data.eventPlace, - res.data.data.eventInfo, - res.data.data.eventType, - res.data.data.filterColor - ); - }); - }, [selectID]); + axios + .get("/api/calendar/" + selectID, { + headers: { Authorization: `Bearer ${storedToken}` }, + }) + .then((res) => { + createDate( + res.data.data.eventName, + res.data.data.eventStartDate, + res.data.data.eventEndDate, + res.data.data.eventPlace, + res.data.data.eventInfo, + res.data.data.eventType, + res.data.data.filterColor + ); + }); + } + }, [selectID, isOpen, storedToken]); function date(startDate, endDate) { if (!startDate && !endDate) return "날짜 정보 없음"; @@ -75,15 +73,20 @@ const CheckCalendar = ({ } ${endDate.split("T")[1]}`; } + const handleRequestClose = () => { + setEvent({}); + onRequestClose(); + }; + return ( - @@ -97,7 +100,7 @@ const CheckCalendar = ({ events={events} selectID={selectID} handleDelete={handleDelete} - onRequestClose={onRequestClose} + onRequestClose={handleRequestClose} handleUpdateDeleteData={handleUpdateDeleteData} /> From 286658b29272ee84dc32980692440072ac6cfeb6 Mon Sep 17 00:00:00 2001 From: mlnwns Date: Thu, 25 Jul 2024 17:38:30 +0900 Subject: [PATCH 2/8] =?UTF-8?q?fix:=20=EC=8B=9C=EA=B0=84=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D=20=EC=98=A4=ED=9B=84=EB=8F=84=20=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/error/src/utils/TimeSelect.jsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/FE/error/src/utils/TimeSelect.jsx b/FE/error/src/utils/TimeSelect.jsx index 1919949..e9fd49d 100644 --- a/FE/error/src/utils/TimeSelect.jsx +++ b/FE/error/src/utils/TimeSelect.jsx @@ -1,8 +1,7 @@ -import { useState } from "react"; import Select from "react-select"; let hour = []; -for (let i = 0; i < 24; i++) { +for (let i = 0; i < 48; i++) { let op = {}; let hourPart = i / 2; let minutePart = i % 2 === 0 ? "00" : "30"; From 8d44b24a0d66ef4ba53efaabb8b94c6986234902 Mon Sep 17 00:00:00 2001 From: mlnwns Date: Fri, 26 Jul 2024 00:50:34 +0900 Subject: [PATCH 3/8] =?UTF-8?q?feat:=20=EC=9D=BC=EC=A0=95=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20=EB=B0=94=EB=A1=9C=20=EB=B0=98=EC=98=81=EB=90=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=83=88=EB=A1=9C=EA=B3=A0=EC=B9=A8=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/error/src/components/scheduleCreate/CreateModal.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/FE/error/src/components/scheduleCreate/CreateModal.jsx b/FE/error/src/components/scheduleCreate/CreateModal.jsx index 7c15f6c..aac1f66 100644 --- a/FE/error/src/components/scheduleCreate/CreateModal.jsx +++ b/FE/error/src/components/scheduleCreate/CreateModal.jsx @@ -188,6 +188,7 @@ const CreateModal = ({ eventEndDate ); onRequestClose(); + window.location.reload(); }); }; From d9d4cea13f0d52e09e208c0ad1762462780b6fb9 Mon Sep 17 00:00:00 2001 From: mlnwns Date: Fri, 26 Jul 2024 02:22:30 +0900 Subject: [PATCH 4/8] =?UTF-8?q?feat:=20=EB=A1=9C=EB=94=A9=20=EC=8B=9C=20?= =?UTF-8?q?=EA=B3=B5=EB=A3=A1=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=97=85?= =?UTF-8?q?=EB=A1=9C=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/error/src/pages/LoginPage.jsx | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/FE/error/src/pages/LoginPage.jsx b/FE/error/src/pages/LoginPage.jsx index e9e0cf0..d438aa7 100644 --- a/FE/error/src/pages/LoginPage.jsx +++ b/FE/error/src/pages/LoginPage.jsx @@ -49,7 +49,11 @@ const LoginPage = () => { }; if (isLoading) { - return
로그인 중...
; + return ( + + + + ); } return ( @@ -128,3 +132,20 @@ const StyledCharacter = styled.img` top: 25%; left: 60%; `; + +const LoadingContainer = styled.div` + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + background-color: rgba(255, 255, 255, 0.8); +`; + +const LoadingImage = styled.img` + width: 100px; + height: auto; +`; From efe1a91dfbbd2f4b6f53569a0cd1876acb35af10 Mon Sep 17 00:00:00 2001 From: mlnwns Date: Fri, 26 Jul 2024 02:22:39 +0900 Subject: [PATCH 5/8] =?UTF-8?q?chore:=20=EA=B3=B5=EB=A3=A1=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/error/public/image 79.png | Bin 0 -> 29575 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FE/error/public/image 79.png diff --git a/FE/error/public/image 79.png b/FE/error/public/image 79.png new file mode 100644 index 0000000000000000000000000000000000000000..a14c83cf2a8ff54ae47327ec7f050bbb2598588d GIT binary patch literal 29575 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

Bn6WGQYO13Op17WHLC|K0($TlPqWQ$iwhj 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 literal 0 HcmV?d00001 From dec5e8abe3702e42d7fe86e0f13f77b36203e7c6 Mon Sep 17 00:00:00 2001 From: mlnwns Date: Fri, 26 Jul 2024 02:22:58 +0900 Subject: [PATCH 6/8] =?UTF-8?q?style:=20=ED=95=84=ED=84=B0=20=EC=83=89?= =?UTF-8?q?=EC=83=81=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/SideBar/publicFilter/PublicFilter.jsx | 4 ++-- FE/error/src/utils/filterUtils/FilterColorSelect.jsx | 6 +++--- FE/error/src/utils/filterUtils/ScheduleToggle.jsx | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/FE/error/src/components/SideBar/publicFilter/PublicFilter.jsx b/FE/error/src/components/SideBar/publicFilter/PublicFilter.jsx index cc8797b..eb68652 100644 --- a/FE/error/src/components/SideBar/publicFilter/PublicFilter.jsx +++ b/FE/error/src/components/SideBar/publicFilter/PublicFilter.jsx @@ -13,11 +13,11 @@ const PublicFilter = () => {

에코노 캘린더
- + 공식행사 - + 주간발표 diff --git a/FE/error/src/utils/filterUtils/FilterColorSelect.jsx b/FE/error/src/utils/filterUtils/FilterColorSelect.jsx index 3f2a3ed..56f995b 100644 --- a/FE/error/src/utils/filterUtils/FilterColorSelect.jsx +++ b/FE/error/src/utils/filterUtils/FilterColorSelect.jsx @@ -12,10 +12,10 @@ const FilterColorSelect = ({ setFilterColor }) => { "#CBAACB", "#FED7C3", "#789BDE", - "#55CBCD", - "#FFC0CB", + "#DEAC80", + "#D6EFD8", "#FF968A", - "#7367F0", + "#D4BDAC", "#FFC8A2", "#AAEF98", ]; diff --git a/FE/error/src/utils/filterUtils/ScheduleToggle.jsx b/FE/error/src/utils/filterUtils/ScheduleToggle.jsx index 3e4fa3a..4c31c27 100644 --- a/FE/error/src/utils/filterUtils/ScheduleToggle.jsx +++ b/FE/error/src/utils/filterUtils/ScheduleToggle.jsx @@ -29,12 +29,10 @@ const StyledClickedBox = styled.input` width: 1.15rem; height: 1.15rem; border: 1.5px solid ${(props) => props.color}; - opacity: 0.7; border-radius: 0.2rem; &:checked { background-image: url("data:image/svg+xml,%3Csvg viewBox='-2 -2 25 25' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 7.2C18 7.2 8.55 16.65 8.1 17.1C7.65 17.55 3.15 12.15 2.7 11.7C2.25 11.25 4.5 9.9 4.5 9.9L8.1 13.5L16.2 5.4C16.2 5.4 17.55 6.3 18 7.2Z' fill='white' stroke='white' stroke-width='0.63' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E"); background-color: ${(props) => props.color}; - opacity: 0.7; } margin-right: 0.5rem; `; From 50ac87ec60f8d23bb4f7a80d920a864ffd53043d Mon Sep 17 00:00:00 2001 From: mlnwns Date: Fri, 26 Jul 2024 02:28:34 +0900 Subject: [PATCH 7/8] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B7=B8=EC=95=84?= =?UTF-8?q?=EC=9B=83=20=EC=8B=9C=20=EC=83=88=EB=A1=9C=EA=B3=A0=EC=B9=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/error/src/components/EconoCalendar.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/FE/error/src/components/EconoCalendar.jsx b/FE/error/src/components/EconoCalendar.jsx index 2320cac..bf71223 100644 --- a/FE/error/src/components/EconoCalendar.jsx +++ b/FE/error/src/components/EconoCalendar.jsx @@ -61,6 +61,7 @@ const EconoCalendar = ({ localStorage.removeItem("slackToken"); setIsLoggedIn(false); setToken(null); + window.location.reload(); // } else { // const newToken = "dummyToken" + Math.random().toString(36).substr(2, 9); // 임의의 토큰 생성 // localStorage.setItem("slackToken", newToken); From 628494f4769c1307b62e4ff0110afb0e794b6dea Mon Sep 17 00:00:00 2001 From: mlnwns Date: Fri, 26 Jul 2024 03:12:25 +0900 Subject: [PATCH 8/8] =?UTF-8?q?style:=20hover=EC=8B=9C=20=EC=83=89?= =?UTF-8?q?=EC=83=81=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/scheduleCreate/CreateModal.jsx | 3 + FE/error/src/pages/ProfilePage.jsx | 171 +++++++++++------- 2 files changed, 110 insertions(+), 64 deletions(-) diff --git a/FE/error/src/components/scheduleCreate/CreateModal.jsx b/FE/error/src/components/scheduleCreate/CreateModal.jsx index aac1f66..e0b306a 100644 --- a/FE/error/src/components/scheduleCreate/CreateModal.jsx +++ b/FE/error/src/components/scheduleCreate/CreateModal.jsx @@ -370,6 +370,9 @@ const SaveButton = styled.button` &:disabled { cursor: default; } + &:hover { + background-color: #f5f5f5; + } `; const EditorBox = styled.div` diff --git a/FE/error/src/pages/ProfilePage.jsx b/FE/error/src/pages/ProfilePage.jsx index d6b6d80..39133a1 100644 --- a/FE/error/src/pages/ProfilePage.jsx +++ b/FE/error/src/pages/ProfilePage.jsx @@ -40,130 +40,173 @@ const ProfilePage = () => { if (selectedImage !== null) { localStorage.setItem("profileImage", images[selectedImage]); } - navigate("/"); // MainPage로 이동 + navigate("/"); }; return ( - <> -
- 프로필 선택 - -
- - - - 랜덤 이미지 생성 - - - {images.map((image, index) => ( - selectImage(index)} - selected={selectedImage === index} - > - {`option-${index}`} - - ))} - - - navigate("/")}>취소 - 저장 - - - + + +
+ 프로필 선택 +
+ + + + + + + 랜덤 이미지 생성 + + + {images.map((image, index) => ( + selectImage(index)} + selected={selectedImage === index} + > + {`option-${index}`} + + ))} + + + navigate("/")}>취소 + 저장 + + +
+
); }; export default ProfilePage; -const Container = styled.div` +const PageContainer = styled.div` + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + padding: 2rem; + box-sizing: border-box; +`; + +const ContentWrapper = styled.div` + width: 100%; + max-width: 1200px; display: flex; flex-direction: column; align-items: center; - padding: 0 4rem; `; const Header = styled.div` - display: flex; - width: 52%; - padding: 2rem 4rem 0 4rem; - justify-content: space-between; + width: 100%; + text-align: left; `; const Title = styled.h1` font-size: 2rem; - margin-right: 2rem; /* Space between title and profile picture */ `; -const ProfilePicture = styled.img` +const ProfilePictureContainer = styled.div` display: flex; justify-content: center; + width: 100%; + margin-bottom: 1rem; +`; + +const ProfilePicture = styled.img` width: 13rem; height: 13rem; border-radius: 50%; +`; + +const MainContent = styled.div` + width: 100%; +`; + +const ImageShuffle = styled.div` + display: flex; + align-items: center; margin-bottom: 1rem; `; const RandomButton = styled.div` padding: 0 0.5rem; cursor: pointer; - align-self: flex-start; `; const ImageGrid = styled.div` display: grid; grid-template-columns: repeat(8, 1fr); + grid-template-rows: repeat(2, 1fr); gap: 0.5rem; margin-bottom: 1rem; `; const ImageContainer = styled.div` - width: 9.8rem; - height: 9.8rem; + aspect-ratio: 1; display: flex; justify-content: center; align-items: center; cursor: pointer; + transition: all 0.3s ease; + border: ${(props) => + props.selected ? "2px solid #007bff" : "2px solid transparent"}; + border-radius: 50%; + + &:hover { + transform: scale(1.05); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + } `; const Image = styled.img` max-width: 100%; max-height: 100%; -`; - -const SaveButton = styled.button` - padding: 0.5rem 4rem; - align-self: flex-end; - background-color: white; - border: 1px solid #cbcbcb; - border-radius: 4px; -`; - -const ImageShuffle = styled.div` - display: flex; - align-items: center; - justify-content: center; - margin-bottom: 1rem; - align-self: flex-start; + object-fit: cover; + /* border-radius: 6px; */ + border-radius: 50%; `; const ButtonContainer = styled.div` display: flex; - align-self: flex-end; + justify-content: flex-end; gap: 0.8rem; margin-top: 0.5rem; `; -const CancleButton = styled.button` +const Button = styled.button` padding: 0.5rem 4rem; background-color: white; + color: #333; border: 1px solid #cbcbcb; border-radius: 4px; + cursor: pointer; + transition: all 0.3s ease; + + &:hover { + background-color: #007bff; + color: white; + border-color: #007bff; + } +`; + +const CancelButton = styled(Button)` + &:hover { + background-color: #dc3545; + border-color: #dc3545; + } +`; + +const SaveButton = styled(Button)` + &:hover { + background-color: #28a745; + border-color: #28a745; + } `;