diff --git a/public/home/pwalogo.png b/public/home/pwalogo.png new file mode 100644 index 0000000..fdff9db Binary files /dev/null and b/public/home/pwalogo.png differ diff --git a/src/components/community/shared/WritePostButton.tsx b/src/components/community/shared/WritePostButton.tsx index 9c7aea4..0606569 100644 --- a/src/components/community/shared/WritePostButton.tsx +++ b/src/components/community/shared/WritePostButton.tsx @@ -6,10 +6,9 @@ const WritePostButton = () => { return (
setOpen(true)} - className="fixed bottom-[100px] z-10 - right-4 xl:right-1/3 xl:mr-7 + className="fixed bottom-[100px] z-10 ml-[320px] cursor-pointer w-12 h-12 rounded-full bg-space-purple flex justify-center items-center"> - + btn
); }; diff --git a/src/components/home/PopUpModal.tsx b/src/components/home/PopUpModal.tsx new file mode 100644 index 0000000..63eb033 --- /dev/null +++ b/src/components/home/PopUpModal.tsx @@ -0,0 +1,140 @@ +'use client'; +import React, { Dispatch } from 'react'; +import { motion } from 'framer-motion'; +import { IoClose } from 'react-icons/io5'; +import Image from 'next/image'; +import { useRouter } from 'next/router'; + +interface PopUpModalType { + setGuideModalOpen: Dispatch>; +} + +const PopUpModal = ({ setGuideModalOpen }: PopUpModalType) => { + const handleExpireTime = () => { + const timeClicked = JSON.stringify(new Date().getTime()); + localStorage.setItem('timeClicked', timeClicked); + setGuideModalOpen(false); + }; + + const router = useRouter(); + + return ( +
+
+
handleExpireTime()} + className="flex items-center justify-end mt-2 mr-2 cursor-pointer"> + +
+
+
+ 홈화면에서 만나요 +
+
+ +
+ Offisapce 서비스를 +
+
+ +
+ 바로가기에 추가해보세요. +
+
+ +
+ logo +
+
+ +
+
+ 모바일 첫 화면에서 +
+
+ 빠르게 이동할 수 있어요. +
+
+
+ + +
+
handleExpireTime()} + className="cursor-pointer flex-1 ml-5 flex items-center h-[45px] justify-center rounded-lg bg-gray-400 text-lg text-white font-semibold "> + 다시 보지 않기 +
+
+ router.push( + 'https://support.google.com/chrome/answer/9658361?hl=ko&co=GENIE.Platform%3DiOS&oco=2' + ) + } + className="cursor-pointer flex-1 mr-5 flex items-center h-[45px] justify-center rounded-lg bg-space-purple text-lg text-white font-semibold "> + 자세히 보기 +
+
+
+
+
+ ); +}; + +export default PopUpModal; diff --git a/src/components/reservation/ReservationIndex.tsx b/src/components/reservation/ReservationIndex.tsx index af143bf..f1cd7ec 100644 --- a/src/components/reservation/ReservationIndex.tsx +++ b/src/components/reservation/ReservationIndex.tsx @@ -22,7 +22,7 @@ const ReservationIndex: React.FC = ({ initialTab }) => { setCurrentRoom(tabMapping[initialTab] || 'meeting'); } }, [initialTab]); - + return (
{/* 현재 지정된 오피스 */} diff --git a/src/components/reservation/meetingRoom/DatePickerModal.tsx b/src/components/reservation/meetingRoom/DatePickerModal.tsx index c09b2d9..a4c2249 100644 --- a/src/components/reservation/meetingRoom/DatePickerModal.tsx +++ b/src/components/reservation/meetingRoom/DatePickerModal.tsx @@ -1,9 +1,10 @@ /* eslint-disable no-unused-vars */ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useRef } from 'react'; import DatePicker from 'react-datepicker'; import 'react-datepicker/dist/react-datepicker.css'; import DatePickerWheel from './WheelPicker'; import { ko } from 'date-fns/locale'; +import useOnClickOutside from '@/components/community/hooks/useOnClickOutside'; interface DatePickerModalProps { showModal: boolean; @@ -31,6 +32,8 @@ const DatePickerModal: React.FC = ({ initialEndTime, activeTab }) => { + const ref = useRef(null); + useOnClickOutside(ref, () => setShowModal(false)); const [startDate, setStartDate] = useState(initialStartTime); const [startTime, setStartTime] = useState( initialStartTime.toTimeString().substr(0, 5) @@ -156,7 +159,9 @@ const DatePickerModal: React.FC = ({ return (
-
+