@burh/nuxt-core 1.0.202 → 1.0.204

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,360 +1,360 @@
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 }">
16
- {{ userData.name }} {{ userData.last_name }}
17
- </h5>
18
-
19
- <p class="user-info" v-if="userData.user_experience.length > 0">
20
- {{ userData.user_experience[0].job_title }} em
21
- {{ userData.user_experience[0].company }}
22
- </p>
23
-
24
- <span v-if="userData.user_address">
25
- <i class="fas fa-map-marker-alt"></i>
26
- {{ userData.user_address.city_name }} -
27
- {{ userData.user_address.region_code }}
28
- </span>
29
- </div>
30
-
31
- <div
32
- v-show="userData.user_skill.length > 0"
33
- class="skills title-block ml-4"
34
- >
35
- <h6 class="mb-0">Habilidades</h6>
36
- <div class="line"></div>
37
-
38
- <p
39
- v-for="(skill, index) in userData.user_skill"
40
- :key="`skill-${index}`"
41
- class="ml-1 mt-1 mb-0 text-capitalize"
42
- >
43
- {{ skill.skill_word }}
44
- </p>
45
- </div>
46
-
47
- <div
48
- v-show="userData.user_language.length > 0"
49
- class="languages title-block mt-3 ml-4"
50
- >
51
- <h6 class="mb-0">Idiomas</h6>
52
- <div class="line"></div>
53
-
54
- <p
55
- class="mb-1 text-capitalize"
56
- v-for="(lan, index) in userData.user_language"
57
- :key="index"
58
- >
59
- {{ lan.language[0].name }} {{ languageLevel(lan.level) }}
60
- </p>
61
- </div>
62
-
63
- <div
64
- v-show="userData.user_desired_job.length > 0"
65
- class="desidered title-block mt-3 ml-4"
66
- >
67
- <h6 class="mb-0">Cargos desejados</h6>
68
- <div class="line"></div>
69
-
70
- <p
71
- v-for="(des, index) in userData.user_desired_job"
72
- :key="`skill-${index}`"
73
- class="ml-1 mt-1 mb-0 text-capitalize"
74
- >
75
- {{ des.occupation }}
76
- </p>
77
- </div>
78
-
79
- <div class="socials text-center mt-5">
80
- <a
81
- :href="baseUrl + '/' + userData.slug.slug"
82
- class="text-center"
83
- target="_blank"
84
- rel="noopener noreferrer"
85
- >
86
- <img
87
- class="no-social"
88
- src="../../../../assets/images/burhCv.svg"
89
- alt="Burh"
90
- />
91
- </a>
92
- <a
93
- v-show="userData.user_complementary_information.facebook_url"
94
- :href="userData.user_complementary_information.facebook_url"
95
- target="_blank"
96
- class="ml-2"
97
- rel="noopener noreferrer"
98
- >
99
- <img
100
- class="no-social"
101
- src="../../../../assets/images/facebookCv.svg"
102
- alt="Facebook"
103
- />
104
- </a>
105
- <a
106
- v-show="userData.user_complementary_information.linkedin_url"
107
- :href="userData.user_complementary_information.linkedin_url"
108
- target="_blank"
109
- class="ml-2"
110
- rel="noopener noreferrer"
111
- >
112
- <img
113
- class="no-social"
114
- src="../../../../assets/images/linkedinCv.svg"
115
- alt="Linkdin"
116
- />
117
- </a>
118
- <a
119
- v-show="userData.user_complementary_information.website"
120
- :href="userData.user_complementary_information.website"
121
- class="text-center ml-2"
122
- target="_blank"
123
- rel="noopener noreferrer"
124
- >
125
- <img
126
- class="no-social"
127
- src="../../../../assets/images/webCv.svg"
128
- alt="Web"
129
- />
130
- </a>
131
- </div>
132
-
133
- <div class="burh-code text-center mt-4">
134
- <vue-qrcode
135
- :value="baseUrl + '/' + userData.slug.slug"
136
- :options="{ width: 98, height: 98 }"
137
- class="border qr-code"
138
- ></vue-qrcode>
139
- <p class="mb-0">Código BURH</p>
140
- <span class="qr-id">{{ userData.id }}</span>
141
- </div>
142
- </div>
143
- </template>
144
-
145
- <script>
146
- import getPrefixes from '~/util/getPrefixes.js';
147
- import VueQrcode from '@chenfengyuan/vue-qrcode';
148
-
149
- export default {
150
- name: 'user-cv-left-side',
151
- components: {
152
- VueQrcode
153
- },
154
- props: {
155
- userData: Object,
156
- baseUrl: String
157
- },
158
- mounted(){
159
- console.log(this.userData);
160
- },
161
- methods: {
162
- getTime(
163
- { start_year = null, end_year = null, start_month, end_month },
164
- textHappening = 'Cursando'
165
- ) {
166
- const isHappening = !end_month && !end_year;
167
-
168
- if (isHappening) {
169
- return textHappening;
170
- }
171
-
172
- const dateInitial = this.$moment(
173
- ['1', start_month.toString(), start_year.toString()],
174
- 'DD/MM/YYYY'
175
- );
176
- const dateDone = this.$moment(
177
- ['1', end_month.toString(), end_year.toString()],
178
- 'DD/MM/YYYY'
179
- );
180
- const diffDuration = this.$moment.duration(
181
- dateDone.diff(dateInitial)
182
- );
183
- const years = diffDuration.years();
184
- const months = diffDuration.months();
185
-
186
- if (years) {
187
- return years > 1 ? `(${years} anos)` : `(${years} ano)`;
188
- }
189
-
190
- return months > 1
191
- ? `(${months} meses)`
192
- : months == 1
193
- ? `(${months} mês)`
194
- : '';
195
- },
196
- languageLevel(level) {
197
- switch (parseInt(level)) {
198
- case 1:
199
- return 'Iniciante';
200
- case 2:
201
- return 'Elementar';
202
- case 3:
203
- return 'Pré-intermediário';
204
- case 4:
205
- return 'Intermediário';
206
- case 5:
207
- return 'Intermediário Superior';
208
- case 6:
209
- return 'Avançado';
210
- case 7:
211
- return 'Fluente';
212
- default:
213
- return '';
214
- }
215
- },
216
- treatPhone(phone) {
217
- if (phone) {
218
- if (phone == '0' || phone.length < 9 || !phone) {
219
- return 'não cadastrado';
220
- }
221
- }
222
-
223
- return phone;
224
- },
225
- treatCellphone(cellphone) {
226
- if (cellphone) {
227
- if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
228
- return 'não cadastrado';
229
- }
230
- }
231
-
232
- return cellphone;
233
- },
234
- handleGetPrefixes(name = '') {
235
- return getPrefixes(name);
236
- },
237
- treatEndDate(end_month, end_year) {
238
- if (end_month && end_year) {
239
- return `${end_month}/${end_year}`;
240
- }
241
- return '';
242
- }
243
- }
244
- };
245
- </script>
246
-
247
- <style lang="scss" scoped>
248
- @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
249
-
250
- .qr-id {
251
- color: #32325d!important;;
252
- }
253
-
254
- .bg-light--darken {
255
- background-color: $gray-100 !important;
256
- }
257
-
258
- .profile {
259
- .avatar {
260
- img {
261
- width: 178.14px;
262
- height: 163px;
263
- border-radius: 50%;
264
- top: 75%;
265
- }
266
-
267
- .no-image {
268
- display: flex;
269
- justify-content: center;
270
- align-items: center;
271
-
272
- position: absolute;
273
- background-color: #adb5bd;
274
- width: 163px;
275
- height: 163px;
276
- top: 120;
277
- border-radius: 50%;
278
- margin-bottom: 20px;
279
- }
280
- }
281
-
282
- .user-info {
283
- padding: 0 20px;
284
- margin-top: 5px;
285
- }
286
-
287
- p {
288
- font-size: 13px;
289
- font-weight: 400;
290
- color: #62778c;
291
- line-height: .85rem;
292
- margin-bottom: 2rem;
293
- }
294
-
295
- span {
296
- font-size: 14px;
297
- color: #8da2b5;
298
- }
299
- }
300
-
301
- .skills {
302
- margin-top: 2.3rem;
303
- margin-bottom: 2.3rem;
304
- }
305
- .languages {
306
- margin-bottom: 2.3rem;
307
- }
308
-
309
- .title-block {
310
- .line {
311
- width: 235px;
312
- height: 0px;
313
- border: 1px solid #ececec5c;
314
- margin-bottom: .75rem;
315
- }
316
-
317
- p {
318
- font-size: 13px;
319
- }
320
- }
321
-
322
- .burh-code {
323
- .qr-code {
324
- box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
325
- border-radius: 10px;
326
- }
327
-
328
- p {
329
- font-size: 8px;
330
- font-weight: bold;
331
- }
332
-
333
- span {
334
- font-size: 12px;
335
- font-weight: bold;
336
- }
337
- }
338
-
339
- .socials {
340
- .no-social {
341
- height: 1.39rem;
342
- }
343
- }
344
-
345
- .cv-left {
346
- word-break: initial;
347
- }
348
-
349
- .disable-none {
350
- user-select: none;
351
- }
352
-
353
- .content-left {
354
- width: 25%;
355
- height: auto;
356
- padding: 0 20px;
357
- word-break: break-word !important;
358
- color: #62778c!important;
359
- }
360
- </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 }">
16
+ {{ userData.name }} {{ userData.last_name }}
17
+ </h5>
18
+
19
+ <p class="user-info" v-if="userData.user_experience.length > 0">
20
+ {{ userData.user_experience[0].job_title }} em
21
+ {{ userData.user_experience[0].company }}
22
+ </p>
23
+
24
+ <span v-if="userData.user_address">
25
+ <i class="fas fa-map-marker-alt"></i>
26
+ {{ userData.user_address.city_name }} -
27
+ {{ userData.user_address.region_code }}
28
+ </span>
29
+ </div>
30
+
31
+ <div
32
+ v-show="userData.user_skill.length > 0"
33
+ class="skills title-block ml-4"
34
+ >
35
+ <h6 class="mb-0">Habilidades</h6>
36
+ <div class="line"></div>
37
+
38
+ <p
39
+ v-for="(skill, index) in userData.user_skill"
40
+ :key="`skill-${index}`"
41
+ class="ml-1 mt-1 mb-0 text-capitalize"
42
+ >
43
+ {{ skill.skill_word }}
44
+ </p>
45
+ </div>
46
+
47
+ <div
48
+ v-show="userData.user_language.length > 0"
49
+ class="languages title-block mt-3 ml-4"
50
+ >
51
+ <h6 class="mb-0">Idiomas</h6>
52
+ <div class="line"></div>
53
+
54
+ <p
55
+ class="mb-1 text-capitalize"
56
+ v-for="(lan, index) in userData.user_language"
57
+ :key="index"
58
+ >
59
+ {{ lan.language[0].name }} {{ languageLevel(lan.level) }}
60
+ </p>
61
+ </div>
62
+
63
+ <div
64
+ v-show="userData.user_desired_job.length > 0"
65
+ class="desidered title-block mt-3 ml-4"
66
+ >
67
+ <h6 class="mb-0">Cargos desejados</h6>
68
+ <div class="line"></div>
69
+
70
+ <p
71
+ v-for="(des, index) in userData.user_desired_job"
72
+ :key="`skill-${index}`"
73
+ class="ml-1 mt-1 mb-0 text-capitalize"
74
+ >
75
+ {{ des.occupation }}
76
+ </p>
77
+ </div>
78
+
79
+ <div class="socials text-center mt-5">
80
+ <a
81
+ :href="baseUrl + '/' + userData.slug.slug"
82
+ class="text-center"
83
+ target="_blank"
84
+ rel="noopener noreferrer"
85
+ >
86
+ <img
87
+ class="no-social"
88
+ src="../../../../assets/images/burhCv.svg"
89
+ alt="Burh"
90
+ />
91
+ </a>
92
+ <a
93
+ v-show="userData.user_complementary_information.facebook_url"
94
+ :href="userData.user_complementary_information.facebook_url"
95
+ target="_blank"
96
+ class="ml-2"
97
+ rel="noopener noreferrer"
98
+ >
99
+ <img
100
+ class="no-social"
101
+ src="../../../../assets/images/facebookCv.svg"
102
+ alt="Facebook"
103
+ />
104
+ </a>
105
+ <a
106
+ v-show="userData.user_complementary_information.linkedin_url"
107
+ :href="userData.user_complementary_information.linkedin_url"
108
+ target="_blank"
109
+ class="ml-2"
110
+ rel="noopener noreferrer"
111
+ >
112
+ <img
113
+ class="no-social"
114
+ src="../../../../assets/images/linkedinCv.svg"
115
+ alt="Linkdin"
116
+ />
117
+ </a>
118
+ <a
119
+ v-show="userData.user_complementary_information.website"
120
+ :href="userData.user_complementary_information.website"
121
+ class="text-center ml-2"
122
+ target="_blank"
123
+ rel="noopener noreferrer"
124
+ >
125
+ <img
126
+ class="no-social"
127
+ src="../../../../assets/images/webCv.svg"
128
+ alt="Web"
129
+ />
130
+ </a>
131
+ </div>
132
+
133
+ <div class="burh-code text-center mt-4">
134
+ <vue-qrcode
135
+ :value="baseUrl + '/' + userData.slug.slug"
136
+ :options="{ width: 98, height: 98 }"
137
+ class="border qr-code"
138
+ ></vue-qrcode>
139
+ <p class="mb-0">Código BURH</p>
140
+ <span class="qr-id">{{ userData.id }}</span>
141
+ </div>
142
+ </div>
143
+ </template>
144
+
145
+ <script>
146
+ import getPrefixes from '~/util/getPrefixes.js';
147
+ import VueQrcode from '@chenfengyuan/vue-qrcode';
148
+
149
+ export default {
150
+ name: 'user-cv-left-side',
151
+ components: {
152
+ VueQrcode
153
+ },
154
+ props: {
155
+ userData: Object,
156
+ baseUrl: String
157
+ },
158
+ mounted(){
159
+ console.log(this.userData);
160
+ },
161
+ methods: {
162
+ getTime(
163
+ { start_year = null, end_year = null, start_month, end_month },
164
+ textHappening = 'Cursando'
165
+ ) {
166
+ const isHappening = !end_month && !end_year;
167
+
168
+ if (isHappening) {
169
+ return textHappening;
170
+ }
171
+
172
+ const dateInitial = this.$moment(
173
+ ['1', start_month.toString(), start_year.toString()],
174
+ 'DD/MM/YYYY'
175
+ );
176
+ const dateDone = this.$moment(
177
+ ['1', end_month.toString(), end_year.toString()],
178
+ 'DD/MM/YYYY'
179
+ );
180
+ const diffDuration = this.$moment.duration(
181
+ dateDone.diff(dateInitial)
182
+ );
183
+ const years = diffDuration.years();
184
+ const months = diffDuration.months();
185
+
186
+ if (years) {
187
+ return years > 1 ? `(${years} anos)` : `(${years} ano)`;
188
+ }
189
+
190
+ return months > 1
191
+ ? `(${months} meses)`
192
+ : months == 1
193
+ ? `(${months} mês)`
194
+ : '';
195
+ },
196
+ languageLevel(level) {
197
+ switch (parseInt(level)) {
198
+ case 1:
199
+ return 'Iniciante';
200
+ case 2:
201
+ return 'Elementar';
202
+ case 3:
203
+ return 'Pré-intermediário';
204
+ case 4:
205
+ return 'Intermediário';
206
+ case 5:
207
+ return 'Intermediário Superior';
208
+ case 6:
209
+ return 'Avançado';
210
+ case 7:
211
+ return 'Fluente';
212
+ default:
213
+ return '';
214
+ }
215
+ },
216
+ treatPhone(phone) {
217
+ if (phone) {
218
+ if (phone == '0' || phone.length < 9 || !phone) {
219
+ return 'não cadastrado';
220
+ }
221
+ }
222
+
223
+ return phone;
224
+ },
225
+ treatCellphone(cellphone) {
226
+ if (cellphone) {
227
+ if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
228
+ return 'não cadastrado';
229
+ }
230
+ }
231
+
232
+ return cellphone;
233
+ },
234
+ handleGetPrefixes(name = '') {
235
+ return getPrefixes(name);
236
+ },
237
+ treatEndDate(end_month, end_year) {
238
+ if (end_month && end_year) {
239
+ return `${end_month}/${end_year}`;
240
+ }
241
+ return '';
242
+ }
243
+ }
244
+ };
245
+ </script>
246
+
247
+ <style lang="scss" scoped>
248
+ @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
249
+
250
+ .qr-id {
251
+ color: #32325d!important;;
252
+ }
253
+
254
+ .bg-light--darken {
255
+ background-color: $gray-100 !important;
256
+ }
257
+
258
+ .profile {
259
+ .avatar {
260
+ img {
261
+ width: 178.14px;
262
+ height: 163px;
263
+ border-radius: 50%;
264
+ top: 75%;
265
+ }
266
+
267
+ .no-image {
268
+ display: flex;
269
+ justify-content: center;
270
+ align-items: center;
271
+
272
+ position: absolute;
273
+ background-color: #adb5bd;
274
+ width: 163px;
275
+ height: 163px;
276
+ top: 120;
277
+ border-radius: 50%;
278
+ margin-bottom: 20px;
279
+ }
280
+ }
281
+
282
+ .user-info {
283
+ padding: 0 20px;
284
+ margin-top: 5px;
285
+ }
286
+
287
+ p {
288
+ font-size: 13px;
289
+ font-weight: 400;
290
+ color: #62778c;
291
+ line-height: .85rem;
292
+ margin-bottom: 2rem;
293
+ }
294
+
295
+ span {
296
+ font-size: 14px;
297
+ color: #8da2b5;
298
+ }
299
+ }
300
+
301
+ .skills {
302
+ margin-top: 2.3rem;
303
+ margin-bottom: 2.3rem;
304
+ }
305
+ .languages {
306
+ margin-bottom: 2.3rem;
307
+ }
308
+
309
+ .title-block {
310
+ .line {
311
+ width: 235px;
312
+ height: 0px;
313
+ border: 1px solid #ececec5c;
314
+ margin-bottom: .75rem;
315
+ }
316
+
317
+ p {
318
+ font-size: 13px;
319
+ }
320
+ }
321
+
322
+ .burh-code {
323
+ .qr-code {
324
+ box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
325
+ border-radius: 10px;
326
+ }
327
+
328
+ p {
329
+ font-size: 8px;
330
+ font-weight: bold;
331
+ }
332
+
333
+ span {
334
+ font-size: 12px;
335
+ font-weight: bold;
336
+ }
337
+ }
338
+
339
+ .socials {
340
+ .no-social {
341
+ height: 1.39rem;
342
+ }
343
+ }
344
+
345
+ .cv-left {
346
+ word-break: initial;
347
+ }
348
+
349
+ .disable-none {
350
+ user-select: none;
351
+ }
352
+
353
+ .content-left {
354
+ width: 25%;
355
+ height: auto;
356
+ padding: 0 20px;
357
+ word-break: break-word !important;
358
+ color: #62778c!important;
359
+ }
360
+ </style>