diff --git a/src/common/shared_vuejs.ts b/src/common/shared_vuejs.ts
index 96739c13..52145c23 100755
--- a/src/common/shared_vuejs.ts
+++ b/src/common/shared_vuejs.ts
@@ -194,6 +194,7 @@ export const shared_consts = {
PAGERIS: 1620,
CMYCIRCUITS: 1630,
CREA_VOLANTINO: 1700,
+ VIAGGI_WIDGET: 1720,
},
QUERYTYPE_MYGROUP: 1,
@@ -2058,6 +2059,11 @@ export const shared_consts = {
label: 'Genera Volantini',
icon: 'fas fa-user-tie',
},
+ {
+ value: 1720, // VIAGGI_WIDGET
+ label: 'Widget Viaggi',
+ icon: 'fas fa-car-side',
+ },
{
value: 120,
label: 'OpenStreetMap',
diff --git a/src/components/CMyElem/CMyElem.ts b/src/components/CMyElem/CMyElem.ts
index 1de8431d..829577fb 100755
--- a/src/components/CMyElem/CMyElem.ts
+++ b/src/components/CMyElem/CMyElem.ts
@@ -33,6 +33,7 @@ import { LandingFooter } from '@/components/LandingFooter';
import { CMyActivities } from '@/components/CMyActivities';
import { CECommerce } from '@/components/CECommerce';
import { EventPosterGenerator } from '@/components/EventPosterGenerator';
+import { RideWidget } from 'app/src/modules/viaggi/components/widgets/RideWidget';
import { CheckEmail } from '@/components/CheckEmail';
import { HomeRiso } from '@/components/HomeRiso';
import mycircuits from '@/views/user/mycircuits/mycircuits.vue';
@@ -123,6 +124,7 @@ export default defineComponent({
CStatusReg,
CDashboard,
CheckEmail,
+ RideWidget,
CMainView,
CNotifAtTop,
CPresentazione,
diff --git a/src/components/CMyElem/CMyElem.vue b/src/components/CMyElem/CMyElem.vue
index 621d1c5b..7439a8e5 100755
--- a/src/components/CMyElem/CMyElem.vue
+++ b/src/components/CMyElem/CMyElem.vue
@@ -154,6 +154,20 @@
+
{
+ const completeRideApi = async (rideId: string) => {
try {
loading.value = true;
error.value = null;
@@ -567,7 +567,7 @@ export function useRides() {
createRide,
updateRide,
deleteRide,
- completeRide,
+ completeRideApi,
fetchMyRides,
fetchStats,
diff --git a/src/modules/viaggi/pages/ChatListPage.ts b/src/modules/viaggi/pages/ChatListPage.ts
index 4426b227..5b9d84f0 100644
--- a/src/modules/viaggi/pages/ChatListPage.ts
+++ b/src/modules/viaggi/pages/ChatListPage.ts
@@ -350,13 +350,13 @@ export default defineComponent({
// ✅ Added: Start chat with user
const startChatWith = async (user: User) => {
try {
- const chat = await getOrCreateDirectChat(user._id);
+ const response = await getOrCreateDirectChat(user._id);
showUserSearch.value = false;
userSearchQuery.value = '';
searchedUsers.value = [];
- if (chat) {
- router.push(`/viaggi/chat/${chat._id}`);
+ if (response?.data) {
+ router.push(`/viaggi/chat/${response.data._id}`);
}
} catch (error) {
$q.notify({
diff --git a/src/modules/viaggi/pages/DriverProfilePage.ts b/src/modules/viaggi/pages/DriverProfilePage.ts
index 1310303b..7212188f 100644
--- a/src/modules/viaggi/pages/DriverProfilePage.ts
+++ b/src/modules/viaggi/pages/DriverProfilePage.ts
@@ -6,6 +6,7 @@ import { useChat } from '../composables/useChat';
import RideCard from '../components/ride/RideCard.vue';
import FeedbackList from '../components/feedback/FeedbackList.vue';
import type { DriverPublicProfile } from '../types';
+import { useUserStore } from 'app/src/store';
export default defineComponent({
name: 'DriverProfilePage',
@@ -33,10 +34,11 @@ export default defineComponent({
// Refs
const ridesSection = ref(null);
- const currentUserId = ref(''); // TODO: Get from auth
+ const userStore = useUserStore()
+ const currentUserId = ref(userStore.my._id);
// Computed
- const userId = computed(() => route.params.id as string);
+ const userId = computed(() => route.params.id ? route.params.id.toString() : currentUserId.value);
const isOwnProfile = computed(() => userId.value === currentUserId.value);
diff --git a/src/modules/viaggi/pages/MyRidesPage.ts b/src/modules/viaggi/pages/MyRidesPage.ts
index 46918862..6dad3792 100644
--- a/src/modules/viaggi/pages/MyRidesPage.ts
+++ b/src/modules/viaggi/pages/MyRidesPage.ts
@@ -27,7 +27,7 @@ export default defineComponent({
loading,
fetchMyRides,
deleteRide,
- completeRide: completeRideApi
+ completeRideApi,
} = useRides();
const {
@@ -159,10 +159,7 @@ export default defineComponent({
};
const openFeedbackDialog = (ride: Ride) => {
- router.push({
- name: 'leave-feedback',
- params: { rideId: ride._id }
- });
+ router.push(`/viaggi/feedback/viaggio/${ride._id}`);
};
const acceptRequest = async (request: RideRequest) => {
diff --git a/src/modules/viaggi/pages/Myfeedbackpage.vue b/src/modules/viaggi/pages/Myfeedbackpage.vue
index a95d84c3..5a18dec8 100644
--- a/src/modules/viaggi/pages/Myfeedbackpage.vue
+++ b/src/modules/viaggi/pages/Myfeedbackpage.vue
@@ -245,6 +245,7 @@ import { defineComponent, ref, computed, onMounted } from 'vue';
import { useRouter } from 'vue-router';
import { useQuasar, date as qdate } from 'quasar';
import { Api } from '@api';
+import { useAuth } from '../composables/useAuth';
interface FeedbackStats {
averageRating: number;
@@ -298,6 +299,10 @@ export default defineComponent({
const currentPage = ref(1);
const hasMore = ref(false);
+ const { user: currentUser } = useAuth();
+
+ const currentUserId = computed(() => currentUser.value?._id);
+
// Computed
const filteredFeedbacks = computed(() => {
return activeTab.value === 'received'
@@ -360,9 +365,9 @@ export default defineComponent({
try {
const [statsRes, receivedRes, givenRes] = await Promise.all([
- Api.SendReqWithData('/api/viaggi/feedback/stats', 'GET'),
- Api.SendReqWithData('/api/viaggi/feedback/received', 'GET'),
- Api.SendReqWithData('/api/viaggi/feedback/given', 'GET')
+ Api.SendReqWithData('/api/viaggi/feedback/user/' + currentUserId.value + '/stats', 'GET'),
+ Api.SendReqWithData('/api/viaggi/feedback/my/received', 'GET'),
+ Api.SendReqWithData('/api/viaggi/feedback/my/given', 'GET')
]);
if (statsRes.success) {
@@ -393,8 +398,8 @@ export default defineComponent({
try {
const endpoint = activeTab.value === 'received'
- ? '/api/viaggi/feedback/received'
- : '/api/viaggi/feedback/given';
+ ? '/api/viaggi/feedback/my/received'
+ : '/api/viaggi/feedback/my/given';
const response = await Api.SendReqWithData(`${endpoint}?page=${currentPage.value}`, 'GET');
diff --git a/src/modules/viaggi/pages/Requestspage.vue b/src/modules/viaggi/pages/Requestspage.vue
index 6ec94cfd..f10f0000 100644
--- a/src/modules/viaggi/pages/Requestspage.vue
+++ b/src/modules/viaggi/pages/Requestspage.vue
@@ -3,7 +3,13 @@