Przeglądaj źródła

feat: :sparkles: feat(redirecionamento-dashboard) Foi ajustado a exibição na dashboard

Foi realizado um ajuste no botão de ver todas da dashboard e tambem mudado algumas informações para a listagem referente ao botão de ver detalhes

fase:dev | origin:escopo
kayo henrique 1 miesiąc temu
rodzic
commit
13be1b64bb

+ 23 - 19
src/components/dashboard/DashboardOpportunities.vue

@@ -2,7 +2,7 @@
   <div class="q-mx-md q-mb-md">
     <div class="row items-center justify-between q-mb-sm">
       <div class="section-title gradient-diarista">{{ $t('provider.dashboard.opportunities.title') }}</div>
-      <q-btn flat no-caps color="grey-6" size="sm" :label="$t('common.see_all')" />
+      <q-btn flat no-caps color="grey-6" size="sm" :label="$t('common.see_all')"  @click="openAllOpportunities"/>
     </div>
 
     <div class="scroll-wrapper">
@@ -20,10 +20,10 @@
               </q-avatar>
               <div class="column flex-1">
                 <div class="row items-center q-gutter-x-xs">
-                  <span class="text-name ellipsis">{{ item.client_name }}</span>
+                  <span class="text-name ellipsis">{{ item.client?.user?.name }}</span>
                   <div class="row items-center">
                     <q-icon name="mdi-star" color="warning" size="14px" />
-                    <span class="text-rating text-text">{{ item.average_rating }}</span>
+                    <span class="text-rating text-text">{{ item.client?.average_rating }}</span>
                   </div>
                 </div>
                 <div class="row items-center no-wrap">
@@ -47,7 +47,7 @@
 
             <div class="row q-mt-sm justify-between">
               <div class="text-text text-primary">
-                  {{ chooseAddressType(item.address_type) }}
+                  {{ item.custom_schedule?.service_type?.description }}
               </div>
               <q-btn
                  unelevated
@@ -70,9 +70,9 @@
 <script setup>
 import { formatCurrency } from 'src/helpers/utils';
 import { labelsPeriodTypes } from 'src/helpers/arraysOptions/labelsPeriodTypes.js';
-import { useI18n } from 'vue-i18n';
- import { useQuasar } from 'quasar';
- import OpportunityDetailsDialog from 'src/pages/opportunities/components/OpportunityDetailsDialog.vue';
+import { useQuasar } from 'quasar';
+import { useRouter } from 'vue-router';
+import OpportunityDetailsDialog from 'src/pages/opportunities/components/OpportunityDetailsDialog.vue';
 
 defineProps({
   data: {
@@ -80,19 +80,33 @@ defineProps({
     default: () => []
   }
 });
-const { t } = useI18n();
+
+
 
 const $q = useQuasar();
 
+const router = useRouter();
+
+
 const openOpportunityDetails = (item) => {
   $q.dialog({
     component: OpportunityDetailsDialog,
    componentProps: {
-  opportunityId: item.id
+  opportunityId: item.custom_schedule?.id
+}
+  })
 }
+
+// botão ver todas 
+const openAllOpportunities = () => {
+  router.push({
+    name: 'OpportunitiesPage'
   })
 }
 
+
+
+
 const formatWeekday = (iso) => {
   if (!iso) return '';
   const d = new Date(iso);
@@ -105,16 +119,6 @@ const formatDayMonth = (iso) => {
   return new Date(iso).toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit' });
 };
 
-const chooseAddressType = (type) => {
-  switch(type) {
-    case 'home':
-      return t("address.types.home");
-    case 'commercial':
-      return t("address.types.commercial");
-    default:
-      return 'N/A';
-  }
-};
 </script>
 
 <style scoped lang="scss">

+ 1 - 1
src/pages/opportunities/components/OpportunityDetailsDialog.vue

@@ -207,7 +207,7 @@ const formatDate = (date) => {
 
   const [day, month, year] = date.split('/')
 
-  const parsedDate = new Date(`${year}-${month}-${day}`)
+  const parsedDate = new Date(year, month - 1, day)
 
   const formatted = parsedDate.toLocaleDateString('pt-BR', {
     weekday: 'long',