@myrjfa/ui 2.1.8 → 2.2.0
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/dist/chat/ChatMain.d.ts +1 -1
- package/dist/chat/ChatMain.d.ts.map +1 -1
- package/dist/chat/ChatMain.js +3 -3
- package/dist/chat/ChatSidebar.d.ts +1 -1
- package/dist/chat/ChatSidebar.d.ts.map +1 -1
- package/dist/chat/ConversationList.d.ts +1 -1
- package/dist/chat/ConversationList.d.ts.map +1 -1
- package/dist/chat/ConversationList.js +1 -1
- package/dist/chat/ExpensePanel.js +1 -1
- package/dist/chat/MessageBubble.d.ts +1 -1
- package/dist/chat/MessageBubble.d.ts.map +1 -1
- package/dist/chat/MessageInput.js +1 -1
- package/dist/chat/MilestonePanel.js +1 -1
- package/dist/chat/components/SplitInputs.d.ts +1 -1
- package/dist/chat/components/SplitInputs.d.ts.map +1 -1
- package/dist/chat/components/SplitTypeSelector.d.ts +1 -1
- package/dist/chat/components/SplitTypeSelector.d.ts.map +1 -1
- package/dist/chat/dialogs/AddMemberDialog.d.ts +1 -1
- package/dist/chat/dialogs/AddMemberDialog.d.ts.map +1 -1
- package/dist/chat/dialogs/AddMemberDialog.js +1 -1
- package/dist/chat/dialogs/ExpenseAnalyticsDialog.js +1 -1
- package/dist/chat/dialogs/GroupInfoDialog.d.ts +1 -1
- package/dist/chat/dialogs/GroupInfoDialog.d.ts.map +1 -1
- package/dist/chat/dialogs/GroupInfoDialog.js +1 -1
- package/dist/chat/dialogs/GroupInfoViewDialog.d.ts +1 -1
- package/dist/chat/dialogs/GroupInfoViewDialog.d.ts.map +1 -1
- package/dist/chat/dialogs/NewChatDialog.js +2 -2
- package/dist/chat/dialogs/NewGroupDialog.js +2 -2
- package/dist/chat/dialogs/ParticipantsDialog.d.ts +1 -1
- package/dist/chat/dialogs/ParticipantsDialog.d.ts.map +1 -1
- package/dist/chat/dialogs/ParticipantsDialog.js +1 -1
- package/dist/components/CityAutocomplete.d.ts +5 -0
- package/dist/components/CityAutocomplete.d.ts.map +1 -0
- package/dist/components/CityAutocomplete.js +112 -0
- package/dist/components/CreateListingDropdown.d.ts +5 -0
- package/dist/components/CreateListingDropdown.d.ts.map +1 -0
- package/dist/components/CreateListingDropdown.js +21 -0
- package/dist/components/DestinationAutocomplete.d.ts +11 -0
- package/dist/components/DestinationAutocomplete.d.ts.map +1 -0
- package/dist/components/DestinationAutocomplete.js +24 -0
- package/dist/components/StateAutocomplete.d.ts +10 -0
- package/dist/components/StateAutocomplete.d.ts.map +1 -0
- package/dist/components/StateAutocomplete.js +34 -0
- package/dist/components/admin/AdminBookingRegistrationsList.d.ts +5 -0
- package/dist/components/admin/AdminBookingRegistrationsList.d.ts.map +1 -0
- package/dist/components/admin/AdminBookingRegistrationsList.js +69 -0
- package/dist/components/admin/AdminListingActionsWrapper.d.ts +9 -0
- package/dist/components/admin/AdminListingActionsWrapper.d.ts.map +1 -0
- package/dist/components/admin/AdminListingActionsWrapper.js +200 -0
- package/dist/components/ads/ActivateAdPlacementButton.d.ts +6 -0
- package/dist/components/ads/ActivateAdPlacementButton.d.ts.map +1 -0
- package/dist/components/ads/ActivateAdPlacementButton.js +27 -0
- package/dist/components/ads/AdOfferCard.d.ts +6 -0
- package/dist/components/ads/AdOfferCard.d.ts.map +1 -0
- package/dist/components/ads/AdOfferCard.js +15 -0
- package/dist/components/adventure/AdventureAvailabilityPlanner.d.ts +17 -0
- package/dist/components/adventure/AdventureAvailabilityPlanner.d.ts.map +1 -0
- package/dist/components/adventure/AdventureAvailabilityPlanner.js +106 -0
- package/dist/components/adventure/AdventureQueryCard.d.ts +5 -0
- package/dist/components/adventure/AdventureQueryCard.d.ts.map +1 -0
- package/dist/components/adventure/AdventureQueryCard.js +65 -0
- package/dist/components/adventure/AdventureSlotBuilder.d.ts +41 -0
- package/dist/components/adventure/AdventureSlotBuilder.d.ts.map +1 -0
- package/dist/components/adventure/AdventureSlotBuilder.js +146 -0
- package/dist/components/booking/booking-form.d.ts +39 -0
- package/dist/components/booking/booking-form.d.ts.map +1 -0
- package/dist/components/booking/booking-form.js +824 -0
- package/dist/components/brand/BrandPageView.d.ts +8 -0
- package/dist/components/brand/BrandPageView.d.ts.map +1 -0
- package/dist/components/brand/BrandPageView.js +97 -0
- package/dist/components/companion/AnonymousChat.d.ts +22 -0
- package/dist/components/companion/AnonymousChat.d.ts.map +1 -0
- package/dist/components/companion/AnonymousChat.js +24 -0
- package/dist/components/companion/SwipeCard.d.ts +25 -0
- package/dist/components/companion/SwipeCard.d.ts.map +1 -0
- package/dist/components/companion/SwipeCard.js +58 -0
- package/dist/components/create-flow/ConfirmDiscardDialog.d.ts +11 -0
- package/dist/components/create-flow/ConfirmDiscardDialog.d.ts.map +1 -0
- package/dist/components/create-flow/ConfirmDiscardDialog.js +14 -0
- package/dist/components/create-flow/EntityEditLoadingState.d.ts +2 -0
- package/dist/components/create-flow/EntityEditLoadingState.d.ts.map +1 -0
- package/dist/components/create-flow/EntityEditLoadingState.js +6 -0
- package/dist/components/create-flow/EntityFormCompletionState.d.ts +12 -0
- package/dist/components/create-flow/EntityFormCompletionState.d.ts.map +1 -0
- package/dist/components/create-flow/EntityFormCompletionState.js +10 -0
- package/dist/components/create-flow/EntityFormHeader.d.ts +9 -0
- package/dist/components/create-flow/EntityFormHeader.d.ts.map +1 -0
- package/dist/components/create-flow/EntityFormHeader.js +7 -0
- package/dist/components/create-flow/EntityFormPageFrame.d.ts +10 -0
- package/dist/components/create-flow/EntityFormPageFrame.d.ts.map +1 -0
- package/dist/components/create-flow/EntityFormPageFrame.js +10 -0
- package/dist/components/create-flow/ImageUploadStep.d.ts +15 -0
- package/dist/components/create-flow/ImageUploadStep.d.ts.map +1 -0
- package/dist/components/create-flow/ImageUploadStep.js +11 -0
- package/dist/components/create-flow/ImageUploader.d.ts +30 -0
- package/dist/components/create-flow/ImageUploader.d.ts.map +1 -0
- package/dist/components/create-flow/ImageUploader.js +193 -0
- package/dist/components/create-flow/MultiStepWizard.d.ts +25 -0
- package/dist/components/create-flow/MultiStepWizard.d.ts.map +1 -0
- package/dist/components/create-flow/MultiStepWizard.js +31 -0
- package/dist/components/create-flow/ReviewConfirmationCard.d.ts +8 -0
- package/dist/components/create-flow/ReviewConfirmationCard.d.ts.map +1 -0
- package/dist/components/create-flow/ReviewConfirmationCard.js +5 -0
- package/dist/components/create-flow/ReviewMetricGrid.d.ts +15 -0
- package/dist/components/create-flow/ReviewMetricGrid.d.ts.map +1 -0
- package/dist/components/create-flow/ReviewMetricGrid.js +8 -0
- package/dist/components/create-flow/TemplateSelectionDialog.d.ts +17 -0
- package/dist/components/create-flow/TemplateSelectionDialog.d.ts.map +1 -0
- package/dist/components/create-flow/TemplateSelectionDialog.js +7 -0
- package/dist/components/enquiry/EnquiryFormParts.d.ts +40 -0
- package/dist/components/enquiry/EnquiryFormParts.d.ts.map +1 -0
- package/dist/components/enquiry/EnquiryFormParts.js +29 -0
- package/dist/components/form-sections/FaqSection.d.ts +24 -0
- package/dist/components/form-sections/FaqSection.d.ts.map +1 -0
- package/dist/components/form-sections/FaqSection.js +17 -0
- package/dist/components/form-sections/ImageUploadSection.d.ts +12 -0
- package/dist/components/form-sections/ImageUploadSection.d.ts.map +1 -0
- package/dist/components/form-sections/ImageUploadSection.js +8 -0
- package/dist/components/form-sections/OpportunityBasicsSection.d.ts +8 -0
- package/dist/components/form-sections/OpportunityBasicsSection.d.ts.map +1 -0
- package/dist/components/form-sections/OpportunityBasicsSection.js +26 -0
- package/dist/components/form-sections/OpportunityDetailsSection.d.ts +18 -0
- package/dist/components/form-sections/OpportunityDetailsSection.d.ts.map +1 -0
- package/dist/components/form-sections/OpportunityDetailsSection.js +10 -0
- package/dist/components/form-sections/OpportunityTypeSection.d.ts +7 -0
- package/dist/components/form-sections/OpportunityTypeSection.d.ts.map +1 -0
- package/dist/components/form-sections/OpportunityTypeSection.js +15 -0
- package/dist/components/form-sections/PackageDetailsSection.d.ts +22 -0
- package/dist/components/form-sections/PackageDetailsSection.d.ts.map +1 -0
- package/dist/components/form-sections/PackageDetailsSection.js +20 -0
- package/dist/components/form-sections/PackageItinerarySection.d.ts +21 -0
- package/dist/components/form-sections/PackageItinerarySection.d.ts.map +1 -0
- package/dist/components/form-sections/PackageItinerarySection.js +112 -0
- package/dist/components/form-sections/PackagePricingSection.d.ts +8 -0
- package/dist/components/form-sections/PackagePricingSection.d.ts.map +1 -0
- package/dist/components/form-sections/PackagePricingSection.js +11 -0
- package/dist/components/form-sections/PackageReviewSection.d.ts +12 -0
- package/dist/components/form-sections/PackageReviewSection.d.ts.map +1 -0
- package/dist/components/form-sections/PackageReviewSection.js +26 -0
- package/dist/components/form-sections/RentalBasicsSection.d.ts +12 -0
- package/dist/components/form-sections/RentalBasicsSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalBasicsSection.js +91 -0
- package/dist/components/form-sections/RentalCapacitySection.d.ts +9 -0
- package/dist/components/form-sections/RentalCapacitySection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalCapacitySection.js +23 -0
- package/dist/components/form-sections/RentalLocationSection.d.ts +10 -0
- package/dist/components/form-sections/RentalLocationSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalLocationSection.js +41 -0
- package/dist/components/form-sections/RentalPhotosSection.d.ts +8 -0
- package/dist/components/form-sections/RentalPhotosSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalPhotosSection.js +7 -0
- package/dist/components/form-sections/RentalReviewSection.d.ts +10 -0
- package/dist/components/form-sections/RentalReviewSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalReviewSection.js +27 -0
- package/dist/components/form-sections/RentalRulesSection.d.ts +7 -0
- package/dist/components/form-sections/RentalRulesSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalRulesSection.js +10 -0
- package/dist/components/form-sections/RentalSpecsSection.d.ts +7 -0
- package/dist/components/form-sections/RentalSpecsSection.d.ts.map +1 -0
- package/dist/components/form-sections/RentalSpecsSection.js +10 -0
- package/dist/components/host-dashboard/HostCalendar.d.ts +8 -0
- package/dist/components/host-dashboard/HostCalendar.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostCalendar.js +43 -0
- package/dist/components/host-dashboard/HostCalendarGrid.d.ts +34 -0
- package/dist/components/host-dashboard/HostCalendarGrid.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostCalendarGrid.js +30 -0
- package/dist/components/host-dashboard/HostListingMultiSelect.d.ts +12 -0
- package/dist/components/host-dashboard/HostListingMultiSelect.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostListingMultiSelect.js +24 -0
- package/dist/components/host-dashboard/HostManageCalendarShell.d.ts +17 -0
- package/dist/components/host-dashboard/HostManageCalendarShell.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostManageCalendarShell.js +5 -0
- package/dist/components/host-dashboard/HostSidebarNavigation.d.ts +2 -0
- package/dist/components/host-dashboard/HostSidebarNavigation.d.ts.map +1 -0
- package/dist/components/host-dashboard/HostSidebarNavigation.js +262 -0
- package/dist/components/host-dashboard/ManageFeatureSwitcher.d.ts +15 -0
- package/dist/components/host-dashboard/ManageFeatureSwitcher.d.ts.map +1 -0
- package/dist/components/host-dashboard/ManageFeatureSwitcher.js +43 -0
- package/dist/components/host-dashboard/PageHeader.d.ts +14 -0
- package/dist/components/host-dashboard/PageHeader.d.ts.map +1 -0
- package/dist/components/host-dashboard/PageHeader.js +8 -0
- package/dist/components/host-dashboard/PlaceholderPage.d.ts +4 -0
- package/dist/components/host-dashboard/PlaceholderPage.d.ts.map +1 -0
- package/dist/components/host-dashboard/PlaceholderPage.js +9 -0
- package/dist/components/host-dashboard/StatCard.d.ts +15 -0
- package/dist/components/host-dashboard/StatCard.d.ts.map +1 -0
- package/dist/components/host-dashboard/StatCard.js +38 -0
- package/dist/components/layout/AppProviders.d.ts +5 -0
- package/dist/components/layout/AppProviders.d.ts.map +1 -0
- package/dist/components/layout/AppProviders.js +11 -0
- package/dist/components/layout/PublicRouteLayout.d.ts +5 -0
- package/dist/components/layout/PublicRouteLayout.d.ts.map +1 -0
- package/dist/components/layout/PublicRouteLayout.js +5 -0
- package/dist/components/layout/PublicShell.d.ts +5 -0
- package/dist/components/layout/PublicShell.d.ts.map +1 -0
- package/dist/components/layout/PublicShell.js +5 -0
- package/dist/components/location/LocationPicker.d.ts +27 -0
- package/dist/components/location/LocationPicker.d.ts.map +1 -0
- package/dist/components/location/LocationPicker.js +415 -0
- package/dist/components/location/LocationPreview.d.ts +11 -0
- package/dist/components/location/LocationPreview.d.ts.map +1 -0
- package/dist/components/location/LocationPreview.js +12 -0
- package/dist/components/location/MapPicker.d.ts +9 -0
- package/dist/components/location/MapPicker.d.ts.map +1 -0
- package/dist/components/location/MapPicker.js +40 -0
- package/dist/components/location/MapPreview.d.ts +8 -0
- package/dist/components/location/MapPreview.d.ts.map +1 -0
- package/dist/components/location/MapPreview.js +17 -0
- package/dist/components/location/PlaceLinkInline.d.ts +14 -0
- package/dist/components/location/PlaceLinkInline.d.ts.map +1 -0
- package/dist/components/location/PlaceLinkInline.js +30 -0
- package/dist/components/location/leafletMap.d.ts +8 -0
- package/dist/components/location/leafletMap.d.ts.map +1 -0
- package/dist/components/location/leafletMap.js +74 -0
- package/dist/components/ui/GuestOrLoginDialog.d.ts +11 -0
- package/dist/components/ui/GuestOrLoginDialog.d.ts.map +1 -0
- package/dist/components/ui/GuestOrLoginDialog.js +19 -0
- package/dist/components/ui/ImageGalleryViewer.d.ts +10 -0
- package/dist/components/ui/ImageGalleryViewer.d.ts.map +1 -0
- package/dist/components/ui/ImageGalleryViewer.js +59 -0
- package/dist/components/ui/LocationInput.d.ts +12 -0
- package/dist/components/ui/LocationInput.d.ts.map +1 -0
- package/dist/components/ui/LocationInput.js +39 -0
- package/dist/components/ui/PropertyGalleryClient.d.ts +8 -0
- package/dist/components/ui/PropertyGalleryClient.d.ts.map +1 -0
- package/dist/components/ui/PropertyGalleryClient.js +22 -0
- package/dist/components/ui/calendar.d.ts +9 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar.js +75 -0
- package/dist/components/ui/dashboard/admin-adventures-table.d.ts +12 -0
- package/dist/components/ui/dashboard/admin-adventures-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-adventures-table.js +94 -0
- package/dist/components/ui/dashboard/admin-blogs-table.d.ts +11 -0
- package/dist/components/ui/dashboard/admin-blogs-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-blogs-table.js +58 -0
- package/dist/components/ui/dashboard/admin-opportunities-table.d.ts +20 -0
- package/dist/components/ui/dashboard/admin-opportunities-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-opportunities-table.js +133 -0
- package/dist/components/ui/dashboard/admin-rentals-table.d.ts +12 -0
- package/dist/components/ui/dashboard/admin-rentals-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-rentals-table.js +85 -0
- package/dist/components/ui/dashboard/admin-travel-package-table.d.ts +16 -0
- package/dist/components/ui/dashboard/admin-travel-package-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/admin-travel-package-table.js +100 -0
- package/dist/components/ui/dashboard/adventures-table.d.ts +16 -0
- package/dist/components/ui/dashboard/adventures-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/adventures-table.js +151 -0
- package/dist/components/ui/dashboard/approver-applications-table.d.ts +13 -0
- package/dist/components/ui/dashboard/approver-applications-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/approver-applications-table.js +85 -0
- package/dist/components/ui/dashboard/approver-package-enquiries-table.d.ts +11 -0
- package/dist/components/ui/dashboard/approver-package-enquiries-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/approver-package-enquiries-table.js +102 -0
- package/dist/components/ui/dashboard/archive-confirm-modal.d.ts +9 -0
- package/dist/components/ui/dashboard/archive-confirm-modal.d.ts.map +1 -0
- package/dist/components/ui/dashboard/archive-confirm-modal.js +6 -0
- package/dist/components/ui/dashboard/blogs-table.d.ts +10 -0
- package/dist/components/ui/dashboard/blogs-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/blogs-table.js +62 -0
- package/dist/components/ui/dashboard/bookings-table.d.ts +12 -0
- package/dist/components/ui/dashboard/bookings-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/bookings-table.js +160 -0
- package/dist/components/ui/dashboard/dashboard-page-shell.d.ts +7 -0
- package/dist/components/ui/dashboard/dashboard-page-shell.d.ts.map +1 -0
- package/dist/components/ui/dashboard/dashboard-page-shell.js +5 -0
- package/dist/components/ui/dashboard/data-table-shell.d.ts +18 -0
- package/dist/components/ui/dashboard/data-table-shell.d.ts.map +1 -0
- package/dist/components/ui/dashboard/data-table-shell.js +6 -0
- package/dist/components/ui/dashboard/delete-confirm-modal.d.ts +9 -0
- package/dist/components/ui/dashboard/delete-confirm-modal.d.ts.map +1 -0
- package/dist/components/ui/dashboard/delete-confirm-modal.js +6 -0
- package/dist/components/ui/dashboard/entity-list-page-state.d.ts +25 -0
- package/dist/components/ui/dashboard/entity-list-page-state.d.ts.map +1 -0
- package/dist/components/ui/dashboard/entity-list-page-state.js +17 -0
- package/dist/components/ui/dashboard/generic-entity-table.d.ts +36 -0
- package/dist/components/ui/dashboard/generic-entity-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/generic-entity-table.js +203 -0
- package/dist/components/ui/dashboard/opportunities-table.d.ts +17 -0
- package/dist/components/ui/dashboard/opportunities-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/opportunities-table.js +143 -0
- package/dist/components/ui/dashboard/rentals-table.d.ts +17 -0
- package/dist/components/ui/dashboard/rentals-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/rentals-table.js +155 -0
- package/dist/components/ui/dashboard/restore-confirm-modal.d.ts +9 -0
- package/dist/components/ui/dashboard/restore-confirm-modal.d.ts.map +1 -0
- package/dist/components/ui/dashboard/restore-confirm-modal.js +6 -0
- package/dist/components/ui/dashboard/stats-card.d.ts +6 -0
- package/dist/components/ui/dashboard/stats-card.d.ts.map +1 -0
- package/dist/components/ui/dashboard/stats-card.js +5 -0
- package/dist/components/ui/dashboard/travel-packages-table.d.ts +16 -0
- package/dist/components/ui/dashboard/travel-packages-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/travel-packages-table.js +134 -0
- package/dist/components/ui/dashboard/user-applications-table.d.ts +12 -0
- package/dist/components/ui/dashboard/user-applications-table.d.ts.map +1 -0
- package/dist/components/ui/dashboard/user-applications-table.js +79 -0
- package/dist/components/ui/loading-skeleton.d.ts +10 -0
- package/dist/components/ui/loading-skeleton.d.ts.map +1 -0
- package/dist/components/ui/loading-skeleton.js +49 -0
- package/dist/components/ui/misc/IosPwaNavBar.d.ts +8 -0
- package/dist/components/ui/misc/IosPwaNavBar.d.ts.map +1 -0
- package/dist/components/ui/misc/IosPwaNavBar.js +25 -0
- package/dist/components/ui/misc/document-upload-button.d.ts +10 -0
- package/dist/components/ui/misc/document-upload-button.d.ts.map +1 -0
- package/dist/components/ui/misc/document-upload-button.js +12 -0
- package/dist/components/ui/misc/empty-state.d.ts +9 -0
- package/dist/components/ui/misc/empty-state.d.ts.map +1 -0
- package/dist/components/ui/misc/empty-state.js +4 -0
- package/dist/components/ui/misc/image-cropper.d.ts +9 -0
- package/dist/components/ui/misc/image-cropper.d.ts.map +1 -0
- package/dist/components/ui/misc/image-cropper.js +28 -0
- package/dist/components/ui/misc/rental-tile.d.ts +6 -0
- package/dist/components/ui/misc/rental-tile.d.ts.map +1 -0
- package/dist/components/ui/misc/rental-tile.js +56 -0
- package/dist/components/ui/misc/skeleton-extras.d.ts +32 -0
- package/dist/components/ui/misc/skeleton-extras.d.ts.map +1 -0
- package/dist/components/ui/misc/skeleton-extras.js +58 -0
- package/dist/components/ui/misc/tile.d.ts +4 -0
- package/dist/components/ui/misc/tile.d.ts.map +1 -0
- package/dist/components/ui/misc/tile.js +45 -0
- package/dist/components/ui/misc/whatsapp-help.d.ts +7 -0
- package/dist/components/ui/misc/whatsapp-help.d.ts.map +1 -0
- package/dist/components/ui/misc/whatsapp-help.js +6 -0
- package/dist/components/ui/motion.d.ts +14 -0
- package/dist/components/ui/motion.d.ts.map +1 -0
- package/dist/components/ui/motion.js +17 -0
- package/dist/components/ui/trippeaze/breadcrumb-trail.d.ts +10 -0
- package/dist/components/ui/trippeaze/breadcrumb-trail.d.ts.map +1 -0
- package/dist/components/ui/trippeaze/breadcrumb-trail.js +15 -0
- package/dist/components/ui/trippeaze/chip-tabs.d.ts +13 -0
- package/dist/components/ui/trippeaze/chip-tabs.d.ts.map +1 -0
- package/dist/components/ui/trippeaze/chip-tabs.js +6 -0
- package/dist/components/ui/trippeaze/page-shell.d.ts +22 -0
- package/dist/components/ui/trippeaze/page-shell.d.ts.map +1 -0
- package/dist/components/ui/trippeaze/page-shell.js +15 -0
- package/dist/components/ui/trippeaze/search-input.d.ts +5 -0
- package/dist/components/ui/trippeaze/search-input.d.ts.map +1 -0
- package/dist/components/ui/trippeaze/search-input.js +7 -0
- package/dist/components/user-dashboard/UserDashboardShellSidebar.d.ts +2 -0
- package/dist/components/user-dashboard/UserDashboardShellSidebar.d.ts.map +1 -0
- package/dist/components/user-dashboard/UserDashboardShellSidebar.js +17 -0
- package/dist/components/user-dashboard/UserSidebarNav.d.ts +2 -0
- package/dist/components/user-dashboard/UserSidebarNav.d.ts.map +1 -0
- package/dist/components/user-dashboard/UserSidebarNav.js +67 -0
- package/dist/dashboard/action-buttons.d.ts +2 -1
- package/dist/dashboard/action-buttons.d.ts.map +1 -1
- package/dist/dashboard/action-buttons.js +18 -11
- package/dist/dashboard/app-sidebar.d.ts.map +1 -1
- package/dist/dashboard/app-sidebar.js +3 -36
- package/dist/dashboard/dashboard-components.js +1 -1
- package/dist/dashboard/data-table.d.ts +5 -1
- package/dist/dashboard/data-table.d.ts.map +1 -1
- package/dist/dashboard/data-table.js +39 -7
- package/dist/dashboard/table.js +1 -1
- package/dist/header/mobile-nav-item.js +2 -2
- package/dist/header/mobile-navbar.d.ts.map +1 -1
- package/dist/header/mobile-navbar.js +10 -1
- package/dist/header/nav-item.js +2 -2
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -0
- package/dist/main/footer.d.ts +0 -1
- package/dist/main/footer.d.ts.map +1 -1
- package/dist/main/footer.js +0 -1
- package/dist/main/navbar.d.ts +2 -2
- package/dist/main/navbar.d.ts.map +1 -1
- package/dist/main/navbar.js +73 -44
- package/dist/main/portfolio/portfolioItem.d.ts +1 -1
- package/dist/main/portfolio/portfolioItem.d.ts.map +1 -1
- package/dist/main/portfolio/portfolioPopup.d.ts +1 -1
- package/dist/main/portfolio/portfolioPopup.d.ts.map +1 -1
- package/dist/main/review-page.d.ts +2 -1
- package/dist/main/review-page.d.ts.map +1 -1
- package/dist/main/review-page.js +34 -4
- package/dist/misc/accordion.js +1 -1
- package/dist/misc/alert-dialog.js +1 -1
- package/dist/misc/alert.js +1 -1
- package/dist/misc/alertdialogclaude.js +1 -1
- package/dist/misc/avatar.js +1 -1
- package/dist/misc/badge.js +1 -1
- package/dist/misc/button.d.ts +6 -3
- package/dist/misc/button.d.ts.map +1 -1
- package/dist/misc/button.js +33 -5
- package/dist/misc/card.js +1 -1
- package/dist/misc/carousel.d.ts +2 -2
- package/dist/misc/carousel.d.ts.map +1 -1
- package/dist/misc/carousel.js +13 -5
- package/dist/misc/checkbox.js +1 -1
- package/dist/misc/command.js +1 -1
- package/dist/misc/datepicker.d.ts +2 -1
- package/dist/misc/datepicker.d.ts.map +1 -1
- package/dist/misc/datepicker.js +23 -21
- package/dist/misc/dialog.js +3 -3
- package/dist/misc/discount-strategy-editor.d.ts +11 -0
- package/dist/misc/discount-strategy-editor.d.ts.map +1 -0
- package/dist/misc/discount-strategy-editor.js +82 -0
- package/dist/misc/dropdown-menu.js +1 -1
- package/dist/misc/faq.d.ts +1 -1
- package/dist/misc/faq.d.ts.map +1 -1
- package/dist/misc/filter.js +2 -2
- package/dist/misc/filterBar.d.ts +11 -3
- package/dist/misc/filterBar.d.ts.map +1 -1
- package/dist/misc/filterBar.js +109 -55
- package/dist/misc/form.js +1 -1
- package/dist/misc/input.d.ts +4 -1
- package/dist/misc/input.d.ts.map +1 -1
- package/dist/misc/input.js +8 -3
- package/dist/misc/label.js +1 -1
- package/dist/misc/listing-wishlist-button.d.ts +13 -0
- package/dist/misc/listing-wishlist-button.d.ts.map +1 -0
- package/dist/misc/listing-wishlist-button.js +42 -0
- package/dist/misc/location/locationPicker.js +1 -1
- package/dist/misc/location-autocomplete.d.ts +28 -0
- package/dist/misc/location-autocomplete.d.ts.map +1 -0
- package/dist/misc/location-autocomplete.js +121 -0
- package/dist/misc/notification.js +2 -2
- package/dist/misc/pagination.js +1 -1
- package/dist/misc/popover.js +1 -1
- package/dist/misc/pricing-strategy-editor.d.ts +17 -0
- package/dist/misc/pricing-strategy-editor.d.ts.map +1 -0
- package/dist/misc/pricing-strategy-editor.js +80 -0
- package/dist/misc/progress.js +1 -1
- package/dist/misc/pwa-install-button.d.ts.map +1 -1
- package/dist/misc/pwa-install-button.js +2 -0
- package/dist/misc/rental-tile.d.ts +1 -1
- package/dist/misc/rental-tile.d.ts.map +1 -1
- package/dist/misc/rental-tile.js +24 -14
- package/dist/misc/scroll-area.js +1 -1
- package/dist/misc/select.js +1 -1
- package/dist/misc/separator.js +1 -1
- package/dist/misc/sheet.js +1 -1
- package/dist/misc/sidebar.js +2 -2
- package/dist/misc/slider.js +1 -1
- package/dist/misc/stateCard.d.ts +1 -1
- package/dist/misc/stateCard.d.ts.map +1 -1
- package/dist/misc/stateCard.js +1 -1
- package/dist/misc/step-progress.d.ts +16 -0
- package/dist/misc/step-progress.d.ts.map +1 -0
- package/dist/misc/step-progress.js +40 -0
- package/dist/misc/switch.js +1 -1
- package/dist/misc/tabs.js +1 -1
- package/dist/misc/tag-filter-input.d.ts +16 -0
- package/dist/misc/tag-filter-input.d.ts.map +1 -0
- package/dist/misc/tag-filter-input.js +26 -0
- package/dist/misc/textarea.js +1 -1
- package/dist/misc/tile.d.ts +1 -1
- package/dist/misc/tile.d.ts.map +1 -1
- package/dist/misc/tile.js +12 -47
- package/dist/misc/time-select.d.ts +14 -0
- package/dist/misc/time-select.d.ts.map +1 -0
- package/dist/misc/time-select.js +13 -0
- package/dist/misc/tooltip.js +1 -1
- package/dist/misc/wizard-footer.d.ts +18 -0
- package/dist/misc/wizard-footer.d.ts.map +1 -0
- package/dist/misc/wizard-footer.js +11 -0
- package/package.json +9 -6
- package/dist/misc/dashboard/action-buttons.js +0 -31
- package/dist/misc/misc/alertdialogclaude.js +0 -221
- package/dist/misc/misc/button.js +0 -46
- package/dist/misc/misc/dropdown-menu.js +0 -136
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import Link from "next/link";
|
|
4
|
+
import { usePathname } from "next/navigation";
|
|
5
|
+
import { useAtomValue } from "jotai";
|
|
6
|
+
import { userAtom } from "@myrjfa/state/dist/lib/userAtom";
|
|
7
|
+
import { useEffect, useMemo, useState } from "react";
|
|
8
|
+
import { getMyBlogs } from "@myrjfa/state/dist/lib/actions";
|
|
9
|
+
import { getAdminBlogs, getAdminOpportunities } from "@myrjfa/state/dist/lib/actions";
|
|
10
|
+
import { getPendingAdventures } from "@myrjfa/state/dist/lib/adventureActions";
|
|
11
|
+
import { getAllEventsAdmin } from "@myrjfa/state/dist/lib/eventActions";
|
|
12
|
+
import { getPendingPackages } from "@myrjfa/state/dist/lib/packageActions";
|
|
13
|
+
import { getPendingRentals } from "@myrjfa/state/dist/lib/rentalActions";
|
|
14
|
+
import { getPendingStays } from "@myrjfa/state/dist/lib/stayActions";
|
|
15
|
+
import { getHostDashboardListings } from "@myrjfa/state/dist/lib/hostDashboardActions";
|
|
16
|
+
import { LayoutDashboard, List, Hotel, Mountain, Car, PackageOpen, CalendarDays, BookOpen, MessageSquare, Star, TrendingUp, Settings, ChevronRight, LogOut, User, HeartHandshake, Briefcase, Landmark, MonitorSmartphone, ClipboardCheck, ShoppingBag, BadgePercent, ChevronsLeft, ChevronsRight, } from "lucide-react";
|
|
17
|
+
import { cn } from "@myrjfa/state/dist/lib/utils";
|
|
18
|
+
const NAV_GROUPS = [
|
|
19
|
+
{
|
|
20
|
+
label: "General",
|
|
21
|
+
items: [
|
|
22
|
+
{
|
|
23
|
+
href: "/dashboard/host/overview",
|
|
24
|
+
label: "Overview",
|
|
25
|
+
icon: LayoutDashboard,
|
|
26
|
+
},
|
|
27
|
+
{ href: "/dashboard/host/bookings", label: "Bookings", icon: BookOpen },
|
|
28
|
+
{ href: "/dashboard/host/earnings", label: "Earnings", icon: TrendingUp },
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: "Listings",
|
|
33
|
+
items: [
|
|
34
|
+
{ href: "/dashboard/host/listings", label: "All Listings", icon: List },
|
|
35
|
+
{ href: "/dashboard/host/stays", label: "Stays", icon: Hotel, category: "stay" },
|
|
36
|
+
{
|
|
37
|
+
href: "/dashboard/host/adventures",
|
|
38
|
+
label: "Adventures",
|
|
39
|
+
icon: Mountain,
|
|
40
|
+
category: "adventure",
|
|
41
|
+
},
|
|
42
|
+
{ href: "/dashboard/host/rentals", label: "Rentals", icon: Car, category: "rental" },
|
|
43
|
+
{
|
|
44
|
+
href: "/dashboard/host/packages",
|
|
45
|
+
label: "Packages",
|
|
46
|
+
icon: PackageOpen,
|
|
47
|
+
category: "package",
|
|
48
|
+
},
|
|
49
|
+
{ href: "/dashboard/host/events", label: "Events", icon: CalendarDays, category: "event" },
|
|
50
|
+
{ href: "/dashboard/host/blogs", label: "Blogs", icon: BookOpen, category: "blog" },
|
|
51
|
+
{
|
|
52
|
+
href: "/dashboard/host/opportunities?type=volunteer",
|
|
53
|
+
label: "Volunteering",
|
|
54
|
+
icon: HeartHandshake,
|
|
55
|
+
category: "volunteer",
|
|
56
|
+
},
|
|
57
|
+
{ href: "/dashboard/host/opportunities?type=internship", label: "Internships", icon: Briefcase, category: "internship" },
|
|
58
|
+
{ href: "/dashboard/host/opportunities?type=job", label: "Jobs", icon: Briefcase, category: "job" },
|
|
59
|
+
{ href: "/dashboard/host/opportunities?type=freelance", label: "Freelancing", icon: Briefcase, category: "freelance" },
|
|
60
|
+
{ href: "/dashboard/host/opportunities?type=contentCreator", label: "Content Creators", icon: Briefcase, category: "contentCreator" },
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
label: "Community",
|
|
65
|
+
items: [
|
|
66
|
+
{ href: "/dashboard/host/reviews", label: "Reviews", icon: Star },
|
|
67
|
+
{
|
|
68
|
+
href: "/dashboard/host/messages",
|
|
69
|
+
label: "Messages",
|
|
70
|
+
icon: MessageSquare,
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
export function HostSidebarNavigation() {
|
|
76
|
+
const pathname = usePathname() || "";
|
|
77
|
+
const user = useAtomValue(userAtom);
|
|
78
|
+
// Read search string on client-side only to avoid useSearchParams
|
|
79
|
+
const [search, setSearch] = useState("");
|
|
80
|
+
const [hostListingCategories, setHostListingCategories] = useState(null);
|
|
81
|
+
const [adminListingCategories, setAdminListingCategories] = useState(null);
|
|
82
|
+
const [collapsed, setCollapsed] = useState(false);
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
setSearch(window.location.search);
|
|
85
|
+
const onPop = () => setSearch(window.location.search);
|
|
86
|
+
window.addEventListener("popstate", onPop);
|
|
87
|
+
return () => window.removeEventListener("popstate", onPop);
|
|
88
|
+
}, [pathname]);
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
if (pathname.includes("/manage")) {
|
|
91
|
+
setCollapsed(true);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
setCollapsed(window.localStorage.getItem("trippeaze-host-sidebar-collapsed") === "true");
|
|
95
|
+
}, [pathname]);
|
|
96
|
+
const toggleCollapsed = () => {
|
|
97
|
+
setCollapsed((current) => {
|
|
98
|
+
const next = !current;
|
|
99
|
+
window.localStorage.setItem("trippeaze-host-sidebar-collapsed", String(next));
|
|
100
|
+
return next;
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
if ((user === null || user === void 0 ? void 0 : user.role) !== "host") {
|
|
105
|
+
setHostListingCategories(null);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
let cancelled = false;
|
|
109
|
+
const loadHostListingCategories = async () => {
|
|
110
|
+
const categories = new Set();
|
|
111
|
+
const [listingsRes, blogsRes] = await Promise.all([
|
|
112
|
+
getHostDashboardListings({ limit: 1000 }),
|
|
113
|
+
getMyBlogs(),
|
|
114
|
+
]);
|
|
115
|
+
if (listingsRes === null || listingsRes === void 0 ? void 0 : listingsRes.success) {
|
|
116
|
+
(listingsRes.listings || []).forEach((listing) => {
|
|
117
|
+
if (listing === null || listing === void 0 ? void 0 : listing.category)
|
|
118
|
+
categories.add(listing.category);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
if (!(blogsRes === null || blogsRes === void 0 ? void 0 : blogsRes.error) && (blogsRes.blogs || []).length > 0) {
|
|
122
|
+
categories.add("blog");
|
|
123
|
+
}
|
|
124
|
+
if (!cancelled) {
|
|
125
|
+
setHostListingCategories(categories);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
loadHostListingCategories();
|
|
129
|
+
return () => {
|
|
130
|
+
cancelled = true;
|
|
131
|
+
};
|
|
132
|
+
}, [user === null || user === void 0 ? void 0 : user.role]);
|
|
133
|
+
useEffect(() => {
|
|
134
|
+
if ((user === null || user === void 0 ? void 0 : user.role) !== "admin") {
|
|
135
|
+
setAdminListingCategories(null);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
let cancelled = false;
|
|
139
|
+
const loadAdminListingCategories = async () => {
|
|
140
|
+
const categories = new Set();
|
|
141
|
+
const [staysRes, adventuresRes, rentalsRes, packagesRes, eventsRes, opportunitiesRes, blogsRes,] = await Promise.all([
|
|
142
|
+
getPendingStays(),
|
|
143
|
+
getPendingAdventures(),
|
|
144
|
+
getPendingRentals(),
|
|
145
|
+
getPendingPackages(),
|
|
146
|
+
getAllEventsAdmin("all"),
|
|
147
|
+
getAdminOpportunities(),
|
|
148
|
+
getAdminBlogs(),
|
|
149
|
+
]);
|
|
150
|
+
if ((staysRes.stays || []).length > 0)
|
|
151
|
+
categories.add("stay");
|
|
152
|
+
if ((adventuresRes.adventures || []).length > 0)
|
|
153
|
+
categories.add("adventure");
|
|
154
|
+
if ((rentalsRes.rentals || []).length > 0)
|
|
155
|
+
categories.add("rental");
|
|
156
|
+
if ((packagesRes.packages || []).length > 0)
|
|
157
|
+
categories.add("package");
|
|
158
|
+
if ((eventsRes.events || []).length > 0)
|
|
159
|
+
categories.add("event");
|
|
160
|
+
(opportunitiesRes.opportunities || []).forEach((opportunity) => {
|
|
161
|
+
if (opportunity === null || opportunity === void 0 ? void 0 : opportunity.opportunityType)
|
|
162
|
+
categories.add(opportunity.opportunityType);
|
|
163
|
+
});
|
|
164
|
+
if ((blogsRes.pending || []).length > 0 || (blogsRes.active || []).length > 0) {
|
|
165
|
+
categories.add("blog");
|
|
166
|
+
}
|
|
167
|
+
if (!cancelled) {
|
|
168
|
+
setAdminListingCategories(categories);
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
loadAdminListingCategories();
|
|
172
|
+
return () => {
|
|
173
|
+
cancelled = true;
|
|
174
|
+
};
|
|
175
|
+
}, [user === null || user === void 0 ? void 0 : user.role]);
|
|
176
|
+
const searchParams = new URLSearchParams(search);
|
|
177
|
+
const currentOpportunityType = searchParams.get("type") || "volunteer";
|
|
178
|
+
const navGroups = useMemo(() => {
|
|
179
|
+
if ((user === null || user === void 0 ? void 0 : user.role) !== "host")
|
|
180
|
+
return NAV_GROUPS;
|
|
181
|
+
return NAV_GROUPS.map((group) => {
|
|
182
|
+
if (group.label !== "Listings")
|
|
183
|
+
return group;
|
|
184
|
+
return {
|
|
185
|
+
...group,
|
|
186
|
+
items: group.items.filter((item) => {
|
|
187
|
+
var _a;
|
|
188
|
+
if (!("category" in item) || !item.category)
|
|
189
|
+
return true;
|
|
190
|
+
return (_a = hostListingCategories === null || hostListingCategories === void 0 ? void 0 : hostListingCategories.has(item.category)) !== null && _a !== void 0 ? _a : false;
|
|
191
|
+
}),
|
|
192
|
+
};
|
|
193
|
+
});
|
|
194
|
+
}, [hostListingCategories, user === null || user === void 0 ? void 0 : user.role]);
|
|
195
|
+
return (_jsxs("aside", { "data-collapsed": collapsed ? "true" : "false", className: cn("relative hidden md:flex flex-col min-h-screen bg-white border-r border-slate-100 pt-5 pb-8 shrink-0 sticky top-20 self-start h-[calc(100vh-5rem)] overflow-y-auto transition-[width] duration-200", collapsed ? "w-20" : "w-64"), children: [_jsx("style", { children: `
|
|
196
|
+
aside[data-collapsed="true"] .sidebar-copy,
|
|
197
|
+
aside[data-collapsed="true"] .sidebar-group-label,
|
|
198
|
+
aside[data-collapsed="true"] .sidebar-chevron {
|
|
199
|
+
display: none;
|
|
200
|
+
}
|
|
201
|
+
` }), _jsx("div", { className: cn("mb-3 flex px-4", collapsed ? "justify-center" : "justify-end"), children: _jsxs("button", { type: "button", onClick: toggleCollapsed, "aria-label": collapsed ? "Expand dashboard sidebar" : "Collapse dashboard sidebar", title: collapsed ? "Expand sidebar" : "Collapse sidebar", className: cn("flex h-9 items-center justify-center gap-2 rounded-xl border border-slate-200 bg-white px-3 text-xs font-black text-slate-500 shadow-sm transition hover:bg-slate-50 hover:text-slate-950", collapsed && "w-9 px-0"), children: [collapsed ? _jsx(ChevronsRight, { className: "h-4 w-4" }) : _jsx(ChevronsLeft, { className: "h-4 w-4" }), _jsx("span", { className: "sidebar-copy", children: "Collapse" })] }) }), _jsx("div", { className: "px-4 mb-4", children: _jsxs(Link, { href: `/profile/host/${user === null || user === void 0 ? void 0 : user.username}`, className: cn("flex items-center gap-3 p-3 rounded-xl bg-slate-50 hover:bg-slate-100 transition-colors group", collapsed && "justify-center px-2"), title: `${(user === null || user === void 0 ? void 0 : user.firstName) || ""} ${(user === null || user === void 0 ? void 0 : user.lastName) || ""}`.trim() || "Profile", children: [_jsx("div", { className: "w-9 h-9 rounded-xl bg-primary/10 flex items-center justify-center shrink-0", children: (user === null || user === void 0 ? void 0 : user.profilePic) ? (_jsx("img", { src: user.profilePic, alt: "avatar", className: "w-9 h-9 rounded-xl object-cover" })) : (_jsx(User, { className: "w-4 h-4 text-primary" })) }), _jsxs("div", { className: "sidebar-copy min-w-0", children: [_jsxs("p", { className: "text-sm font-bold text-slate-800 truncate", children: [user === null || user === void 0 ? void 0 : user.firstName, " ", user === null || user === void 0 ? void 0 : user.lastName] }), _jsx("p", { className: "text-[10px] text-slate-400 truncate", children: user === null || user === void 0 ? void 0 : user.email })] }), _jsx(ChevronRight, { className: "sidebar-chevron w-3.5 h-3.5 text-slate-300 ml-auto shrink-0 group-hover:text-slate-500 transition-colors" })] }) }), _jsx("nav", { className: "flex-1 px-3 space-y-5 overflow-y-auto", children: (user === null || user === void 0 ? void 0 : user.role) === "admin" ? (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("p", { className: "sidebar-group-label text-[9px] font-bold uppercase tracking-widest text-slate-400 px-3 mb-1.5 mt-2", children: "General" }), _jsxs("div", { className: "space-y-0.5", children: [_jsxs(Link, { href: "/dashboard/admin/overview", className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group", pathname.startsWith("/dashboard/admin/overview")
|
|
202
|
+
? "bg-primary text-white shadow-md shadow-primary/25 font-semibold"
|
|
203
|
+
: "text-slate-500 hover:bg-slate-50 hover:text-slate-900"), title: "Overview", children: [_jsx(LayoutDashboard, { className: cn("w-4 h-4 shrink-0", pathname.startsWith("/dashboard/admin/overview") ? "text-white" : "text-slate-400") }), _jsx("span", { className: "sidebar-copy", children: "Overview" })] }), _jsxs(Link, { href: "/dashboard/admin/payouts", className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group", pathname.startsWith("/dashboard/admin/payouts")
|
|
204
|
+
? "bg-primary text-white shadow-md shadow-primary/25 font-semibold"
|
|
205
|
+
: "text-slate-500 hover:bg-slate-50 hover:text-slate-900"), title: "Payouts", children: [_jsx(Landmark, { className: cn("w-4 h-4 shrink-0", pathname.startsWith("/dashboard/admin/payouts") ? "text-white" : "text-slate-400") }), _jsx("span", { className: "sidebar-copy", children: "Payouts" })] }), _jsxs(Link, { href: "/dashboard/platform", className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group", pathname.startsWith("/dashboard/platform")
|
|
206
|
+
? "bg-primary text-white shadow-md shadow-primary/25 font-semibold"
|
|
207
|
+
: "text-slate-500 hover:bg-slate-50 hover:text-slate-900"), title: "Pricing & Promotions", children: [_jsx(BadgePercent, { className: cn("w-4 h-4 shrink-0", pathname.startsWith("/dashboard/platform") ? "text-white" : "text-slate-400") }), _jsx("span", { className: "sidebar-copy", children: "Pricing & Promotions" })] })] })] }), _jsxs("div", { children: [_jsx("p", { className: "sidebar-group-label text-[9px] font-bold uppercase tracking-widest text-amber-500 px-3 mb-1.5 mt-4", children: "Global Moderation" }), _jsx("div", { className: "space-y-0.5", children: [
|
|
208
|
+
{ href: "/dashboard/admin/stays", label: "Stays Moderation", icon: Hotel, category: "stay" },
|
|
209
|
+
{ href: "/dashboard/admin/adventures", label: "Adventures Moderation", icon: Mountain, category: "adventure" },
|
|
210
|
+
{ href: "/dashboard/admin/rentals", label: "Rentals Moderation", icon: Car, category: "rental" },
|
|
211
|
+
{ href: "/dashboard/admin/packages", label: "Packages Moderation", icon: PackageOpen, category: "package" },
|
|
212
|
+
{ href: "/dashboard/admin/events", label: "Events Moderation", icon: CalendarDays, category: "event" },
|
|
213
|
+
{ href: "/dashboard/admin/opportunities?type=volunteer", label: "Volunteer Moderation", icon: HeartHandshake, category: "volunteer" },
|
|
214
|
+
{ href: "/dashboard/admin/opportunities?type=job", label: "Jobs Moderation", icon: Briefcase, category: "job" },
|
|
215
|
+
{ href: "/dashboard/admin/opportunities?type=internship", label: "Internships Moderation", icon: Briefcase, category: "internship" },
|
|
216
|
+
{ href: "/dashboard/admin/opportunities?type=freelance", label: "Freelance Moderation", icon: Briefcase, category: "freelance" },
|
|
217
|
+
{ href: "/dashboard/admin/opportunities?type=contentCreator", label: "Content Creator Moderation", icon: Briefcase, category: "contentCreator" },
|
|
218
|
+
{ href: "/dashboard/admin/blogs", label: "Blogs Moderation", icon: BookOpen, category: "blog" },
|
|
219
|
+
].filter((item) => { var _a; return (_a = adminListingCategories === null || adminListingCategories === void 0 ? void 0 : adminListingCategories.has(item.category)) !== null && _a !== void 0 ? _a : false; }).map(({ href, label: itemLabel, icon: Icon }) => {
|
|
220
|
+
const hrefUrl = new URL(href, "https://trippeaze.local");
|
|
221
|
+
const hrefPath = hrefUrl.pathname;
|
|
222
|
+
const hrefType = hrefUrl.searchParams.get("type");
|
|
223
|
+
const isActive = hrefType
|
|
224
|
+
? pathname.startsWith(hrefPath) && currentOpportunityType === hrefType
|
|
225
|
+
: pathname.startsWith(hrefPath);
|
|
226
|
+
return (_jsxs(Link, { href: href, className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group", isActive
|
|
227
|
+
? "bg-amber-500 text-white shadow-md shadow-amber-400/25 font-semibold"
|
|
228
|
+
: "text-slate-500 hover:bg-amber-50 hover:text-amber-700"), title: itemLabel, children: [_jsx(Icon, { className: cn("w-4 h-4 shrink-0", isActive ? "text-white" : "text-amber-400") }), _jsx("span", { className: "sidebar-copy", children: itemLabel })] }, href));
|
|
229
|
+
}) })] })] })) : (user === null || user === void 0 ? void 0 : user.role) === "hr" ? (_jsxs("div", { children: [_jsx("p", { className: "sidebar-group-label text-[9px] font-bold uppercase tracking-widest text-slate-400 px-3 mb-1.5 mt-2", children: "HR" }), _jsx("div", { className: "space-y-0.5", children: _jsxs(Link, { href: "/overview/hr", className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group", pathname.startsWith("/overview/hr")
|
|
230
|
+
? "bg-primary text-white shadow-md shadow-primary/25 font-semibold"
|
|
231
|
+
: "text-slate-500 hover:bg-slate-50 hover:text-slate-900"), title: "Applications Approval", children: [_jsx(ClipboardCheck, { className: cn("w-4 h-4 shrink-0", pathname.startsWith("/overview/hr") ? "text-white" : "text-slate-400") }), _jsx("span", { className: "sidebar-copy", children: "Applications Approval" })] }) })] })) : (user === null || user === void 0 ? void 0 : user.role) === "sales" ? (_jsxs("div", { children: [_jsx("p", { className: "sidebar-group-label text-[9px] font-bold uppercase tracking-widest text-slate-400 px-3 mb-1.5 mt-2", children: "Sales" }), _jsxs("div", { className: "space-y-0.5", children: [_jsxs(Link, { href: "/overview/sales", className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group", pathname.startsWith("/overview/sales")
|
|
232
|
+
? "bg-primary text-white shadow-md shadow-primary/25 font-semibold"
|
|
233
|
+
: "text-slate-500 hover:bg-slate-50 hover:text-slate-900"), title: "Pending Approvals", children: [_jsx(ShoppingBag, { className: cn("w-4 h-4 shrink-0", pathname.startsWith("/overview/sales") ? "text-white" : "text-slate-400") }), _jsx("span", { className: "sidebar-copy", children: "Pending Approvals" })] }), _jsxs(Link, { href: "/dashboard/platform", className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group", pathname.startsWith("/dashboard/platform")
|
|
234
|
+
? "bg-primary text-white shadow-md shadow-primary/25 font-semibold"
|
|
235
|
+
: "text-slate-500 hover:bg-slate-50 hover:text-slate-900"), title: "Promotions", children: [_jsx(BadgePercent, { className: cn("w-4 h-4 shrink-0", pathname.startsWith("/dashboard/platform") ? "text-white" : "text-slate-400") }), _jsx("span", { className: "sidebar-copy", children: "Promotions" })] })] })] })) : (navGroups.map(({ label, items }) => (_jsxs("div", { children: [_jsx("p", { className: "sidebar-group-label text-[9px] font-bold uppercase tracking-widest text-slate-300 px-3 mb-1.5 mt-2", children: label }), _jsx("div", { className: "space-y-0.5", children: items.map(({ href, label: itemLabel, icon: Icon }) => {
|
|
236
|
+
const baseHref = href.split("?")[0];
|
|
237
|
+
const hrefQuery = href.includes("?") ? new URLSearchParams(href.split("?")[1]) : null;
|
|
238
|
+
let active = false;
|
|
239
|
+
if (pathname === baseHref || pathname.startsWith(baseHref + "/")) {
|
|
240
|
+
active = true;
|
|
241
|
+
if (hrefQuery) {
|
|
242
|
+
hrefQuery.forEach((value, key) => {
|
|
243
|
+
if (searchParams.get(key) !== value) {
|
|
244
|
+
active = false;
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
else if (searchParams.has("type")) {
|
|
249
|
+
active = false;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return (_jsxs(Link, { href: href, className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group relative", active
|
|
253
|
+
? "bg-primary text-white shadow-md shadow-primary/25 font-semibold"
|
|
254
|
+
: "text-slate-500 hover:bg-slate-50 hover:text-slate-900"), title: itemLabel, children: [_jsx(Icon, { className: cn("w-4 h-4 shrink-0", active
|
|
255
|
+
? "text-white"
|
|
256
|
+
: "text-slate-400 group-hover:text-slate-600") }), _jsx("span", { className: "sidebar-copy", children: itemLabel }), active && (_jsx(ChevronRight, { className: "sidebar-chevron w-3 h-3 ml-auto text-white/70" }))] }, href));
|
|
257
|
+
}) })] }, label)))) }), _jsxs("div", { className: "px-3 mt-4 pt-4 border-t border-slate-100 space-y-0.5", children: [_jsxs(Link, { href: "/dashboard/host/settings", className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group", pathname.startsWith("/dashboard/host/settings")
|
|
258
|
+
? "bg-primary text-white shadow-md shadow-primary/25"
|
|
259
|
+
: "text-slate-500 hover:bg-slate-50 hover:text-slate-900"), title: "Settings", children: [_jsx(Settings, { className: "w-4 h-4 shrink-0 text-slate-400 group-hover:text-slate-600" }), _jsx("span", { className: "sidebar-copy", children: "Settings" })] }), _jsxs(Link, { href: "/dashboard/devices", className: cn("flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium transition-all group", pathname.startsWith("/dashboard/devices")
|
|
260
|
+
? "bg-primary text-white shadow-md shadow-primary/25"
|
|
261
|
+
: "text-slate-500 hover:bg-slate-50 hover:text-slate-900"), title: "Manage Devices", children: [_jsx(MonitorSmartphone, { className: "w-4 h-4 shrink-0 text-slate-400 group-hover:text-slate-600" }), _jsx("span", { className: "sidebar-copy", children: "Manage Devices" })] }), _jsxs(Link, { href: "/", className: "flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium text-slate-400 hover:text-rose-600 hover:bg-rose-50 transition-all group", title: "Back to Site", children: [_jsx(LogOut, { className: "w-4 h-4 shrink-0 group-hover:text-rose-500 transition-colors" }), _jsx("span", { className: "sidebar-copy", children: "Back to Site" })] })] })] }));
|
|
262
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type ManageFeatureSwitcherProps = {
|
|
2
|
+
current: string;
|
|
3
|
+
listings: any[];
|
|
4
|
+
className?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function getVisibleManageFeatures(listings: any[], current: string): {
|
|
7
|
+
label: string;
|
|
8
|
+
value: string;
|
|
9
|
+
href: string;
|
|
10
|
+
categories: string[];
|
|
11
|
+
icon: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
12
|
+
}[];
|
|
13
|
+
export declare function ManageFeatureSwitcher({ current, listings, className }: ManageFeatureSwitcherProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=ManageFeatureSwitcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManageFeatureSwitcher.d.ts","sourceRoot":"","sources":["../../../src/components/host-dashboard/ManageFeatureSwitcher.tsx"],"names":[],"mappings":"AAeA,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAkBF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM;;;;;;IAKxE;AAED,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,0BAA0B,2CA0DjG"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { useRouter } from "next/navigation";
|
|
5
|
+
import { Calendar, Car, Check, ChevronDown, Heart, Mountain, PackageOpen, Sparkles } from "lucide-react";
|
|
6
|
+
import { cn } from "@myrjfa/state/dist/lib/utils";
|
|
7
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "../../misc/dropdown-menu";
|
|
8
|
+
const MANAGE_FEATURES = [
|
|
9
|
+
{ label: "Adventures", value: "adventures", href: "/dashboard/host/adventures/manage", categories: ["adventure"], icon: Mountain },
|
|
10
|
+
{ label: "Stays", value: "stays", href: "/dashboard/host/stays", categories: ["stay"], icon: Sparkles },
|
|
11
|
+
{ label: "Rentals", value: "rentals", href: "/dashboard/host/rentals/manage", categories: ["rental"], icon: Car },
|
|
12
|
+
{ label: "Events", value: "events", href: "/dashboard/host/events/manage", categories: ["event"], icon: Calendar },
|
|
13
|
+
{ label: "Packages", value: "packages", href: "/dashboard/host/packages/manage", categories: ["package"], icon: PackageOpen },
|
|
14
|
+
{ label: "Guides", value: "guides", href: "/dashboard/host/guides/manage", categories: ["guide"], icon: Sparkles },
|
|
15
|
+
{
|
|
16
|
+
label: "Opportunities",
|
|
17
|
+
value: "opportunities",
|
|
18
|
+
href: "/dashboard/host/opportunities/manage",
|
|
19
|
+
categories: ["volunteer", "job", "internship", "freelance", "contentCreator", "opportunity"],
|
|
20
|
+
icon: Heart,
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
export function getVisibleManageFeatures(listings, current) {
|
|
24
|
+
return MANAGE_FEATURES.filter((feature) => {
|
|
25
|
+
if (feature.value === current)
|
|
26
|
+
return true;
|
|
27
|
+
return listings.some((listing) => feature.categories.includes(listing.category));
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export function ManageFeatureSwitcher({ current, listings, className }) {
|
|
31
|
+
const router = useRouter();
|
|
32
|
+
const visibleFeatures = useMemo(() => getVisibleManageFeatures(listings, current), [listings, current]);
|
|
33
|
+
const activeFeature = visibleFeatures.find((feature) => feature.value === current) || visibleFeatures[0] || MANAGE_FEATURES[0];
|
|
34
|
+
const ActiveIcon = activeFeature.icon;
|
|
35
|
+
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: cn("inline-flex h-12 min-w-[190px] items-center justify-between gap-3 rounded-2xl border border-slate-200 bg-white px-4 text-sm font-black text-slate-900 shadow-sm outline-none transition hover:border-slate-300 hover:bg-slate-50 focus-visible:border-primary focus-visible:ring-4 focus-visible:ring-primary/10", className), children: [_jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [_jsx("span", { className: "flex h-8 w-8 items-center justify-center rounded-xl bg-slate-100 text-slate-700", children: _jsx(ActiveIcon, { className: "h-4 w-4" }) }), _jsx("span", { className: "truncate", children: activeFeature.label })] }), _jsx(ChevronDown, { className: "h-4 w-4 shrink-0 text-slate-500" })] }) }), _jsxs(DropdownMenuContent, { align: "end", sideOffset: 8, style: { minWidth: "var(--radix-dropdown-menu-trigger-width)" }, className: "rounded-2xl border-slate-100 bg-white p-2 shadow-xl", children: [_jsx(DropdownMenuLabel, { className: "px-3 py-2 text-[10px] font-black uppercase tracking-[0.22em] text-slate-400", children: "Manage" }), _jsx(DropdownMenuSeparator, { className: "my-1 bg-slate-100" }), visibleFeatures.map((feature) => {
|
|
36
|
+
const Icon = feature.icon;
|
|
37
|
+
const active = feature.value === current;
|
|
38
|
+
return (_jsxs(DropdownMenuItem, { onSelect: () => {
|
|
39
|
+
if (!active)
|
|
40
|
+
router.push(feature.href);
|
|
41
|
+
}, className: cn("mb-1 cursor-pointer rounded-xl px-3 py-2.5 text-sm font-bold text-slate-700 focus:bg-primary/5 focus:text-primary", active && "bg-slate-950 text-white focus:bg-slate-950 focus:text-white"), children: [_jsx(Icon, { className: cn("h-4 w-4", active ? "text-white" : "text-slate-500") }), _jsx("span", { className: "flex-1", children: feature.label }), active && _jsx(Check, { className: "h-4 w-4 text-white" })] }, feature.value));
|
|
42
|
+
})] })] }));
|
|
43
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LucideIcon } from "lucide-react";
|
|
2
|
+
interface PageHeaderProps {
|
|
3
|
+
title: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
action?: {
|
|
6
|
+
label: string;
|
|
7
|
+
icon?: LucideIcon;
|
|
8
|
+
href?: string;
|
|
9
|
+
onClick?: () => void;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare function PageHeader({ title, subtitle, action }: PageHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=PageHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../../src/components/host-dashboard/PageHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;KACtB,CAAA;CACF;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,2CA8BtE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Link from "next/link";
|
|
3
|
+
import { Button } from "../../misc/button";
|
|
4
|
+
export function PageHeader({ title, subtitle, action }) {
|
|
5
|
+
const className = "h-12 rounded-xl px-6 font-bold shadow-sm shadow-primary/20";
|
|
6
|
+
return (_jsxs("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-3xl font-bold text-slate-900 tracking-tight", children: title }), subtitle && (_jsx("p", { className: "text-slate-500 font-medium mt-0.5", children: subtitle }))] }), action &&
|
|
7
|
+
(action.href ? (_jsx(Button, { asChild: true, className: className, children: _jsxs(Link, { href: action.href, children: [action.icon && _jsx(action.icon, { className: "w-4 h-4" }), action.label] }) })) : (_jsxs(Button, { onClick: action.onClick, className: className, children: [action.icon && _jsx(action.icon, { className: "w-4 h-4" }), action.label] })))] }));
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaceholderPage.d.ts","sourceRoot":"","sources":["../../../src/components/host-dashboard/PlaceholderPage.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,2CAsBnE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button } from "@myrjfa/ui/dist/misc/button";
|
|
4
|
+
import { useRouter } from "next/navigation";
|
|
5
|
+
import Link from 'next/link';
|
|
6
|
+
export default function PlaceholderPage({ title }) {
|
|
7
|
+
const router = useRouter();
|
|
8
|
+
return (_jsxs("div", { className: "flex flex-col items-center justify-center min-h-[60vh] text-center animate-in fade-in duration-700", children: [_jsx("div", { className: "w-24 h-24 bg-primary/5 rounded-full flex items-center justify-center mb-8", children: _jsx("div", { className: "w-12 h-12 border-4 border-primary border-t-transparent rounded-full animate-spin" }) }), _jsxs("h1", { className: "text-3xl font-bold text-slate-900 mb-4 tracking-tight", children: [title, " is Coming Soon"] }), _jsxs("p", { className: "text-slate-500 font-medium max-w-md mb-8", children: ["We are currently building this section to give you the best experience in managing your ", title.toLowerCase(), "."] }), _jsx(Button, { asChild: true, className: "bg-primary text-white font-bold h-12 px-8 rounded-xl shadow-lg shadow-primary/20", children: _jsx(Link, { href: "/dashboard/host/overview", children: "Back to Dashboard" }) })] }));
|
|
9
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LucideIcon } from "lucide-react";
|
|
2
|
+
interface StatCardProps {
|
|
3
|
+
title: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
subtitle?: string;
|
|
6
|
+
icon: LucideIcon;
|
|
7
|
+
trend?: {
|
|
8
|
+
value: number;
|
|
9
|
+
label?: string;
|
|
10
|
+
};
|
|
11
|
+
color?: "teal" | "blue" | "amber" | "rose" | "violet";
|
|
12
|
+
}
|
|
13
|
+
export declare function StatCard({ title, value, subtitle, icon: Icon, trend, color, }: StatCardProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=StatCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatCard.d.ts","sourceRoot":"","sources":["../../../src/components/host-dashboard/StatCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAA4B,MAAM,cAAc,CAAC;AAEpE,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;CACvD;AA8BD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EAAE,IAAI,EACV,KAAK,EACL,KAAc,GACf,EAAE,aAAa,2CAyCf"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "@myrjfa/state/dist/lib/utils";
|
|
3
|
+
import { TrendingUp, TrendingDown } from "lucide-react";
|
|
4
|
+
const COLOR_MAP = {
|
|
5
|
+
teal: {
|
|
6
|
+
bg: "bg-teal-50",
|
|
7
|
+
icon: "bg-teal-100 text-teal-600",
|
|
8
|
+
text: "text-teal-600",
|
|
9
|
+
},
|
|
10
|
+
blue: {
|
|
11
|
+
bg: "bg-blue-50",
|
|
12
|
+
icon: "bg-blue-100 text-blue-600",
|
|
13
|
+
text: "text-blue-600",
|
|
14
|
+
},
|
|
15
|
+
amber: {
|
|
16
|
+
bg: "bg-amber-50",
|
|
17
|
+
icon: "bg-amber-100 text-amber-600",
|
|
18
|
+
text: "text-amber-600",
|
|
19
|
+
},
|
|
20
|
+
rose: {
|
|
21
|
+
bg: "bg-rose-50",
|
|
22
|
+
icon: "bg-rose-100 text-rose-600",
|
|
23
|
+
text: "text-rose-600",
|
|
24
|
+
},
|
|
25
|
+
violet: {
|
|
26
|
+
bg: "bg-violet-50",
|
|
27
|
+
icon: "bg-violet-100 text-violet-600",
|
|
28
|
+
text: "text-violet-600",
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
export function StatCard({ title, value, subtitle, icon: Icon, trend, color = "teal", }) {
|
|
32
|
+
var _a;
|
|
33
|
+
const c = COLOR_MAP[color];
|
|
34
|
+
const isPositive = ((_a = trend === null || trend === void 0 ? void 0 : trend.value) !== null && _a !== void 0 ? _a : 0) >= 0;
|
|
35
|
+
return (_jsxs("div", { className: cn("rounded-2xl border border-slate-100 bg-white p-5 shadow-sm flex flex-col gap-4 hover:shadow-md transition-shadow"), children: [_jsxs("div", { className: "flex items-start justify-between", children: [_jsx("div", { className: cn("p-2.5 rounded-xl", c.icon), children: _jsx(Icon, { className: "w-5 h-5" }) }), trend !== undefined && (_jsxs("span", { className: cn("flex items-center gap-1 text-xs font-bold px-2 py-1 rounded-full", isPositive
|
|
36
|
+
? "bg-emerald-50 text-emerald-600"
|
|
37
|
+
: "bg-rose-50 text-rose-600"), children: [isPositive ? (_jsx(TrendingUp, { className: "w-3 h-3" })) : (_jsx(TrendingDown, { className: "w-3 h-3" })), Math.abs(trend.value), "%"] }))] }), _jsxs("div", { children: [_jsx("p", { className: "text-sm text-slate-500 font-medium", children: title }), _jsx("p", { className: "text-3xl font-bold text-slate-900 mt-0.5 tracking-tight", children: value }), subtitle && _jsx("p", { className: "text-xs text-slate-400 mt-1", children: subtitle })] })] }));
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppProviders.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AppProviders.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQlC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAYzE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Provider as JotaiProvider } from "jotai";
|
|
4
|
+
import AuthSessionManager from "@myrjfa/state/dist/lib/authSessionManager";
|
|
5
|
+
import QueryProvider from "@myrjfa/state/dist/lib/QueryProvider";
|
|
6
|
+
import Navbar from "@myrjfa/ui/dist/main/navbar";
|
|
7
|
+
import { PwaInstallButton } from "@myrjfa/ui/dist/misc/pwa-install-button";
|
|
8
|
+
import IosPwaNavBar from "../ui/misc/IosPwaNavBar";
|
|
9
|
+
export default function AppProviders({ children }) {
|
|
10
|
+
return (_jsx(JotaiProvider, { children: _jsxs(QueryProvider, { children: [_jsx(AuthSessionManager, {}), _jsx(Navbar, { dark: false }), _jsx("main", { className: "z-1", children: children }), _jsx(PwaInstallButton, {}), _jsx(IosPwaNavBar, {})] }) }));
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublicRouteLayout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/PublicRouteLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAEA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublicShell.d.ts","sourceRoot":"","sources":["../../../src/components/layout/PublicShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAOxE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Footer from "@myrjfa/ui/dist/main/footer";
|
|
3
|
+
export default function PublicShell({ children }) {
|
|
4
|
+
return (_jsxs("div", { className: "z-1", children: [_jsx("main", { className: "z-1", children: children }), _jsx(Footer, { dark: false })] }));
|
|
5
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface LocationData {
|
|
2
|
+
address: string;
|
|
3
|
+
latitude: number;
|
|
4
|
+
longitude: number;
|
|
5
|
+
placeId?: string;
|
|
6
|
+
city?: string;
|
|
7
|
+
state?: string;
|
|
8
|
+
country?: string;
|
|
9
|
+
postalCode?: string;
|
|
10
|
+
searchAddress?: string;
|
|
11
|
+
}
|
|
12
|
+
interface LocationPickerProps {
|
|
13
|
+
value?: LocationData | null;
|
|
14
|
+
onChange: (location: LocationData) => void;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
required?: boolean;
|
|
17
|
+
label?: string;
|
|
18
|
+
}
|
|
19
|
+
declare global {
|
|
20
|
+
interface Window {
|
|
21
|
+
google?: any;
|
|
22
|
+
__trippeazeGoogleMapsPromise?: Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export default function LocationPicker({ value, onChange, placeholder, required, label, }: LocationPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=LocationPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationPicker.d.ts","sourceRoot":"","sources":["../../../src/components/location/LocationPicker.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA4CD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,4BAA4B,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9C;CACF;AAiLD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,KAAK,EACL,QAAQ,EACR,WAAoC,EACpC,QAAgB,EAChB,KAAkB,GACnB,EAAE,mBAAmB,2CAkYrB"}
|