@burh/nuxt-core 1.0.243 → 1.0.244

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,436 +1,437 @@
1
- <template>
2
- <div class="bg-white content-left">
3
- <div class="profile w-100 text-center">
4
- <div class="avatar">
5
- <img
6
- v-if="userData.urlAvatar"
7
- :src="userData.urlAvatar"
8
- :alt="userData.name"
9
- />
10
- <div v-else class="no-image">
11
- {{ userData.name }}
12
- </div>
13
- </div>
14
-
15
- <h5 class="mb-0 text-wrap" :class="{ 'mt-5': !userData.urlAvatar }" v-html="highlightText(search, `${userData.name} ${userData.last_name}`)"></h5>
16
-
17
- <p class="user-info" v-if="userData.user_experience.length > 0" v-html="highlightText(search, `${userData.user_experience[0].job_title} em ${userData.user_experience[0].company}`)"></p>
18
-
19
- <span v-if="userData.user_address">
20
- <i class="fas fa-map-marker-alt"></i>
21
- {{ userData.user_address.city_name }} -
22
- {{ userData.user_address.region_code }}
23
- </span>
24
- <br>
25
- <span>Data de atualização: {{ $moment(userData.updated_at).format('DD/MM/YYYY H:mm')}}</span>
26
- </div>
27
-
28
- <div
29
- v-show="userData.user_desired_job.length > 0"
30
- class="desidered title-block mt-3 ml-4"
31
- >
32
- <h6 class="mb-0">Cargos desejados</h6>
33
- <div class="line"></div>
34
-
35
- <p
36
- v-for="(des, index) in userData.user_desired_job"
37
- :key="`skill-${index}`"
38
- class="ml-1 mt-1 mb-0 text-capitalize"
39
- v-html="highlightText(search, des.occupation)"
40
- ></p>
41
- </div>
42
-
43
- <div
44
- v-show="userData.user_language.length > 0"
45
- class="languages title-block mt-3 ml-4"
46
- >
47
- <h6 class="mb-0">Idiomas</h6>
48
- <div class="line"></div>
49
-
50
- <p
51
- class="mb-1 text-capitalize"
52
- v-for="(lan, index) in userData.user_language"
53
- :key="index"
54
- v-html="highlightText(search, `${lan.language[0].name} ${languageLevel(lan.level)}`)"
55
- ></p>
56
- </div>
57
-
58
- <div
59
- v-show="userData.user_skill.length > 0"
60
- class="skills title-block ml-4"
61
- >
62
- <h6 class="mb-0">Habilidades</h6>
63
- <div class="line"></div>
64
-
65
- <p
66
- v-for="(skill, index) in userData.user_skill"
67
- :key="`skill-${index}`"
68
- class="ml-1 mt-1 mb-0 text-capitalize"
69
- v-html="highlightText(search, skill.skill_word)"
70
- ></p>
71
- </div>
72
-
73
- <div
74
- class="deficiency title-block mt-3 ml-4"
75
- v-if="userData.user_deficiency"
76
- >
77
- <div class="d-flex align-items-center">
78
- <i class="fas fa-wheelchair"></i>
79
- <h6 class="mb-0 ml-2">Deficiência</h6>
80
- </div>
81
- <div class="line"></div>
82
- <p>
83
- {{ userData.user_deficiency.deficiency_id | allDeficiencies }} -
84
- {{ userData.user_deficiency.cid }}
85
- </p>
86
-
87
- <p v-show="userData.user_deficiency.appliance">
88
- Acessório: {{ userData.user_deficiency.appliance }}
89
- </p>
90
-
91
- <p v-show="userData.user_deficiency.apparatus">
92
- Necessidade: {{ userData.user_deficiency.apparatus }}
93
- </p>
94
-
95
- <p v-show="userData.user_deficiency.course">
96
- Curso: {{ userData.user_deficiency.course }}
97
- </p>
98
-
99
- <p v-show="userData.user_deficiency.note">
100
- Anotações: {{ userData.user_deficiency.note }}
101
- </p>
102
-
103
- <p v-show="userData.user_deficiency.transport === 1">
104
- Utiliza transporte coletivo
105
- </p>
106
-
107
- <p v-show="userData.user_deficiency.vehicle === 1">
108
- Possuí veículo adaptado
109
- </p>
110
-
111
- <p v-show="userData.user_deficiency.escort === 1">
112
- Precisa de acompanhante
113
- </p>
114
- </div>
115
-
116
- <div class="socials text-center mt-5">
117
- <a
118
- :href="baseUrl + '/' + userData.slug.slug"
119
- class="text-center"
120
- target="_blank"
121
- rel="noopener noreferrer"
122
- >
123
- <img
124
- class="no-social"
125
- src="../../../../assets/images/burhCv.svg"
126
- alt="Burh"
127
- />
128
- </a>
129
- <a
130
- v-show="userData.user_complementary_information.facebook_url"
131
- :href="userData.user_complementary_information.facebook_url"
132
- target="_blank"
133
- class="ml-2"
134
- rel="noopener noreferrer"
135
- >
136
- <img
137
- class="no-social"
138
- src="../../../../assets/images/facebookCv.svg"
139
- alt="Facebook"
140
- />
141
- </a>
142
- <a
143
- v-show="userData.user_complementary_information.linkedin_url"
144
- :href="userData.user_complementary_information.linkedin_url"
145
- target="_blank"
146
- class="ml-2"
147
- rel="noopener noreferrer"
148
- >
149
- <img
150
- class="no-social"
151
- src="../../../../assets/images/linkedinCv.svg"
152
- alt="Linkdin"
153
- />
154
- </a>
155
- <a
156
- v-show="userData.user_complementary_information.website"
157
- :href="userData.user_complementary_information.website"
158
- class="text-center ml-2"
159
- target="_blank"
160
- rel="noopener noreferrer"
161
- >
162
- <img
163
- class="no-social"
164
- src="../../../../assets/images/webCv.svg"
165
- alt="Web"
166
- />
167
- </a>
168
- </div>
169
-
170
- <div class="burh-code text-center mt-4">
171
- <vue-qrcode
172
- :value="baseUrl + '/' + userData.slug.slug"
173
- :options="{ width: 98, height: 98 }"
174
- class="border qr-code"
175
- ></vue-qrcode>
176
- <p class="mb-0">Código BURH</p>
177
- <span class="qr-id">{{ userData.id }}</span>
178
- </div>
179
- </div>
180
- </template>
181
-
182
- <script>
183
- import getPrefixes from '~/util/getPrefixes.js';
184
- import VueQrcode from '@chenfengyuan/vue-qrcode';
185
-
186
- export default {
187
- name: 'user-cv-left-side',
188
- components: {
189
- VueQrcode
190
- },
191
- props: {
192
- userData: Object,
193
- baseUrl: String,
194
- search: {
195
- type: String,
196
- default: ''
197
- }
198
- },
199
- methods: {
200
- highlightText(search, text) {
201
- if (search.length < 2) return text;
202
-
203
- const regex = new RegExp(search.toLowerCase(), 'gmi');
204
- return String(text || '').replace(regex, `<span class="search-highlight">${search}</span>`);
205
- },
206
- getTime(
207
- { start_year = null, end_year = null, start_month, end_month },
208
- textHappening = 'Cursando'
209
- ) {
210
- const isHappening = !end_month && !end_year;
211
-
212
- if (isHappening) {
213
- return textHappening;
214
- }
215
-
216
- const dateInitial = this.$moment(
217
- ['1', start_month.toString(), start_year.toString()],
218
- 'DD/MM/YYYY'
219
- );
220
- const dateDone = this.$moment(
221
- ['1', end_month.toString(), end_year.toString()],
222
- 'DD/MM/YYYY'
223
- );
224
- const diffDuration = this.$moment.duration(
225
- dateDone.diff(dateInitial)
226
- );
227
- const years = diffDuration.years();
228
- const months = diffDuration.months();
229
-
230
- if (years) {
231
- return years > 1 ? `(${years} anos)` : `(${years} ano)`;
232
- }
233
-
234
- return months > 1
235
- ? `(${months} meses)`
236
- : months == 1
237
- ? `(${months} mês)`
238
- : '';
239
- },
240
- languageLevel(level) {
241
- switch (parseInt(level)) {
242
- case 1:
243
- return 'Iniciante';
244
- case 2:
245
- return 'Elementar';
246
- case 3:
247
- return 'Pré-intermediário';
248
- case 4:
249
- return 'Intermediário';
250
- case 5:
251
- return 'Intermediário Superior';
252
- case 6:
253
- return 'Avançado';
254
- case 7:
255
- return 'Fluente';
256
- default:
257
- return '';
258
- }
259
- },
260
- treatPhone(phone) {
261
- if (phone) {
262
- if (phone == '0' || phone.length < 9 || !phone) {
263
- return 'não cadastrado';
264
- }
265
- }
266
-
267
- return phone;
268
- },
269
- treatCellphone(cellphone) {
270
- if (cellphone) {
271
- if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
272
- return 'não cadastrado';
273
- }
274
- }
275
-
276
- return cellphone;
277
- },
278
- handleGetPrefixes(name = '') {
279
- return getPrefixes(name);
280
- },
281
- treatEndDate(end_month, end_year) {
282
- if (end_month && end_year) {
283
- return `${end_month}/${end_year}`;
284
- }
285
- return '';
286
- }
287
- },
288
- filters: {
289
- allDeficiencies(id) {
290
- const typeDeficiency = {
291
- 1: 'Deficiência Física',
292
- 2: 'Deficiência Visual',
293
- 3: 'Deficiência Mental',
294
- 4: 'Deficiência Auditiva',
295
- 5: 'Deficiência Fonológica',
296
- 6: 'Deficiência Múltipla'
297
- };
298
-
299
- return typeDeficiency[id] || '-';
300
- }
301
- }
302
- };
303
- </script>
304
-
305
- <style lang="scss" scoped>
306
- @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
307
-
308
- /deep/ .search-highlight {
309
- background: rgb(255, 252, 61);
310
- color: #000;
311
- }
312
-
313
- .qr-id {
314
- color: #32325d !important;
315
- }
316
-
317
- .bg-light--darken {
318
- background-color: $gray-100 !important;
319
- }
320
-
321
- .profile {
322
- .avatar {
323
- img {
324
- width: 178.14px;
325
- height: 163px;
326
- border-radius: 50%;
327
- top: 75%;
328
- }
329
-
330
- .no-image {
331
- display: flex;
332
- justify-content: center;
333
- align-items: center;
334
-
335
- position: absolute;
336
- background-color: #adb5bd;
337
- width: 163px;
338
- height: 163px;
339
- top: 120;
340
- border-radius: 50%;
341
- margin-bottom: 20px;
342
- }
343
- }
344
-
345
- .user-info {
346
- padding: 0 20px;
347
- margin-top: 5px;
348
- }
349
-
350
- p {
351
- font-size: 13px;
352
- font-weight: 400;
353
- color: #62778c;
354
- line-height: 0.85rem;
355
- margin-bottom: 2rem;
356
- }
357
-
358
- span {
359
- font-size: 14px;
360
- color: #8da2b5;
361
- }
362
- }
363
-
364
- .skills {
365
- margin-top: 2.3rem;
366
- margin-bottom: 2.3rem;
367
- }
368
-
369
- .desidered {
370
- margin-bottom: 2.3rem;
371
- }
372
-
373
- .deficiency {
374
- p {
375
- margin-top: 0.25rem;
376
- margin-bottom: 0;
377
- text-transform: capitalize;
378
- }
379
- }
380
-
381
- .languages {
382
- margin-bottom: 2.3rem;
383
- }
384
-
385
- .title-block {
386
- .line {
387
- width: 235px;
388
- height: 0px;
389
- border: 1px solid #ececec5c;
390
- margin-bottom: 0.75rem;
391
- }
392
-
393
- p {
394
- font-size: 13px;
395
- }
396
- }
397
-
398
- .burh-code {
399
- .qr-code {
400
- box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
401
- border-radius: 10px;
402
- }
403
-
404
- p {
405
- font-size: 8px;
406
- font-weight: bold;
407
- }
408
-
409
- span {
410
- font-size: 12px;
411
- font-weight: bold;
412
- }
413
- }
414
-
415
- .socials {
416
- .no-social {
417
- height: 1.39rem;
418
- }
419
- }
420
-
421
- .cv-left {
422
- word-break: initial;
423
- }
424
-
425
- .disable-none {
426
- user-select: none;
427
- }
428
-
429
- .content-left {
430
- width: 25%;
431
- height: auto;
432
- padding: 0 20px;
433
- word-break: break-word !important;
434
- color: #62778c !important;
435
- }
436
- </style>
1
+ <template>
2
+ <div class="bg-white content-left">
3
+ <div class="profile w-100 text-center">
4
+ <div class="avatar">
5
+ <img
6
+ v-if="userData.urlAvatar"
7
+ :src="userData.urlAvatar"
8
+ :alt="userData.name"
9
+ />
10
+ <div v-else class="no-image">
11
+ {{ userData.name }}
12
+ </div>
13
+ </div>
14
+
15
+ <h5 class="mb-0 text-wrap" :class="{ 'mt-5': !userData.urlAvatar }" v-html="highlightText(search, `${userData.name} ${userData.last_name}`)"></h5>
16
+
17
+ <p class="user-info" v-if="userData.user_experience.length > 0" v-html="highlightText(search, `${userData.user_experience[0].job_title} em ${userData.user_experience[0].company}`)"></p>
18
+
19
+ <span v-if="userData.user_address">
20
+ <i class="fas fa-map-marker-alt"></i>
21
+ {{ userData.user_address.city_name }} -
22
+ {{ userData.user_address.region_code }}
23
+ </span>
24
+ <br>
25
+ <span>Data de atualização: {{ $moment(userData.updated_at).format('DD/MM/YYYY H:mm')}}</span>
26
+ </div>
27
+
28
+ <div
29
+ v-show="userData.user_desired_job.length > 0"
30
+ class="desidered title-block mt-3 ml-4"
31
+ >
32
+ <h6 class="mb-0">Cargos desejados</h6>
33
+ <div class="line"></div>
34
+
35
+ <p
36
+ v-for="(des, index) in userData.user_desired_job"
37
+ :key="`skill-${index}`"
38
+ class="ml-1 mt-1 mb-0 text-capitalize"
39
+ v-html="highlightText(search, des.occupation)"
40
+ ></p>
41
+ </div>
42
+
43
+ <div
44
+ v-show="userData.user_language.length > 0"
45
+ class="languages title-block mt-3 ml-4"
46
+ >
47
+ <h6 class="mb-0">Idiomas</h6>
48
+ <div class="line"></div>
49
+
50
+ <p
51
+ class="mb-1 text-capitalize"
52
+ v-for="(lan, index) in userData.user_language"
53
+ :key="index"
54
+ v-html="highlightText(search, `${lan.language[0].name} ${languageLevel(lan.level)}`)"
55
+ ></p>
56
+ </div>
57
+
58
+ <div
59
+ v-show="userData.user_skill.length > 0"
60
+ class="skills title-block ml-4"
61
+ >
62
+ <h6 class="mb-0">Habilidades</h6>
63
+ <div class="line"></div>
64
+
65
+ <p
66
+ v-for="(skill, index) in userData.user_skill"
67
+ :key="`skill-${index}`"
68
+ class="ml-1 mt-1 mb-0 text-capitalize"
69
+ v-html="highlightText(search, skill.skill_word)"
70
+ ></p>
71
+ </div>
72
+
73
+ <div
74
+ class="deficiency title-block mt-3 ml-4"
75
+ v-if="userData.user_deficiency"
76
+ >
77
+ <div class="d-flex align-items-center">
78
+ <i class="fas fa-wheelchair"></i>
79
+ <h6 class="mb-0 ml-2">Deficiência</h6>
80
+ </div>
81
+ <div class="line"></div>
82
+ <p>
83
+ {{ userData.user_deficiency.deficiency_id | allDeficiencies }} -
84
+ {{ userData.user_deficiency.cid }}
85
+ </p>
86
+
87
+ <p v-show="userData.user_deficiency.appliance">
88
+ Acessório: {{ userData.user_deficiency.appliance }}
89
+ </p>
90
+
91
+ <p v-show="userData.user_deficiency.apparatus">
92
+ Necessidade: {{ userData.user_deficiency.apparatus }}
93
+ </p>
94
+
95
+ <p v-show="userData.user_deficiency.course">
96
+ Curso: {{ userData.user_deficiency.course }}
97
+ </p>
98
+
99
+ <p v-show="userData.user_deficiency.note">
100
+ Anotações: {{ userData.user_deficiency.note }}
101
+ </p>
102
+
103
+ <p v-show="userData.user_deficiency.transport === 1">
104
+ Utiliza transporte coletivo
105
+ </p>
106
+
107
+ <p v-show="userData.user_deficiency.vehicle === 1">
108
+ Possuí veículo adaptado
109
+ </p>
110
+
111
+ <p v-show="userData.user_deficiency.escort === 1">
112
+ Precisa de acompanhante
113
+ </p>
114
+ </div>
115
+
116
+ <div class="socials text-center mt-5">
117
+ <a
118
+ :href="baseUrl + '/' + userData.slug.slug"
119
+ class="text-center"
120
+ target="_blank"
121
+ rel="noopener noreferrer"
122
+ >
123
+ <img
124
+ class="no-social"
125
+ src="../../../../assets/images/burhCv.svg"
126
+ alt="Burh"
127
+ />
128
+ </a>
129
+ <a
130
+ v-show="userData.user_complementary_information.facebook_url"
131
+ :href="userData.user_complementary_information.facebook_url"
132
+ target="_blank"
133
+ class="ml-2"
134
+ rel="noopener noreferrer"
135
+ >
136
+ <img
137
+ class="no-social"
138
+ src="../../../../assets/images/facebookCv.svg"
139
+ alt="Facebook"
140
+ />
141
+ </a>
142
+ <a
143
+ v-show="userData.user_complementary_information.linkedin_url"
144
+ :href="userData.user_complementary_information.linkedin_url"
145
+ target="_blank"
146
+ class="ml-2"
147
+ rel="noopener noreferrer"
148
+ >
149
+ <img
150
+ class="no-social"
151
+ src="../../../../assets/images/linkedinCv.svg"
152
+ alt="Linkdin"
153
+ />
154
+ </a>
155
+ <a
156
+ v-show="userData.user_complementary_information.website"
157
+ :href="userData.user_complementary_information.website"
158
+ class="text-center ml-2"
159
+ target="_blank"
160
+ rel="noopener noreferrer"
161
+ >
162
+ <img
163
+ class="no-social"
164
+ src="../../../../assets/images/webCv.svg"
165
+ alt="Web"
166
+ />
167
+ </a>
168
+ </div>
169
+
170
+ <div class="burh-code text-center mt-4">
171
+ <vue-qrcode
172
+ :value="baseUrl + '/' + userData.slug.slug"
173
+ :options="{ width: 98, height: 98 }"
174
+ class="border qr-code"
175
+ ></vue-qrcode>
176
+ <p class="mb-0">Código BURH</p>
177
+ <span class="qr-id">{{ userData.id }}</span>
178
+ </div>
179
+ </div>
180
+ </template>
181
+
182
+ <script>
183
+ import getPrefixes from '~/util/getPrefixes.js';
184
+ import VueQrcode from '@chenfengyuan/vue-qrcode';
185
+
186
+ export default {
187
+ name: 'user-cv-left-side',
188
+ components: {
189
+ VueQrcode
190
+ },
191
+ props: {
192
+ userData: Object,
193
+ baseUrl: String,
194
+ search: {
195
+ type: String,
196
+ default: ''
197
+ }
198
+ },
199
+ methods: {
200
+ highlightText(search, text) {
201
+ if (search.length < 2) return text;
202
+
203
+ const regex = new RegExp(search.toLowerCase(), 'gmi');
204
+ return String(text || '').replace(regex, `<span class="search-highlight">${search}</span>`);
205
+ },
206
+ getTime(
207
+ { start_year = null, end_year = null, start_month, end_month },
208
+ textHappening = 'Cursando'
209
+ ) {
210
+ const isHappening = !end_month && !end_year;
211
+
212
+ if (isHappening) {
213
+ return textHappening;
214
+ }
215
+
216
+ const dateInitial = this.$moment(
217
+ ['1', start_month.toString(), start_year.toString()],
218
+ 'DD/MM/YYYY'
219
+ );
220
+ const dateDone = this.$moment(
221
+ ['1', end_month.toString(), end_year.toString()],
222
+ 'DD/MM/YYYY'
223
+ );
224
+ const diffDuration = this.$moment.duration(
225
+ dateDone.diff(dateInitial)
226
+ );
227
+ const years = diffDuration.years();
228
+ const months = diffDuration.months();
229
+
230
+ if (years) {
231
+ return years > 1 ? `(${years} anos)` : `(${years} ano)`;
232
+ }
233
+
234
+ return months > 1
235
+ ? `(${months} meses)`
236
+ : months == 1
237
+ ? `(${months} mês)`
238
+ : '';
239
+ },
240
+ languageLevel(level) {
241
+ switch (parseInt(level)) {
242
+ case 1:
243
+ return 'Iniciante';
244
+ case 2:
245
+ return 'Elementar';
246
+ case 3:
247
+ return 'Pré-intermediário';
248
+ case 4:
249
+ return 'Intermediário';
250
+ case 5:
251
+ return 'Intermediário Superior';
252
+ case 6:
253
+ return 'Avançado';
254
+ case 7:
255
+ return 'Fluente';
256
+ default:
257
+ return '';
258
+ }
259
+ },
260
+ treatPhone(phone) {
261
+ if (phone) {
262
+ if (phone == '0' || phone.length < 9 || !phone) {
263
+ return 'não cadastrado';
264
+ }
265
+ }
266
+
267
+ return phone;
268
+ },
269
+ treatCellphone(cellphone) {
270
+ if (cellphone) {
271
+ if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
272
+ return 'não cadastrado';
273
+ }
274
+ }
275
+
276
+ return cellphone;
277
+ },
278
+ handleGetPrefixes(name = '') {
279
+ return getPrefixes(name);
280
+ },
281
+ treatEndDate(end_month, end_year) {
282
+ if (end_month && end_year) {
283
+ return `${end_month}/${end_year}`;
284
+ }
285
+ return '';
286
+ }
287
+ },
288
+ filters: {
289
+ allDeficiencies(id) {
290
+ const typeDeficiency = {
291
+ 1: 'Deficiência Física',
292
+ 2: 'Deficiência Visual',
293
+ 3: 'Deficiência Mental',
294
+ 4: 'Deficiência Auditiva',
295
+ 5: 'Deficiência Fonológica',
296
+ 6: 'Deficiência Múltipla'
297
+ };
298
+
299
+ return typeDeficiency[id] || '-';
300
+ }
301
+ }
302
+ };
303
+ </script>
304
+
305
+ <style lang="scss" scoped>
306
+ @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
307
+
308
+ /deep/ .search-highlight {
309
+ background: rgb(255, 252, 61);
310
+ color: #000;
311
+ }
312
+
313
+ .qr-id {
314
+ color: #32325d !important;
315
+ }
316
+
317
+ .bg-light--darken {
318
+ background-color: $gray-100 !important;
319
+ }
320
+
321
+ .profile {
322
+ .avatar {
323
+ background: transparent!important;
324
+ img {
325
+ width: 178.14px;
326
+ height: 163px;
327
+ border-radius: 50%;
328
+ top: 75%;
329
+ }
330
+
331
+ .no-image {
332
+ display: flex;
333
+ justify-content: center;
334
+ align-items: center;
335
+
336
+ position: absolute;
337
+ background-color: #adb5bd;
338
+ width: 163px;
339
+ height: 163px;
340
+ top: 120;
341
+ border-radius: 50%;
342
+ margin-bottom: 20px;
343
+ }
344
+ }
345
+
346
+ .user-info {
347
+ padding: 0 20px;
348
+ margin-top: 5px;
349
+ }
350
+
351
+ p {
352
+ font-size: 13px;
353
+ font-weight: 400;
354
+ color: #62778c;
355
+ line-height: 0.85rem;
356
+ margin-bottom: 2rem;
357
+ }
358
+
359
+ span {
360
+ font-size: 14px;
361
+ color: #8da2b5;
362
+ }
363
+ }
364
+
365
+ .skills {
366
+ margin-top: 2.3rem;
367
+ margin-bottom: 2.3rem;
368
+ }
369
+
370
+ .desidered {
371
+ margin-bottom: 2.3rem;
372
+ }
373
+
374
+ .deficiency {
375
+ p {
376
+ margin-top: 0.25rem;
377
+ margin-bottom: 0;
378
+ text-transform: capitalize;
379
+ }
380
+ }
381
+
382
+ .languages {
383
+ margin-bottom: 2.3rem;
384
+ }
385
+
386
+ .title-block {
387
+ .line {
388
+ width: 235px;
389
+ height: 0px;
390
+ border: 1px solid #ececec5c;
391
+ margin-bottom: 0.75rem;
392
+ }
393
+
394
+ p {
395
+ font-size: 13px;
396
+ }
397
+ }
398
+
399
+ .burh-code {
400
+ .qr-code {
401
+ box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
402
+ border-radius: 10px;
403
+ }
404
+
405
+ p {
406
+ font-size: 8px;
407
+ font-weight: bold;
408
+ }
409
+
410
+ span {
411
+ font-size: 12px;
412
+ font-weight: bold;
413
+ }
414
+ }
415
+
416
+ .socials {
417
+ .no-social {
418
+ height: 1.39rem;
419
+ }
420
+ }
421
+
422
+ .cv-left {
423
+ word-break: initial;
424
+ }
425
+
426
+ .disable-none {
427
+ user-select: none;
428
+ }
429
+
430
+ .content-left {
431
+ width: 25%;
432
+ height: auto;
433
+ padding: 0 20px;
434
+ word-break: break-word !important;
435
+ color: #62778c !important;
436
+ }
437
+ </style>
@@ -2,13 +2,13 @@
2
2
  <el-dialog
