Skip to content

Commit d2c4c82

Browse files
committed
Merge branch 'dev'
2 parents eb8039b + 2b857fe commit d2c4c82

File tree

2 files changed

+116
-0
lines changed

2 files changed

+116
-0
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
import styled from "styled-components";
2+
import {ReactComponent as Songpin} from "../../../assets/common/songpinLogo.svg";
3+
4+
const OutofServiceModal = ({ onClose }) => {
5+
return (
6+
<Wrapper>
7+
<ModalWrapper>
8+
<CloseButton onClick={onClose}>&times;</CloseButton>
9+
<LogoWrapper>
10+
<Songpin />
11+
</LogoWrapper>
12+
<Title>SongPin 서비스 종료 안내</Title>
13+
<Text>
14+
안녕하세요, SongPin 운영팀입니다. <br /><br />
15+
저희 SongPin 서비스가 서버 사용 기간 만료로 인해 <br />
16+
<Date>2025년 1월 4일</Date>부로 부득이하게 종료됨을 안내드립니다.<br /><br />
17+
그동안 SongPin을 이용해 주신 모든 분들의 <br />
18+
소중한 관심과 사랑에 진심으로 감사드립니다.<br /><br />
19+
Team 주크박스 드림
20+
</Text>
21+
</ModalWrapper>
22+
</Wrapper>
23+
);
24+
};
25+
26+
const ModalWrapper = styled.div`
27+
width: 621px;
28+
height: auto;
29+
max-height: 80%;
30+
padding: 50px 32px;
31+
box-sizing: border-box;
32+
flex-shrink: 0;
33+
min-width: 364px;
34+
flex-shrink: 0;
35+
border-radius: 18px;
36+
background-color: #fcfcfc;
37+
box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
38+
display: flex;
39+
flex-direction: column;
40+
gap: 15px;
41+
align-items: center;
42+
position: relative;
43+
overflow-y: auto;
44+
`;
45+
46+
const LogoWrapper = styled.div`
47+
display: flex;
48+
justify-content: center;
49+
width: 250px;
50+
height: auto;
51+
`;
52+
53+
const Wrapper = styled.div`
54+
background: rgba(0, 0, 0, 0.4);
55+
position: fixed;
56+
inset: 0;
57+
z-index: 50;
58+
display: flex;
59+
justify-content: center;
60+
align-items: center;
61+
`;
62+
63+
const CloseButton = styled.button`
64+
position: absolute;
65+
top: 16px;
66+
right: 16px;
67+
background: none;
68+
border: none;
69+
font-size: 24px;
70+
color: #747474;
71+
cursor: pointer;
72+
&:hover {
73+
color: #232323;
74+
}
75+
`;
76+
77+
const Title = styled.div`
78+
color: #232323;
79+
font-family: Pretendard, sans-serif;
80+
font-size: 32px;
81+
font-style: normal;
82+
font-weight: 700;
83+
line-height: 1.5em;
84+
text-align: center;
85+
margin-bottom: 20px;
86+
`;
87+
88+
const Date = styled.div`
89+
color: #232323;
90+
font-weight: 700;
91+
display: inline;
92+
`;
93+
94+
const Text = styled.div`
95+
color: #747474;
96+
font-size: 20px;
97+
font-style: normal;
98+
font-weight: 400;
99+
line-height: 1.4em;
100+
text-align: center;
101+
`;
102+
103+
export default OutofServiceModal;

src/pages/IntroducePage/Main.jsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,28 @@ import main_center from "../../assets/introduce/main_center.svg";
33
import main_bottom from "../../assets/introduce/bottom.png";
44
import styled from "styled-components";
55
import Background from "../../components/IntroducePage/Background";
6+
import { useState } from 'react';
67
import { useNavigate } from "react-router-dom";
78
import main_bottom_text from "../../assets/introduce/main_bottom_text.svg";
9+
import OutofServiceModal from '../../components/common/Modal/OutOfServiceModal';
10+
811
const Main = () => {
912
const navigate = useNavigate();
13+
const [isModalOpen, setIsModalOpen] = useState(true);
14+
1015
const handleGotoHomepage = () => {
1116
navigate("/home");
1217
};
18+
19+
const closeModal = () => {
20+
setIsModalOpen(false);
21+
};
22+
1323
return (
1424
<>
25+
{isModalOpen && (
26+
<OutofServiceModal onClose={closeModal} />
27+
)}
1528
<BackgroundWrapper>
1629
<Background />
1730
</BackgroundWrapper>

0 commit comments

Comments
 (0)