瀏覽代碼

style: :lipstick: style (status agenda) padronizacao status agenda

realizada padronizacao dos status da agenda

fase:dev | origin:escopo
Gustavo Zanatta 3 天之前
父節點
當前提交
ff5cd10c12

+ 16 - 4
src/components/dashboard/NextSchedulesDetailsDialog.vue

@@ -116,15 +116,22 @@
           <div class="col-1 q-my-auto">
           <div class="col-1 q-my-auto">
             <q-icon
             <q-icon
               class="flex-shrink-0 q-mt-xxs"
               class="flex-shrink-0 q-mt-xxs"
-              color="primary"
-              name="mdi-map-marker-outline"
+              :color="isConfirmed ? 'primary' : 'grey-6'"
+              :name="isConfirmed ? 'mdi-map-marker-outline' : 'mdi-map-marker-off-outline'"
               size="20px"
               size="20px"
             />
             />
           </div>
           </div>
 
 
           <div class="col">
           <div class="col">
-            <span class="font12 text-center text-grey-8">
-              {{ formattedAddress || "N/A" }}
+            <span
+              class="font12 text-center"
+              :class="isConfirmed ? 'text-grey-8' : 'text-grey-6'"
+            >
+              {{
+                isConfirmed
+                  ? formattedAddress || "N/A"
+                  : $t("provider.dashboard.next_schedules.address_hidden")
+              }}
             </span>
             </span>
           </div>
           </div>
         </div>
         </div>
@@ -140,6 +147,7 @@
         </div>
         </div>
 
 
         <q-btn
         <q-btn
+          v-if="isConfirmed"
           class="q-mt-xs"
           class="q-mt-xs"
           color="primary"
           color="primary"
           dense
           dense
@@ -229,6 +237,10 @@ const dayMonthLabel = computed(() => {
 
 
 const formattedAddress = computed(() => formatAddress(props.schedule.address));
 const formattedAddress = computed(() => formatAddress(props.schedule.address));
 
 
+const isConfirmed = computed(() =>
+  ["accepted", "paid", "started", "finished"].includes(props.schedule.status),
+);
+
 const periodLabel = computed(() => {
 const periodLabel = computed(() => {
   const period = labelsPeriodTypes.find(
   const period = labelsPeriodTypes.find(
     (label) => label.value == props.schedule.period_type,
     (label) => label.value == props.schedule.period_type,

+ 1 - 0
src/i18n/locales/en.json

@@ -385,6 +385,7 @@
         "place_unknown": "Address",
         "place_unknown": "Address",
         "copy_address": "Copy address",
         "copy_address": "Copy address",
         "address_copied": "Address copied!",
         "address_copied": "Address copied!",
+        "address_hidden": "Address available after the booking is confirmed",
         "btn_cancel_service": "Cancel service",
         "btn_cancel_service": "Cancel service",
         "btn_need_help": "I need help",
         "btn_need_help": "I need help",
         "empty_alert_bold": "You do not have scheduled services right now.",
         "empty_alert_bold": "You do not have scheduled services right now.",

+ 1 - 0
src/i18n/locales/es.json

@@ -385,6 +385,7 @@
         "place_unknown": "Dirección",
         "place_unknown": "Dirección",
         "copy_address": "Copiar dirección",
         "copy_address": "Copiar dirección",
         "address_copied": "¡Dirección copiada!",
         "address_copied": "¡Dirección copiada!",
+        "address_hidden": "Dirección disponible tras la confirmación de la reserva",
         "btn_cancel_service": "Cancelar servicio",
         "btn_cancel_service": "Cancelar servicio",
         "btn_need_help": "Necesito ayuda",
         "btn_need_help": "Necesito ayuda",
         "empty_alert_bold": "En este momento todavía no tienes servicios programados.",
         "empty_alert_bold": "En este momento todavía no tienes servicios programados.",

+ 1 - 0
src/i18n/locales/pt.json

@@ -385,6 +385,7 @@
         "place_unknown": "Endereço",
         "place_unknown": "Endereço",
         "copy_address": "Copiar endereço",
         "copy_address": "Copiar endereço",
         "address_copied": "Endereço copiado!",
         "address_copied": "Endereço copiado!",
+        "address_hidden": "Endereço disponível após a confirmação do agendamento",
         "btn_cancel_service": "Cancelar serviço",
         "btn_cancel_service": "Cancelar serviço",
         "btn_need_help": "Preciso de ajuda",
         "btn_need_help": "Preciso de ajuda",
         "empty_alert_bold": "No momento, você ainda não possui serviços agendados.",
         "empty_alert_bold": "No momento, você ainda não possui serviços agendados.",

+ 6 - 1
src/pages/calendar/CalendarPage.vue

@@ -216,6 +216,7 @@
                 <q-space />
                 <q-space />
 
 
                 <q-rating
                 <q-rating
+                  v-if="item.provider_reviewed || canReview(item)"
                   :model-value="item.provider_reviewed ? item.provider_stars : 0"
                   :model-value="item.provider_reviewed ? item.provider_stars : 0"
                   :max="5"
                   :max="5"
                   class="q-mr-sm"
                   class="q-mr-sm"
@@ -227,7 +228,7 @@
                 />
                 />
 
 
                 <q-btn
                 <q-btn
-                  v-if="!item.provider_reviewed"
+                  v-if="!item.provider_reviewed && canReview(item)"
                   class="btn-rate"
                   class="btn-rate"
                   color="secondary"
                   color="secondary"
                   no-caps
                   no-caps
@@ -376,7 +377,11 @@ const openDetailsDialog = (schedule) => {
   });
   });
 };
 };
 
 
+const canReview = (item) => item.status !== 'cancelled';
+
 const openRatingDialog = (schedule) => {
 const openRatingDialog = (schedule) => {
+  if (!canReview(schedule)) return;
+
   $q.dialog({
   $q.dialog({
     component: ScheduleRatingDialog,
     component: ScheduleRatingDialog,
     componentProps: { schedule },
     componentProps: { schedule },