3
3
  :visible.sync="isActive"
4
4
  width="80%"
5
- custom-class="position-relative"
5
+ :custom-class="`position-relative user__preview__container ${isLoading ? 'loading' : ''}`"
6
6
  @close="$emit('close')"
7
7
  class="test-radius"
8
8
  >
9
9
  <template>
10
10
  <div class="row d-flex justify-content-between mx-0 user-pdf">
11
- <img v-show="coverPhoto" :src="coverPhoto" alt="" />
11
+ <img v-if="!isLoading" v-show="coverPhoto" :src="coverPhoto" alt="" />
12
12
  <div v-show="!coverPhoto" class="no-cover-photo"></div>
13
13
  <slot name="content"></slot>
14
14
  </div>
@@ -72,7 +72,8 @@ export default {
72
72
  showTools: false,
73
73
  coverPhoto: this.cover,
74
74
  hasPrevUser: false,
75
- hasNextUser: false
75
+ hasNextUser: false,
76
+ isLoading: false,
76
77
  };
77
78
  },
78
79
  watch: {
@@ -91,12 +92,12 @@ export default {
91
92
  },
92
93
  methods: {
93
94
  preUser() {
94
- if (this.currentUserIndex <= 0) return;
95
+ if (this.currentUserIndex <= 0 || this.isLoading) return;
95
96
 
96
97
  this.$emit('prev-user');
97
98
  },
98
99
  nextUser() {
99
- if (this.currentUserIndex >= (this.maxUsers - 1)) return;
100
+ if (this.currentUserIndex >= (this.maxUsers - 1) || this.isLoading) return;
100
101
 
101
102
  this.$emit('next-user');
102
103
  },
@@ -112,6 +113,8 @@ export default {
112
113
  }
113
114
  },
114
115
  handleArrowsActive() {
116
+ this.isLoading = true;
117
+
115
118
  if (this.currentUserIndex <= 0) {
116
119
  this.hasPrevUser = false;
117
120
  this.hasNextUser = true;
@@ -125,6 +128,8 @@ export default {
125
128
  if (this.currentUserIndex === (this.maxUsers - 1)) {
126
129
  this.hasNextUser = false;
127
130
  }
131
+
132
+ setTimeout(() => this.isLoading = false, 1000);
128
133
  }
129
134
  },
130
135
  beforeMount() {
@@ -170,6 +175,7 @@ export default {
170
175
  width: 100%;
171
176
  height: 100vh;
172
177
  z-index: -1;
178
+ pointer-events: none;
173
179
  > button {
174
180
  width: 42px;
175
181
  height: 42px;
@@ -180,6 +186,7 @@ export default {
180
186
  background: transparent;
181
187
  font-size: 2rem;
182
188
  color: $primary;
189
+ pointer-events: all;
183
190
  }
184
191
  }
185
192
 
@@ -228,4 +235,11 @@ export default {
228
235
  height: 150px;
229
236
  }
230
237
  }
238
+
239
+ /deep/ .user__preview__container {
240
+ transition: opacity 0.2s;
241
+ &.loading {
242
+ opacity: 0;
243
+ }
244
+ }
231
245
  </style>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burh/nuxt-core",
3
- "version": "1.0.243",
3
+ "version": "1.0.244",
4
4
  "description": "Design System and Components.",
5
5
  "author": "Burh",
6
6
  "scripts": {