project-booster-vue 10.30.1 → 10.30.3

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/README.md CHANGED
@@ -33,7 +33,6 @@ Team: project-booster@adeo.com
33
33
  - ~~Maxime Drecourt~~
34
34
  - ~~Yassine Bourakba~~
35
35
  - Anthony Pillot: anthony.pillot@ext.adeo.com
36
- - Samir Aliche: samir.aliche@ext.adeo.com
37
36
  - Adrien Déprez: adrien.deprez@ext.adeo.com
38
37
 
39
38
  ## Get started
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-booster-vue",
3
- "version": "10.30.1",
3
+ "version": "10.30.3",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -0,0 +1,66 @@
1
+ <script lang="ts">
2
+ export default {
3
+ name: 'PbAppointmentNotification',
4
+ props: {
5
+ title: { type: String, default: null },
6
+ informationText: { type: String, default: null },
7
+ updateAppointmentLink: { type: String, default: null },
8
+ },
9
+ };
10
+ </script>
11
+
12
+ <template>
13
+ <div class="appointment-notification">
14
+ <span class="appointment-notification__title">
15
+ {{ title }}
16
+ </span>
17
+ <span class="appointment-notification__information">
18
+ {{ informationText }}
19
+ </span>
20
+ <a
21
+ v-if="!!updateAppointmentLink"
22
+ target="_blank"
23
+ :href="updateAppointmentLink"
24
+ class="appointment-notification__update-button"
25
+ >
26
+ Modifier ou annuler mon rendez-vous
27
+ </a>
28
+ </div>
29
+ </template>
30
+
31
+ <style lang="scss" scoped>
32
+ .appointment-notification {
33
+ gap: 1rem;
34
+ display: flex;
35
+ flex-direction: column;
36
+
37
+ width: 100%;
38
+ padding: 1rem 2rem;
39
+ box-sizing: border-box;
40
+
41
+ border-radius: 4px;
42
+ background-color: #daeff7;
43
+ border: 1px solid #0b96cc;
44
+ }
45
+
46
+ .appointment-notification__title {
47
+ font-size: 1rem;
48
+ font-weight: 600;
49
+ }
50
+
51
+ .appointment-notification__information {
52
+ font-weight: 400;
53
+ font-size: 0.875rem;
54
+ }
55
+
56
+ .appointment-notification__update-button {
57
+ width: fit-content;
58
+ padding: 0.75rem 1rem;
59
+
60
+ color: white;
61
+ border-radius: 4px;
62
+ text-align: center;
63
+ text-decoration: none;
64
+ background-color: #333;
65
+ }
66
+ </style>
@@ -68,12 +68,11 @@
68
68
  align-items="center"
69
69
  full-width
70
70
  >
71
- <m-notification
71
+ <pb-appointment-notification
72
72
  class="pb-project-hub__appointment-notification"
73
73
  :title="appointmentNotificationTitle"
74
- :type="appointmentNotificationType"
75
- :text="appointmentNotificationText"
76
- is-big
74
+ :informationText="appointmentNotificationText"
75
+ :updateAppointmentLink="appointmentNotificationLink"
77
76
  />
78
77
  </m-flex>
79
78
  </m-flex>
@@ -669,7 +668,7 @@
669
668
  </template>
670
669
 
671
670
  <script lang="ts">
672
- import { defineComponent, nextTick } from 'vue';
671
+ import { defineComponent } from 'vue';
673
672
  import { format } from 'date-fns';
674
673
  import Velocity from 'velocity-animate';
675
674
  import { mapGetters } from 'vuex';
@@ -691,7 +690,6 @@ import PbConfigurationsSection from '../../configurations/section/PbConfiguratio
691
690
  import PbEmptyState from '../../empty-state/PbEmptyState.vue';
692
691
  import PbEstimatesList from '../../estimates/PbEstimatesList.vue';
693
692
  import PbLoader from '../../loader/PbLoader.vue';
694
- import PbMOpinion from '../../mopinion/PbMOpinion.vue';
695
693
  import PbProjectAttributes from '../project-attributes/PbProjectAttributes.vue';
696
694
  import PbRestitution from '../../restitution/PbRestitution.vue';
697
695
  import PbConsent from '../../consent/PbConsent.vue';
@@ -701,6 +699,7 @@ import { Configuration } from '@/types/pb/Configuration';
701
699
  import { Estimate } from '@/types/pb/Estimate';
702
700
  import PbMediaUpload from '@/components/media/upload/PbMediaUpload.vue';
703
701
  import DOCUMENT_UPLOAD_PAYLOAD from '@/components/media/upload/document-upload-payload.json';
702
+ import PbAppointmentNotification from '@/components/appointment/PbAppointmentNotification.vue';
704
703
 
705
704
  const BACK_ICON =
706
705
  'https://customer-project.adeo.cloud/project-booster-media/mozaic-icons/svg/Navigation_Arrow_Arrow--Left_16px.svg';
@@ -760,10 +759,10 @@ export default defineComponent({
760
759
  PbEmptyState,
761
760
  PbEstimatesList,
762
761
  PbLoader,
763
- PbMOpinion,
764
762
  PbProjectAttributes,
765
763
  PbRestitution,
766
764
  PbConsent,
765
+ PbAppointmentNotification,
767
766
  },
768
767
 
769
768
  props: {
@@ -1013,7 +1012,20 @@ export default defineComponent({
1013
1012
  ? ''
1014
1013
  : this.appointment.isPast
1015
1014
  ? 'Date du rendez-vous passée.'
1016
- : 'Si vous le souhaitez vous pourrez annuler le rendez-vous dans le mail qui vous a été envoyé.<br/>N’oubliez pas !';
1015
+ : 'Ajoutez des plans aux mesures de votre pièce et des photos pour bien préparer le rendez-vous.<br/>Vous souhaitez modifier ou annuler votre rendez-vous ?';
1016
+ },
1017
+
1018
+ appointmentNotificationLink() {
1019
+ if (!this.appointment.appointmentUpdateUrl.String) {
1020
+ return null;
1021
+ }
1022
+
1023
+ const host = window.location.host;
1024
+ const appointmentUpdateUrl = decodeURIComponent(this.appointment.appointmentUpdateUrl.String);
1025
+
1026
+ return host.includes('localhost') || host.includes('uat') || host.includes('prep')
1027
+ ? `https://qa.timify.com/cancel-booking/${appointmentUpdateUrl}`
1028
+ : `https://timify.com/cancel-booking/${appointmentUpdateUrl}`;
1017
1029
  },
1018
1030
  },
1019
1031