aboutsummaryrefslogtreecommitdiff
path: root/src_scss/main.scss
blob: 6b18c6e591a688305f33b8e0258e31ff76f7c3a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
@import '~izitoast/dist/css/iziToast.min';

@import 'color';
@import 'shadow';
@import 'fonts/fontawesome';
@import 'fonts/inter';


html, body, button, input, select {
    font-family: 'Inter';
}

html, body {
    margin: 0;
    user-select: none;
    height: 100%;
    overflow: hidden;
}

body {
    & > .main {
        height: 100%;
        display: flex;

        & > .panel-resizer {
            cursor: ew-resize;
            width: 0.4rem;
            flex-shrink: 0;
        }

        & > .left-panel {
            @include shadow-4dp;
            width: 35rem;
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            background-color: $color-grey-100;
            overflow: auto;

            .invalid {
                background-color: rgba(red, 0.3);
            }

            & > .header {
                flex-shrink: 0;
                margin: 1rem;
                display: flex;
                align-items: center;

                & > .title {
                    flex-grow: 1;
                    font-size: 1.4rem;
                    font-weight: 500;
                    color: $color-grey-700;
                }

                & > .icon {
                    font-size: 1.5rem;
                    color: $color-grey-700;
                    margin-left: 0.5rem;

                    &:visited {
                        color: $color-grey-700;
                    }

                    &:hover {
                        color: black;
                    }
                }
            }

            & > .form {
                display: grid;
                grid-template-columns: auto 1fr;
                grid-column-gap: 0.5rem;
                grid-row-gap: 0.3rem;
                align-items: center;
                margin: 1rem;
            }

            & > .content {
                flex-grow: 1;
                display: flex;
                flex-direction: column;
                margin: 1rem;
                margin-bottom: 0;
                align-items: stretch;
                overflow: auto;

                & > div {
                    margin-bottom: 1rem;

                    & > table {
                        width: 100%;

                        .col-quantity, .col-height, .col-width, .col-rotate {
                            width: 5rem;

                            input {
                                text-align: right;
                            }
                        }

                        .col-delete {
                            width: 2rem;
                        }

                        & > tbody {
                            td {
                                div {
                                    display: flex;
                                    align-content: stretch;

                                    & > * {
                                        flex-shrink: 1;
                                        flex-grow: 1;
                                        width: 1rem;
                                    }

                                }
                            }
                        }

                        & > tfoot {
                            td {
                                & > div {
                                    display: flex;

                                    & > .spacer {
                                        flex-grow: 1;
                                    }
                                }
                            }
                        }
                    }
                }
            }

            & > .calculate {
                flex-shrink: 0;
                margin: 1rem;
                padding: 1rem;
            }

            .invalid {
                background-color: rgba(red, 0.2);
            }
        }

        & > .center-panel {
            flex-grow: 1;
            overflow: auto;
            padding: 1.5rem;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        & > .right-panel {
            @include shadow-4dp;
            width: 20rem;
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            background-color: $color-grey-100;
            overflow: auto;

            .form {
                display: grid;
                grid-template-columns: auto 1fr;
                grid-column-gap: 0.5rem;
                grid-row-gap: 0.3rem;
                align-items: center;
                margin: 1rem;
            }

            .panel {
                margin: 1.5rem 0;

                & > *:hover {
                    background-color: $color-grey-300;
                    cursor: pointer;
                }
            }

            .panel-name {
                padding: 0.4rem 1rem;
                overflow: hidden;
                text-overflow: ellipsis;
                font-weight: 600;
                color: $color-grey-800;
            }

            .item {
                padding: 0.4rem 1rem 0.4rem 2rem;
                display: flex;

                .item-name {
                    flex-grow: 1;
                }

                .item-rotate, .item-x, .item-y {
                    margin-left: 0.4rem;
                    font-weight: 600;
                    color: $color-grey-800;
                }
            }

            .selected {
                background-color: $color-grey-300;
            }
        }
    }
}