@burh/nuxt-core 1.0.450 → 1.0.452

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.
@@ -26,7 +26,7 @@
26
26
  <span
27
27
  v-if="items.number"
28
28
  :class="items.color ? items.color : ''"
29
- class="display-1 font-weight-bold"
29
+ class="display-1 font-weight-bold number-value"
30
30
  >{{ items.percentage ? items.percentage : items.number}}</span
31
31
  >
32
32
  <p
@@ -111,6 +111,18 @@ export default {
111
111
  }
112
112
  }
113
113
  }
114
+ @media screen and (max-width: 1380px){
115
+ font-size: .8rem;
116
+ }
117
+ @media screen and (max-width: 1132px){
118
+ font-size: .7rem;
119
+ }
120
+ @media screen and (max-width: 1009px){
121
+ font-size: .67rem;
122
+ }
123
+ @media screen and (max-width: 768px){
124
+ font-size: 1rem;
125
+ }
114
126
  }
115
127
 
116
128
  .chart__graph {
@@ -134,9 +146,30 @@ export default {
134
146
  align-items: center;
135
147
  justify-content: center;
136
148
  flex-direction: column;
137
-
138
149
  }
139
150
 
151
+ .number-value{
152
+ font-size: 2rem;
153
+
154
+ @media screen and (max-width: 1380px){
155
+ font-size: 1.5rem;
156
+ }
157
+ @media screen and (max-width: 1075px){
158
+ font-size: 1.3rem;
159
+ }
160
+ @media screen and (max-width: 934px){
161
+ font-size: 1.2rem;
162
+ }
163
+ @media screen and (max-width: 952px){
164
+ font-size: 1rem;
165
+ }
166
+ @media screen and (max-width: 768px){
167
+ font-size: 1.8rem;
168
+ }
169
+ @media screen and (max-width: 672px){
170
+ font-size: 1.4rem;
171
+ }
172
+ }
140
173
  .card__content {
141
174
  width: 100%;
142
175
  }
@@ -144,6 +177,7 @@ export default {
144
177
  .card-title {
145
178
  font-size: 1rem;
146
179
  }
180
+
147
181
  .info-box {
148
182
  @media (min-width: 576px) {
149
183
  flex: 0 0 50%;
@@ -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
 
@@ -15,7 +15,7 @@
15
15
  </div>
16
16
  <div>
17
17
  <button
18
- @click="!isLocked ? $emit('filter-apply') : $emit('open-plan-modal')"
18
+ @click="!isLocked ? handleFilterApply() : $emit('open-plan-modal')"
19
19
  class="base__filter__button apply"
20
20
  :class="{ 'disabled': isLocked }"
21
21
  >
@@ -44,6 +44,12 @@ export default {
44
44
  type: Boolean,
45
45
  default: false
46
46
  }
47
+ },
48
+ methods: {
49
+ handleFilterApply() {
50
+ this.$bus.$emit('close-dropdown');
51
+ this.$emit('filter-apply');
52
+ }
47
53
  }
48
54
  };
49
55
  </script>
@@ -1,14 +1,15 @@
1
1
  <template>
2
- <div>
2
+ <div :class="{'filter__with__dropdown' : isDropdownOpen}">
3
3
  <div
4
4
  v-if="isDropdownOpen"
5
5
  id="backgroundFade"
6
+ @mousedown="dropDownOutsideClick"
6
7
  ></div>
7
8
  <div
8
- v-click-outside="dropDownOutsideClick"
9
+ ref="filterContainer"
9
10
  class="filter__container"
10
11
  :class="{'filter__container__dropdown--open': isDropdownOpen}"
11
- ref="filterContainer"
12
+ :style="`--filter-text-color: ${this.baseColor}; --filter-base-color: ${this.baseColor}22`"
12
13
  >
13
14
  <button
14
15
  class="filter__item"
@@ -61,6 +62,10 @@ export default {
61
62
  type: Boolean,
62
63
  default: false
63
64
  },
65
+ baseColor: {
66
+ type: String,
67
+ default: '#5865F2'
68
+ }
64
69
  },
65
70
  data() {
66
71
  return {
@@ -104,10 +109,22 @@ export default {
104
109
  this.isDropdownOpen = false;
105
110
  }
106
111
  }
112
+ },
113
+ mounted() {
114
+ this.$bus.$on('close-dropdown', () => this.isDropdownOpen = false);
115
+ },
116
+ beforeDestroy() {
117
+ this.$bus.$off('close-dropdown');
107
118
  }
108
119
  };
