@tiddh/brave-vue 1.9.21 → 1.9.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1171 +1,2155 @@
1
1
  <template>
2
-
3
- <div class="custom-properties" :class="modalIsOpen() ? 'active': ''">
4
- <div class="list-properties">
5
- <div class="title-custom-properties">
6
- <!-- <Heading kind="h4" size="Medium" :value="'Área de edição'" /> -->
7
- <span>{{lang.editArea}}</span>
8
- </div>
9
-
10
- <div class="itens-properties">
11
- <div class="item" @click="showModalName()" v-if="have_name">
12
- <label>{{lang.name}}</label>
13
- <span>{{ current_character_name }}</span>
14
- <svg data-v-3a786fa4="" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path data-v-3a786fa4="" fill="#01DFA1" d="M14.584 7.33l-.01.009 2.659 2.658.01-.01a1.88 1.88 0 1 0-2.658-2.658l-.001.001zm-.454.454L8.163 13.75l2.658 2.659 5.967-5.967-2.658-2.658zm-6.373 6.45L7 17.572l3.338-.757-2.58-2.58-.001-.001z"></path></svg>
15
-
16
- </div>
17
-
18
- <div class="item" @click="showModalDedication()">
19
- <label>{{lang.dedication}}</label>
20
- <span>{{dedication_text ? dedicationText : lang.writeDedication }}</span>
21
- <svg data-v-3a786fa4="" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path data-v-3a786fa4="" fill="#01DFA1" d="M14.584 7.33l-.01.009 2.659 2.658.01-.01a1.88 1.88 0 1 0-2.658-2.658l-.001.001zm-.454.454L8.163 13.75l2.658 2.659 5.967-5.967-2.658-2.658zm-6.373 6.45L7 17.572l3.338-.757-2.58-2.58-.001-.001z"></path></svg>
22
- </div>
23
-
24
- <div
25
- class="item"
26
- @click="showModalShirtNumber()"
27
- v-if="have_shirt_number"
28
- >
29
- <label>{{lang.shirtNumber}}</label>
30
- <span>{{ currentShirtNumber }}</span>
31
- <svg data-v-3a786fa4="" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path data-v-3a786fa4="" fill="#01DFA1" d="M14.584 7.33l-.01.009 2.659 2.658.01-.01a1.88 1.88 0 1 0-2.658-2.658l-.001.001zm-.454.454L8.163 13.75l2.658 2.659 5.967-5.967-2.658-2.658zm-6.373 6.45L7 17.572l3.338-.757-2.58-2.58-.001-.001z"></path></svg>
32
- </div>
33
-
34
- <div class="item" @click="showModalScript()" v-if="availableLayouts[currentLayout] && have_layout">
35
- <label>{{lang.bookScript}}</label>
36
- <span>{{ availableLayouts[currentLayout].name }}</span>
37
- <svg data-v-3a786fa4="" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path data-v-3a786fa4="" fill="#01DFA1" d="M14.584 7.33l-.01.009 2.659 2.658.01-.01a1.88 1.88 0 1 0-2.658-2.658l-.001.001zm-.454.454L8.163 13.75l2.658 2.659 5.967-5.967-2.658-2.658zm-6.373 6.45L7 17.572l3.338-.757-2.58-2.58-.001-.001z"></path></svg>
38
- </div>
39
-
40
- <div
41
- class="item"
42
- @click="showModalBirthdate()"
43
- v-if="have_birth_date"
44
- >
45
- <label>{{lang.dateBirth}}</label>
46
- <span>{{ selectedBirthDay }} de {{ months[selectedBirthMonth].value }}</span>
47
- <svg data-v-3a786fa4="" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path data-v-3a786fa4="" fill="#01DFA1" d="M14.584 7.33l-.01.009 2.659 2.658.01-.01a1.88 1.88 0 1 0-2.658-2.658l-.001.001zm-.454.454L8.163 13.75l2.658 2.659 5.967-5.967-2.658-2.658zm-6.373 6.45L7 17.572l3.338-.757-2.58-2.58-.001-.001z"></path></svg>
48
- </div>
49
-
50
- <div class="item" @click="showModalPet()" v-if="have_pet">
51
- <label>{{lang.pet}}</label>
52
- <span>BETE</span>
53
- <svg data-v-3a786fa4="" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path data-v-3a786fa4="" fill="#01DFA1" d="M14.584 7.33l-.01.009 2.659 2.658.01-.01a1.88 1.88 0 1 0-2.658-2.658l-.001.001zm-.454.454L8.163 13.75l2.658 2.659 5.967-5.967-2.658-2.658zm-6.373 6.45L7 17.572l3.338-.757-2.58-2.58-.001-.001z"></path></svg>
54
- </div>
55
-
56
- </div>
57
- </div>
58
-
59
- <Modal :heading="lang.editName" v-if="modalName" @closeModal="closeModal">
60
- <Input
61
- :type="'text'"
62
- :numeric="false"
63
- name="name"
64
- :label="lang.kidName"
65
- :placeholder="''"
66
- :helper="lang.recommendName"
67
- :value="current_character_name"
68
- :disabled="false"
69
- @update="updateName" />
70
-
71
- <div slot="footer">
72
- <Button kind="secondary" size="md" width="liquid" :disabled="false" :inverted="false" @click="changeLayout()">
73
- {{lang.update}}
74
- </Button>
75
-
76
- <Button kind="ghost" size="md" width="liquid" :disabled="false" :inverted="false" @click="closeModal">
77
- {{lang.cancel}}
78
- </Button>
79
- </div>
80
- </Modal>
81
-
82
- <Modal :heading="lang.dedicationFree" :paragraph="lang.cusutomDedication" v-if="modalDedication" @closeModal="closeModal">
83
-
84
- <TextArea
85
- name="dedication"
86
- :value="dedicationText"
87
- :label="lang.messageDedication"
88
- :placeholder="lang.dedcationPlaceholder"
89
- @keydown.enter.exact.prevent
90
-
91
- :maxlength="300"
92
- :counter="true"
93
- :disabled="false"
94
- @update="updateDedicationText" />
95
-
96
- <div slot="footer">
97
- <Button kind="secondary" size="md" width="liquid" :disabled="false" :inverted="false" @click="changeDedication()">
98
- {{lang.update}}
99
- </Button>
100
-
101
- <Button kind="ghost" size="md" width="liquid" :disabled="false" :inverted="false" @click="closeModal">
102
- {{lang.cancel}}
103
- </Button>
104
- </div>
105
-
106
- </Modal>
107
-
108
-
109
- <Modal :heading="lang.editShirt" v-if="modalShirtNumber" @closeModal="closeModal">
110
- <Input
111
- :type="'text'"
112
- :numeric="false"
113
- name="number"
114
- :label="lang.shirtNumber"
115
- :placeholder="''"
116
- :helper="reccomendName"
117
- :value="currentShirtNumber"
118
- :disabled="false"
119
- @change="updateShirtNumber" />
120
-
121
- <div slot="footer">
122
- <Button kind="secondary" size="md" width="liquid" :disabled="false" :inverted="false" @click="changeLayout()">
123
- {{lang.update}}
124
- </Button>
125
-
126
- <Button kind="ghost" size="md" width="liquid" :disabled="false" :inverted="false" @click="closeModal">
127
- {{lang.cancel}}
128
- </Button>
129
- </div>
130
- </Modal>
131
-
132
- <Modal :heading="lang.chooseScript" :paragraph="lang.choosePetLabel1 + ' <b>' + current_character_name + '</b> ' + lang.choosePetLabel1" v-if="modalScript" @closeModal="closeModal">
133
- <div class="layout-boxes">
134
- <div
135
- v-for="(item, index) in availableLayouts"
136
- :key="index"
137
- class="layout-option"
138
- :class="currentLayout == index ? 'active' : 'inactive'"
139
- @click="setCurrentLayout(index)"
140
- >
141
- <div class="imagem">
142
- <img
143
- width="100%"
144
- src="https://doo8f8ypwd7it.cloudfront.net/brasilprevjunior/img/capitao@2x.890754be.png"
145
- alt=""
146
- />
147
- </div>
148
-
149
- <div class="panel-title">
150
- <div class="title">{{ item.name }}</div>
151
-
152
- <div class="flag" :class="currentLayout == index ? 'active' : 'inactive'">
153
- <Icon name="check" />
154
- </div>
155
- </div>
156
- </div>
157
- </div>
158
-
159
- <div slot="footer">
160
- <Button kind="secondary" size="md" width="liquid" :disabled="false" :inverted="false" @click="changeLayout()">
161
- {{lang.update}}
162
- </Button>
163
-
164
- <Button kind="ghost" size="md" width="liquid" :disabled="false" :inverted="false" @click="closeModal">
165
- {{lang.cancel}}
166
- </Button>
167
- </div>
168
- </Modal>
169
-
170
- <Modal :heading="lang.editDateBirth" v-if="modalBirthdate" @closeModal="closeModal">
171
-
172
- <div class="box-dates-columns">
173
- <div class="day">
174
-
175
- <Select
176
- :selected="selectedBirthDay"
177
- name="day"
178
- label="Dia"
179
- placeholder="Dia"
180
- :options="days"
181
- @change="onChangeDay" />
182
-
183
- </div>
184
- <div class="month">
185
-
186
- <Select
187
- :selected="selectedBirthMonth"
188
- name="month"
189
- label="Mês"
190
- placeholder="Mês"
191
- :options="months"
192
- @change="onChangeMonth" />
193
-
194
- </div>
195
- </div>
196
-
197
- <div slot="footer">
198
- <Button kind="secondary" size="md" width="liquid" :disabled="false" :inverted="false" @click="changeLayout()">
199
- {{lang.update}}
200
- </Button>
201
-
202
- <Button kind="ghost" size="md" width="liquid" :disabled="false" :inverted="false" @click="closeModal">
203
- {{lang.cancel}}
204
- </Button>
205
- </div>
206
- </Modal>
207
-
208
-
209
- <Modal heading="Altere o bichinho da história" :paragraph="'Esse bichinho acompanhará '+ currentName +' em toda a história.'" v-if="modalPet" @closeModal="closeModal">
210
-
211
- <div class="pet-view">
212
- <div class="pet-selectors" :style="currentPetColor ? 'width: 70%;' : ''">
213
-
214
- <div class>
215
- <Input
216
- :value="currentPetName"
217
- error
218
- helper
219
- :label="lang.typePetname"
220
- name="currentPetName"
221
- @input="currentPetName = $event.target.value"
222
- />
223
- </div>
224
-
225
- <label class="pet-label">{{lang.selectPet}}</label>
226
-
227
- <div class="pet-list" v-if="listPet && listPet.assets">
228
- <div
229
- :class="currentPet === pet ? 'active' : 'inactive'"
230
- @click="setPet(pet)"
231
- v-for="(pet, index) in listPet.assets.subcategories"
232
- :key="index"
233
- >
234
- <img :src="pet.assets.icon" alt />
235
- <br />
236
- </div>
237
- </div>
238
-
239
- <div class="color-list" v-if="currentPet && currentPet.assets">
240
- <div
241
- v-for="(color, indexColor) in currentPet.assets.colors"
242
- :key="indexColor"
243
- @click="setColor(color)"
244
- >
245
- <div>
246
- <div
247
- class="color"
248
- :style="'background-color:' + color.hexa"
249
- :class="currentPetColor === color ? 'is-selected' : 'inactive'"
250
- >
251
- <span
252
- class="secondary-color"
253
- v-if="color.auxiliary"
254
- :style="'background-color:' + color.auxiliary"
255
- ></span>
256
- </div>
257
- </div>
258
- </div>
259
- </div>
260
- </div>
261
-
262
- <div
263
- class="pet-avatar"
264
- v-if="currentPetColor.assets"
265
- :style="currentPetColor ? 'width: 30%;' : ''"
266
- >
267
- <img :src="currentPetColor.assets.asset" alt />
268
- <br />
269
- </div>
270
- </div>
271
-
272
- <div slot="footer">
273
- <Button kind="secondary" size="md" width="liquid" :disabled="false" :inverted="false" @click="changeLayout">
274
- {{lang.update}}
275
- </Button>
276
-
277
- <Button kind="ghost" size="md" width="liquid" :disabled="false" :inverted="false" @click="closeModal">
278
- {{lang.cancel}}
279
- </Button>
280
- </div>
281
- </Modal>
282
-
283
- </div>
284
-
2
+ <div
3
+ class="main-tool"
4
+ :class="[
5
+ modalIsOpen() ? 'active' : '',
6
+ sidebarOpen ? 'active' : 'inactive',
7
+ ]"
8
+ >
9
+ <div class="backdrop" @click="toggleSidebar()"></div>
10
+
11
+ <div
12
+ class="custom-properties"
13
+ :class="[
14
+ modalIsOpen() ? 'active' : '',
15
+ sidebarOpen ? 'active' : 'inactive',
16
+ ]"
17
+ >
18
+ <div class="box-close" :style="cssProps" @click="toggleSidebar()">
19
+ <Icon name="close" :fill="preview_color" stroke="transparent" />
20
+ <Icon name="edit" fill="#fff" stroke="transparent" />
21
+ </div>
22
+
23
+ <div class="list-properties">
24
+ <div class="title-custom-properties">
25
+ <!-- <Heading kind="h4" size="Medium" :value="'Área de edição'" /> -->
26
+ <Heading kind="h4" size="sm" :color="'#68596E'">{{
27
+ lang.editArea
28
+ }}</Heading>
29
+ <!-- <span>{{ lang.editArea }}</span> -->
30
+ </div>
31
+
32
+ <HR height="1px" :color="preview_color" />
33
+
34
+ <div class="itens-properties" v-if="extras">
35
+ <div
36
+ class="item"
37
+ @click="showModal(property.code)"
38
+ v-for="(property, index) in extras"
39
+ :key="index"
40
+ >
41
+ <!-- <label>{{ lang.name }}</label> -->
42
+ <div>
43
+ <label v-if="property.code == 'nome'">{{ lang.name }}</label>
44
+ <label v-if="property.code == 'dedicatoria'">{{
45
+ lang.dedication
46
+ }}</label>
47
+ <label v-if="property.code == 'nome-do-mooner'">{{
48
+ lang.moonerLabelSidebar
49
+ }}</label>
50
+ <!-- <label v-if="property.type == 'pet'">{{ lang.pet }}</label> -->
51
+ <label v-if="property.code == 'number'">{{
52
+ lang.shirtNumber
53
+ }}</label>
54
+
55
+ <span v-if="property.code == 'nome'">{{ property.value }}</span>
56
+ <span v-if="property.code == 'dedicatoria'">{{
57
+ property.value
58
+ }}</span>
59
+ <span v-if="property.code == 'nome-do-mooner'">{{
60
+ property.value
61
+ }}</span>
62
+ <span v-if="property.code == 'pet'">{{
63
+ property.value.name
64
+ }}</span>
65
+
66
+ <span v-if="property.code == 'number'">{{ property.value }}</span>
67
+
68
+ <svg
69
+ xmlns="http://www.w3.org/2000/svg"
70
+ width="32"
71
+ height="32"
72
+ viewBox="0 0 32 32"
73
+ >
74
+ <path
75
+ :fill="preview_color"
76
+ d="M14.584 7.33l-.01.009 2.659 2.658.01-.01a1.88 1.88 0 1 0-2.658-2.658l-.001.001zm-.454.454L8.163 13.75l2.658 2.659 5.967-5.967-2.658-2.658zm-6.373 6.45L7 17.572l3.338-.757-2.58-2.58-.001-.001z"
77
+ ></path>
78
+ </svg>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </div>
84
+
85
+ <Modal
86
+ :heading="lang.kidName"
87
+ :headingColor="preview_color"
88
+ paragraph="Para deixar o livro mais legal use apenas o primeiro nome"
89
+ v-if="modalName"
90
+ @closeModal="closeModal"
91
+ >
92
+ <Input
93
+ :type="'text'"
94
+ :numeric="false"
95
+ name="name"
96
+ :label="lang.kidName"
97
+ :placeholder="''"
98
+ :helper="lang.recommendName"
99
+ :value="current_character_name"
100
+ :disabled="false"
101
+ @update="updateName"
102
+ />
103
+
104
+ <div slot="footer" class="name-footer">
105
+ <Button
106
+ kind="secondary"
107
+ size="md"
108
+ width="liquid"
109
+ :disabled="false"
110
+ :inverted="false"
111
+ @click="updateNameAndDedicationCustomCharacter()"
112
+ >
113
+ {{ lang.update }}
114
+ </Button>
115
+
116
+ <Button
117
+ kind="ghost"
118
+ size="md"
119
+ width="liquid"
120
+ :disabled="false"
121
+ :inverted="false"
122
+ @click="closeModal"
123
+ >
124
+ {{ lang.cancel }}
125
+ </Button>
126
+ </div>
127
+ </Modal>
128
+
129
+ <Modal
130
+ :heading="lang.dedicationFree"
131
+ :paragraph="lang.cusutomDedication"
132
+ v-if="modalDedication"
133
+ @closeModal="closeModal"
134
+ >
135
+ <TextArea
136
+ name="dedication"
137
+ :value="dedicationText"
138
+ :label="lang.messageDedication"
139
+ :placeholder="lang.dedcationPlaceholder"
140
+ @keydown.enter.exact.prevent
141
+ :maxlength="300"
142
+ :counter="true"
143
+ :disabled="false"
144
+ @update="updateDedicationText"
145
+ />
146
+
147
+ <div slot="footer" class="dedication-footer">
148
+ <Button
149
+ kind="secondary"
150
+ size="md"
151
+ width="liquid"
152
+ :disabled="false"
153
+ :inverted="false"
154
+ @click="updateNameAndDedicationCustomCharacter()"
155
+ >
156
+ {{ lang.update }}
157
+ </Button>
158
+
159
+ <Button
160
+ kind="ghost"
161
+ size="md"
162
+ width="liquid"
163
+ :disabled="false"
164
+ :inverted="false"
165
+ @click="closeModal"
166
+ >
167
+ {{ lang.cancel }}
168
+ </Button>
169
+ </div>
170
+ </Modal>
171
+
172
+ <Modal
173
+ :heading="lang.editShirt"
174
+ v-if="modalShirtNumber"
175
+ @closeModal="closeModal"
176
+ >
177
+ <Input
178
+ :type="'text'"
179
+ :numeric="false"
180
+ name="number"
181
+ :label="lang.shirtNumber"
182
+ :placeholder="''"
183
+ :helper="reccomendName"
184
+ :value="currentShirtNumber"
185
+ :disabled="false"
186
+ @change="updateShirtNumber"
187
+ />
188
+
189
+ <div slot="footer">
190
+ <Button
191
+ kind="secondary"
192
+ size="md"
193
+ width="liquid"
194
+ :disabled="false"
195
+ :inverted="false"
196
+ @click="changeLayout()"
197
+ >
198
+ {{ lang.update }}
199
+ </Button>
200
+
201
+ <Button
202
+ kind="ghost"
203
+ size="md"
204
+ width="liquid"
205
+ :disabled="false"
206
+ :inverted="false"
207
+ @click="closeModal"
208
+ >
209
+ {{ lang.cancel }}
210
+ </Button>
211
+ </div>
212
+ </Modal>
213
+
214
+ <Modal
215
+ :heading="lang.chooseScript"
216
+ :paragraph="
217
+ lang.choosePetLabel1 +
218
+ ' <b>' +
219
+ current_character_name +
220
+ '</b> ' +
221
+ lang.choosePetLabel1
222
+ "
223
+ v-if="modalScript"
224
+ @closeModal="closeModal"
225
+ >
226
+ <div class="layout-boxes">
227
+ <div
228
+ v-for="(item, index) in availableLayouts"
229
+ :key="index"
230
+ class="layout-option"
231
+ :class="currentLayout == index ? 'active' : 'inactive'"
232
+ @click="setCurrentLayout(index)"
233
+ >
234
+ <div class="imagem">
235
+ <img
236
+ width="100%"
237
+ src="https://doo8f8ypwd7it.cloudfront.net/brasilprevjunior/img/capitao@2x.890754be.png"
238
+ alt=""
239
+ />
240
+ </div>
241
+
242
+ <div class="panel-title">
243
+ <div class="title">{{ item.name }}</div>
244
+
245
+ <div
246
+ class="flag"
247
+ :class="currentLayout == index ? 'active' : 'inactive'"
248
+ >
249
+ <Icon name="check" />
250
+ </div>
251
+ </div>
252
+ </div>
253
+ </div>
254
+
255
+ <div slot="footer">
256
+ <Button
257
+ kind="secondary"
258
+ size="md"
259
+ width="liquid"
260
+ :disabled="false"
261
+ :inverted="false"
262
+ @click="changeLayout()"
263
+ >
264
+ {{ lang.update }}
265
+ </Button>
266
+
267
+ <Button
268
+ kind="ghost"
269
+ size="md"
270
+ width="liquid"
271
+ :disabled="false"
272
+ :inverted="false"
273
+ @click="closeModal"
274
+ >
275
+ {{ lang.cancel }}
276
+ </Button>
277
+ </div>
278
+ </Modal>
279
+
280
+ <Modal
281
+ :heading="lang.editDateBirth"
282
+ v-if="modalBirthdate"
283
+ @closeModal="closeModal"
284
+ >
285
+ <div class="box-dates-columns">
286
+ <div class="day">
287
+ <Select
288
+ :selected="selectedBirthDay"
289
+ name="day"
290
+ label="Dia"
291
+ placeholder="Dia"
292
+ :options="days"
293
+ @change="onChangeDay"
294
+ />
295
+ </div>
296
+ <div class="month">
297
+ <Select
298
+ :selected="selectedBirthMonth"
299
+ name="month"
300
+ label="Mês"
301
+ placeholder="Mês"
302
+ :options="months"
303
+ @change="onChangeMonth"
304
+ />
305
+ </div>
306
+ </div>
307
+
308
+ <div slot="footer">
309
+ <Button
310
+ kind="secondary"
311
+ size="md"
312
+ width="liquid"
313
+ :disabled="false"
314
+ :inverted="false"
315
+ @click="changeLayout()"
316
+ >
317
+ {{ lang.update }}
318
+ </Button>
319
+
320
+ <Button
321
+ kind="ghost"
322
+ size="md"
323
+ width="liquid"
324
+ :disabled="false"
325
+ :inverted="false"
326
+ @click="closeModal"
327
+ >
328
+ {{ lang.cancel }}
329
+ </Button>
330
+ </div>
331
+ </Modal>
332
+
333
+ <Modal
334
+ heading="Altere o bichinho da história"
335
+ class="modal-pet"
336
+ :headingColor="preview_color"
337
+ :paragraph="
338
+ 'Esse bichinho acompanhará <span>' +
339
+ searchExtraProperty('name').value +
340
+ '</span> em toda a história.'
341
+ "
342
+ v-if="modalPet"
343
+ @closeModal="closeModal"
344
+ >
345
+ <div class="pet-view">
346
+ <div
347
+ class="pet-selectors"
348
+ :style="currentPetColor ? 'width: 70%;' : ''"
349
+ >
350
+ <div class>
351
+ <Input
352
+ :value="searchExtraProperty('nome-do-mooner').value.name"
353
+ error
354
+ helper
355
+ :label="lang.typePetname"
356
+ name="currentPetName"
357
+ @input="
358
+ searchExtraProperty('nome-do-mooner').value.name =
359
+ $event.target.value
360
+ "
361
+ />
362
+ </div>
363
+
364
+ <label class="pet-label">{{ lang.selectPet }}</label>
365
+
366
+ <div class="pet-combo-list">
367
+ <div
368
+ class="selected-pet"
369
+ :class="[
370
+ !currentPet ? 'inactive' : 'active',
371
+ petAnimation ? 'fade-in-image' : 'inactive-pet',
372
+ ]"
373
+ >
374
+ <div
375
+ v-if="
376
+ currentPet && currentPet.assets && currentPet.assets.asset
377
+ "
378
+ >
379
+ <img
380
+ :class="petInitAnimation ? 'fade-in-image-init' : ''"
381
+ v-if="currentPet.assets.asset"
382
+ :src="currentPet.assets.asset"
383
+ alt=""
384
+ />
385
+ </div>
386
+ </div>
387
+
388
+ <div
389
+ class="pet-list"
390
+ :class="!currentPet ? 'inactive' : 'active'"
391
+ v-if="listPet"
392
+ >
393
+ <div
394
+ :class="currentPet === pet ? 'active' : 'inactive'"
395
+ @click="setPet(pet)"
396
+ v-for="(pet, index) in listPet.assets.subcategories"
397
+ :key="index"
398
+ >
399
+ <img :src="pet.assets.icon" alt />
400
+ <br />
401
+ </div>
402
+ </div>
403
+ </div>
404
+ </div>
405
+
406
+ <div
407
+ class="pet-avatar"
408
+ v-if="searchExtraProperty('nome-do-mooner').value.newPet"
409
+ :style="
410
+ searchExtraProperty('nome-do-mooner').value.newPet
411
+ ? 'width: 30%;'
412
+ : ''
413
+ "
414
+ >
415
+ <img
416
+ :src="
417
+ searchExtraProperty('nome-do-mooner').value.newPet.assets.asset
418
+ "
419
+ alt
420
+ />
421
+ <br />
422
+ </div>
423
+ </div>
424
+
425
+ <div slot="footer">
426
+ <Button
427
+ kind="secondary"
428
+ size="md"
429
+ width="liquid"
430
+ :disabled="false"
431
+ :inverted="false"
432
+ @click="changeMoonerLayout()"
433
+ >
434
+ {{ lang.update }}
435
+ </Button>
436
+
437
+ <Button
438
+ kind="ghost"
439
+ size="md"
440
+ width="liquid"
441
+ :disabled="false"
442
+ :inverted="false"
443
+ @click="closeModal"
444
+ >
445
+ {{ lang.cancel }}
446
+ </Button>
447
+ </div>
448
+ </Modal>
449
+
450
+ <Modal
451
+ :heading="lang.moonerTitleFirstOpen"
452
+ class="modal-pet"
453
+ :headingColor="preview_color"
454
+ :paragraph="
455
+ lang.moonerDescriptionOne +
456
+ current_character_name +
457
+ lang.moonerDescriptionTwo
458
+ "
459
+ :haveClose="modalMoonerFirstOpen"
460
+ v-if="modalMooner"
461
+ @closeModal="closeModal"
462
+ >
463
+ <div class="pet-view">
464
+ <div class="pet-selectors" :style="currentMooner ? 'width: 100%;' : ''">
465
+ <div class>
466
+ <Input
467
+ :value="currentMoonerName"
468
+ error
469
+ helper
470
+ :label="lang.moonerLabel"
471
+ name="currentPetName"
472
+ @input="currentMoonerName = $event.target.value"
473
+ />
474
+ </div>
475
+
476
+ <label class="pet-label">{{ lang.moonerLabelSelector }}</label>
477
+
478
+ <div class="pet-combo-list">
479
+ <div
480
+ class="selected-pet"
481
+ :class="[
482
+ !currentMooner ? 'inactive' : 'active',
483
+ moonerAnimation ? 'fade-in-image' : 'inactive-pet',
484
+ ]"
485
+ >
486
+ <div
487
+ v-if="
488
+ currentMooner &&
489
+ currentMooner.assets &&
490
+ currentMooner.assets.asset
491
+ "
492
+ class="clip-mooney"
493
+ >
494
+ <img
495
+ :class="moonerInitAnimation ? 'fade-in-image-init' : ''"
496
+ v-if="currentMooner.assets.asset"
497
+ :src="currentMooner.assets.asset"
498
+ alt=""
499
+ />
500
+ </div>
501
+ </div>
502
+
503
+ <!-- {{ listMooner }} -->
504
+ <div
505
+ class="pet-list"
506
+ :class="!currentMooner ? 'inactive' : 'active'"
507
+ v-if="listMooner"
508
+ >
509
+ <div
510
+ :class="currentMooner === mooner ? 'active' : 'inactive'"
511
+ v-for="(mooner, index) in listMooner.assets.subcategories"
512
+ :key="index"
513
+ @click="setMooner(mooner)"
514
+ >
515
+ <img :src="mooner.assets.icon" alt />
516
+ <br />
517
+ </div>
518
+ </div>
519
+ </div>
520
+ </div>
521
+
522
+ <!-- <div
523
+ class="pet-avatar"
524
+ v-if="currentMooner"
525
+ :style="currentMooner ? 'width: 30%;' : ''"
526
+ >
527
+ <img :src="currentMooner.assets.asset" alt />
528
+ <br />
529
+ </div> -->
530
+ </div>
531
+
532
+ <div slot="footer" class="mooner-footer">
533
+ <Button
534
+ kind="secondary"
535
+ size="md"
536
+ width="liquid"
537
+ :disabled="!currentMoonerName || !currentMooner"
538
+ :inverted="false"
539
+ @click="changeMoonerLayout()"
540
+ >
541
+ {{ modalMoonerFirstOpen ? lang.moonerCta : lang.moonerCtaFirstOpen }}
542
+ </Button>
543
+
544
+ <Button
545
+ kind="ghost"
546
+ size="md"
547
+ width="liquid"
548
+ :disabled="false"
549
+ :inverted="false"
550
+ @click="closeModal"
551
+ v-if="modalMoonerFirstOpen"
552
+ >
553
+ {{ lang.cancel }}
554
+ </Button>
555
+ </div>
556
+ </Modal>
557
+ </div>
285
558
  </template>
