@myrjfa/state 0.3.1
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/LICENSE +201 -0
- package/README.md +21 -0
- package/dist/hooks/usePersistentDraftState.d.ts +20 -0
- package/dist/hooks/usePersistentDraftState.d.ts.map +1 -0
- package/dist/hooks/usePersistentDraftState.js +47 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/lib/QueryProvider.d.ts +4 -0
- package/dist/lib/QueryProvider.d.ts.map +1 -0
- package/dist/lib/QueryProvider.js +10 -0
- package/dist/lib/actions/actions.d.ts +192 -0
- package/dist/lib/actions/actions.d.ts.map +1 -0
- package/dist/lib/actions/actions.js +392 -0
- package/dist/lib/actions/adminDashboard.d.ts +4 -0
- package/dist/lib/actions/adminDashboard.d.ts.map +1 -0
- package/dist/lib/actions/adminDashboard.js +29 -0
- package/dist/lib/actions/adventure.d.ts +104 -0
- package/dist/lib/actions/adventure.d.ts.map +1 -0
- package/dist/lib/actions/adventure.js +203 -0
- package/dist/lib/actions/application.d.ts +35 -0
- package/dist/lib/actions/application.d.ts.map +1 -0
- package/dist/lib/actions/application.js +573 -0
- package/dist/lib/actions/auth.d.ts +286 -0
- package/dist/lib/actions/auth.d.ts.map +1 -0
- package/dist/lib/actions/auth.js +155 -0
- package/dist/lib/actions/blog.d.ts +61 -0
- package/dist/lib/actions/blog.d.ts.map +1 -0
- package/dist/lib/actions/blog.js +762 -0
- package/dist/lib/actions/booking.d.ts +45 -0
- package/dist/lib/actions/booking.d.ts.map +1 -0
- package/dist/lib/actions/booking.js +91 -0
- package/dist/lib/actions/brand.d.ts +83 -0
- package/dist/lib/actions/brand.d.ts.map +1 -0
- package/dist/lib/actions/brand.js +28 -0
- package/dist/lib/actions/chat.d.ts +266 -0
- package/dist/lib/actions/chat.d.ts.map +1 -0
- package/dist/lib/actions/chat.js +741 -0
- package/dist/lib/actions/companion.d.ts +174 -0
- package/dist/lib/actions/companion.d.ts.map +1 -0
- package/dist/lib/actions/companion.js +276 -0
- package/dist/lib/actions/event.d.ts +178 -0
- package/dist/lib/actions/event.d.ts.map +1 -0
- package/dist/lib/actions/event.js +214 -0
- package/dist/lib/actions/fetcher.d.ts +6 -0
- package/dist/lib/actions/fetcher.d.ts.map +1 -0
- package/dist/lib/actions/fetcher.js +148 -0
- package/dist/lib/actions/guide.d.ts +55 -0
- package/dist/lib/actions/guide.d.ts.map +1 -0
- package/dist/lib/actions/guide.js +128 -0
- package/dist/lib/actions/hostDashboard.d.ts +122 -0
- package/dist/lib/actions/hostDashboard.d.ts.map +1 -0
- package/dist/lib/actions/hostDashboard.js +329 -0
- package/dist/lib/actions/location.d.ts +141 -0
- package/dist/lib/actions/location.d.ts.map +1 -0
- package/dist/lib/actions/location.js +113 -0
- package/dist/lib/actions/notifications.d.ts +91 -0
- package/dist/lib/actions/notifications.d.ts.map +1 -0
- package/dist/lib/actions/notifications.js +83 -0
- package/dist/lib/actions/opportunity.d.ts +44 -0
- package/dist/lib/actions/opportunity.d.ts.map +1 -0
- package/dist/lib/actions/opportunity.js +318 -0
- package/dist/lib/actions/package.d.ts +85 -0
- package/dist/lib/actions/package.d.ts.map +1 -0
- package/dist/lib/actions/package.js +167 -0
- package/dist/lib/actions/place.d.ts +191 -0
- package/dist/lib/actions/place.d.ts.map +1 -0
- package/dist/lib/actions/place.js +57 -0
- package/dist/lib/actions/portfolio.d.ts +65 -0
- package/dist/lib/actions/portfolio.d.ts.map +1 -0
- package/dist/lib/actions/portfolio.js +62 -0
- package/dist/lib/actions/property.d.ts +17 -0
- package/dist/lib/actions/property.d.ts.map +1 -0
- package/dist/lib/actions/property.js +16 -0
- package/dist/lib/actions/rental.d.ts +87 -0
- package/dist/lib/actions/rental.d.ts.map +1 -0
- package/dist/lib/actions/rental.js +205 -0
- package/dist/lib/actions/review.d.ts +8 -0
- package/dist/lib/actions/review.d.ts.map +1 -0
- package/dist/lib/actions/review.js +102 -0
- package/dist/lib/actions/room.d.ts +39 -0
- package/dist/lib/actions/room.d.ts.map +1 -0
- package/dist/lib/actions/room.js +74 -0
- package/dist/lib/actions/serverActions.d.ts +4 -0
- package/dist/lib/actions/serverActions.d.ts.map +1 -0
- package/dist/lib/actions/serverActions.js +37 -0
- package/dist/lib/actions/socket.d.ts +7 -0
- package/dist/lib/actions/socket.d.ts.map +1 -0
- package/dist/lib/actions/socket.js +26 -0
- package/dist/lib/actions/stay.d.ts +97 -0
- package/dist/lib/actions/stay.d.ts.map +1 -0
- package/dist/lib/actions/stay.js +138 -0
- package/dist/lib/actions/travelPackage.d.ts +104 -0
- package/dist/lib/actions/travelPackage.d.ts.map +1 -0
- package/dist/lib/actions/travelPackage.js +487 -0
- package/dist/lib/actions/user.d.ts +23 -0
- package/dist/lib/actions/user.d.ts.map +1 -0
- package/dist/lib/actions/user.js +55 -0
- package/dist/lib/actions.d.ts +556 -0
- package/dist/lib/actions.d.ts.map +1 -0
- package/dist/lib/actions.js +1330 -0
- package/dist/lib/adminDashboardActions.d.ts +73 -0
- package/dist/lib/adminDashboardActions.d.ts.map +1 -0
- package/dist/lib/adminDashboardActions.js +98 -0
- package/dist/lib/adventureActions.d.ts +102 -0
- package/dist/lib/adventureActions.d.ts.map +1 -0
- package/dist/lib/adventureActions.js +202 -0
- package/dist/lib/adventureDummyData.d.ts +3 -0
- package/dist/lib/adventureDummyData.d.ts.map +1 -0
- package/dist/lib/adventureDummyData.js +138 -0
- package/dist/lib/adventureFormPage.d.ts +39 -0
- package/dist/lib/adventureFormPage.d.ts.map +1 -0
- package/dist/lib/adventureFormPage.js +70 -0
- package/dist/lib/authSessionManager.d.ts +2 -0
- package/dist/lib/authSessionManager.d.ts.map +1 -0
- package/dist/lib/authSessionManager.js +35 -0
- package/dist/lib/authorizationActions.d.ts +77 -0
- package/dist/lib/authorizationActions.d.ts.map +1 -0
- package/dist/lib/authorizationActions.js +61 -0
- package/dist/lib/brandActions.d.ts +83 -0
- package/dist/lib/brandActions.d.ts.map +1 -0
- package/dist/lib/brandActions.js +28 -0
- package/dist/lib/companionActions.d.ts +174 -0
- package/dist/lib/companionActions.d.ts.map +1 -0
- package/dist/lib/companionActions.js +276 -0
- package/dist/lib/companionDummyData.d.ts +99 -0
- package/dist/lib/companionDummyData.d.ts.map +1 -0
- package/dist/lib/companionDummyData.js +203 -0
- package/dist/lib/context/ChatContext.d.ts +51 -0
- package/dist/lib/context/ChatContext.d.ts.map +1 -0
- package/dist/lib/context/ChatContext.js +445 -0
- package/dist/lib/data/adventureDummyData.d.ts +3 -0
- package/dist/lib/data/adventureDummyData.d.ts.map +1 -0
- package/dist/lib/data/adventureDummyData.js +138 -0
- package/dist/lib/data/adventureFormPage.d.ts +28 -0
- package/dist/lib/data/adventureFormPage.d.ts.map +1 -0
- package/dist/lib/data/adventureFormPage.js +58 -0
- package/dist/lib/data/companionDummyData.d.ts +99 -0
- package/dist/lib/data/companionDummyData.d.ts.map +1 -0
- package/dist/lib/data/companionDummyData.js +203 -0
- package/dist/lib/data/countryStates.d.ts +31 -0
- package/dist/lib/data/countryStates.d.ts.map +1 -0
- package/dist/lib/data/countryStates.js +7117 -0
- package/dist/lib/data/destinations.d.ts +14 -0
- package/dist/lib/data/destinations.d.ts.map +1 -0
- package/dist/lib/data/destinations.js +203 -0
- package/dist/lib/data/eventFormPage.d.ts +38 -0
- package/dist/lib/data/eventFormPage.d.ts.map +1 -0
- package/dist/lib/data/eventFormPage.js +56 -0
- package/dist/lib/data/eventsDummyData.d.ts +54 -0
- package/dist/lib/data/eventsDummyData.d.ts.map +1 -0
- package/dist/lib/data/eventsDummyData.js +586 -0
- package/dist/lib/data/guideDummyData.d.ts +3 -0
- package/dist/lib/data/guideDummyData.d.ts.map +1 -0
- package/dist/lib/data/guideDummyData.js +66 -0
- package/dist/lib/data/opportunityFormData.d.ts +13 -0
- package/dist/lib/data/opportunityFormData.d.ts.map +1 -0
- package/dist/lib/data/opportunityFormData.js +62 -0
- package/dist/lib/data/opportunityFormPage.d.ts +12 -0
- package/dist/lib/data/opportunityFormPage.d.ts.map +1 -0
- package/dist/lib/data/opportunityFormPage.js +33 -0
- package/dist/lib/data/packageDummyData.d.ts +3 -0
- package/dist/lib/data/packageDummyData.d.ts.map +1 -0
- package/dist/lib/data/packageDummyData.js +56 -0
- package/dist/lib/data/rentalDummyData.d.ts +3 -0
- package/dist/lib/data/rentalDummyData.d.ts.map +1 -0
- package/dist/lib/data/rentalDummyData.js +382 -0
- package/dist/lib/data/rentalFormPage.d.ts +11 -0
- package/dist/lib/data/rentalFormPage.d.ts.map +1 -0
- package/dist/lib/data/rentalFormPage.js +86 -0
- package/dist/lib/data/staysDummyData.d.ts +72 -0
- package/dist/lib/data/staysDummyData.d.ts.map +1 -0
- package/dist/lib/data/staysDummyData.js +694 -0
- package/dist/lib/data/storeDummyData.d.ts +33 -0
- package/dist/lib/data/storeDummyData.d.ts.map +1 -0
- package/dist/lib/data/storeDummyData.js +336 -0
- package/dist/lib/data/travelPackageFormData.d.ts +19 -0
- package/dist/lib/data/travelPackageFormData.d.ts.map +1 -0
- package/dist/lib/data/travelPackageFormData.js +51 -0
- package/dist/lib/data/travelPackageFormPage.d.ts +22 -0
- package/dist/lib/data/travelPackageFormPage.d.ts.map +1 -0
- package/dist/lib/data/travelPackageFormPage.js +40 -0
- package/dist/lib/data/vehicleData.d.ts +2 -0
- package/dist/lib/data/vehicleData.d.ts.map +1 -0
- package/dist/lib/data/vehicleData.js +187 -0
- package/dist/lib/data/vehicleModels.d.ts +2 -0
- package/dist/lib/data/vehicleModels.d.ts.map +1 -0
- package/dist/lib/data/vehicleModels.js +128 -0
- package/dist/lib/destinations.d.ts +14 -0
- package/dist/lib/destinations.d.ts.map +1 -0
- package/dist/lib/destinations.js +203 -0
- package/dist/lib/discountActions.d.ts +43 -0
- package/dist/lib/discountActions.d.ts.map +1 -0
- package/dist/lib/discountActions.js +69 -0
- package/dist/lib/entitySubmission.d.ts +21 -0
- package/dist/lib/entitySubmission.d.ts.map +1 -0
- package/dist/lib/entitySubmission.js +10 -0
- package/dist/lib/eventActions.d.ts +176 -0
- package/dist/lib/eventActions.d.ts.map +1 -0
- package/dist/lib/eventActions.js +222 -0
- package/dist/lib/eventFormPage.d.ts +49 -0
- package/dist/lib/eventFormPage.d.ts.map +1 -0
- package/dist/lib/eventFormPage.js +84 -0
- package/dist/lib/eventsDummyData.d.ts +54 -0
- package/dist/lib/eventsDummyData.d.ts.map +1 -0
- package/dist/lib/eventsDummyData.js +586 -0
- package/dist/lib/guideActions.d.ts +53 -0
- package/dist/lib/guideActions.d.ts.map +1 -0
- package/dist/lib/guideActions.js +127 -0
- package/dist/lib/guideDummyData.d.ts +3 -0
- package/dist/lib/guideDummyData.d.ts.map +1 -0
- package/dist/lib/guideDummyData.js +66 -0
- package/dist/lib/hooks/use-mobile.d.ts +2 -0
- package/dist/lib/hooks/use-mobile.d.ts.map +1 -0
- package/dist/lib/hooks/use-mobile.js +15 -0
- package/dist/lib/hooks/useChatSocket.d.ts +6 -0
- package/dist/lib/hooks/useChatSocket.d.ts.map +1 -0
- package/dist/lib/hooks/useChatSocket.js +35 -0
- package/dist/lib/hooks/useHostCalendarSelection.d.ts +51 -0
- package/dist/lib/hooks/useHostCalendarSelection.d.ts.map +1 -0
- package/dist/lib/hooks/useHostCalendarSelection.js +200 -0
- package/dist/lib/hooks/usePersistentDraftState.d.ts +20 -0
- package/dist/lib/hooks/usePersistentDraftState.d.ts.map +1 -0
- package/dist/lib/hooks/usePersistentDraftState.js +47 -0
- package/dist/lib/hostDashboardActions.d.ts +189 -0
- package/dist/lib/hostDashboardActions.d.ts.map +1 -0
- package/dist/lib/hostDashboardActions.js +400 -0
- package/dist/lib/imageUpload.d.ts +4 -0
- package/dist/lib/imageUpload.d.ts.map +1 -0
- package/dist/lib/imageUpload.js +36 -0
- package/dist/lib/locationActions.d.ts +141 -0
- package/dist/lib/locationActions.d.ts.map +1 -0
- package/dist/lib/locationActions.js +113 -0
- package/dist/lib/loyaltyActions.d.ts +32 -0
- package/dist/lib/loyaltyActions.d.ts.map +1 -0
- package/dist/lib/loyaltyActions.js +92 -0
- package/dist/lib/models/adventure.d.ts +90 -0
- package/dist/lib/models/adventure.d.ts.map +1 -0
- package/dist/lib/models/adventure.js +1 -0
- package/dist/lib/models/application.d.ts +26 -0
- package/dist/lib/models/application.d.ts.map +1 -0
- package/dist/lib/models/application.js +130 -0
- package/dist/lib/models/authorization.d.ts +107 -0
- package/dist/lib/models/authorization.d.ts.map +1 -0
- package/dist/lib/models/authorization.js +263 -0
- package/dist/lib/models/blog.d.ts +66 -0
- package/dist/lib/models/blog.d.ts.map +1 -0
- package/dist/lib/models/blog.js +181 -0
- package/dist/lib/models/booking.d.ts +90 -0
- package/dist/lib/models/booking.d.ts.map +1 -0
- package/dist/lib/models/booking.js +1 -0
- package/dist/lib/models/chat.d.ts +384 -0
- package/dist/lib/models/chat.d.ts.map +1 -0
- package/dist/lib/models/chat.js +5 -0
- package/dist/lib/models/discount.d.ts +611 -0
- package/dist/lib/models/discount.d.ts.map +1 -0
- package/dist/lib/models/discount.js +128 -0
- package/dist/lib/models/enquiry.d.ts +34 -0
- package/dist/lib/models/enquiry.d.ts.map +1 -0
- package/dist/lib/models/enquiry.js +140 -0
- package/dist/lib/models/forms.d.ts +384 -0
- package/dist/lib/models/forms.d.ts.map +1 -0
- package/dist/lib/models/forms.js +121 -0
- package/dist/lib/models/guide.d.ts +42 -0
- package/dist/lib/models/guide.d.ts.map +1 -0
- package/dist/lib/models/guide.js +1 -0
- package/dist/lib/models/loyalty.d.ts +88 -0
- package/dist/lib/models/loyalty.d.ts.map +1 -0
- package/dist/lib/models/loyalty.js +1 -0
- package/dist/lib/models/notifications.d.ts +99 -0
- package/dist/lib/models/notifications.d.ts.map +1 -0
- package/dist/lib/models/notifications.js +63 -0
- package/dist/lib/models/opportunities/freelance.d.ts +641 -0
- package/dist/lib/models/opportunities/freelance.d.ts.map +1 -0
- package/dist/lib/models/opportunities/freelance.js +12 -0
- package/dist/lib/models/opportunities/internship.d.ts +618 -0
- package/dist/lib/models/opportunities/internship.d.ts.map +1 -0
- package/dist/lib/models/opportunities/internship.js +7 -0
- package/dist/lib/models/opportunities/job.d.ts +754 -0
- package/dist/lib/models/opportunities/job.d.ts.map +1 -0
- package/dist/lib/models/opportunities/job.js +26 -0
- package/dist/lib/models/opportunities/opportunity.d.ts +729 -0
- package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -0
- package/dist/lib/models/opportunities/opportunity.js +232 -0
- package/dist/lib/models/opportunities/volunteerJob.d.ts +595 -0
- package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -0
- package/dist/lib/models/opportunities/volunteerJob.js +5 -0
- package/dist/lib/models/package.d.ts +422 -0
- package/dist/lib/models/package.d.ts.map +1 -0
- package/dist/lib/models/package.js +58 -0
- package/dist/lib/models/portfolio.d.ts +43 -0
- package/dist/lib/models/portfolio.d.ts.map +1 -0
- package/dist/lib/models/portfolio.js +70 -0
- package/dist/lib/models/pricing.d.ts +255 -0
- package/dist/lib/models/pricing.d.ts.map +1 -0
- package/dist/lib/models/pricing.js +145 -0
- package/dist/lib/models/props.d.ts +67 -0
- package/dist/lib/models/props.d.ts.map +1 -0
- package/dist/lib/models/props.js +191 -0
- package/dist/lib/models/rental.d.ts +95 -0
- package/dist/lib/models/rental.d.ts.map +1 -0
- package/dist/lib/models/rental.js +1 -0
- package/dist/lib/models/review.d.ts +50 -0
- package/dist/lib/models/review.d.ts.map +1 -0
- package/dist/lib/models/review.js +74 -0
- package/dist/lib/models/stay.d.ts +462 -0
- package/dist/lib/models/stay.d.ts.map +1 -0
- package/dist/lib/models/stay.js +215 -0
- package/dist/lib/models/store.d.ts +71 -0
- package/dist/lib/models/store.d.ts.map +1 -0
- package/dist/lib/models/store.js +1 -0
- package/dist/lib/models/tile.d.ts +57 -0
- package/dist/lib/models/tile.d.ts.map +1 -0
- package/dist/lib/models/tile.js +1 -0
- package/dist/lib/models/travelPackage.d.ts +844 -0
- package/dist/lib/models/travelPackage.d.ts.map +1 -0
- package/dist/lib/models/travelPackage.js +324 -0
- package/dist/lib/models/user.d.ts +241 -0
- package/dist/lib/models/user.d.ts.map +1 -0
- package/dist/lib/models/user.js +115 -0
- package/dist/lib/multistepDraft.d.ts +4 -0
- package/dist/lib/multistepDraft.d.ts.map +1 -0
- package/dist/lib/multistepDraft.js +18 -0
- package/dist/lib/opportunityFormData.d.ts +13 -0
- package/dist/lib/opportunityFormData.d.ts.map +1 -0
- package/dist/lib/opportunityFormData.js +62 -0
- package/dist/lib/opportunityFormPage.d.ts +39 -0
- package/dist/lib/opportunityFormPage.d.ts.map +1 -0
- package/dist/lib/opportunityFormPage.js +34 -0
- package/dist/lib/packageActions.d.ts +86 -0
- package/dist/lib/packageActions.d.ts.map +1 -0
- package/dist/lib/packageActions.js +168 -0
- package/dist/lib/packageDummyData.d.ts +3 -0
- package/dist/lib/packageDummyData.d.ts.map +1 -0
- package/dist/lib/packageDummyData.js +57 -0
- package/dist/lib/placeActions.d.ts +192 -0
- package/dist/lib/placeActions.d.ts.map +1 -0
- package/dist/lib/placeActions.js +57 -0
- package/dist/lib/pricingActions.d.ts +13 -0
- package/dist/lib/pricingActions.d.ts.map +1 -0
- package/dist/lib/pricingActions.js +16 -0
- package/dist/lib/propertyActions.d.ts +17 -0
- package/dist/lib/propertyActions.d.ts.map +1 -0
- package/dist/lib/propertyActions.js +16 -0
- package/dist/lib/rentalActions.d.ts +86 -0
- package/dist/lib/rentalActions.d.ts.map +1 -0
- package/dist/lib/rentalActions.js +234 -0
- package/dist/lib/rentalDummyData.d.ts +3 -0
- package/dist/lib/rentalDummyData.d.ts.map +1 -0
- package/dist/lib/rentalDummyData.js +367 -0
- package/dist/lib/rentalFormPage.d.ts +46 -0
- package/dist/lib/rentalFormPage.d.ts.map +1 -0
- package/dist/lib/rentalFormPage.js +94 -0
- package/dist/lib/roomActions.d.ts +39 -0
- package/dist/lib/roomActions.d.ts.map +1 -0
- package/dist/lib/roomActions.js +74 -0
- package/dist/lib/stayActions.d.ts +97 -0
- package/dist/lib/stayActions.d.ts.map +1 -0
- package/dist/lib/stayActions.js +138 -0
- package/dist/lib/staysDummyData.d.ts +72 -0
- package/dist/lib/staysDummyData.d.ts.map +1 -0
- package/dist/lib/staysDummyData.js +694 -0
- package/dist/lib/storeActions.d.ts +25 -0
- package/dist/lib/storeActions.d.ts.map +1 -0
- package/dist/lib/storeActions.js +46 -0
- package/dist/lib/storeDummyData.d.ts +9 -0
- package/dist/lib/storeDummyData.d.ts.map +1 -0
- package/dist/lib/storeDummyData.js +336 -0
- package/dist/lib/travelPackageActions.d.ts +102 -0
- package/dist/lib/travelPackageActions.d.ts.map +1 -0
- package/dist/lib/travelPackageActions.js +487 -0
- package/dist/lib/travelPackageFormData.d.ts +20 -0
- package/dist/lib/travelPackageFormData.d.ts.map +1 -0
- package/dist/lib/travelPackageFormData.js +54 -0
- package/dist/lib/travelPackageFormPage.d.ts +32 -0
- package/dist/lib/travelPackageFormPage.d.ts.map +1 -0
- package/dist/lib/travelPackageFormPage.js +43 -0
- package/dist/lib/userAtom.d.ts +294 -0
- package/dist/lib/userAtom.d.ts.map +1 -0
- package/dist/lib/userAtom.js +139 -0
- package/dist/lib/util.d.ts +11 -0
- package/dist/lib/util.d.ts.map +1 -0
- package/dist/lib/util.js +82 -0
- package/dist/lib/utils/entitySubmission.d.ts +21 -0
- package/dist/lib/utils/entitySubmission.d.ts.map +1 -0
- package/dist/lib/utils/entitySubmission.js +10 -0
- package/dist/lib/utils/fileCompression.d.ts +16 -0
- package/dist/lib/utils/fileCompression.d.ts.map +1 -0
- package/dist/lib/utils/fileCompression.js +56 -0
- package/dist/lib/utils/imageUpload.d.ts +4 -0
- package/dist/lib/utils/imageUpload.d.ts.map +1 -0
- package/dist/lib/utils/imageUpload.js +36 -0
- package/dist/lib/utils/socialMediaUrl.d.ts +25 -0
- package/dist/lib/utils/socialMediaUrl.d.ts.map +1 -0
- package/dist/lib/utils/socialMediaUrl.js +97 -0
- package/dist/lib/utils/tileConverters.d.ts +8 -0
- package/dist/lib/utils/tileConverters.d.ts.map +1 -0
- package/dist/lib/utils/tileConverters.js +59 -0
- package/dist/lib/utils.d.ts +53 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +183 -0
- package/dist/lib/vehicleData.d.ts +2 -0
- package/dist/lib/vehicleData.d.ts.map +1 -0
- package/dist/lib/vehicleData.js +181 -0
- package/dist/lib/vehicleModels.d.ts +2 -0
- package/dist/lib/vehicleModels.d.ts.map +1 -0
- package/dist/lib/vehicleModels.js +128 -0
- package/package.json +61 -0
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use server";
|
|
2
|
+
import { cookies } from "next/headers";
|
|
3
|
+
const API_BASE = process.env.NEXT_PUBLIC_API_URL ?? "http://localhost:8000/api/v1";
|
|
4
|
+
async function authFetch(path, options = {}) {
|
|
5
|
+
try {
|
|
6
|
+
const cookieStore = await cookies();
|
|
7
|
+
const allCookies = cookieStore
|
|
8
|
+
.getAll()
|
|
9
|
+
.map((c) => `${c.name}=${c.value}`)
|
|
10
|
+
.join("; ");
|
|
11
|
+
const url = `${API_BASE}/companion${path}`;
|
|
12
|
+
const res = await fetch(url, {
|
|
13
|
+
...options,
|
|
14
|
+
headers: {
|
|
15
|
+
"Content-Type": "application/json",
|
|
16
|
+
Cookie: allCookies,
|
|
17
|
+
...options.headers,
|
|
18
|
+
},
|
|
19
|
+
cache: "no-store",
|
|
20
|
+
});
|
|
21
|
+
if (!res.ok) {
|
|
22
|
+
const errBody = await res.json().catch(() => ({}));
|
|
23
|
+
console.error(`authFetch error [${res.status}] ${url}:`, errBody);
|
|
24
|
+
}
|
|
25
|
+
return (await res.json());
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
console.error(`authFetch exception ${path}:`, err);
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// ── Travel Profile ──────────────────────────────────────────────────────────────
|
|
33
|
+
export async function getMyTravelProfile() {
|
|
34
|
+
try {
|
|
35
|
+
const data = await authFetch("/profile/me");
|
|
36
|
+
if (data.statusCode >= 400)
|
|
37
|
+
return { success: false, error: data.message };
|
|
38
|
+
return { success: true, profile: data.data };
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return { success: false, error: "Failed to fetch profile" };
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export async function saveMyTravelProfile(profileData) {
|
|
45
|
+
try {
|
|
46
|
+
const data = await authFetch("/profile", {
|
|
47
|
+
method: "POST",
|
|
48
|
+
body: JSON.stringify(profileData),
|
|
49
|
+
});
|
|
50
|
+
if (data.statusCode >= 400)
|
|
51
|
+
return { success: false, error: data.message };
|
|
52
|
+
return { success: true, profile: data.data };
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return { success: false, error: "Failed to save profile" };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// ── Travel Plans ────────────────────────────────────────────────────────────────
|
|
59
|
+
export async function createTravelPlan(planData) {
|
|
60
|
+
try {
|
|
61
|
+
const data = await authFetch("/plans", {
|
|
62
|
+
method: "POST",
|
|
63
|
+
body: JSON.stringify(planData),
|
|
64
|
+
});
|
|
65
|
+
if (data.statusCode >= 400)
|
|
66
|
+
return { success: false, error: data.message };
|
|
67
|
+
return { success: true, plan: data.data };
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return { success: false, error: "Failed to create travel plan" };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export async function getTravelPlans(filters = {}) {
|
|
74
|
+
try {
|
|
75
|
+
const query = new URLSearchParams(filters).toString();
|
|
76
|
+
const data = await authFetch(`/plans${query ? `?${query}` : ""}`);
|
|
77
|
+
if (data.statusCode >= 400)
|
|
78
|
+
return { success: false, error: data.message, plans: [] };
|
|
79
|
+
return { success: true, plans: data.data?.plans ?? data.data ?? [], total: data.data?.total ?? 0 };
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return { success: false, error: "Failed to fetch plans", plans: [] };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export async function getTravelPlan(id) {
|
|
86
|
+
try {
|
|
87
|
+
const data = await authFetch(`/plans/${id}`);
|
|
88
|
+
if (data.statusCode >= 400)
|
|
89
|
+
return { success: false, error: data.message };
|
|
90
|
+
return { success: true, plan: data.data };
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return { success: false, error: "Failed to fetch plan" };
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export async function updateTravelPlan(id, planData) {
|
|
97
|
+
try {
|
|
98
|
+
const data = await authFetch(`/plans/${id}`, {
|
|
99
|
+
method: "PUT",
|
|
100
|
+
body: JSON.stringify(planData),
|
|
101
|
+
});
|
|
102
|
+
if (data.statusCode >= 400)
|
|
103
|
+
return { success: false, error: data.message };
|
|
104
|
+
return { success: true, plan: data.data };
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return { success: false, error: "Failed to update plan" };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export async function deleteTravelPlan(id) {
|
|
111
|
+
try {
|
|
112
|
+
const data = await authFetch(`/plans/${id}`, { method: "DELETE" });
|
|
113
|
+
if (data.statusCode >= 400)
|
|
114
|
+
return { success: false, error: data.message };
|
|
115
|
+
return { success: true, message: data.message };
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return { success: false, error: "Failed to delete plan" };
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
export async function toggleLikePlan(id) {
|
|
122
|
+
try {
|
|
123
|
+
const data = await authFetch(`/plans/${id}/like`, { method: "POST" });
|
|
124
|
+
if (data.statusCode >= 400)
|
|
125
|
+
return { success: false, error: data.message };
|
|
126
|
+
return { success: true, isLiked: data.data?.isLiked };
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
return { success: false, error: "Failed to like plan" };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
export async function getMyTravelPlans() {
|
|
133
|
+
try {
|
|
134
|
+
const data = await authFetch("/plans/mine");
|
|
135
|
+
if (data.statusCode >= 400)
|
|
136
|
+
return { success: false, error: data.message, plans: [] };
|
|
137
|
+
return { success: true, plans: data.data?.plans ?? data.data ?? [] };
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
return { success: false, error: "Failed to fetch my plans", plans: [] };
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
export async function getMySentRequests() {
|
|
144
|
+
try {
|
|
145
|
+
const data = await authFetch("/requests/mine");
|
|
146
|
+
if (data.statusCode >= 400)
|
|
147
|
+
return { success: false, error: data.message, requests: [] };
|
|
148
|
+
return { success: true, requests: data.data ?? [] };
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return { success: false, error: "Failed to fetch sent requests", requests: [] };
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// ── Join Requests ───────────────────────────────────────────────────────────────
|
|
155
|
+
export async function sendJoinRequest(planId, message) {
|
|
156
|
+
try {
|
|
157
|
+
const data = await authFetch(`/plans/${planId}/join`, {
|
|
158
|
+
method: "POST",
|
|
159
|
+
body: JSON.stringify({ message }),
|
|
160
|
+
});
|
|
161
|
+
if (data.statusCode >= 400)
|
|
162
|
+
return { success: false, error: data.message };
|
|
163
|
+
return { success: true, request: data.data };
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return { success: false, error: "Failed to send join request" };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
export async function getJoinRequests(planId) {
|
|
170
|
+
try {
|
|
171
|
+
const data = await authFetch(`/plans/${planId}/join`);
|
|
172
|
+
if (data.statusCode >= 400)
|
|
173
|
+
return { success: false, error: data.message, requests: [] };
|
|
174
|
+
return { success: true, requests: data.data ?? [] };
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return { success: false, error: "Failed to fetch requests", requests: [] };
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
export async function handleJoinRequest(planId, requestId, action) {
|
|
181
|
+
try {
|
|
182
|
+
const data = await authFetch(`/plans/${planId}/join/${requestId}`, {
|
|
183
|
+
method: "PUT",
|
|
184
|
+
body: JSON.stringify({ action }),
|
|
185
|
+
});
|
|
186
|
+
if (data.statusCode >= 400)
|
|
187
|
+
return { success: false, error: data.message };
|
|
188
|
+
return { success: true };
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return { success: false, error: "Failed to handle request" };
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// ── Swipe Discovery ─────────────────────────────────────────────────────────────
|
|
195
|
+
export async function discoverTrips(filters = {}) {
|
|
196
|
+
try {
|
|
197
|
+
const query = new URLSearchParams(filters).toString();
|
|
198
|
+
const data = await authFetch(`/trips/discover${query ? `?${query}` : ""}`);
|
|
199
|
+
if (data.statusCode >= 400)
|
|
200
|
+
return { success: false, error: data.message, trips: [] };
|
|
201
|
+
return { success: true, trips: data.data ?? [] };
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
return { success: false, error: "Failed to discover trips", trips: [] };
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
export async function swipeTrip(travelPlanId, action) {
|
|
208
|
+
try {
|
|
209
|
+
const data = await authFetch(`/trips/swipe`, {
|
|
210
|
+
method: "POST",
|
|
211
|
+
body: JSON.stringify({ travelPlanId, action }),
|
|
212
|
+
});
|
|
213
|
+
if (data.statusCode >= 400)
|
|
214
|
+
return { success: false, error: data.message };
|
|
215
|
+
return { success: true, joinRequestSent: data.data?.joinRequestSent ?? false };
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
return { success: false, error: "Failed to swipe trip" };
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
export async function discoverTravelers() {
|
|
222
|
+
try {
|
|
223
|
+
const data = await authFetch("/travelers/discover");
|
|
224
|
+
if (data.statusCode >= 400)
|
|
225
|
+
return { success: false, error: data.message, travelers: [] };
|
|
226
|
+
return { success: true, travelers: data.data ?? [] };
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
return { success: false, error: "Failed to discover travelers", travelers: [] };
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
export async function swipeTraveler(targetUserId, action) {
|
|
233
|
+
try {
|
|
234
|
+
const data = await authFetch(`/travelers/swipe`, {
|
|
235
|
+
method: "POST",
|
|
236
|
+
body: JSON.stringify({ targetUserId, action }),
|
|
237
|
+
});
|
|
238
|
+
if (data.statusCode >= 400)
|
|
239
|
+
return { success: false, error: data.message };
|
|
240
|
+
return {
|
|
241
|
+
success: true,
|
|
242
|
+
matched: data.data?.matched ?? false,
|
|
243
|
+
matchScore: data.data?.matchScore ?? 0,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
return { success: false, error: "Failed to swipe traveler" };
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// ── Matches ─────────────────────────────────────────────────────────────────────
|
|
251
|
+
export async function getMyMatches() {
|
|
252
|
+
try {
|
|
253
|
+
const data = await authFetch("/matches");
|
|
254
|
+
if (data.statusCode >= 400)
|
|
255
|
+
return { success: false, error: data.message, matches: [] };
|
|
256
|
+
return { success: true, matches: data.data ?? [] };
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
return { success: false, error: "Failed to fetch matches", matches: [] };
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
// ── Safety ──────────────────────────────────────────────────────────────────────
|
|
263
|
+
export async function blockCompanionUser(targetUserId) {
|
|
264
|
+
try {
|
|
265
|
+
const data = await authFetch("/block", {
|
|
266
|
+
method: "POST",
|
|
267
|
+
body: JSON.stringify({ targetUserId }),
|
|
268
|
+
});
|
|
269
|
+
if (data.statusCode >= 400)
|
|
270
|
+
return { success: false, error: data.message };
|
|
271
|
+
return { success: true, message: data.message };
|
|
272
|
+
}
|
|
273
|
+
catch {
|
|
274
|
+
return { success: false, error: "Failed to block user" };
|
|
275
|
+
}
|
|
276
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export declare const dummyTravelPlans: {
|
|
2
|
+
_id: string;
|
|
3
|
+
destination: {
|
|
4
|
+
city: string;
|
|
5
|
+
state: string;
|
|
6
|
+
country: string;
|
|
7
|
+
};
|
|
8
|
+
startDate: string;
|
|
9
|
+
endDate: string;
|
|
10
|
+
budgetRange: {
|
|
11
|
+
min: number;
|
|
12
|
+
max: number;
|
|
13
|
+
};
|
|
14
|
+
travelStyle: string;
|
|
15
|
+
interests: string[];
|
|
16
|
+
description: string;
|
|
17
|
+
maxTravelers: number;
|
|
18
|
+
participants: {
|
|
19
|
+
_id: string;
|
|
20
|
+
profilePic: string;
|
|
21
|
+
}[];
|
|
22
|
+
images: string[];
|
|
23
|
+
compatibilityScore: number;
|
|
24
|
+
compatibilityReasons: string[];
|
|
25
|
+
createdBy: {
|
|
26
|
+
_id: string;
|
|
27
|
+
firstName: string;
|
|
28
|
+
username: string;
|
|
29
|
+
profilePic: string;
|
|
30
|
+
verifiedPhoneNumber: boolean;
|
|
31
|
+
};
|
|
32
|
+
status: string;
|
|
33
|
+
likes: string[];
|
|
34
|
+
myJoinStatus: string;
|
|
35
|
+
isMine: boolean;
|
|
36
|
+
}[];
|
|
37
|
+
export declare const dummyTravelers: {
|
|
38
|
+
userId: string;
|
|
39
|
+
user: {
|
|
40
|
+
firstName: string;
|
|
41
|
+
lastName: string;
|
|
42
|
+
username: string;
|
|
43
|
+
profilePic: string;
|
|
44
|
+
};
|
|
45
|
+
travelStyle: string;
|
|
46
|
+
bio: string;
|
|
47
|
+
interests: string[];
|
|
48
|
+
destinations: string[];
|
|
49
|
+
languages: string[];
|
|
50
|
+
matchScore: number;
|
|
51
|
+
matchReasons: string[];
|
|
52
|
+
}[];
|
|
53
|
+
export declare const dummyMyPlans: {
|
|
54
|
+
_id: string;
|
|
55
|
+
destination: {
|
|
56
|
+
city: string;
|
|
57
|
+
state: string;
|
|
58
|
+
country: string;
|
|
59
|
+
};
|
|
60
|
+
startDate: string;
|
|
61
|
+
endDate: string;
|
|
62
|
+
budgetRange: {
|
|
63
|
+
min: number;
|
|
64
|
+
max: number;
|
|
65
|
+
};
|
|
66
|
+
travelStyle: string;
|
|
67
|
+
interests: string[];
|
|
68
|
+
description: string;
|
|
69
|
+
maxTravelers: number;
|
|
70
|
+
participants: {
|
|
71
|
+
_id: string;
|
|
72
|
+
profilePic: string;
|
|
73
|
+
}[];
|
|
74
|
+
images: string[];
|
|
75
|
+
compatibilityScore: number;
|
|
76
|
+
compatibilityReasons: never[];
|
|
77
|
+
createdBy: {
|
|
78
|
+
_id: string;
|
|
79
|
+
firstName: string;
|
|
80
|
+
username: string;
|
|
81
|
+
profilePic: string;
|
|
82
|
+
verifiedPhoneNumber: boolean;
|
|
83
|
+
};
|
|
84
|
+
status: string;
|
|
85
|
+
likes: string[];
|
|
86
|
+
myJoinStatus: string;
|
|
87
|
+
isMine: boolean;
|
|
88
|
+
}[];
|
|
89
|
+
export declare const dummyJoinRequests: {
|
|
90
|
+
_id: string;
|
|
91
|
+
userId: {
|
|
92
|
+
firstName: string;
|
|
93
|
+
lastName: string;
|
|
94
|
+
profilePic: string;
|
|
95
|
+
};
|
|
96
|
+
message: string;
|
|
97
|
+
status: string;
|
|
98
|
+
}[];
|
|
99
|
+
//# sourceMappingURL=companionDummyData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"companionDummyData.d.ts","sourceRoot":"","sources":["../../src/lib/companionDummyData.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqG5B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;GAiD1B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BxB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;GAsB7B,CAAC"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
export const dummyTravelPlans = [
|
|
2
|
+
{
|
|
3
|
+
_id: "plan-1",
|
|
4
|
+
destination: { city: "Bali", state: "Bali", country: "Indonesia" },
|
|
5
|
+
startDate: new Date(Date.now() + 15 * 24 * 60 * 60 * 1000).toISOString(),
|
|
6
|
+
endDate: new Date(Date.now() + 25 * 24 * 60 * 60 * 1000).toISOString(),
|
|
7
|
+
budgetRange: { min: 40000, max: 80000 },
|
|
8
|
+
travelStyle: "flashpacker",
|
|
9
|
+
interests: ["surfing", "yoga", "food", "culture"],
|
|
10
|
+
description: "Planning to explore the beaches, temples, and rice terraces of Bali. Looking for someone adventurous to share the cost of a nice villa and join me on hikes and surfing sessions!",
|
|
11
|
+
maxTravelers: 4,
|
|
12
|
+
participants: [
|
|
13
|
+
{ _id: "user-0", profilePic: "/images/profile_placeholder.webp" },
|
|
14
|
+
],
|
|
15
|
+
images: [
|
|
16
|
+
"https://images.unsplash.com/photo-1537996194471-e657df975ab4?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80",
|
|
17
|
+
],
|
|
18
|
+
compatibilityScore: 85,
|
|
19
|
+
compatibilityReasons: [
|
|
20
|
+
"You both love surfing",
|
|
21
|
+
"Matched travel style: flashpacker",
|
|
22
|
+
],
|
|
23
|
+
createdBy: {
|
|
24
|
+
_id: "user-0",
|
|
25
|
+
firstName: "Aarav",
|
|
26
|
+
username: "aarav_travels",
|
|
27
|
+
profilePic: "/images/profile_placeholder.webp",
|
|
28
|
+
verifiedPhoneNumber: true,
|
|
29
|
+
},
|
|
30
|
+
status: "open",
|
|
31
|
+
likes: ["user-a", "user-b"],
|
|
32
|
+
myJoinStatus: "none",
|
|
33
|
+
isMine: false,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
_id: "plan-2",
|
|
37
|
+
destination: { city: "Leh", state: "Ladakh", country: "India" },
|
|
38
|
+
startDate: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
|
|
39
|
+
endDate: new Date(Date.now() + 40 * 24 * 60 * 60 * 1000).toISOString(),
|
|
40
|
+
budgetRange: { min: 25000, max: 45000 },
|
|
41
|
+
travelStyle: "backpacker",
|
|
42
|
+
interests: ["trekking", "photography", "adventure"],
|
|
43
|
+
description: "Road trip across Ladakh! Will be renting Royal Enfields. Looking for fellow riders who are comfortable with high altitudes and basic homestays.",
|
|
44
|
+
maxTravelers: 6,
|
|
45
|
+
participants: [
|
|
46
|
+
{ _id: "user-1", profilePic: "/images/profile_placeholder.webp" },
|
|
47
|
+
{ _id: "user-2", profilePic: "/images/profile_placeholder.webp" },
|
|
48
|
+
],
|
|
49
|
+
images: [
|
|
50
|
+
"https://images.unsplash.com/photo-1626601323380-498c8c6cfd89?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80",
|
|
51
|
+
],
|
|
52
|
+
compatibilityScore: 92,
|
|
53
|
+
compatibilityReasons: [
|
|
54
|
+
"Both interested in trekking",
|
|
55
|
+
"Highly compatible age group",
|
|
56
|
+
],
|
|
57
|
+
createdBy: {
|
|
58
|
+
_id: "user-1",
|
|
59
|
+
firstName: "Rohan",
|
|
60
|
+
username: "rohan_rides",
|
|
61
|
+
profilePic: "/images/profile_placeholder.webp",
|
|
62
|
+
verifiedPhoneNumber: true,
|
|
63
|
+
},
|
|
64
|
+
status: "open",
|
|
65
|
+
likes: ["user-c"],
|
|
66
|
+
myJoinStatus: "none",
|
|
67
|
+
isMine: false,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
_id: "plan-3",
|
|
71
|
+
destination: { city: "Tokyo", state: "Tokyo", country: "Japan" },
|
|
72
|
+
startDate: new Date(Date.now() + 60 * 24 * 60 * 60 * 1000).toISOString(),
|
|
73
|
+
endDate: new Date(Date.now() + 70 * 24 * 60 * 60 * 1000).toISOString(),
|
|
74
|
+
budgetRange: { min: 80000, max: 150000 },
|
|
75
|
+
travelStyle: "mid-range",
|
|
76
|
+
interests: ["food", "culture", "shopping", "nightlife"],
|
|
77
|
+
description: "First time in Japan! I want to visit Tokyo, Kyoto, and Osaka. Looking for 1-2 travel buddies to split accommodation and explore the incredible food scene.",
|
|
78
|
+
maxTravelers: 3,
|
|
79
|
+
participants: [
|
|
80
|
+
{ _id: "user-3", profilePic: "/images/profile_placeholder.webp" },
|
|
81
|
+
],
|
|
82
|
+
images: [
|
|
83
|
+
"https://images.unsplash.com/photo-1540959733332-eab4deabeeaf?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80",
|
|
84
|
+
],
|
|
85
|
+
compatibilityScore: 65,
|
|
86
|
+
compatibilityReasons: ["Shared interest in food"],
|
|
87
|
+
createdBy: {
|
|
88
|
+
_id: "user-3",
|
|
89
|
+
firstName: "Priya",
|
|
90
|
+
username: "priya_explores",
|
|
91
|
+
profilePic: "/images/profile_placeholder.webp",
|
|
92
|
+
verifiedPhoneNumber: false,
|
|
93
|
+
},
|
|
94
|
+
status: "open",
|
|
95
|
+
likes: [],
|
|
96
|
+
myJoinStatus: "none",
|
|
97
|
+
isMine: false,
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
export const dummyTravelers = [
|
|
101
|
+
{
|
|
102
|
+
userId: "user-10",
|
|
103
|
+
user: {
|
|
104
|
+
firstName: "Kabir",
|
|
105
|
+
lastName: "S",
|
|
106
|
+
username: "kabir99",
|
|
107
|
+
profilePic: "/images/profile_placeholder.webp",
|
|
108
|
+
},
|
|
109
|
+
travelStyle: "backpacker",
|
|
110
|
+
bio: "Software engineer by day, mountain lover by weekend. Always looking for the next hiking trail.",
|
|
111
|
+
interests: ["trekking", "nature", "photography"],
|
|
112
|
+
destinations: ["Himalayas", "Nepal", "Patagonia"],
|
|
113
|
+
languages: ["English", "Hindi"],
|
|
114
|
+
matchScore: 88,
|
|
115
|
+
matchReasons: ["You both love trekking", "Similar travel style"],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
userId: "user-11",
|
|
119
|
+
user: {
|
|
120
|
+
firstName: "Ananya",
|
|
121
|
+
lastName: "M",
|
|
122
|
+
username: "ananya_m",
|
|
123
|
+
profilePic: "/images/profile_placeholder.webp",
|
|
124
|
+
},
|
|
125
|
+
travelStyle: "luxury",
|
|
126
|
+
bio: "I travel for the food and the resorts. Let's find the best spas and fine dining spots!",
|
|
127
|
+
interests: ["food", "wellness", "shopping"],
|
|
128
|
+
destinations: ["Maldives", "Paris", "Dubai"],
|
|
129
|
+
languages: ["English", "French"],
|
|
130
|
+
matchScore: 45,
|
|
131
|
+
matchReasons: ["Shared interest in food"],
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
userId: "user-12",
|
|
135
|
+
user: {
|
|
136
|
+
firstName: "Vikram",
|
|
137
|
+
lastName: "K",
|
|
138
|
+
username: "vikram.k",
|
|
139
|
+
profilePic: "/images/profile_placeholder.webp",
|
|
140
|
+
},
|
|
141
|
+
travelStyle: "mid-range",
|
|
142
|
+
bio: "History buff who loves exploring old ruins and museums. Easy-going and flexible planner.",
|
|
143
|
+
interests: ["history", "culture", "architecture"],
|
|
144
|
+
destinations: ["Rome", "Egypt", "Cambodia"],
|
|
145
|
+
languages: ["English", "Hindi", "Spanish"],
|
|
146
|
+
matchScore: 72,
|
|
147
|
+
matchReasons: ["High personality compatibility"],
|
|
148
|
+
},
|
|
149
|
+
];
|
|
150
|
+
export const dummyMyPlans = [
|
|
151
|
+
{
|
|
152
|
+
_id: "plan-my-1",
|
|
153
|
+
destination: { city: "Goa", state: "Goa", country: "India" },
|
|
154
|
+
startDate: new Date(Date.now() + 5 * 24 * 60 * 60 * 1000).toISOString(),
|
|
155
|
+
endDate: new Date(Date.now() + 10 * 24 * 60 * 60 * 1000).toISOString(),
|
|
156
|
+
budgetRange: { min: 15000, max: 25000 },
|
|
157
|
+
travelStyle: "budget",
|
|
158
|
+
interests: ["nightlife", "beaches"],
|
|
159
|
+
description: "Quick weekend escape to North Goa.",
|
|
160
|
+
maxTravelers: 4,
|
|
161
|
+
participants: [
|
|
162
|
+
{ _id: "me", profilePic: "/images/profile_placeholder.webp" },
|
|
163
|
+
],
|
|
164
|
+
images: [
|
|
165
|
+
"https://images.unsplash.com/photo-1512343879784-a960bf40e7f2?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80",
|
|
166
|
+
],
|
|
167
|
+
compatibilityScore: 0,
|
|
168
|
+
compatibilityReasons: [],
|
|
169
|
+
createdBy: {
|
|
170
|
+
_id: "me",
|
|
171
|
+
firstName: "You",
|
|
172
|
+
username: "you",
|
|
173
|
+
profilePic: "/images/profile_placeholder.webp",
|
|
174
|
+
verifiedPhoneNumber: true,
|
|
175
|
+
},
|
|
176
|
+
status: "open",
|
|
177
|
+
likes: ["user-x", "user-y"],
|
|
178
|
+
myJoinStatus: "accepted",
|
|
179
|
+
isMine: true,
|
|
180
|
+
},
|
|
181
|
+
];
|
|
182
|
+
export const dummyJoinRequests = [
|
|
183
|
+
{
|
|
184
|
+
_id: "req-1",
|
|
185
|
+
userId: {
|
|
186
|
+
firstName: "Rahul",
|
|
187
|
+
lastName: "T",
|
|
188
|
+
profilePic: "/images/profile_placeholder.webp",
|
|
189
|
+
},
|
|
190
|
+
message: "Hey, your plan sounds awesome! I have been to Goa before and know some good hidden spots.",
|
|
191
|
+
status: "pending",
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
_id: "req-2",
|
|
195
|
+
userId: {
|
|
196
|
+
firstName: "Neha",
|
|
197
|
+
lastName: "S",
|
|
198
|
+
profilePic: "/images/profile_placeholder.webp",
|
|
199
|
+
},
|
|
200
|
+
message: "Would love to join for the nightlife!",
|
|
201
|
+
status: "pending",
|
|
202
|
+
},
|
|
203
|
+
];
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { Socket } from "socket.io-client";
|
|
3
|
+
import { type ChatActorModel, type Conversation, type Message, type Poll } from "../models/chat";
|
|
4
|
+
import type { Notif } from "../models/notifications";
|
|
5
|
+
export interface ConversationListParams {
|
|
6
|
+
filter?: "all" | "unread" | "hosts" | "groups" | "favourites" | "archived";
|
|
7
|
+
q?: string;
|
|
8
|
+
before?: string;
|
|
9
|
+
limit?: number;
|
|
10
|
+
}
|
|
11
|
+
interface ChatContextType {
|
|
12
|
+
socket: Socket | null;
|
|
13
|
+
isConnected: boolean;
|
|
14
|
+
conversations: Conversation[];
|
|
15
|
+
activeConversation: Conversation | null;
|
|
16
|
+
setActiveConversation: (conversation: Conversation | null) => void;
|
|
17
|
+
messages: Message[];
|
|
18
|
+
setMessages: React.Dispatch<React.SetStateAction<Message[]>>;
|
|
19
|
+
typingUsers: Map<string, string[]>;
|
|
20
|
+
onlineUsers: Set<string>;
|
|
21
|
+
refreshConversations: (params?: ConversationListParams) => Promise<void>;
|
|
22
|
+
sendMessage: (conversationId: string, text: string, files?: File[], replyTo?: string, options?: {
|
|
23
|
+
mentions?: Array<{
|
|
24
|
+
actorId: string;
|
|
25
|
+
actorModel: ChatActorModel;
|
|
26
|
+
}>;
|
|
27
|
+
type?: "text" | "media" | "announcement";
|
|
28
|
+
}) => Promise<void>;
|
|
29
|
+
createPoll: (conversationId: string, question: string, options: string[], allowMultiple: boolean) => void;
|
|
30
|
+
votePoll: (pollId: string, optionIndex: number) => Promise<Poll | null>;
|
|
31
|
+
updatePoll: (pollId: string, data: {
|
|
32
|
+
question: string;
|
|
33
|
+
options: string[];
|
|
34
|
+
allowMultiple: boolean;
|
|
35
|
+
}) => Promise<Poll | null>;
|
|
36
|
+
editMessage: (messageId: string, text: string) => void;
|
|
37
|
+
toggleMessageReaction: (messageId: string, reaction?: string) => void;
|
|
38
|
+
deleteMessage: (messageId: string) => void;
|
|
39
|
+
markRead: (conversationId: string, unreadIds: string[]) => void;
|
|
40
|
+
unreadNotificationCount: number;
|
|
41
|
+
notifications: Notif[];
|
|
42
|
+
clearNotifications: () => void;
|
|
43
|
+
eventRevision: number;
|
|
44
|
+
paymentRevision: number;
|
|
45
|
+
}
|
|
46
|
+
export declare const useChatContext: () => ChatContextType;
|
|
47
|
+
export declare function ChatProvider({ children }: {
|
|
48
|
+
children: React.ReactNode;
|
|
49
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=ChatContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../../src/lib/context/ChatContext.tsx"],"names":[],"mappings":"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"}
|