1 | import styled from 'styled-components';
|
---|
2 | import Grid from '@mui/material/Grid';
|
---|
3 | import Add from '@mui/icons-material/Add';
|
---|
4 | import { Typography, Divider } from '@mui/material';
|
---|
5 | import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';
|
---|
6 | import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward';
|
---|
7 | import ClearIcon from '@mui/icons-material/Clear';
|
---|
8 | import { ParkingZoneWrapper, Container } from './ParkingZoneCard/styles';
|
---|
9 | import Box from '@mui/material/Box';
|
---|
10 | import Button from '@mui/material/Button';
|
---|
11 | import TextField from '@mui/material/TextField';
|
---|
12 | import CIcon from '@mui/icons-material/Close';
|
---|
13 | import { mobile_max_width } from '../../../config/utilities';
|
---|
14 |
|
---|
15 | export const FiltersWrapper = styled.div`
|
---|
16 | margin-bottom: 10px;
|
---|
17 | text-align: center;
|
---|
18 | display: flex;
|
---|
19 | flex-direction: row;
|
---|
20 | justify-content: space-between;
|
---|
21 | align-items: center;
|
---|
22 | padding: 10px 10%;
|
---|
23 |
|
---|
24 | @media (max-width: ${mobile_max_width}px) {
|
---|
25 | flex-direction: column;
|
---|
26 | }
|
---|
27 | `;
|
---|
28 |
|
---|
29 | export const SortingArrowsWrapper = styled.div`
|
---|
30 | display: flex;
|
---|
31 | flex-direction: row;
|
---|
32 | align-items: center;
|
---|
33 | position: relative;
|
---|
34 |
|
---|
35 | @media (max-width: ${mobile_max_width}px) {
|
---|
36 | margin-top: 30px;
|
---|
37 | }
|
---|
38 | `;
|
---|
39 |
|
---|
40 | export const ArrowDown = styled(ArrowDownwardIcon).attrs({})`
|
---|
41 | font-size: 2rem;
|
---|
42 | color: ${(props) =>
|
---|
43 | props.selected ? props.theme.palette.primary.main : ''};
|
---|
44 | :hover {
|
---|
45 | cursor: pointer;
|
---|
46 | color: ${(props) => props.theme.palette.primary.main};
|
---|
47 | }
|
---|
48 | `;
|
---|
49 |
|
---|
50 | export const ArrowUp = styled(ArrowUpwardIcon).attrs({})`
|
---|
51 | margin: 0 10px 0 15px;
|
---|
52 | font-size: 2rem;
|
---|
53 | color: ${(props) =>
|
---|
54 | props.selected ? props.theme.palette.primary.main : ''};
|
---|
55 | :hover {
|
---|
56 | cursor: pointer;
|
---|
57 | color: ${(props) => props.theme.palette.primary.main};
|
---|
58 | }
|
---|
59 | `;
|
---|
60 |
|
---|
61 | export const ClearSortIcon = styled(ClearIcon).attrs({})`
|
---|
62 | color: ${(props) => props.theme.palette.error.main};
|
---|
63 | position: absolute;
|
---|
64 | right: 0;
|
---|
65 | font-size: 2rem;
|
---|
66 | right: -50px;
|
---|
67 | :hover {
|
---|
68 | cursor: pointer;
|
---|
69 | }
|
---|
70 | `;
|
---|
71 |
|
---|
72 | export const DividerUnderFilters = styled(Divider).attrs({
|
---|
73 | variant: 'middle',
|
---|
74 | sx: {
|
---|
75 | margin: '0 9%',
|
---|
76 | borderWidth: '2px',
|
---|
77 | borderBottomWidth: 'thin',
|
---|
78 | },
|
---|
79 | })``;
|
---|
80 |
|
---|
81 | export const SortByTitle = styled(Typography).attrs((props) => ({
|
---|
82 | fontSize: '1rem',
|
---|
83 | fontWeight: '600',
|
---|
84 | margin: 0,
|
---|
85 | color: `${props.theme.palette.primary.main}`,
|
---|
86 | }))``;
|
---|
87 |
|
---|
88 | export const ParkingName = styled(Typography).attrs((props) => ({
|
---|
89 | fontSize: '2rem',
|
---|
90 | fontWeight: '600',
|
---|
91 | margin: 0,
|
---|
92 | color: `${props.theme.palette.primary.main}`,
|
---|
93 | }))``;
|
---|
94 |
|
---|
95 | export const ParkingZonesWrapper = styled(Grid)`
|
---|
96 | margin: 0;
|
---|
97 | height: 100%;
|
---|
98 | width: 100%;
|
---|
99 | padding: 0 40px 30px 0;
|
---|
100 |
|
---|
101 | @media (max-width: ${mobile_max_width}px) {
|
---|
102 | padding-right: 0;
|
---|
103 | justify-content: center;
|
---|
104 | }
|
---|
105 | `;
|
---|
106 |
|
---|
107 | export const AddParkingZoneCard = styled(ParkingZoneWrapper)``;
|
---|
108 |
|
---|
109 | export const AddItem = styled(Container)`
|
---|
110 | display: flex;
|
---|
111 | align-items: center;
|
---|
112 | justify-content: middle;
|
---|
113 | `;
|
---|
114 |
|
---|
115 | export const AddIcon = styled(Add).attrs({
|
---|
116 | sx: {
|
---|
117 | fontWeight: 500,
|
---|
118 | },
|
---|
119 | })`
|
---|
120 | width: 100%;
|
---|
121 | height: 100%;
|
---|
122 | color: ${(props) => props.theme.palette.primary.main};
|
---|
123 | `;
|
---|
124 |
|
---|
125 | export const ModalContainer = styled(Box).attrs({
|
---|
126 | width: 400,
|
---|
127 | height: 366,
|
---|
128 | bgcolor: 'background.paper',
|
---|
129 | boxShadow: 24,
|
---|
130 | zIndex: 1000,
|
---|
131 | marginBottom: '10%',
|
---|
132 | })`
|
---|
133 | padding-bottom: 16px;
|
---|
134 | `;
|
---|
135 |
|
---|
136 | export const ModalTitle = styled(Typography).attrs({
|
---|
137 | variant: 'h4',
|
---|
138 | fontWeight: 600,
|
---|
139 | textAlign: 'center',
|
---|
140 | })``;
|
---|
141 |
|
---|
142 | export const ModalInputAndLabelWrapper = styled.div`
|
---|
143 | text-align: center;
|
---|
144 | padding: 0 20px;
|
---|
145 | margin-top: 40px;
|
---|
146 | margin-bottom: 70px;
|
---|
147 | `;
|
---|
148 |
|
---|
149 | export const ModalInputLabel = styled(Typography).attrs({
|
---|
150 | variant: 'h6',
|
---|
151 | })``;
|
---|
152 |
|
---|
153 | export const ModalInput = styled(TextField).attrs({
|
---|
154 | fullWidth: true,
|
---|
155 | sx: {
|
---|
156 | marginTop: '10px',
|
---|
157 | },
|
---|
158 | })`
|
---|
159 | fieldset {
|
---|
160 | border: 0;
|
---|
161 | }
|
---|
162 | input {
|
---|
163 | text-align: center;
|
---|
164 | font-size: 1.1rem;
|
---|
165 | font-weight: 500;
|
---|
166 | padding: 15px 10px;
|
---|
167 | border: 2px solid ${(props) => props.theme.palette.primary.main};
|
---|
168 |
|
---|
169 | :focus {
|
---|
170 | border: 2px dashed ${(props) => props.theme.palette.primary.main};
|
---|
171 | }
|
---|
172 | }
|
---|
173 | `;
|
---|
174 |
|
---|
175 | export const ButtonWrapper = styled.div`
|
---|
176 | width: 100%;
|
---|
177 | text-align: center;
|
---|
178 | `;
|
---|
179 |
|
---|
180 | export const ModalButton = styled(Button).attrs((props) => ({
|
---|
181 | variant: 'contained',
|
---|
182 | size: 'large',
|
---|
183 | sx: {
|
---|
184 | backgroundColor: `${props.theme.palette.primary.main}`,
|
---|
185 | },
|
---|
186 | }))`
|
---|
187 | :hover {
|
---|
188 | background-color: ${(props) => props.theme.palette.primary.dark};
|
---|
189 | }
|
---|
190 | `;
|
---|
191 |
|
---|
192 | export const CloseIcon = styled(CIcon).attrs({
|
---|
193 | sx: {
|
---|
194 | color: 'red',
|
---|
195 | fontSize: '2.5rem',
|
---|
196 | },
|
---|
197 | })``;
|
---|