286
559
 
287
560
  <script>
288
-
289
- import Vue from 'vue';
290
-
291
- import Language from "./js/language.json"
292
-
293
- import Heading from '../Typography/Heading.vue';
294
- import Paragraph from '../Typography/Paragraph.vue';
295
- import Icon from '../Icons/Icon.vue';
296
- import Modal from '../Modal/Modal.vue';
297
- import Input from '../Form/Input.vue';
298
- import TextArea from '../Form/TextArea.vue';
299
- import Button from '../Buttons/Button.vue';
300
- import Select from '../Form/Select.vue';
301
-
302
-
303
- const axios = require("axios")
304
-
305
- export default {
306
- name: 'PreviewTools',
307
- components: { Vue, Heading, Paragraph, Icon, Modal, Input, Button, TextArea, Select },
308
- props: {
309
- /** Name of protagonist. `Diego` */
310
- current_name: {
311
- type: String,
312
- required: true,
313
- },
314
- /** Product id of Builder. `595` */
315
- product_id: {
316
- type: Number,
317
- required: true,
318
- },
319
- /** Character id of Builder. `57` */
320
- character_id: {
321
- type: Number,
322
- required: true,
323
- },
324
- dedication_text: {
325
- type: String,
326
- required: false
327
- },
328
- /** Type id of Gender. `89` */
329
- gender: {
330
- type: String,
331
- required: true,
332
- },
333
- /** Slug of product on builder `bb-a-grande-viagem` */
334
- slug: {
335
- type: String,
336
- required: true,
337
- },
338
- /** Character uuid. `ddh5e177ff920f15` */
339
- uuid: {
340
- type: String,
341
- required: true,
342
- },
343
-
344
- /** Show edit name. */
345
- have_name: {
346
- type: Boolean,
347
- required: false,
348
- default: false,
349
- },
350
-
351
- /** Show number at shirt. */
352
- have_shirt_number: {
353
- type: Boolean,
354
- required: false,
355
- default: false,
356
- },
357
-
358
- /** Show layout changes. */
359
- have_layout: {
360
- type: Boolean,
361
- required: false,
362
- default: false,
363
- },
364
-
365
- /** Show Birth date. */
366
- have_birth_date: {
367
- type: Boolean,
368
- required: false,
369
- default: false,
370
- },
371
-
372
- /** Show Pet. */
373
- have_pet: {
374
- type: Boolean,
375
- required: false,
376
- default: false,
377
- },
378
-
379
- typeLanguage: {
380
- type: String,
381
- required: false,
382
- default: "br"
383
- },
384
-
385
- },
386
- data() {
387
- const months = [
388
- {
389
- value: "Janeiro",
390
- key: 1,
391
- },
392
- {
393
- value: "Fevereiro",
394
- key: 2,
395
- },
396
- {
397
- value: "Março",
398
- key: 3,
399
- },
400
- {
401
- value: "Abril",
402
- key: 4,
403
- },
404
- {
405
- value: "Maio",
406
- key: 5,
407
- },
408
- {
409
- value: "Junho",
410
- key: 6,
411
- },
412
- {
413
- value: "Julho",
414
- key: 7,
415
- },
416
- {
417
- value: "Agosto",
418
- key: 8,
419
- },
420
- {
421
- value: "Setembro",
422
- key: 9,
423
- },
424
- {
425
- value: "Outubro",
426
- key: 10,
427
- },
428
- {
429
- value: "Novembro",
430
- key: 11,
431
- },
432
- {
433
- value: "Dezembro",
434
- key: 12,
435
- },
436
- ]
437
-
438
- const maxAgeAllowed = 16
439
-
440
- const days = []
441
- const years = []
442
- const currentYear = new Date().getFullYear()
443
-
444
- for (let day = 1; day <= 31; day++) days.push({ key: day, value: day })
445
- for (let i = 0; i < maxAgeAllowed; i++) {
446
- years.push({ key: currentYear - i, value: currentYear - i })
447
- }
448
- years.push({ key: "outro", value: "Outro" })
449
-
450
- return {
451
- lang: Language[this.typeLanguage],
452
-
453
- modalScript: false,
454
- modalName: false,
455
- modalDedication: false,
456
- modalShirtNumber: false,
457
- modalPet: false,
458
- modalBirthdate: false,
459
-
460
- days: days,
461
- months: months,
462
- years: years,
463
-
464
- pages: [],
465
- counter: 0,
466
- pageNum: 36,
467
-
468
- isCover: 0,
469
- currentPage: 3,
470
- loadedPages: 3,
471
-
472
- numberPositions: 0,
473
- mobilePagePosition: 0,
474
-
475
- isMobile: false,
476
- isLoaded: false,
477
-
478
- isPagesNumLoaded: false,
479
-
480
- loadedMobile: false,
481
- loadedDesktop: false,
482
-
483
- mobileStopped: true,
484
- isLoading: true,
485
- custom_character: null,
486
-
487
- productSelected: null,
488
-
489
- availableLayouts: [],
490
-
491
- currentLayout: 0,
492
-
493
- callingLayout: false,
494
- callingDedication: false,
495
- callingName: false,
496
-
497
- current_character_name: "",
498
-
499
- dedicationText: "",
500
-
501
- haveDedication: false,
502
-
503
- currentShirtNumber: 7,
504
-
505
- listPet: [],
506
- currentPetName: "",
507
- currentPet: [],
508
- currentPetColor: "",
509
-
510
- selectedBirthDay: 0,
511
- selectedBirthMonth: 0,
512
-
513
- modalFirstOpen: true,
514
- firstBookSelected: false,
515
-
516
- type_id: '',
517
-
518
- sizeList:'0px',
519
-
520
-
521
- }
522
- },
523
-
524
- computed: {},
525
-
526
- mounted() {
527
- this.current_character_name = this.current_name
528
- this.dedicationText = this.dedication_text ? this.dedication_text : ""
529
- this.initMounted()
530
- },
531
-
532
- methods: {
533
- modalIsOpen(){
534
- if(
535
- this.modalScript ||
536
- this.modalName ||
537
- this.modalDedication ||
538
- this.modalShirtNumber ||
539
- this.modalPet ||
540
- this.modalBirthdate
541
- ) {
542
- return true
543
- } else {
544
- return false
545
- }
546
-
547
-
548
- },
549
-
550
- updateName(payload) {
551
- console.log(this.current_character_name)
552
- this.current_character_name = payload.value
553
- console.log(payload)
554
- },
555
-
556
- updateDedicationText(payload) {
557
- this.dedicationText = payload.value
558
- },
559
-
560
- updateShirtNumber(payload) {
561
- this.currentShirtNumber = payload.value
562
- },
563
-
564
- onChangeDay(payload) {
565
- this.selectedBirthDay = payload.value
566
-
567
- this.validateDays({
568
- year: payload.value,
569
- })
570
- },
571
-
572
- onChangeMonth(payload) {
573
- console.log(payload);
574
-
575
- this.selectedBirthMonth = (payload.key - 1)
576
-
577
- this.validateDays({
578
- month: (payload.key - 1),
579
- })
580
- },
581
-
582
- updateHaveDedication(value) {
583
- this.haveDedication = value
584
- },
585
-
586
-
587
- setPet(selectedPet) {
588
- this.currentPet = selectedPet
589
- this.setColor(this.currentPet.assets.colors[0])
590
- },
591
-
592
- setColor(selectedColor) {
593
- this.currentPetColor = selectedColor
594
- },
595
-
596
- showModalScript() {
597
- this.modalScript = true
598
- },
599
-
600
- showModalName() {
601
- this.modalName = true
602
- },
603
-
604
- showModalDedication() {
605
- this.modalDedication = true
606
- },
607
-
608
- showModalShirtNumber() {
609
- this.modalShirtNumber = true
610
- },
611
-
612
- showModalBirthdate() {
613
- this.modalBirthdate = true
614
- },
615
-
616
- showModalPet() {
617
- const self = this
618
-
619
- axios
620
- .get(
621
- this.lang.urlBuilder + "/api/characters/46/categories/assets/treelist?character_type_id=67&product_id=111&character_position_id=377"
622
- )
623
- .then(function(response) {
624
- console.log(response)
625
- self.listPet = response.data.character_categories_assets[0].categories[5]
626
- })
627
-
628
- .catch(function(error) {
629
- console.log(error)
630
- })
631
-
632
- this.modalPet = true
633
- },
634
-
635
- closeModal() {
636
- this.modalScript = false
637
- this.modalName = false
638
- this.modalDedication = false
639
- this.modalShirtNumber = false
640
- this.modalPet = false
641
- this.modalBirthdate = false
642
- },
643
-
644
- setCurrentLayout(layoutId) {
645
- this.currentLayout = layoutId
646
- this.firstBookSelected = true
647
- },
648
-
649
- initMounted() {
650
- const self = this
651
-
652
- axios
653
- .get(this.lang.urlBuilder + "/api/products/info/" + self.product_id)
654
- .then(function(response) {
655
- self.pageNum = response.data.product.pages
656
- self.isPagesNumLoaded = true
657
- self.availableLayouts = response.data.product.layout
658
-
659
-
660
- // Gender
661
- if (self.gender) {
662
- self.type_id = response.data.product.type.filter((el) => {
663
- return el.code === self.gender
664
- })
665
- }
666
-
667
- self.type_id = self.type_id[0].id
668
-
669
- })
670
-
671
- .catch(function(error) {
672
- console.log(error)
673
- })
674
- },
675
-
676
- changeDedication() {
677
- const self = this;
678
- self.callingLayout = true
679
- self.closeModal()
680
- self.isLoadingMethod(false)
681
-
682
- let request = {
683
- uuid: self.uuid,
684
- dedication: self.dedicationText
685
- };
686
-
687
- axios
688
- .post(
689
- this.lang.urlBuilder +
690
- "/api/customs_characters/updateDedication",
691
- request
692
- // {
693
- // headers: {
694
- // // remove headers
695
- // }
696
- // }
697
- )
698
- .then(function(response) {
699
- //alert(response.data.custom.uuid);
700
-
701
- self.changeUuid(response.data.custom.uuid)
702
- // self.callingLayout = true
703
- //self.closeModal()
704
- // self.isLoadingMethod(false)
705
- })
706
- .catch(function(error) {
707
- //self.isCallingAll = false;
708
- alert("Erro ao atualizar a dedicatória");
709
- //self.closeModal();
710
- });
711
- },
712
-
713
- changeLayout() {
714
- const self = this
715
- self.callingLayout = true
716
- self.closeModal()
717
- self.isLoadingMethod(false)
718
-
719
- let request = {
720
- custom_character: {
721
- character_id: self.character_id,
722
- product_id: self.product_id,
723
- type_id: self.type_id,
724
- user_data: {
725
- type: self.type_id,
726
- properties: {
727
- nome: {
728
- code: "nome",
729
- property_id: 24,
730
- value: self.current_character_name,
731
- },
732
- dedicatoria: {
733
- code: "dedicatoria",
734
- property_id: 26,
735
- value: self.dedicationText,
736
- },
737
- },
738
- },
739
- uuid: self.uuid,
740
- },
741
- }
742
-
743
- if (self.have_layout) {
744
- Vue.set(request.custom_character, "layout_id", self.availableLayouts[self.currentLayout].id)
745
- }
746
-
747
- if (self.have_pet) {
748
- Vue.set(request.custom_character.user_data.properties, "nome-pet", itemProperty)
749
- }
750
-
751
- if (self.have_birth_date) {
752
- var itemPropertyBirth1 = {
753
- property_id: 29,
754
- value: self.currentShirtNumber,
755
- code: "numero",
756
- }
757
-
758
- Vue.set(request.custom_character.user_data.properties, "numero", itemPropertyBirth1)
759
-
760
- var itemPropertyBirth2 = {
761
- property_id: 38,
762
- value: self.months[self.selectedBirthMonth - 1].value,
763
- code: "mes",
764
- }
765
-
766
- Vue.set(request.custom_character.user_data.properties, "mes", itemPropertyBirth2)
767
- }
768
-
769
- if (self.have_shirt_number) {
770
- var itemPropertyShirt = {
771
- property_id: 29,
772
- value: self.currentShirtNumber,
773
- code: "numero",
774
- }
775
-
776
- Vue.set(request.custom_character.user_data.properties, "numero", itemPropertyShirt)
777
- }
778
-
779
- axios
780
- .post(
781
- this.lang.urlBuilder + "/api/customs_characters/changePropertiesDynamic",
782
- request
783
- )
784
- .then(function(response) {
785
- self.changeUuid(response.data.custom.uuid)
786
- })
787
- .catch(function(error) {
788
- console.log(error)
789
- })
790
- },
791
-
792
- changeUuid(payload) {
793
- this.$emit("changeUuid", payload)
794
- },
795
-
796
- isLoadingMethod(payload) {
797
- this.$emit("isLoadingMethod", payload)
798
- },
799
-
800
- validateDays(payload) {
801
- const self = this
802
-
803
- let month = payload.month ? payload.month : this.selectedBirthMonth
804
- const year = payload.year ? payload.year : this.selectedBirthYear
805
-
806
- if (!month) month = 13
807
-
808
- let daysMonth
809
- const newDays = []
810
-
811
- if (
812
- month === 1 ||
813
- month === 3 ||
814
- month === 5 ||
815
- month === 7 ||
816
- month === 8 ||
817
- month === 10 ||
818
- month === 12 ||
819
- month === 13
820
- ) {
821
- daysMonth = 31
822
- } else if (month === 4 || month === 6 || month === 9 || month === 11) {
823
- daysMonth = 30
824
- } else {
825
- if ((year % 4 === 0 && year % 100 > 0) || year % 400 === 0) {
826
- daysMonth = 29
827
- } else {
828
- daysMonth = 28
829
- }
830
- }
831
-
832
- if (!month && !year) daysMonth = 31
833
-
834
- for (let day = 1; day <= daysMonth; day++) newDays.push({ key: day, value: day })
835
-
836
- self.days = newDays
837
- },
838
- },
839
-
840
- };
561
+ import Vue from "vue";
562
+
563
+ import Language from "./js/language.json";
564
+
565
+ import Heading from "../Typography/Heading.vue";
566
+ import Paragraph from "../Typography/Paragraph.vue";
567
+ import Icon from "../Icons/Icon.vue";
568
+ import Modal from "../Modal/Modal.vue";
569
+ import Input from "../Form/Input.vue";
570
+ import TextArea from "../Form/TextArea.vue";
571
+ import Button from "../Buttons/Button.vue";
572
+ import Select from "../Form/Select.vue";
573
+
574
+ const axios = require("axios");
575
+
576
+ export default {
577
+ name: "PreviewTools",
578
+ components: {
579
+ Vue,
580
+ Heading,
581
+ Paragraph,
582
+ Icon,
583
+ Modal,
584
+ Input,
585
+ Button,
586
+ TextArea,
587
+ Select,
588
+ },
589
+ props: {
590
+ /** Name of protagonist. `Diego` */
591
+ current_name: {
592
+ type: String,
593
+ required: true,
594
+ },
595
+ /** Product id of Builder. `595` */
596
+ product_id: {
597
+ type: Number,
598
+ required: true,
599
+ },
600
+ /** Character id of Builder. `57` */
601
+ character_id: {
602
+ type: Number,
603
+ required: true,
604
+ },
605
+
606
+ /** Character id of Builder. `906` */
607
+ character_position_id: {
608
+ type: Number,
609
+ required: true,
610
+ },
611
+
612
+ dedication_text: {
613
+ type: String,
614
+ required: false,
615
+ },
616
+ /** Type id of Gender. `89` */
617
+ gender: {
618
+ type: String,
619
+ required: true,
620
+ },
621
+ /** Slug of product on builder `bb-a-grande-viagem` */
622
+ slug: {
623
+ type: String,
624
+ required: true,
625
+ },
626
+ /** Character uuid. `ddh5e177ff920f15` */
627
+ uuid: {
628
+ type: String,
629
+ required: true,
630
+ },
631
+ /** Preview external color. `#000` */
632
+ preview_color: {
633
+ type: String,
634
+ default: "#68596e",
635
+ required: true,
636
+ },
637
+
638
+ typeLanguage: {
639
+ type: String,
640
+ required: false,
641
+ default: "br",
642
+ },
643
+ },
644
+
645
+ computed: {
646
+ colorsVar() {
647
+ return {
648
+ "--preview-color": this.preview_color,
649
+ };
650
+ },
651
+ },
652
+
653
+ data() {
654
+ const months = [
655
+ {
656
+ value: "Janeiro",
657
+ key: 1,
658
+ },
659
+ {
660
+ value: "Fevereiro",
661
+ key: 2,
662
+ },
663
+ {
664
+ value: "Março",
665
+ key: 3,
666
+ },
667
+ {
668
+ value: "Abril",
669
+ key: 4,
670
+ },
671
+ {
672
+ value: "Maio",
673
+ key: 5,
674
+ },
675
+ {
676
+ value: "Junho",
677
+ key: 6,
678
+ },
679
+ {
680
+ value: "Julho",
681
+ key: 7,
682
+ },
683
+ {
684
+ value: "Agosto",
685
+ key: 8,
686
+ },
687
+ {
688
+ value: "Setembro",
689
+ key: 9,
690
+ },
691
+ {
692
+ value: "Outubro",
693
+ key: 10,
694
+ },
695
+ {
696
+ value: "Novembro",
697
+ key: 11,
698
+ },
699
+ {
700
+ value: "Dezembro",
701
+ key: 12,
702
+ },
703
+ ];
704
+
705
+ const maxAgeAllowed = 16;
706
+
707
+ const days = [];
708
+ const years = [];
709
+ const currentYear = new Date().getFullYear();
710
+
711
+ for (let day = 1; day <= 31; day++) days.push({ key: day, value: day });
712
+ for (let i = 0; i < maxAgeAllowed; i++) {
713
+ years.push({ key: currentYear - i, value: currentYear - i });
714
+ }
715
+ years.push({ key: "outro", value: "Outro" });
716
+
717
+ return {
718
+ lang: Language[this.typeLanguage],
719
+
720
+ // Sidebar
721
+ sidebarOpen: false,
722
+
723
+ have_shirt_number: false,
724
+ have_layout: false,
725
+ have_birth_date: false,
726
+ haveDedication: false,
727
+
728
+ //
729
+ //default_value_name: "",
730
+ default_value_dedication: "",
731
+ default_value_pet: "",
732
+
733
+ // Variaveis de modais
734
+ modalScript: false,
735
+ modalName: false,
736
+ modalDedication: false,
737
+ modalShirtNumber: false,
738
+ modalMooner: false,
739
+ modalPet: false,
740
+ modalBirthdate: false,
741
+
742
+ // Propriedades da sidebar
743
+ extras: null,
744
+
745
+ // Nome customizado
746
+ current_character_name: "",
747
+ dedicationText: "",
748
+
749
+ // Pet
750
+ listMooner: [],
751
+ moonerAnimation: false,
752
+ moonerInitAnimation: false,
753
+ currentMoonerName: null,
754
+ currentMooner: null,
755
+ currentMoonerColor: "",
756
+
757
+ // Pet
758
+ listPet: [],
759
+ petAnimation: false,
760
+ petInitAnimation: false,
761
+ currentPetName: "",
762
+ currentPet: null,
763
+ currentPetColor: "",
764
+
765
+ days: days,
766
+ months: months,
767
+ years: years,
768
+
769
+ pages: [],
770
+ counter: 0,
771
+ pageNum: 36,
772
+
773
+ isCover: 0,
774
+ currentPage: 3,
775
+ loadedPages: 3,
776
+
777
+ numberPositions: 0,
778
+ mobilePagePosition: 0,
779
+
780
+ isMobile: false,
781
+ isLoaded: false,
782
+
783
+ isPagesNumLoaded: false,
784
+
785
+ loadedMobile: false,
786
+ loadedDesktop: false,
787
+
788
+ mobileStopped: true,
789
+ isLoading: true,
790
+ custom_character: null,
791
+ custom: null,
792
+
793
+ availableLayouts: [],
794
+ currentLayout: 0,
795
+
796
+ callingLayout: false,
797
+ callingDedication: false,
798
+ callingName: false,
799
+
800
+ currentShirtNumber: 7,
801
+
802
+ // Aniversário
803
+ selectedBirthDay: 0,
804
+ selectedBirthMonth: 0,
805
+
806
+ modalMoonerFirstOpen: false,
807
+ firstBookSelected: false,
808
+
809
+ type_id: "",
810
+ };
811
+ },
812
+
813
+ computed: {
814
+ cssProps() {
815
+ return {
816
+ "--preview_color": this.preview_color,
817
+ };
818
+ },
819
+ },
820
+
821
+ mounted() {
822
+ const self = this;
823
+
824
+ this.current_character_name = this.current_name;
825
+ this.dedicationText = this.dedication_text ? this.dedication_text : "";
826
+ this.initMounted();
827
+
828
+ self.isMobile = self.detectSize();
829
+
830
+ window.addEventListener("resize", function(e) {
831
+ self.isMobile = self.detectSize();
832
+ });
833
+ },
834
+
835
+ methods: {
836
+ detectSize() {
837
+ var menuStatus = false;
838
+ if (window.innerWidth < 990) {
839
+ menuStatus = true;
840
+ }
841
+ return menuStatus;
842
+ },
843
+
844
+ toggleSidebar() {
845
+ const self = this;
846
+
847
+ self.sidebarOpen = !self.sidebarOpen;
848
+ },
849
+
850
+ modalIsOpen() {
851
+ if (
852
+ this.modalScript ||
853
+ this.modalName ||
854
+ this.modalDedication ||
855
+ this.modalShirtNumber ||
856
+ this.modalPet ||
857
+ this.modalMooner ||
858
+ this.modalBirthdate
859
+ ) {
860
+ return true;
861
+ } else {
862
+ return false;
863
+ }
864
+ },
865
+
866
+ updateName(payload) {
867
+ console.log(this.current_character_name);
868
+ this.current_character_name = payload.value;
869
+ console.log(payload);
870
+ },
871
+
872
+ updateDedicationText(payload) {
873
+ this.dedicationText = payload.value;
874
+ },
875
+
876
+ updateShirtNumber(payload) {
877
+ this.currentShirtNumber = payload.value;
878
+ },
879
+
880
+ onChangeDay(payload) {
881
+ this.selectedBirthDay = payload.value;
882
+
883
+ this.validateDays({
884
+ year: payload.value,
885
+ });
886
+ },
887
+
888
+ onChangeMonth(payload) {
889
+ console.log(payload);
890
+
891
+ this.selectedBirthMonth = payload.key - 1;
892
+
893
+ this.validateDays({
894
+ month: payload.key - 1,
895
+ });
896
+ },
897
+
898
+ updateHaveDedication(value) {
899
+ this.haveDedication = value;
900
+ },
901
+
902
+ setMooner(selectedPet) {
903
+ const self = this;
904
+
905
+ self.moonerAnimation = false;
906
+ //console.log(selectedPet)
907
+ //self.currentMoonerName = selectedPet.name.toUpperCase()
908
+
909
+ setTimeout(() => {
910
+ self.moonerAnimation = true;
911
+ this.currentMooner = selectedPet;
912
+
913
+ setTimeout(() => {
914
+ self.moonerInitAnimation = true;
915
+ }, "500");
916
+ }, "500");
917
+ },
918
+
919
+ setPet(selectedPet) {
920
+ const self = this;
921
+
922
+ self.petAnimation = false;
923
+ //self.currentMoonerName =
924
+
925
+ setTimeout(() => {
926
+ self.petAnimation = true;
927
+ this.currentPet = selectedPet;
928
+
929
+ setTimeout(() => {
930
+ self.petInitAnimation = true;
931
+ }, "500");
932
+ }, "500");
933
+ },
934
+
935
+ setColor(selectedColor) {
936
+ //this.currentPetColor = selectedColor;
937
+ this.searchExtraProperty("pet").value.newPetColor = selectedColor;
938
+ },
939
+
940
+ showModal(modalName) {
941
+ const self = this;
942
+ // alert(key);
943
+
944
+ //var modalName = Object.keys(key)[0];
945
+ // console.log(modalName);
946
+
947
+ if (modalName === "nome") {
948
+ this.modalName = true;
949
+ }
950
+
951
+ if (modalName.includes("dedicatoria")) {
952
+ this.modalDedication = true;
953
+ }
954
+
955
+ if (modalName.includes("nome-do-mooner")) {
956
+ this.modalMooner = true;
957
+ }
958
+
959
+ if (modalName.includes("pet")) {
960
+ this.modalPet = true;
961
+ }
962
+
963
+ if (modalName.includes("script")) {
964
+ this.modalScript = true;
965
+ }
966
+
967
+ if (modalName.includes("camisa")) {
968
+ this.modalShirtNumber = true;
969
+ }
970
+ if (modalName.includes("aniversario")) {
971
+ this.modalBirthdate = true;
972
+ }
973
+ },
974
+
975
+ showModalName() {
976
+ this.modalName = true;
977
+ },
978
+
979
+ showModalScript() {
980
+ this.modalScript = true;
981
+ },
982
+
983
+ showModalDedication() {
984
+ this.modalDedication = true;
985
+ },
986
+
987
+ showModalShirtNumber() {
988
+ this.modalShirtNumber = true;
989
+ },
990
+
991
+ showModalBirthdate() {
992
+ this.modalBirthdate = true;
993
+ },
994
+
995
+ showModalPet() {
996
+ const self = this;
997
+
998
+ //
999
+ },
1000
+
1001
+ searchExtraProperty(propertyName) {
1002
+ const self = this;
1003
+ var returnProperty = null;
1004
+
1005
+ Object.keys(self.extras).forEach(function(property) {
1006
+ //if()
1007
+ // if (self.extras[property].type.includes(propertyName)) {
1008
+ // returnProperty = self.extras.properties[property];
1009
+ // }
1010
+ //console.log(property + " - " + self.extras.properties[property]);
1011
+ });
1012
+
1013
+ return returnProperty;
1014
+ },
1015
+
1016
+ searchCategoryProperty(categories, propertyName) {
1017
+ const self = this;
1018
+ var returnProperty = null;
1019
+
1020
+ Object.keys(categories).forEach(function(category) {
1021
+ if (categories[category].code.includes(propertyName)) {
1022
+ returnProperty = categories[category];
1023
+ }
1024
+ console.log(category + " - " + categories[category]);
1025
+ });
1026
+
1027
+ return returnProperty;
1028
+ },
1029
+
1030
+ async getTreeList() {
1031
+ const self = this;
1032
+
1033
+ // Todo Guto
1034
+ return axios
1035
+ .get(
1036
+ this.lang.urlBuilder +
1037
+ "/api/characters/" +
1038
+ self.character_id +
1039
+ "/categories/assets/treelist?character_type_id=" +
1040
+ self.type_id +
1041
+ "&product_id=" +
1042
+ parseInt(self.product_id) +
1043
+ "&character_position_id=" +
1044
+ parseInt(self.character_position_id)
1045
+ )
1046
+ .then(function(response) {
1047
+ //console.log(response);
1048
+
1049
+ // self.listPet =
1050
+ // response.data.character_categories_assets[0].categories[5];
1051
+ var customList = null;
1052
+
1053
+ response.data.character_categories_assets[0].categories.forEach(
1054
+ (itemCategory) => {
1055
+ if (itemCategory.code.includes("mooner")) {
1056
+ customList = itemCategory;
1057
+ self.modalMooner = true;
1058
+ }
1059
+ }
1060
+ );
1061
+
1062
+ self.extras.forEach((itemProperty) => {
1063
+ if (itemProperty.code.includes("nome-do-mooner")) {
1064
+ self.listMooner = customList;
1065
+ }
1066
+
1067
+ if (itemProperty.code.includes("pet")) {
1068
+ self.listPet = customList;
1069
+ }
1070
+ });
1071
+ })
1072
+
1073
+ .catch(function(error) {
1074
+ console.log(error);
1075
+ });
1076
+ },
1077
+
1078
+ closeModal() {
1079
+ this.modalScript = false;
1080
+ this.modalName = false;
1081
+ this.modalDedication = false;
1082
+ this.modalShirtNumber = false;
1083
+ this.modalPet = false;
1084
+ this.modalMooner = false;
1085
+ this.modalBirthdate = false;
1086
+ },
1087
+
1088
+ setCurrentLayout(layoutId) {
1089
+ this.currentLayout = layoutId;
1090
+ this.firstBookSelected = true;
1091
+ },
1092
+
1093
+ initMounted() {
1094
+ const self = this;
1095
+
1096
+ axios
1097
+ .get(this.lang.urlBuilder + "/api/products/info/" + self.product_id)
1098
+ .then(function(response) {
1099
+ self.pageNum = response.data.product.pages;
1100
+ self.isPagesNumLoaded = true;
1101
+ self.availableLayouts = response.data.product.layout;
1102
+
1103
+ // Gender
1104
+ if (self.gender) {
1105
+ self.type_id = response.data.product.type.filter((el) => {
1106
+ return el.code === self.gender;
1107
+ });
1108
+ }
1109
+
1110
+ var properties = response.data.product.properties;
1111
+ self.extras = []; //response.data.product.extra;
1112
+
1113
+ properties.forEach((itemProperty) => {
1114
+ if (itemProperty.property.code === "nome") {
1115
+ itemProperty.property.value = self.current_name;
1116
+ }
1117
+
1118
+ if (itemProperty.property.code === "dedicatoria") {
1119
+ itemProperty.property.value = self.dedication_text;
1120
+ }
1121
+
1122
+ self.extras.push(itemProperty.property);
1123
+ });
1124
+
1125
+ self.type_id = self.type_id[0].id;
1126
+
1127
+ self.getTreeList();
1128
+ })
1129
+
1130
+ .catch(function(error) {
1131
+ console.log(error);
1132
+ });
1133
+ },
1134
+
1135
+ // changeDedication() {
1136
+ // const self = this;
1137
+ // self.callingLayout = true;
1138
+ // self.closeModal();
1139
+ // self.isLoadingMethod(false);
1140
+
1141
+ // let request = {
1142
+ // uuid: self.uuid,
1143
+ // dedication: self.dedicationText,
1144
+ // };
1145
+
1146
+ // axios
1147
+ // .post(
1148
+ // this.lang.urlBuilder + "/api/customs_characters/updateDedication",
1149
+ // request
1150
+ // // {
1151
+ // // headers: {
1152
+ // // // remove headers
1153
+ // // }
1154
+ // // }
1155
+ // )
1156
+ // .then(function(response) {
1157
+ // //alert(response.data.custom.uuid);
1158
+
1159
+ // self.changeUuid(response.data.custom.uuid);
1160
+ // // self.callingLayout = true
1161
+ // //self.closeModal()
1162
+ // // self.isLoadingMethod(false)
1163
+ // })
1164
+ // .catch(function(error) {
1165
+ // //self.isCallingAll = false;
1166
+ // alert("Erro ao atualizar a dedicatória");
1167
+ // //self.closeModal();
1168
+ // });
1169
+ // },
1170
+
1171
+ changeMoonerLayout() {
1172
+ const self = this;
1173
+ self.callingLayout = true;
1174
+ self.closeModal();
1175
+ self.isLoadingMethod(false);
1176
+
1177
+ let request = {
1178
+ custom_character: {
1179
+ character_id: self.character_id,
1180
+ product_id: self.product_id,
1181
+ type_id: self.type_id,
1182
+ user_data: {
1183
+ type: self.type_id,
1184
+ properties: {
1185
+ nome: {
1186
+ code: "nome",
1187
+ property_id: 24,
1188
+ value: self.current_character_name,
1189
+ },
1190
+ dedicatoria: {
1191
+ code: "dedicatoria",
1192
+ property_id: 26,
1193
+ value: self.dedicationText,
1194
+ },
1195
+ },
1196
+ },
1197
+ uuid: self.uuid,
1198
+ },
1199
+ };
1200
+
1201
+ if (self.currentMooner) {
1202
+ ///var property = self.searchExtraProperty("nome-do-mooner");
1203
+ self.extras.forEach((itemProperty) => {
1204
+ if (itemProperty.code.includes("nome-do-mooner")) {
1205
+ var itemNovo = {
1206
+ property_id: itemProperty.id,
1207
+ value: self.currentMoonerName,
1208
+ code: itemProperty.code,
1209
+ };
1210
+
1211
+ itemProperty.value = self.currentMoonerName;
1212
+
1213
+ request.custom_character.user_data.properties[
1214
+ itemProperty.code
1215
+ ] = itemNovo;
1216
+ }
1217
+ });
1218
+ }
1219
+
1220
+ //var data_custom;
1221
+
1222
+ // Envio da custom porperties dynamic
1223
+ axios
1224
+ .post(
1225
+ this.lang.urlBuilder +
1226
+ "/api/customs_characters/changePropertiesDynamic",
1227
+ request
1228
+ )
1229
+ .then(function(response) {
1230
+ self.custom = JSON.parse(response.data.custom.customCharacter.data);
1231
+
1232
+ var haveMooney = false;
1233
+ var petProperty = null;
1234
+
1235
+ self.custom.categories.forEach((itemProperty) => {
1236
+ if (itemProperty.parent_id === self.currentMooner.parent_id) {
1237
+ haveMooney = true;
1238
+
1239
+ var indexOfCategory = self.custom.categories.indexOf(
1240
+ itemProperty
1241
+ );
1242
+
1243
+ self.custom.categories[indexOfCategory] = {
1244
+ parent_id: self.currentMooner.parent_id,
1245
+ id: self.currentMooner.id,
1246
+ };
1247
+ }
1248
+ });
1249
+
1250
+ if (haveMooney === false) {
1251
+ petProperty = {
1252
+ parent_id: self.currentMooner.parent_id,
1253
+ id: self.currentMooner.id,
1254
+ };
1255
+
1256
+ self.custom.categories.push(petProperty);
1257
+ }
1258
+
1259
+ self.modalMoonerFirstOpen = true;
1260
+ self.sidebarOpen = false;
1261
+
1262
+ self.sendCustomCharacter();
1263
+ //self.changeUuid(response.data.custom.uuid);
1264
+ })
1265
+ .catch(function(error) {
1266
+ console.log(error);
1267
+ });
1268
+ },
1269
+
1270
+ updateNameAndDedicationCustomCharacter() {
1271
+ const self = this;
1272
+ self.callingLayout = true;
1273
+ self.closeModal();
1274
+ self.isLoadingMethod(false);
1275
+
1276
+ let request = {
1277
+ custom_character: {
1278
+ character_id: self.character_id,
1279
+ product_id: self.product_id,
1280
+ type_id: self.type_id,
1281
+ user_data: {
1282
+ type: self.type_id,
1283
+ properties: {
1284
+ nome: {
1285
+ code: "nome",
1286
+ property_id: 24,
1287
+ value: self.current_character_name,
1288
+ },
1289
+ dedicatoria: {
1290
+ code: "dedicatoria",
1291
+ property_id: 26,
1292
+ value: self.dedicationText,
1293
+ },
1294
+ },
1295
+ },
1296
+ uuid: self.uuid,
1297
+ },
1298
+ };
1299
+
1300
+ if (self.currentMooner) {
1301
+ ///var property = self.searchExtraProperty("nome-do-mooner");
1302
+ self.extras.forEach((itemProperty) => {
1303
+ if (itemProperty.code.includes("nome-do-mooner")) {
1304
+ var itemNovo = {
1305
+ property_id: itemProperty.id,
1306
+ value: self.currentMoonerName,
1307
+ code: itemProperty.code,
1308
+ };
1309
+
1310
+ itemProperty.value = self.currentMoonerName;
1311
+
1312
+ request.custom_character.user_data.properties[
1313
+ itemProperty.code
1314
+ ] = itemNovo;
1315
+ }
1316
+ });
1317
+ }
1318
+
1319
+ axios
1320
+ .post(
1321
+ this.lang.urlBuilder +
1322
+ "/api/customs_characters/changePropertiesDynamic",
1323
+ request
1324
+ )
1325
+ .then(function(response) {
1326
+ self.custom = JSON.parse(response.data.custom.customCharacter.data);
1327
+
1328
+ self.extras.forEach((itemProperty) => {
1329
+ if (itemProperty.code === "nome") {
1330
+ itemProperty.value = self.current_character_name;
1331
+ }
1332
+ });
1333
+
1334
+ self.changeUuid(response.data.custom.uuid);
1335
+ })
1336
+ .catch(function(error) {
1337
+ console.log(error);
1338
+ });
1339
+ },
1340
+
1341
+ updateDedicationCustomCharacter() {
1342
+ const self = this;
1343
+ self.callingLayout = true;
1344
+ self.closeModal();
1345
+ self.isLoadingMethod(false);
1346
+
1347
+ let request = {
1348
+ custom_character: {
1349
+ character_id: self.character_id,
1350
+ product_id: self.product_id,
1351
+ type_id: self.type_id,
1352
+ user_data: {
1353
+ type: self.type_id,
1354
+ properties: {
1355
+ dedicatoria: {
1356
+ code: "dedicatoria",
1357
+ property_id: 26,
1358
+ value: self.dedicationText,
1359
+ },
1360
+ },
1361
+ },
1362
+ uuid: self.uuid,
1363
+ },
1364
+ };
1365
+
1366
+ axios
1367
+ .post(
1368
+ this.lang.urlBuilder +
1369
+ "/api/customs_characters/changePropertiesDynamic",
1370
+ request
1371
+ )
1372
+ .then(function(response) {
1373
+ self.custom = JSON.parse(response.data.custom.customCharacter.data);
1374
+
1375
+ self.extras.forEach((itemProperty) => {
1376
+ if (itemProperty.code === "dedicatoria") {
1377
+ itemProperty.value = self.dedicationText;
1378
+ }
1379
+ });
1380
+
1381
+ self.changeUuid(response.data.custom.uuid);
1382
+ })
1383
+ .catch(function(error) {
1384
+ console.log(error);
1385
+ });
1386
+ },
1387
+
1388
+ changeLayout() {
1389
+ const self = this;
1390
+ self.callingLayout = true;
1391
+ self.closeModal();
1392
+ self.isLoadingMethod(false);
1393
+
1394
+ let request = {
1395
+ custom_character: {
1396
+ character_id: self.character_id,
1397
+ product_id: self.product_id,
1398
+ type_id: self.type_id,
1399
+ user_data: {
1400
+ type: self.type_id,
1401
+ properties: {
1402
+ nome: {
1403
+ code: "nome",
1404
+ property_id: 24,
1405
+ value: self.current_character_name,
1406
+ },
1407
+ dedicatoria: {
1408
+ code: "dedicatoria",
1409
+ property_id: 26,
1410
+ value: self.dedicationText,
1411
+ },
1412
+ },
1413
+ },
1414
+ uuid: self.uuid,
1415
+ },
1416
+ };
1417
+
1418
+ if (self.searchExtraProperty("nome-do-mooner")) {
1419
+ var property = self.searchExtraProperty("nome-do-mooner");
1420
+
1421
+ var itemProperty = {
1422
+ property_id: property.id,
1423
+ value: property.value,
1424
+ code: property.code,
1425
+ };
1426
+ request.custom_character.user_data.properties[
1427
+ property.code
1428
+ ] = itemProperty;
1429
+ }
1430
+
1431
+ var petProperty;
1432
+ var data_custom;
1433
+
1434
+ // Envio da custom porperties dynamic
1435
+ axios
1436
+ .post(
1437
+ this.lang.urlBuilder +
1438
+ "/api/customs_characters/changePropertiesDynamic",
1439
+ request
1440
+ )
1441
+ .then(function(response) {
1442
+ self.custom = JSON.parse(response.data.custom.customCharacter.data);
1443
+
1444
+ petProperty = {
1445
+ parent_id: self.currentPet.parent_id,
1446
+ id: self.currentPetColor.id,
1447
+ };
1448
+
1449
+ self.custom.categories.push(petProperty);
1450
+ //data_custom = self.custom;
1451
+
1452
+ self.sendCustomCharacter();
1453
+ //self.changeUuid(response.data.custom.uuid);
1454
+ })
1455
+ .catch(function(error) {
1456
+ console.log(error);
1457
+ });
1458
+ },
1459
+
1460
+ sendCustomCharacter() {
1461
+ const self = this;
1462
+
1463
+ axios // Salvar o custom character
1464
+ .post(this.lang.urlBuilder + "/api/customs_characters", {
1465
+ custom_character: self.custom,
1466
+ })
1467
+ .then(function(response) {
1468
+ //self.custom = JSON.parse(response.data.custom.customCharacter.data);
1469
+ //alert("salvou catiolo");
1470
+ self.changeUuid(response.data.custom.uuid);
1471
+ })
1472
+ .catch(function(error) {
1473
+ console.log(error);
1474
+ });
1475
+ },
1476
+
1477
+ changeUuid(payload) {
1478
+ this.$emit("changeUuid", payload);
1479
+ },
1480
+
1481
+ isLoadingMethod(payload) {
1482
+ this.$emit("isLoadingMethod", payload);
1483
+ },
1484
+
1485
+ validateDays(payload) {
1486
+ const self = this;
1487
+
1488
+ let month = payload.month ? payload.month : this.selectedBirthMonth;
1489
+ const year = payload.year ? payload.year : this.selectedBirthYear;
1490
+
1491
+ if (!month) month = 13;
1492
+
1493
+ let daysMonth;
1494
+ const newDays = [];
1495
+
1496
+ if (
1497
+ month === 1 ||
1498
+ month === 3 ||
1499
+ month === 5 ||
1500
+ month === 7 ||
1501
+ month === 8 ||
1502
+ month === 10 ||
1503
+ month === 12 ||
1504
+ month === 13
1505
+ ) {
1506
+ daysMonth = 31;
1507
+ } else if (month === 4 || month === 6 || month === 9 || month === 11) {
1508
+ daysMonth = 30;
1509
+ } else {
1510
+ if ((year % 4 === 0 && year % 100 > 0) || year % 400 === 0) {
1511
+ daysMonth = 29;
1512
+ } else {
1513
+ daysMonth = 28;
1514
+ }
1515
+ }
1516
+
1517
+ if (!month && !year) daysMonth = 31;
1518
+
1519
+ for (let day = 1; day <= daysMonth; day++)
1520
+ newDays.push({ key: day, value: day });
1521
+
1522
+ self.days = newDays;
1523
+ },
1524
+ },
1525
+ };
841
1526
  </script>
