@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.
@@ -28,7 +28,8 @@
28
28
  :src="avatar"
29
29
  :alt="name"
30
30
  :fallbackText="name"
31
- fallbackSize="240x240"
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="1024x1024"
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 > 0"
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 > 0"
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 > 0"
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 => res.data)
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
- @close="$emit('close')"
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
- fallbackSize="200x200"
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
- fallbackSize="200x200"
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
- required: true
16
- },
17
- alt: {
18
- type: String,
19
- required: true
20
- },
21
- randomColor: {
22
- type: Boolean,
23
- default: false
24
- },
25
- fallbackBackground: {
26
- type: String,
27
- default: '5865f2'
28
- },
29
- fallbackColor: {
30
- type: String,
31
- default: 'ffffff'
32
- },
33
- fallbackSize: {
34
- type: String,
35
- default: '512x512'
36
- },
37
- fallbackText: {
38
- type: String,
39
- required: true
40
- }
41
- },
42
- methods: {
43
- getAvatarUrl() {
44
- let size = this.fallbackSize;
45
- let background = this.fallbackBackground;
46
- let color = this.fallbackColor;
47
- let text = this.getNameInitials();
48
-
49
- const colors = ['5865F2', '9D35FC', 'FF539D', 'FF7D7E', 'FFCF02', '00b388'];
50
-
51
- this.randomColor && (background = colors[Math.floor(Math.random() * (colors.length - 1))]);
52
-
53
- return `https://via.placeholder.com/${size}/${background}/${color}?text=${text}`;
54
- },
55
- getImageFallback(img) {
56
- img.target.src = this.getAvatarUrl();
57
- },
58
- getNameInitials() {
59
- let userAvatarName;
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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burh/nuxt-core",
3
- "version": "1.0.449",
3
+ "version": "1.0.451",
4
4
  "description": "Design System and Components.",
5
5
  "author": "Burh",
6
6
  "scripts": {