109
120
  </script>
110
121
 
122
+ <style lang="scss">
123
+ .el-select-dropdown.el-popper {
124
+ z-index: 2147483020!important;
125
+ }
126
+ </style>
127
+
111
128
  <style lang="scss" scoped>
112
129
  @keyframes fadeIn {
113
130
  from { opacity: 0; }
@@ -137,15 +154,26 @@ export default {
137
154
  width: 100vw;
138
155
  height: 100vh;
139
156
  background: rgba(255, 255, 255, 0.6);
140
- z-index: 200;
157
+ z-index: 1050;
141
158
  animation: 0.5s fadeIn;
142
159
  }
143
160
 
161
+ .filter__with__dropdown {
162
+ @media (max-width: 820px) {
163
+ & {
164
+ z-index: 2147483010;
165
+ }
166
+ }
167
+ }
168
+
144
169
  .filter__container__dropdown--open {
145
- z-index: 210!important;
170
+ z-index: 1060!important;
146
171
  }
147
172
 
148
173
  .filter__container {
174
+ $baseColor: var(--filter-base-color);
175
+ $textColor: var(--filter-text-color);
176
+
149
177
  position: relative;
150
178
  z-index: 100;
151
179
  margin-bottom: 10px;
@@ -202,10 +230,10 @@ export default {
202
230
  background: transparent;
203
231
  &:focus {
204
232
  outline: none;
205
- background: rgba(31, 140, 235, 0.2);
233
+ background: $baseColor;
206
234
  border-color: transparent;
207
235
  p {
208
- color: #5865F2;
236
+ color: $textColor;
209
237
  }
210
238
  }
211
239
  &:not(.filter__item--active):not(:disabled):hover {
@@ -225,10 +253,10 @@ export default {
225
253
  white-space: nowrap;
226
254
  }
227
255
  &--active {
228
- background: rgba(31, 140, 235, 0.2);
256
+ background: $baseColor;
229
257
  border-color: transparent;
230
258
  p {
231
- color: #5865F2;
259
+ color: $textColor;
232
260
  }
233
261
  }
234
262
  .status {
@@ -198,7 +198,7 @@ export default {
198
198
  }
199
199
  &--active {
200
200
  img {
201
- border-color: #1F8CEB;
201
+ border-color: #5865f2;
202
202
  }
203
203
  }
204
204
  }
@@ -273,7 +273,7 @@ export default {
273
273
  font-size: 0.7rem;
274
274
  user-select: none;
275
275
  &--active {
276
- border-color: #1F8CEB;
276
+ border-color: #5865f2;
277
277
  }
278
278
  }
279
279
 
@@ -29,6 +29,10 @@ export default {
29
29
  fallbackText: {
30
30
  type: String,
31
31
  required: true
32
+ },
33
+ fallbackSingle: {
34
+ type: Boolean,
35
+ default: true
32
36
  }
33
37
  },
34
38
  methods: {
@@ -47,7 +51,11 @@ export default {
47
51
  let userAvatarName;
48
52
 
49
53
  if (this.fallbackText) {
50
- userAvatarName = this.fallbackText.slice(0, 1).toUpperCase();
54
+ if (this.fallbackSingle) {
55
+ userAvatarName = this.fallbackText.slice(0, 1).toUpperCase();
56
+ } else {
57
+ userAvatarName = this.fallbackText;
58
+ }
51
59
  } else {
52
60
  userAvatarName = 'BURH';
53
61
  }
@@ -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.450",
3
+ "version": "1.0.452",
4
4
  "description": "Design System and Components.",
5
5
  "author": "Burh",
6
6
  "scripts": {