이승윤

style: 고급검색 모달 스타일 추가

1 +import React, { useRef } from 'react';
2 +import styled from 'styled-components';
3 +import Button from './common/Button';
4 +import Input from './common/Input';
5 +
6 +const Background = styled.div`
7 + position: fixed;
8 + display: flex;
9 + justify-content: center;
10 + align-items: center;
11 +`;
12 +const ModalWrapper = styled.div`
13 + width: 400px;
14 + height: 350px;
15 + box-shadow: 0 5px 16px rgba(0, 0, 0, 0.2);
16 + background: #fff;
17 + color: #000;
18 + display: grid;
19 + grid-template-columns: 1fr 1fr;
20 + position: relative;
21 + z-index: 10;
22 + border-radius: 10px;
23 +`;
24 +
25 +const ModalContent = styled.div`
26 + line-height: 1.8;
27 + color: #141414;
28 + p {
29 + margin-bottom: 1rem;
30 + }
31 + align-content: left;
32 +`;
33 +
34 +const SearchWrap = styled.div`
35 + position: fixed;
36 + top: 50%;
37 + right: 43%;
38 +`;
39 +
40 +const CloseWrap = styled.div`
41 + position: fixed;
42 + top: 50%;
43 + right: 32%;
44 +`;
45 +
46 +const StandardWrap = styled.div`
47 + width: 50px;
48 + position: fixed;
49 + top: 18%;
50 + right: 43%;
51 +`;
52 +
53 +const AdvancedWrap = styled.div`
54 + width: 50px;
55 + position: fixed;
56 + top: 27%;
57 + right: 43%;
58 +`;
59 +
60 +const TextWrap = styled.div`
61 + position: fixed;
62 + width: 340px;
63 + top: ${props => props.top};
64 + right: ${props => props.right};
65 + border-bottom: 2px solid #dee2e6;
66 + padding-left: 20px;
67 + padding-bottom: ${props => props.bottom};
68 +`;
69 +
70 +const Modal = ({ showModal, setShowModal }) => {
71 + const modalRef = useRef();
72 + const closeModal = e => {
73 + if (modalRef.current === e.target) {
74 + setShowModal(false);
75 + }
76 + };
77 +
78 + return (
79 + <>
80 + {showModal ? (
81 + <Background onClick={closeModal}>
82 + <ModalWrapper>
83 + <ModalContent>
84 + <TextWrap top="18.5%" right="28.5%" bottom="19px">
85 + 기본검색
86 + </TextWrap>
87 + <StandardWrap>
88 + <Input float="left" color="blue" width="140px" size="10px" />
89 + </StandardWrap>
90 + <TextWrap top="27%" right="28.5%" bottom="137px">
91 + 고급검색
92 + </TextWrap>
93 + <AdvancedWrap>
94 + <Input float="left" color="blue" width="140px" size="10px" />
95 + <br /> <br />
96 + <Input float="left" color="blue" width="140px" size="10px" />
97 + <br /> <br />
98 + <Input float="left" color="blue" width="140px" size="10px" />
99 + </AdvancedWrap>
100 + </ModalContent>
101 + <CloseWrap onClick={() => setShowModal(prev => !prev)}>
102 + <Button width="100px" color="blue">
103 + 닫기
104 + </Button>
105 + </CloseWrap>
106 + <SearchWrap>
107 + <Button width="100px" color="gray">
108 + 검색
109 + </Button>
110 + </SearchWrap>
111 + </ModalWrapper>
112 + </Background>
113 + ) : null}
114 + </>
115 + );
116 +};
117 +export default Modal;