842
1527
 
843
-
844
- <style lang='scss' scoped>
845
- @import "./node_modules/@tiddh/brave-tokens/dist/styles/style.scss";
846
-
847
- .custom-properties {
848
- right: 60px;
849
- text-align: left;
850
- top: px-size('lg', 120px);
851
- max-width: 240px;
852
- font-family: $font-family-02;
853
- width: 100%;
854
- position: absolute;
855
- z-index: 3;
856
- overflow:initial;
857
-
858
- &.active{
859
- z-index: 10;
860
- }
861
-
862
- @media (max-width: 990px) {
863
- max-width: 100%;
864
- width: 100%;
865
- left: 0;
866
- bottom: 0;
867
- border-radius: 0;
868
- top: 0px;
869
- background: transparent;
870
- height: 100vh;
871
- }
872
-
873
- .list-properties{
874
- background-color: #fff;
875
- box-shadow: $shadow-level-03;
876
- width:100%;
877
- background-color: white;
878
- border-radius:$border-radius-md;
879
- // display: flex;
880
- // flex:
881
-
882
- @media(max-width:990px){
883
- width: 100%;
884
- background-color: white;
885
- position: relative;
886
- // bottom: 10%;
887
- border-radius:0;
888
- }
889
-
890
- }
891
- .title-custom-properties {
892
- padding: px-size('lg', $spacing-inset-xs);
893
- border-bottom: $border-width-md solid $color-brand-secondary-medium;
894
- width:100%;
895
- line-height: 15px;
896
-
897
- span{
898
- font-family: $font-family-01;
899
- font-size: $font-size-xxs;
900
- color:$color-neutral-darkest;
901
- // line-height: 14px;
902
- }
903
- }
904
-
905
-
906
-
907
- .itens-properties {
908
-
909
- .item {
910
- position: relative;
911
- padding: px-size('lg', $spacing-inset-xs);
912
- border-bottom: 1px solid #dfdae4;
913
- cursor: pointer;
914
- width:100%;
915
-
916
- svg{
917
- position: absolute;
918
- right: px-size('lg', $spacing-inset-xxs);
919
- top: px-size('lg', 22px);
920
- width: 36px;
921
- }
922
-
923
- &:last-child {
924
- border-bottom: 0px;
925
- }
926
- }
927
-
928
- label {
929
- display: block;
930
- width: 100%;
931
-
932
- color: #afa2ba !important;
933
- font-size: 12px;
934
- margin-bottom: 0px !important;
935
- }
936
-
937
- span {
938
- display: block;
939
- width: 100%;
940
- white-space: nowrap;
941
- overflow: hidden !important;
942
- text-overflow: ellipsis;
943
- font-size: 14px;
944
- color: #68596e;
945
- }
946
-
947
- hr {
948
- margin: 0 !important;
949
- margin-bottom: 10px !important;
950
- margin-top: 10px !important;
951
- }
952
-
953
- .flex {
954
- cursor: pointer;
955
- position: relative;
956
-
957
- svg {
958
- position: absolute;
959
- right: px-size("lg", 0px);
960
- top: px-size("lg", 18px);
961
- }
962
- }
963
- }
964
- }
965
-
966
- .layout-boxes {
967
- display: flex;
968
- }
969
- .layout-option {
970
- background: #ffffff;
971
- border-radius: px-size("lg", 10px);
972
- border: 2px solid transparent;
973
- margin-top: 5px;
974
- margin-bottom: 5px;
975
- cursor: pointer;
976
- position: relative;
977
- flex-basis: 100%;
978
-
979
- -webkit-box-shadow: -1px 2px 22px -14px rgba(0, 0, 0, 0.75);
980
- -moz-box-shadow: -1px 2px 22px -14px rgba(0, 0, 0, 0.75);
981
- box-shadow: -1px 2px 22px -14px rgba(0, 0, 0, 0.75);
982
- margin: 1%;
983
- overflow: hidden;
984
-
985
- .panel-title {
986
- display: flex;
987
- padding-bottom: px-size("lg", 10px);
988
-
989
- .title {
990
- font-family: $font-family-02;
991
- color: $color-neutral-darkest;
992
- width: columns("lg", 3);
993
-
994
- justify-content: center;
995
- align-self: center;
996
- align-items: center;
997
- font-size: px-size("lg", $font-size-xxs);
998
- padding-left: px-size("lg", 10px);
999
- }
1000
-
1001
- .flag {
1002
- text-align: center;
1003
- width: columns("lg", 1);
1004
-
1005
- .icon {
1006
- border-radius: 5px;
1007
- border: solid 2px #e9eaed;
1008
- background-color: #ffffff;
1009
- width: px-size("lg", 30px);
1010
- height: px-size("lg", 30px);
1011
- display: flex;
1012
- justify-content: center;
1013
- align-self: center;
1014
- align-items: center;
1015
-
1016
- >>> svg {
1017
- width: px-size("lg", 30px);
1018
- height: px-size("lg", 30px);
1019
-
1020
- path {
1021
- fill: #e9eaed !important;
1022
- }
1023
- }
1024
- }
1025
- }
1026
- }
1027
-
1028
- &.active {
1029
- border: 2px solid #01dfa1;
1030
-
1031
- .panel-title {
1032
- .title {
1033
- color: #68596e;
1034
- }
1035
-
1036
- .flag {
1037
- span {
1038
- border: solid 2px #2dd3d8;
1039
- background-color: #2dd3d8;
1040
- }
1041
-
1042
- >>> svg {
1043
- path {
1044
- fill: #fff !important;
1045
- }
1046
- }
1047
- }
1048
- }
1049
- }
1050
- }
1051
-
1052
- .pet-view {
1053
- width: 100%;
1054
- display: flex;
1055
-
1056
- //LABEL
1057
- .pet-label {
1058
- font-family: $font-family-comp-02;
1059
- color: $color-neutral-darkest;
1060
- line-height: $line-height-md;
1061
- font-size: px-size('lg', $font-size-xs);
1062
- text-align: left;
1063
- @include media-breakpoint-down('sm') {
1064
- font-size: px-size('sm', $font-size-xxs);
1065
- }
1066
- }
1067
- }
1068
-
1069
- .pet-selectors {
1070
- width: 100%;
1071
- // transition: all 1s ease;
1072
-
1073
- p {
1074
- margin: 0px;
1075
- font-size: px-size("lg", 16px);
1076
- }
1077
-
1078
- .input-text-group {
1079
- padding-bottom: 0px;
1080
- }
1081
- }
1082
-
1083
- // .pet-avatar {
1084
- // transition: all 1s ease;
1085
- // }
1086
-
1087
- .pet-list {
1088
- width: 100%;
1089
- display: flex;
1090
- // justify-content: space-between;
1091
-
1092
- div {
1093
- margin: px-size("lg", 5px);
1094
- cursor: pointer;
1095
- // transition: all 1s ease;
1096
-
1097
- // &.inactive {
1098
- // opacity: 0.5;
1099
- // }
1100
- }
1101
- img {
1102
- width: 100%;
1103
- }
1104
- }
1105
-
1106
- .color-list {
1107
- width: 100%;
1108
- display: flex;
1109
- }
1110
-
1111
- .color {
1112
- height: px-size("lg", 40px);
1113
- width: px-size("lg", 40px);
1114
- display: block;
1115
- border-radius: 100%;
1116
- margin-left: px-size("lg", 6px);
1117
- margin-right: px-size("lg", 6px);
1118
- padding: px-size("lg", 3px);
1119
- border: px-size("lg", 2px) solid #efefef;
1120
- -webkit-transition: border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1121
- transition: border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1122
- position: relative;
1123
- overflow: hidden;
1124
- cursor: pointer;
1125
-
1126
- &.is-selected {
1127
- border-color: #01dfa1;
1128
- }
1129
-
1130
- .secondary-color {
1131
- width: 50%;
1132
- position: absolute;
1133
- right: 0px;
1134
- height: 100%;
1135
- top: 0px;
1136
- }
1137
- }
1138
-
1139
- .footer-pet {
1140
- width: 100%;
1141
- display: flex;
1142
-
1143
- .cancel {
1144
- margin-left: 20px;
1145
- background-color: none;
1146
- background-image: none;
1147
- box-shadow: none;
1148
- padding: 0px;
1149
- border-radius: 0px;
1150
- color: #68596e;
1151
- background: transparent;
1152
- }
1153
- }
1154
-
1155
-
1156
-
1157
- .box-dates-columns {
1158
- display: flex;
1159
-
1160
- .day {
1161
- width: columns("lg", 4);
1162
- }
1163
-
1164
- .month {
1165
- padding-left: px-size("lg", $spacing-inset-xs);
1166
- width: columns("lg", 8);
1167
- }
1168
-
1169
- }
1170
-
1528
+ <style lang="scss" scoped>
1529
+ @import "./node_modules/@tiddh/brave-tokens/dist/styles/style.scss";
1530
+
1531
+ ::v-deep .modal-pet {
1532
+ background-color: black;
1533
+ .paragraph {
1534
+ span {
1535
+ color: var(--preview-color);
1536
+ font-weight: bold;
1537
+ }
1538
+ }
1539
+ }
1540
+ .main-tool {
1541
+ position: fixed;
1542
+ width: 100%;
1543
+ height: 100%;
1544
+
1545
+ @media (max-width: 990px) {
1546
+ position: relative;
1547
+ width: 100% !important;
1548
+ max-width: 100% !important;
1549
+ }
1550
+
1551
+ .backdrop {
1552
+ //display: none;
1553
+ content: "";
1554
+ width: 100vw;
1555
+ height: 100vh;
1556
+ background: rgba(104, 89, 110, 0);
1557
+ backdrop-filter: blur(0px);
1558
+ position: fixed;
1559
+ transition: all 1s ease;
1560
+ opacity: 0;
1561
+ top: 0px;
1562
+ }
1563
+
1564
+ &.active {
1565
+ z-index: 5;
1566
+ max-width: 100%;
1567
+
1568
+ .backdrop {
1569
+ //display: block;
1570
+ background: rgba(104, 89, 110, 0.8);
1571
+ backdrop-filter: blur(8px);
1572
+ cursor: pointer;
1573
+ opacity: 1;
1574
+
1575
+ @media (max-width: 990px) {
1576
+ display: none;
1577
+ }
1578
+ }
1579
+ }
1580
+
1581
+ &.inactive {
1582
+ z-index: 5;
1583
+ top: 0px;
1584
+ max-width: 48px;
1585
+ right: 0px;
1586
+ }
1587
+ }
1588
+
1589
+ .custom-properties {
1590
+ right: 0px;
1591
+ text-align: left;
1592
+ top: 0;
1593
+ max-width: px-size("lg", 340px);
1594
+ font-family: "Roboto";
1595
+ width: 100%;
1596
+ position: fixed;
1597
+ z-index: 3;
1598
+ overflow: initial;
1599
+ height: 100vh;
1600
+ transition: all 1s ease;
1601
+ transform: translateX(100%);
1602
+
1603
+ @media (max-width: 990px) {
1604
+ max-width: 100%;
1605
+ width: 100%;
1606
+ left: 0;
1607
+ bottom: 0;
1608
+ border-radius: 0;
1609
+ top: 0px;
1610
+ background: transparent;
1611
+ height: 100vh;
1612
+ transform: translateX(0%);
1613
+ position: relative;
1614
+ }
1615
+
1616
+ &.inactive {
1617
+ .icon-close {
1618
+ opacity: 0;
1619
+ }
1620
+
1621
+ .icon-edit {
1622
+ opacity: 1;
1623
+ transform: rotate(0deg);
1624
+ }
1625
+ }
1626
+
1627
+ &.active {
1628
+ z-index: 10;
1629
+ transform: translateX(0%);
1630
+
1631
+ .icon-close {
1632
+ opacity: 1;
1633
+ }
1634
+
1635
+ .icon-edit {
1636
+ opacity: 0;
1637
+ transform: rotate(-180deg);
1638
+ }
1639
+
1640
+ .box-close {
1641
+ background: #fff;
1642
+ }
1643
+ }
1644
+
1645
+ // &:before {
1646
+ // content: "";
1647
+ // display: block;
1648
+ // width: 100vh;
1649
+ // height: 100vh;
1650
+ // position: fixed;
1651
+ // left: 0px;
1652
+ // top: 0px;
1653
+ // }
1654
+
1655
+ .list-properties {
1656
+ background-color: #fff;
1657
+ box-shadow: $shadow-level-02;
1658
+ width: 100%;
1659
+ background-color: white;
1660
+ position: relative;
1661
+ // border-radius: $border-radius-md;
1662
+ height: 100vh;
1663
+ z-index: 3;
1664
+ // display: flex;
1665
+ // flex:
1666
+ padding: px-size("lg", $spacing-stack-md) columns("lg", 1);
1667
+
1668
+ @media (max-width: 990px) {
1669
+ width: 100%;
1670
+ background-color: white;
1671
+ position: relative;
1672
+ // bottom: 10%;
1673
+ border-radius: 0;
1674
+ }
1675
+ }
1676
+ .title-custom-properties {
1677
+ padding-bottom: px-size("lg", $spacing-inset-xs) 0px;
1678
+ // border-bottom: $border-width-md solid $color-brand-secondary-medium;
1679
+ width: 100%;
1680
+ line-height: 15px;
1681
+
1682
+ span {
1683
+ font-family: $font-family-01;
1684
+ font-size: $font-size-xxs;
1685
+ color: $color-neutral-darkest;
1686
+ // line-height: 14px;
1687
+ }
1688
+ }
1689
+
1690
+ .itens-properties {
1691
+ .item {
1692
+ position: relative;
1693
+ padding: px-size("lg", $spacing-inset-xs) 0px;
1694
+ border-bottom: 1px solid #dfdae4;
1695
+ cursor: pointer;
1696
+ width: 100%;
1697
+
1698
+ svg {
1699
+ position: absolute;
1700
+ right: px-size("lg", $spacing-inset-xxs);
1701
+ top: px-size("lg", 22px);
1702
+ width: 36px;
1703
+ }
1704
+
1705
+ &:last-child {
1706
+ border-bottom: 0px;
1707
+ }
1708
+ }
1709
+
1710
+ label {
1711
+ display: block;
1712
+ width: 100%;
1713
+
1714
+ color: #afa2ba !important;
1715
+ font-size: 12px;
1716
+ margin-bottom: 0px !important;
1717
+ }
1718
+
1719
+ span {
1720
+ display: block;
1721
+ width: 100%;
1722
+ white-space: nowrap;
1723
+ overflow: hidden !important;
1724
+ text-overflow: ellipsis;
1725
+ font-size: 14px;
1726
+ color: #68596e;
1727
+ }
1728
+
1729
+ hr {
1730
+ margin: 0 !important;
1731
+ margin-bottom: 10px !important;
1732
+ margin-top: 10px !important;
1733
+ }
1734
+
1735
+ .flex {
1736
+ cursor: pointer;
1737
+ position: relative;
1738
+
1739
+ svg {
1740
+ position: absolute;
1741
+ right: px-size("lg", 0px);
1742
+ top: px-size("lg", 18px);
1743
+ }
1744
+ }
1745
+ }
1746
+ }
1747
+
1748
+ .layout-boxes {
1749
+ display: flex;
1750
+ }
1751
+ .layout-option {
1752
+ background: #ffffff;
1753
+ border-radius: px-size("lg", 10px);
1754
+ border: 2px solid transparent;
1755
+ margin-top: 5px;
1756
+ margin-bottom: 5px;
1757
+ cursor: pointer;
1758
+ position: relative;
1759
+ flex-basis: 100%;
1760
+
1761
+ -webkit-box-shadow: -1px 2px 22px -14px rgba(0, 0, 0, 0.75);
1762
+ -moz-box-shadow: -1px 2px 22px -14px rgba(0, 0, 0, 0.75);
1763
+ box-shadow: -1px 2px 22px -14px rgba(0, 0, 0, 0.75);
1764
+ margin: 1%;
1765
+ overflow: hidden;
1766
+
1767
+ .panel-title {
1768
+ display: flex;
1769
+ padding-bottom: px-size("lg", 10px);
1770
+
1771
+ .title {
1772
+ font-family: $font-family-02;
1773
+ color: $color-neutral-darkest;
1774
+ width: columns("lg", 3);
1775
+
1776
+ justify-content: center;
1777
+ align-self: center;
1778
+ align-items: center;
1779
+ font-size: px-size("lg", $font-size-xxs);
1780
+ padding-left: px-size("lg", 10px);
1781
+ }
1782
+
1783
+ .flag {
1784
+ text-align: center;
1785
+ width: columns("lg", 1);
1786
+
1787
+ .icon {
1788
+ border-radius: 5px;
1789
+ border: solid 2px #e9eaed;
1790
+ background-color: #ffffff;
1791
+ width: px-size("lg", 30px);
1792
+ height: px-size("lg", 30px);
1793
+ display: flex;
1794
+ justify-content: center;
1795
+ align-self: center;
1796
+ align-items: center;
1797
+
1798
+ >>> svg {
1799
+ width: px-size("lg", 30px);
1800
+ height: px-size("lg", 30px);
1801
+
1802
+ path {
1803
+ fill: #e9eaed !important;
1804
+ }
1805
+ }
1806
+ }
1807
+ }
1808
+ }
1809
+
1810
+ &.active {
1811
+ border: 2px solid #01dfa1;
1812
+
1813
+ .panel-title {
1814
+ .title {
1815
+ color: #68596e;
1816
+ }
1817
+
1818
+ .flag {
1819
+ span {
1820
+ border: solid 2px #2dd3d8;
1821
+ background-color: #2dd3d8;
1822
+ }
1823
+
1824
+ >>> svg {
1825
+ path {
1826
+ fill: #fff !important;
1827
+ }
1828
+ }
1829
+ }
1830
+ }
1831
+ }
1832
+ }
1833
+
1834
+ .pet-view {
1835
+ width: 100%;
1836
+ display: flex;
1837
+
1838
+ //LABEL
1839
+ .pet-label {
1840
+ font-family: $font-family-comp-02;
1841
+ color: $color-neutral-darkest;
1842
+ line-height: $line-height-md;
1843
+ font-size: px-size("lg", $font-size-xs);
1844
+ text-align: left;
1845
+ margin-top: px-size("lg", $spacing-stack-md);
1846
+ display: block;
1847
+ @include media-breakpoint-down("sm") {
1848
+ font-size: px-size("sm", $font-size-xxs);
1849
+ }
1850
+ }
1851
+ }
1852
+
1853
+ .pet-selectors {
1854
+ width: 100%;
1855
+ // transition: all 1s ease;
1856
+
1857
+ p {
1858
+ margin: 0px;
1859
+ font-size: px-size("lg", 16px);
1860
+ }
1861
+
1862
+ .input-text-group {
1863
+ padding-bottom: 0px;
1864
+ }
1865
+ }
1866
+
1867
+ // .pet-avatar {
1868
+ // transition: all 1s ease;
1869
+ // }
1870
+
1871
+ .pet-list {
1872
+ width: 100%;
1873
+ display: flex;
1874
+ // justify-content: space-between;
1875
+
1876
+ div {
1877
+ margin: px-size("lg", 5px);
1878
+ cursor: pointer;
1879
+ // transition: all 1s ease;
1880
+
1881
+ // &.inactive {
1882
+ // opacity: 0.5;
1883
+ // }
1884
+ }
1885
+
1886
+ .inactive {
1887
+ opacity: 0.3;
1888
+ }
1889
+ img {
1890
+ width: 100%;
1891
+ }
1892
+ }
1893
+
1894
+ .color-list {
1895
+ width: 100%;
1896
+ display: flex;
1897
+ }
1898
+
1899
+ .color {
1900
+ height: px-size("lg", 40px);
1901
+ width: px-size("lg", 40px);
1902
+ display: block;
1903
+ border-radius: 100%;
1904
+ margin-left: px-size("lg", 6px);
1905
+ margin-right: px-size("lg", 6px);
1906
+ padding: px-size("lg", 3px);
1907
+ border: px-size("lg", 2px) solid #efefef;
1908
+ -webkit-transition: border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1909
+ transition: border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1910
+ position: relative;
1911
+ overflow: hidden;
1912
+ cursor: pointer;
1913
+
1914
+ &.is-selected {
1915
+ border-color: #01dfa1;
1916
+ }
1917
+
1918
+ .secondary-color {
1919
+ width: 50%;
1920
+ position: absolute;
1921
+ right: 0px;
1922
+ height: 100%;
1923
+ top: 0px;
1924
+ }
1925
+ }
1926
+
1927
+ .footer-pet {
1928
+ width: 100%;
1929
+ display: flex;
1930
+
1931
+ .cancel {
1932
+ margin-left: 20px;
1933
+ background-color: none;
1934
+ background-image: none;
1935
+ box-shadow: none;
1936
+ padding: 0px;
1937
+ border-radius: 0px;
1938
+ color: #68596e;
1939
+ background: transparent;
1940
+ }
1941
+ }
1942
+
1943
+ .box-dates-columns {
1944
+ display: flex;
1945
+
1946
+ .day {
1947
+ width: columns("lg", 4);
1948
+ }
1949
+
1950
+ .month {
1951
+ padding-left: px-size("lg", $spacing-inset-xs);
1952
+ width: columns("lg", 8);
1953
+ }
1954
+ }
1955
+
1956
+ .box-close {
1957
+ width: px-size("lg", 52px);
1958
+ height: px-size("lg", 48px);
1959
+ top: px-size("lg", $spacing-stack-sm);
1960
+ background: var(--preview_color);
1961
+ box-shadow: $shadow-level-02;
1962
+ position: absolute;
1963
+ left: px-size("lg", -48px);
1964
+ display: flex;
1965
+ justify-content: center;
1966
+ align-items: center;
1967
+ z-index: 2;
1968
+ border-radius: 50% 0px 0px 50%;
1969
+ cursor: pointer;
1970
+ transition: all 0.3s ease;
1971
+ animation-delay: 0.5s;
1972
+
1973
+ @include media-breakpoint-down("sm") {
1974
+ display: none;
1975
+ }
1976
+
1977
+ .icon {
1978
+ width: px-size("lg", $icon-size-lg);
1979
+ height: px-size("lg", $icon-size-lg);
1980
+ position: absolute;
1981
+ transition: all 0.5s ease;
1982
+ animation-delay: 0.5s;
1983
+ }
1984
+ }
1985
+
1986
+ ::v-deep .mooner-footer {
1987
+ button {
1988
+ @media (max-width: 990px) {
1989
+ width: 100% !important;
1990
+ text-align: center;
1991
+
1992
+ div {
1993
+ width: 100%;
1994
+ text-align: center !important;
1995
+ display: block !important;
1996
+ }
1997
+ }
1998
+ }
1999
+ }
2000
+
2001
+ ::v-deep .name-footer {
2002
+ @media (max-width: 990px) {
2003
+ button {
2004
+ width: 100% !important;
2005
+ text-align: center;
2006
+
2007
+ div {
2008
+ width: 100%;
2009
+ text-align: center !important;
2010
+ display: block !important;
2011
+ }
2012
+ }
2013
+ }
2014
+ }
2015
+
2016
+ ::v-deep .dedication-footer {
2017
+ @media (max-width: 990px) {
2018
+ button {
2019
+ width: 100% !important;
2020
+ text-align: center;
2021
+
2022
+ div {
2023
+ width: 100%;
2024
+ text-align: center !important;
2025
+ display: block !important;
2026
+ }
2027
+ }
2028
+ }
2029
+ }
2030
+
2031
+ .pet-combo-list {
2032
+ display: flex;
2033
+ flex-wrap: wrap;
2034
+
2035
+ @media (max-width: 990px) {
2036
+ flex-direction: column-reverse;
2037
+ }
2038
+
2039
+ .selected-pet {
2040
+ width: 0%;
2041
+ // height: 320px;
2042
+ transition: width 0.5s;
2043
+ max-height: px-size("lg", 200px);
2044
+ .clip-mooney {
2045
+ max-height: px-size("lg", 244px);
2046
+ overflow: hidden;
2047
+ display: block;
2048
+
2049
+ @media (max-width: 990px) {
2050
+ max-height: px-size("sm", 244px);
2051
+ overflow: hidden;
2052
+ display: flex;
2053
+ }
2054
+
2055
+ img {
2056
+ @media (max-width: 990px) {
2057
+ max-width: 80%;
2058
+ margin: 0 auto;
2059
+ margin-top: -(px-size("lg", 20px));
2060
+ }
2061
+ }
2062
+ }
2063
+
2064
+ img {
2065
+ margin-top: -(px-size("lg", 20px));
2066
+ opacity: 0;
2067
+ }
2068
+
2069
+ &.active {
2070
+ width: 40%;
2071
+
2072
+ @media (max-width: 990px) {
2073
+ width: 100%;
2074
+ }
2075
+ }
2076
+ }
2077
+
2078
+ .pet-list {
2079
+ transition: all 0.5s;
2080
+ width: 60%;
2081
+ align-items: center;
2082
+ display: flex;
2083
+
2084
+ @media (max-width: 990px) {
2085
+ width: 100%;
2086
+ }
2087
+
2088
+ &.inactive {
2089
+ width: 100%;
2090
+ }
2091
+ }
2092
+ }
2093
+
2094
+ .fade-in-image-init {
2095
+ transition: all 0.5s;
2096
+ opacity: 1 !important;
2097
+ }
2098
+
2099
+ .fade-in-image {
2100
+ animation: fadeIn 0.5s;
2101
+ -webkit-animation: fadeIn 0.5s;
2102
+ -moz-animation: fadeIn 0.5s;
2103
+ -o-animation: fadeIn 0.5s;
2104
+ -ms-animation: fadeIn 0.5s;
2105
+
2106
+ // img {
2107
+ // opacity: 1 !important;
2108
+ // }
2109
+ }
2110
+
2111
+ @keyframes fadeIn {
2112
+ 0% {
2113
+ opacity: 0;
2114
+ }
2115
+ 100% {
2116
+ opacity: 1;
2117
+ }
2118
+ }
2119
+
2120
+ @-moz-keyframes fadeIn {
2121
+ 0% {
2122
+ opacity: 0;
2123
+ }
2124
+ 100% {
2125
+ opacity: 1;
2126
+ }
2127
+ }
2128
+
2129
+ @-webkit-keyframes fadeIn {
2130
+ 0% {
2131
+ opacity: 0;
2132
+ }
2133
+ 100% {
2134
+ opacity: 1;
2135
+ }
2136
+ }
2137
+
2138
+ @-o-keyframes fadeIn {
2139
+ 0% {
2140
+ opacity: 0;
2141
+ }
2142
+ 100% {
2143
+ opacity: 1;
2144
+ }
2145
+ }
2146
+
2147
+ @-ms-keyframes fadeIn {
2148
+ 0% {
2149
+ opacity: 0;
2150
+ }
2151
+ 100% {
2152
+ opacity: 1;
2153
+ }
2154
+ }
1171
2155
  </style>