@burh/nuxt-core 1.0.449 → 1.0.451
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.
- package/components/burh-ds/Cards/BaseCard.vue +6 -1
- package/components/burh-ds/Curriculum/UserCurriculum/UserCvLeftSide.vue +5 -5
- package/components/burh-ds/Curriculum/UserCurriculum/UserCvRightSideNotAuth.vue +91 -3
- package/components/burh-ds/Curriculum/UserCurriculum/index.vue +15 -3
- package/components/burh-ds/Headings/AppHeader.vue +4 -4
- package/components/burh-ds/Img/ImageWithFallback.vue +59 -75
- package/components/burh-ds/Modals/SharedModal.vue +13 -0
- package/package.json +1 -1
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
:src="avatar"
|
|
29
29
|
:alt="name"
|
|
30
30
|
:fallbackText="name"
|
|
31
|
-
|
|
31
|
+
:fallbackBackground="fallbackColor"
|
|
32
|
+
fallbackSize="240"
|
|
32
33
|
/>
|
|
33
34
|
|
|
34
35
|
<slot name="card-content" />
|
|
@@ -63,6 +64,10 @@ export default {
|
|
|
63
64
|
glass: {
|
|
64
65
|
type: Boolean,
|
|
65
66
|
default: false
|
|
67
|
+
},
|
|
68
|
+
fallbackColor: {
|
|
69
|
+
type: String,
|
|
70
|
+
default: '5865F2'
|
|
66
71
|
}
|
|
67
72
|
},
|
|
68
73
|
data() {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
:src="userData.urlAvatar"
|
|
8
8
|
:alt="userData.name"
|
|
9
9
|
:fallbackText="userData.name"
|
|
10
|
-
fallbackSize="
|
|
10
|
+
fallbackSize="1024"
|
|
11
11
|
/>
|
|
12
12
|
<div v-else class=".">
|
|
13
13
|
{{ userData.name }}
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
<p
|
|
29
29
|
class="user-info"
|
|
30
|
-
v-if="userData.user_experience.length
|
|
30
|
+
v-if="userData && userData.user_experience && userData.user_experience.length || 0"
|
|
31
31
|
v-html="
|
|
32
32
|
highlightText(
|
|
33
33
|
search,
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
</div>
|
|
100
100
|
|
|
101
101
|
<div
|
|
102
|
-
v-show="userData.user_desired_job.length
|
|
102
|
+
v-show="userData && userData.user_desired_job && userData.user_desired_job.length || 0"
|
|
103
103
|
class="desidered title-block mt-3 ml-4"
|
|
104
104
|
>
|
|
105
105
|
<h6 class="mb-0">Cargos desejados</h6>
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
</div>
|
|
115
115
|
|
|
116
116
|
<div
|
|
117
|
-
v-show="userData.user_language.length
|
|
117
|
+
v-show="userData && userData.user_language && userData.user_language.length || 0"
|
|
118
118
|
class="languages title-block mt-3 ml-4"
|
|
119
119
|
>
|
|
120
120
|
<h6 class="mb-0">Idiomas</h6>
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
</div>
|
|
135
135
|
|
|
136
136
|
<div
|
|
137
|
-
v-show="userData.user_skill.length > 0"
|
|
137
|
+
v-show="userData&&userData.user_skill &&userData.user_skill.length > 0"
|
|
138
138
|
class="skills title-block ml-4"
|
|
139
139
|
>
|
|
140
140
|
<h6 class="mb-0">Habilidades</h6>
|
|
@@ -14,6 +14,41 @@
|
|
|
14
14
|
</span>
|
|
15
15
|
|
|
16
16
|
<p class="notes-title mb-0">Laudo do Candidato</p>
|
|
17
|
+
|
|
18
|
+
<div class="line mb-3"/>
|
|
19
|
+
|
|
20
|
+
<div class="evaluation-area">
|
|
21
|
+
<div
|
|
22
|
+
@click="() => {
|
|
23
|
+
evaluateUser(1)
|
|
24
|
+
}"
|
|
25
|
+
class="like"
|
|
26
|
+
>
|
|
27
|
+
<span class="font-weight-bold evaluation-area__text">
|
|
28
|
+
Gostei
|
|
29
|
+
</span>
|
|
30
|
+
<i
|
|
31
|
+
class="fas fa-thumbs-up active-icon"
|
|
32
|
+
:class="{'active':likeStatus == 1}"
|
|
33
|
+
/>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<div
|
|
37
|
+
@click="() => {
|
|
38
|
+
evaluateUser(2)
|
|
39
|
+
}"
|
|
40
|
+
class="like"
|
|
41
|
+
>
|
|
42
|
+
<i
|
|
43
|
+
class="fas fa-thumbs-down active-icon"
|
|
44
|
+
:class="{'active':likeStatus == 2}"
|
|
45
|
+
/>
|
|
46
|
+
<span class="font-weight-bold evaluation-area__text">
|
|
47
|
+
Não Gostei
|
|
48
|
+
</span>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
17
52
|
<div class="line mb-3"></div>
|
|
18
53
|
|
|
19
54
|
<p v-show="!userReportData.annex" class="history-text">
|
|
@@ -96,21 +131,29 @@ export default {
|
|
|
96
131
|
newReportNote: '',
|
|
97
132
|
active: 'reports',
|
|
98
133
|
userReportData: [],
|
|
134
|
+
liked: 0,
|
|
99
135
|
};
|
|
100
136
|
},
|
|
137
|
+
computed: {
|
|
138
|
+
likeStatus(){
|
|
139
|
+
return this.liked;
|
|
140
|
+
}
|
|
141
|
+
},
|
|
101
142
|
props: {
|
|
102
143
|
userData: Object,
|
|
103
144
|
userFolderId: String,
|
|
104
145
|
},
|
|
105
|
-
mounted() {
|
|
106
|
-
this.getUserFolderData();
|
|
146
|
+
async mounted() {
|
|
147
|
+
await this.getUserFolderData();
|
|
107
148
|
},
|
|
108
149
|
methods: {
|
|
109
150
|
async getUserFolderData() {
|
|
110
151
|
const apiUrl = `${process.env.baseApiUrlV2}/company/buffer/folder/user/${this.userFolderId}`;
|
|
111
152
|
|
|
112
153
|
const data = await this.$axios(apiUrl)
|
|
113
|
-
.then(res =>
|
|
154
|
+
.then(res => {
|
|
155
|
+
this.liked = res.data.data.like;
|
|
156
|
+
})
|
|
114
157
|
.catch(() => {});
|
|
115
158
|
|
|
116
159
|
if (!data) return;
|
|
@@ -118,6 +161,24 @@ export default {
|
|
|
118
161
|
this.mountUserReport(data.data);
|
|
119
162
|
},
|
|
120
163
|
|
|
164
|
+
async evaluateUser(like){
|
|
165
|
+
const apiUrl = `${process.env.baseApiUrlV2}/company/buffer/folder/user/like`;
|
|
166
|
+
|
|
167
|
+
let payload = {
|
|
168
|
+
company_buffer_folder_user_id: this.userFolderId,
|
|
169
|
+
like
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
if(this.likeStatus == like){
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const data = await this.$axios.post(apiUrl, payload);
|
|
176
|
+
|
|
177
|
+
if(data && !data.error){
|
|
178
|
+
this.liked = like;
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
|
|
121
182
|
openArchive(item) {
|
|
122
183
|
window.open(item.storage_url, '_blank');
|
|
123
184
|
},
|
|
@@ -289,7 +350,34 @@ export default {
|
|
|
289
350
|
-webkit-line-clamp: 3;
|
|
290
351
|
-webkit-box-orient: vertical;
|
|
291
352
|
}
|
|
353
|
+
.evaluation-area{
|
|
354
|
+
margin-bottom: 16px;
|
|
355
|
+
justify-content: center;
|
|
356
|
+
display: flex;
|
|
357
|
+
gap: 1rem;
|
|
358
|
+
.like{
|
|
359
|
+
cursor: pointer;
|
|
360
|
+
user-select: none;
|
|
361
|
+
&:hover{
|
|
362
|
+
.active-icon{
|
|
363
|
+
color:#586AE9;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
&__text {
|
|
368
|
+
cursor: pointer;
|
|
369
|
+
}
|
|
292
370
|
|
|
371
|
+
.active-icon {
|
|
372
|
+
font-size: 25px;
|
|
373
|
+
color: #AEB0B7;
|
|
374
|
+
transition: color 0.25s;
|
|
375
|
+
cursor: pointer;
|
|
376
|
+
&.active{
|
|
377
|
+
color:#586AE9;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
293
381
|
.tab__icon-pane {
|
|
294
382
|
.img__icon-pane {
|
|
295
383
|
background-color: #f5f5f5 !important;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
:visible.sync="isActive"
|
|
4
4
|
width="80%"
|
|
5
5
|
:custom-class="`position-relative user__preview__container ${isLoading ? 'loading' : ''}`"
|
|
6
|
-
|
|
6
|
+
:before-close="handleClose"
|
|
7
7
|
class="test-radius"
|
|
8
8
|
>
|
|
9
9
|
<template>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
@click="showTools = !showTools"/>
|
|
20
20
|
</span>
|
|
21
21
|
</el-tooltip> -->
|
|
22
|
-
<span class="tool tool-close" @click="$emit('close')">
|
|
22
|
+
<span v-if="!isPreviewShare" class="tool tool-close" @click="$emit('close')">
|
|
23
23
|
Fechar
|
|
24
24
|
<font-awesome-icon
|
|
25
25
|
:icon="['fas', 'times']"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
/>
|
|
28
28
|
</span>
|
|
29
29
|
|
|
30
|
-
<div class="user__cv__arrows">
|
|
30
|
+
<div class="user__cv__arrows" v-if="!isPreviewShare">
|
|
31
31
|
<button v-if="hasPrevUser" @click="preUser()">
|
|
32
32
|
<i class="fas fa-chevron-left"></i>
|
|
33
33
|
</button>
|
|
@@ -55,6 +55,10 @@ export default {
|
|
|
55
55
|
type: Boolean,
|
|
56
56
|
default: false
|
|
57
57
|
},
|
|
58
|
+
isPreviewShare:{
|
|
59
|
+
type:Boolean,
|
|
60
|
+
default:false
|
|
61
|
+
},
|
|
58
62
|
tools: {
|
|
59
63
|
type: Array,
|
|
60
64
|
default: () => []
|
|
@@ -91,6 +95,14 @@ export default {
|
|
|
91
95
|
this.handleArrowsActive();
|
|
92
96
|
},
|
|
93
97
|
methods: {
|
|
98
|
+
handleClose(){
|
|
99
|
+
if(this.isPreviewShare){
|
|
100
|
+
return false;
|
|
101
|
+
}else{
|
|
102
|
+
this.$emit('close');
|
|
103
|
+
this.isActive = false;
|
|
104
|
+
}
|
|
105
|
+
},
|
|
94
106
|
preUser() {
|
|
95
107
|
if (this.currentUserIndex <= 0 || this.isLoading) return;
|
|
96
108
|
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
:src="user.avatar"
|
|
38
38
|
:alt="user.name"
|
|
39
39
|
:fallbackText="user.name"
|
|
40
|
+
fallbackSize="200"
|
|
40
41
|
:fallbackBackground="avatarColor"
|
|
41
|
-
|
|
42
|
-
:style=" `--avatar-color: #${avatarColor}` "
|
|
42
|
+
:style=" `--avatar-color: #${avatarColor}`"
|
|
43
43
|
/>
|
|
44
44
|
</el-tooltip>
|
|
45
45
|
|
|
@@ -59,9 +59,9 @@
|
|
|
59
59
|
:src="user.avatar"
|
|
60
60
|
:alt="user.name"
|
|
61
61
|
:fallbackText="user.name"
|
|
62
|
+
fallbackSize="200"
|
|
62
63
|
:fallbackBackground="avatarColor"
|
|
63
|
-
|
|
64
|
-
:style=" `--avatar-color: #${avatarColor}` "
|
|
64
|
+
:style=" `--avatar-color: #${avatarColor}`"
|
|
65
65
|
/>
|
|
66
66
|
<span>{{ user.name }} {{ user.last_name }}</span>
|
|
67
67
|
</div>
|
|
@@ -1,75 +1,59 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<img
|
|
3
|
-
:src="(this.src) ? this.src : getNameInitials()"
|
|
4
|
-
:alt="this.alt"
|
|
5
|
-
@error="img => getImageFallback(img)"
|
|
6
|
-
>
|
|
7
|
-
</template>
|
|
8
|
-
|
|
9
|
-
<script>
|
|
10
|
-
export default {
|
|
11
|
-
name: 'image-with-fallback',
|
|
12
|
-
props: {
|
|
13
|
-
src: {
|
|
14
|
-
type: String,
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
alt: {
|
|
18
|
-
type: String,
|
|
19
|
-
required: true
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
type:
|
|
23
|
-
default:
|
|
24
|
-
},
|
|
25
|
-
fallbackBackground: {
|
|
26
|
-
type: String,
|
|
27
|
-
default:
|
|
28
|
-
},
|
|
29
|
-
|
|
30
|
-
type: String,
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
let
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (this.fallbackText) {
|
|
62
|
-
userAvatarName = this.fallbackText.slice(0, 1).toUpperCase();
|
|
63
|
-
} else {
|
|
64
|
-
userAvatarName = 'BURH';
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return userAvatarName;
|
|
68
|
-
},
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
</script>
|
|
72
|
-
|
|
73
|
-
<style lang="scss" scoped>
|
|
74
|
-
|
|
75
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<img
|
|
3
|
+
:src="(this.src) ? this.src : getNameInitials()"
|
|
4
|
+
:alt="this.alt"
|
|
5
|
+
@error="img => getImageFallback(img)"
|
|
6
|
+
>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script>
|
|
10
|
+
export default {
|
|
11
|
+
name: 'image-with-fallback',
|
|
12
|
+
props: {
|
|
13
|
+
src: {
|
|
14
|
+
type: [String, Boolean],
|
|
15
|
+
default: null
|
|
16
|
+
},
|
|
17
|
+
alt: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
fallbackSize: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: '512'
|
|
24
|
+
},
|
|
25
|
+
fallbackBackground: {
|
|
26
|
+
type: [String, Boolean],
|
|
27
|
+
default: null
|
|
28
|
+
},
|
|
29
|
+
fallbackText: {
|
|
30
|
+
type: String,
|
|
31
|
+
required: true
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
methods: {
|
|
35
|
+
getAvatarUrl() {
|
|
36
|
+
let size = this.fallbackSize;
|
|
37
|
+
let text = this.getNameInitials();
|
|
38
|
+
// let background = this.fallbackBackground;
|
|
39
|
+
|
|
40
|
+
// return `https://avatars.dicebear.com/api/initials/${text}.svg?backgroundColorLevel=900&size=${size}&fontSize=40${background ? `&b=%23${background}` : ''}`;
|
|
41
|
+
return `https://avatars.dicebear.com/api/initials/${text}.svg?backgroundColorLevel=900&size=${size}&fontSize=40&b=%238DA2B5`;
|
|
42
|
+
},
|
|
43
|
+
getImageFallback(img) {
|
|
44
|
+
img.target.src = this.getAvatarUrl();
|
|
45
|
+
},
|
|
46
|
+
getNameInitials() {
|
|
47
|
+
let userAvatarName;
|
|
48
|
+
|
|
49
|
+
if (this.fallbackText) {
|
|
50
|
+
userAvatarName = this.fallbackText.slice(0, 1).toUpperCase();
|
|
51
|
+
} else {
|
|
52
|
+
userAvatarName = 'BURH';
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return userAvatarName;
|
|
56
|
+
},
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
</script>
|
|
@@ -129,6 +129,10 @@ export default {
|
|
|
129
129
|
props: {
|
|
130
130
|
isActive: Boolean,
|
|
131
131
|
userData: Object,
|
|
132
|
+
share_token:{
|
|
133
|
+
type:String,
|
|
134
|
+
default: ''
|
|
135
|
+
},
|
|
132
136
|
baseUrl: String
|
|
133
137
|
},
|
|
134
138
|
data() {
|
|
@@ -154,6 +158,11 @@ export default {
|
|
|
154
158
|
}, 3000);
|
|
155
159
|
}
|
|
156
160
|
},
|
|
161
|
+
computed: {
|
|
162
|
+
baseBussinesUrl() {
|
|
163
|
+
return process.env.baseAppUrl;
|
|
164
|
+
}
|
|
165
|
+
},
|
|
157
166
|
watch: {
|
|
158
167
|
isActive(newValue) {
|
|
159
168
|
!newValue && this.$emit('close-modal');
|
|
@@ -162,6 +171,10 @@ export default {
|
|
|
162
171
|
if (userData.slug) {
|
|
163
172
|
this.slug = userData.slug.slug || null;
|
|
164
173
|
}
|
|
174
|
+
},
|
|
175
|
+
share_token(share_token){
|
|
176
|
+
this.baseUrl = this.baseBussinesUrl;
|
|
177
|
+
return this.slug = 'buffer/userpreview/' + share_token;
|
|
165
178
|
}
|
|
166
179
|
}
|
|
167
180
|
};
|