@flower-city-online/itinerary-lib 0.0.20 → 0.0.21
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/environments/environment.d.ts +11 -0
- package/esm2022/environments/environment.mjs +23 -0
- package/esm2022/flower-city-online-itinerary-lib.mjs +5 -0
- package/esm2022/lib/itinerary-app/_constants/constants.mjs +129 -0
- package/esm2022/lib/itinerary-app/_data/app-service.service.mjs +41 -0
- package/esm2022/lib/itinerary-app/_data/comment.service.mjs +100 -0
- package/esm2022/lib/itinerary-app/_data/itinerary-member.service.mjs +108 -0
- package/esm2022/lib/itinerary-app/_data/user-friends.service.mjs +121 -0
- package/esm2022/lib/itinerary-app/_data/vote.service.mjs +79 -0
- package/esm2022/lib/itinerary-app/_dtos/Itinerary-primary-info.dto.mjs +2 -0
- package/esm2022/lib/itinerary-app/_dtos/comment.dto.mjs +2 -0
- package/esm2022/lib/itinerary-app/_dtos/i-Itinerary-stats.dto.mjs +2 -0
- package/esm2022/lib/itinerary-app/_dtos/itinerary-member-complete.dto.mjs +2 -0
- package/esm2022/lib/itinerary-app/_dtos/itinerary-member.dto.mjs +2 -0
- package/esm2022/lib/itinerary-app/_dtos/vote.dto.mjs +2 -0
- package/esm2022/lib/itinerary-app/_enums/ItenariesRoutes.enum.mjs +64 -0
- package/esm2022/lib/itinerary-app/_enums/PathwayRoutes.enum.mjs +7 -0
- package/esm2022/lib/itinerary-app/_enums/endpoints/comment-request-endpoint.enum.mjs +11 -0
- package/esm2022/lib/itinerary-app/_enums/endpoints/gateway-request-enpoints.enum.mjs +6 -0
- package/esm2022/lib/itinerary-app/_enums/endpoints/itinerary-member-enpoint.enum.mjs +12 -0
- package/esm2022/lib/itinerary-app/_enums/endpoints/itinerary-request-endpoints.enum.mjs +10 -0
- package/esm2022/lib/itinerary-app/_enums/endpoints/user-friend-request-endpoints.enum.mjs +13 -0
- package/esm2022/lib/itinerary-app/_enums/endpoints/vote-request-endpoint.enum.mjs +8 -0
- package/esm2022/lib/itinerary-app/_enums/userRoutes.enum.mjs +5 -0
- package/esm2022/lib/itinerary-app/_interface/bottomNavigationList.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/cardData.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/commentsdata.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/conditions.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/dashboardSideBar.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/filterMenuOptions.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/i-gateway-request.interface.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/i-gateway-response.interface.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/icon.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/notification.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/pages.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/presetRecord.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/reportOptions.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/search-popup.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/searchResults.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/I-interest.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/Itinerary-stats.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/app-user.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/base.model.mjs +8 -0
- package/esm2022/lib/itinerary-app/_models/i-Itinerary.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/i-comment.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/i-image.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/i-itinerary-member.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/i-vote.schema.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/itinerary-location.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/itineraryMember.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/location-review.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/matching-clients.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/position-model.mjs +2 -0
- package/esm2022/lib/itinerary-app/_pipes/capitalize-first.pipe.mjs +18 -0
- package/esm2022/lib/itinerary-app/_pipes/time-ago.pipe.mjs +39 -0
- package/esm2022/lib/itinerary-app/_pipes/votes.pipe.mjs +24 -0
- package/esm2022/lib/itinerary-app/_services/api.service.mjs +31 -0
- package/esm2022/lib/itinerary-app/_services/assets.service.mjs +33 -0
- package/esm2022/lib/itinerary-app/_services/bottom-navigation.service.mjs +92 -0
- package/esm2022/lib/itinerary-app/_services/comment-image.service.mjs +16 -0
- package/esm2022/lib/itinerary-app/_services/constants.service.mjs +14 -0
- package/esm2022/lib/itinerary-app/_services/custom-dropdown-menu.service.mjs +256 -0
- package/esm2022/lib/itinerary-app/_services/itinerary.drawmode.transfer.mjs +34 -0
- package/esm2022/lib/itinerary-app/_services/itinerary.service.mjs +118 -0
- package/esm2022/lib/itinerary-app/_services/location.service.mjs +32 -0
- package/esm2022/lib/itinerary-app/_services/modal.clearhistory.service.mjs +17 -0
- package/esm2022/lib/itinerary-app/_services/modal.sendclient.service.mjs +17 -0
- package/esm2022/lib/itinerary-app/_services/modal.service.mjs +17 -0
- package/esm2022/lib/itinerary-app/_services/modal.shareurlservice.mjs +17 -0
- package/esm2022/lib/itinerary-app/_services/shadow-root-handler.service.mjs +38 -0
- package/esm2022/lib/itinerary-app/_services/share-popup-data.mjs +20 -0
- package/esm2022/lib/itinerary-app/initalize.app.mjs +16 -0
- package/esm2022/lib/itinerary-app/itinerary-lib-routing.module.mjs +50 -0
- package/esm2022/lib/itinerary-app/itinerary-lib.component.mjs +77 -0
- package/esm2022/lib/itinerary-app/itinerary-lib.module.mjs +103 -0
- package/esm2022/lib/itinerary-app/modules/archives/archives-routing.module.mjs +19 -0
- package/esm2022/lib/itinerary-app/modules/archives/archives.component.mjs +23 -0
- package/esm2022/lib/itinerary-app/modules/archives/archives.module.mjs +40 -0
- package/esm2022/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.mjs +67 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.mjs +61 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.mjs +64 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/dashboard-routing.module.mjs +24 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/dashboard.component.mjs +14 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/dashboard.module.mjs +55 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.mjs +11 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.mjs +13 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.mjs +64 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.mjs +42 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.mjs +51 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.mjs +43 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.mjs +80 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.mjs +72 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.mjs +71 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.mjs +41 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.mjs +78 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/itineraries-routing.module.mjs +296 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/itineraries.component.mjs +50 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/itineraries.module.mjs +350 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.mjs +150 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.mjs +195 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.mjs +34 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.mjs +52 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.mjs +47 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.mjs +144 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.mjs +57 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.mjs +280 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.mjs +242 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.mjs +61 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.mjs +59 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.mjs +234 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.mjs +157 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.mjs +93 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.mjs +75 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.mjs +61 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.mjs +38 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.mjs +319 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.mjs +91 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.mjs +76 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.mjs +14 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.mjs +12 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.mjs +51 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.mjs +85 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.mjs +77 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.mjs +90 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.mjs +60 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.mjs +74 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.mjs +257 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.mjs +113 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.mjs +72 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.mjs +114 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.mjs +47 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.mjs +21 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.mjs +103 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.mjs +41 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.mjs +50 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.mjs +113 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.mjs +281 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.mjs +85 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.mjs +98 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.mjs +76 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.mjs +69 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.mjs +21 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.mjs +117 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.mjs +144 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.mjs +67 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.mjs +41 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.mjs +79 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.mjs +77 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.mjs +53 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.mjs +52 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.mjs +53 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.mjs +53 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/stories/story.component.mjs +53 -0
- package/esm2022/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.mjs +281 -0
- package/esm2022/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.mjs +39 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.mjs +26 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.mjs +56 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.mjs +30 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pathway-routing.module.mjs +41 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pathway.component.mjs +12 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pathway.module.mjs +72 -0
- package/esm2022/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.mjs +30 -0
- package/esm2022/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.mjs +17 -0
- package/esm2022/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.mjs +13 -0
- package/esm2022/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.mjs +14 -0
- package/esm2022/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.mjs +12 -0
- package/esm2022/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.mjs +78 -0
- package/esm2022/lib/itinerary-app/modules/search/components/search-results/search-results.component.mjs +16 -0
- package/esm2022/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.mjs +14 -0
- package/esm2022/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.mjs +33 -0
- package/esm2022/lib/itinerary-app/modules/search/pages/main-search/main-search.component.mjs +243 -0
- package/esm2022/lib/itinerary-app/modules/search/search-routing.module.mjs +19 -0
- package/esm2022/lib/itinerary-app/modules/search/search.component.mjs +12 -0
- package/esm2022/lib/itinerary-app/modules/search/search.module.mjs +90 -0
- package/esm2022/lib/itinerary-app/modules/user/profile/profile.component.mjs +54 -0
- package/esm2022/lib/itinerary-app/modules/user/user-routing.module.mjs +22 -0
- package/esm2022/lib/itinerary-app/modules/user/user.module.mjs +40 -0
- package/esm2022/lib/itinerary-app/shared/card-component/card-component.component.mjs +127 -0
- package/esm2022/lib/itinerary-app/shared/comment/comment-images/comment-images.component.mjs +23 -0
- package/esm2022/lib/itinerary-app/shared/comment/comment.component.mjs +118 -0
- package/esm2022/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.mjs +27 -0
- package/esm2022/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.mjs +162 -0
- package/esm2022/lib/itinerary-app/shared/cutom-card/cutom-card.component.mjs +94 -0
- package/esm2022/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.mjs +28 -0
- package/esm2022/lib/itinerary-app/shared/footer/footer.component.mjs +109 -0
- package/esm2022/lib/itinerary-app/shared/header/header.component.mjs +88 -0
- package/esm2022/lib/itinerary-app/shared/image-viewer/image-viewer.component.mjs +31 -0
- package/esm2022/lib/itinerary-app/shared/notification-tile/notification-tile.component.mjs +40 -0
- package/esm2022/lib/itinerary-app/shared/search-popup/search-popup.component.mjs +54 -0
- package/esm2022/lib/itinerary-app/shared/shared.module.mjs +206 -0
- package/esm2022/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.mjs +46 -0
- package/esm2022/lib/itinerary-app/shared/tab-bar/tab-bar.component.mjs +62 -0
- package/esm2022/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.mjs +51 -0
- package/esm2022/lib/itinerary-app/shared/user-tile/user-tile.component.mjs +28 -0
- package/esm2022/lib/itinerary-app/shared/users-stack/users-stack.component.mjs +47 -0
- package/esm2022/public-api.mjs +4 -0
- package/fesm2022/flower-city-online-itinerary-lib.mjs +10131 -0
- package/fesm2022/flower-city-online-itinerary-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/itinerary-app/_constants/constants.d.ts +2 -0
- package/lib/itinerary-app/_data/app-service.service.d.ts +12 -0
- package/lib/itinerary-app/_data/comment.service.d.ts +19 -0
- package/lib/itinerary-app/_data/itinerary-member.service.d.ts +21 -0
- package/lib/itinerary-app/_data/user-friends.service.d.ts +19 -0
- package/lib/itinerary-app/_data/vote.service.d.ts +21 -0
- package/lib/itinerary-app/_dtos/Itinerary-primary-info.dto.d.ts +6 -0
- package/lib/itinerary-app/_dtos/comment.dto.d.ts +11 -0
- package/lib/itinerary-app/_dtos/i-Itinerary-stats.dto.d.ts +8 -0
- package/lib/itinerary-app/_dtos/itinerary-member-complete.dto.d.ts +6 -0
- package/lib/itinerary-app/_dtos/itinerary-member.dto.d.ts +5 -0
- package/lib/itinerary-app/_dtos/vote.dto.d.ts +10 -0
- package/lib/itinerary-app/_enums/ItenariesRoutes.enum.d.ts +62 -0
- package/lib/itinerary-app/_enums/PathwayRoutes.enum.d.ts +5 -0
- package/lib/itinerary-app/_enums/endpoints/comment-request-endpoint.enum.d.ts +9 -0
- package/lib/itinerary-app/_enums/endpoints/gateway-request-enpoints.enum.d.ts +4 -0
- package/lib/itinerary-app/_enums/endpoints/itinerary-member-enpoint.enum.d.ts +10 -0
- package/lib/itinerary-app/_enums/endpoints/itinerary-request-endpoints.enum.d.ts +8 -0
- package/lib/itinerary-app/_enums/endpoints/user-friend-request-endpoints.enum.d.ts +11 -0
- package/lib/itinerary-app/_enums/endpoints/vote-request-endpoint.enum.d.ts +6 -0
- package/lib/itinerary-app/_enums/userRoutes.enum.d.ts +3 -0
- package/lib/itinerary-app/_interface/bottomNavigationList.d.ts +11 -0
- package/lib/itinerary-app/_interface/cardData.d.ts +16 -0
- package/lib/itinerary-app/_interface/commentsdata.d.ts +14 -0
- package/lib/itinerary-app/_interface/conditions.d.ts +5 -0
- package/lib/itinerary-app/_interface/dashboardSideBar.d.ts +7 -0
- package/lib/itinerary-app/_interface/filterMenuOptions.d.ts +4 -0
- package/lib/itinerary-app/_interface/i-gateway-request.interface.d.ts +10 -0
- package/lib/itinerary-app/_interface/i-gateway-response.interface.d.ts +5 -0
- package/lib/itinerary-app/_interface/icon.d.ts +3 -0
- package/lib/itinerary-app/_interface/notification.d.ts +7 -0
- package/lib/itinerary-app/_interface/pages.d.ts +4 -0
- package/lib/itinerary-app/_interface/presetRecord.d.ts +5 -0
- package/lib/itinerary-app/_interface/reportOptions.d.ts +4 -0
- package/lib/itinerary-app/_interface/search-popup.d.ts +6 -0
- package/lib/itinerary-app/_interface/searchResults.d.ts +5 -0
- package/lib/itinerary-app/_models/I-interest.d.ts +4 -0
- package/lib/itinerary-app/_models/Itinerary-stats.d.ts +9 -0
- package/lib/itinerary-app/_models/app-user.d.ts +11 -0
- package/lib/itinerary-app/_models/base.model.d.ts +7 -0
- package/lib/itinerary-app/_models/i-Itinerary.d.ts +25 -0
- package/lib/itinerary-app/_models/i-comment.d.ts +15 -0
- package/lib/itinerary-app/_models/i-image.d.ts +6 -0
- package/lib/itinerary-app/_models/i-itinerary-member.d.ts +8 -0
- package/lib/itinerary-app/_models/i-vote.schema.d.ts +6 -0
- package/lib/itinerary-app/_models/itinerary-location.d.ts +16 -0
- package/lib/itinerary-app/_models/itineraryMember.d.ts +6 -0
- package/lib/itinerary-app/_models/location-review.d.ts +8 -0
- package/lib/itinerary-app/_models/matching-clients.d.ts +9 -0
- package/lib/itinerary-app/_models/position-model.d.ts +5 -0
- package/lib/itinerary-app/_pipes/capitalize-first.pipe.d.ts +7 -0
- package/lib/itinerary-app/_pipes/time-ago.pipe.d.ts +7 -0
- package/lib/itinerary-app/_pipes/votes.pipe.d.ts +7 -0
- package/lib/itinerary-app/_services/api.service.d.ts +14 -0
- package/lib/itinerary-app/_services/assets.service.d.ts +17 -0
- package/lib/itinerary-app/_services/bottom-navigation.service.d.ts +26 -0
- package/lib/itinerary-app/_services/comment-image.service.d.ts +8 -0
- package/lib/itinerary-app/_services/constants.service.d.ts +6 -0
- package/lib/itinerary-app/_services/custom-dropdown-menu.service.d.ts +37 -0
- package/lib/itinerary-app/_services/itinerary.drawmode.transfer.d.ts +27 -0
- package/lib/itinerary-app/_services/itinerary.service.d.ts +18 -0
- package/lib/itinerary-app/_services/location.service.d.ts +10 -0
- package/lib/itinerary-app/_services/modal.clearhistory.service.d.ts +9 -0
- package/lib/itinerary-app/_services/modal.sendclient.service.d.ts +9 -0
- package/lib/itinerary-app/_services/modal.service.d.ts +9 -0
- package/lib/itinerary-app/_services/modal.shareurlservice.d.ts +9 -0
- package/lib/itinerary-app/_services/shadow-root-handler.service.d.ts +6 -0
- package/lib/itinerary-app/_services/share-popup-data.d.ts +11 -0
- package/lib/itinerary-app/initalize.app.d.ts +2 -0
- package/lib/itinerary-app/itinerary-lib-routing.module.d.ts +7 -0
- package/lib/itinerary-app/itinerary-lib.component.d.ts +25 -0
- package/lib/itinerary-app/itinerary-lib.module.d.ts +19 -0
- package/lib/itinerary-app/modules/archives/archives-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/archives/archives.component.d.ts +9 -0
- package/lib/itinerary-app/modules/archives/archives.module.d.ts +14 -0
- package/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.d.ts +32 -0
- package/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.d.ts +19 -0
- package/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.d.ts +16 -0
- package/lib/itinerary-app/modules/dashboard/dashboard-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/dashboard/dashboard.component.d.ts +5 -0
- package/lib/itinerary-app/modules/dashboard/dashboard.module.d.ts +16 -0
- package/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.d.ts +5 -0
- package/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.d.ts +5 -0
- package/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.d.ts +19 -0
- package/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.d.ts +29 -0
- package/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.d.ts +28 -0
- package/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.d.ts +28 -0
- package/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.d.ts +33 -0
- package/lib/itinerary-app/modules/itineraries/itineraries-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/itineraries/itineraries.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/itineraries.module.d.ts +83 -0
- package/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.d.ts +43 -0
- package/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.d.ts +40 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.d.ts +15 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.d.ts +42 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.d.ts +23 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.d.ts +58 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.d.ts +51 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.d.ts +22 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.d.ts +14 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.d.ts +50 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.d.ts +27 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.d.ts +32 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.d.ts +28 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.d.ts +24 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.d.ts +40 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.d.ts +25 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.d.ts +25 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.d.ts +7 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.d.ts +5 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.d.ts +27 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.d.ts +24 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.d.ts +27 -0
- package/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.d.ts +47 -0
- package/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.d.ts +45 -0
- package/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.d.ts +25 -0
- package/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.d.ts +12 -0
- package/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.d.ts +9 -0
- package/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.d.ts +39 -0
- package/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.d.ts +13 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.d.ts +38 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.d.ts +30 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.d.ts +25 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.d.ts +33 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.d.ts +28 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.d.ts +9 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.d.ts +38 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.d.ts +43 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.d.ts +29 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.d.ts +13 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.d.ts +34 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.d.ts +31 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.d.ts +24 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.d.ts +24 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.d.ts +24 -0
- package/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/stories/story.component.d.ts +27 -0
- package/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.d.ts +35 -0
- package/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.d.ts +15 -0
- package/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.d.ts +11 -0
- package/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.d.ts +29 -0
- package/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.d.ts +20 -0
- package/lib/itinerary-app/modules/pathway/pathway-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/pathway/pathway.component.d.ts +5 -0
- package/lib/itinerary-app/modules/pathway/pathway.module.d.ts +20 -0
- package/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.d.ts +14 -0
- package/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.d.ts +9 -0
- package/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.d.ts +5 -0
- package/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.d.ts +7 -0
- package/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.d.ts +5 -0
- package/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.d.ts +24 -0
- package/lib/itinerary-app/modules/search/components/search-results/search-results.component.d.ts +8 -0
- package/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.d.ts +7 -0
- package/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.d.ts +16 -0
- package/lib/itinerary-app/modules/search/pages/main-search/main-search.component.d.ts +74 -0
- package/lib/itinerary-app/modules/search/search-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/search/search.component.d.ts +5 -0
- package/lib/itinerary-app/modules/search/search.module.d.ts +22 -0
- package/lib/itinerary-app/modules/user/profile/profile.component.d.ts +12 -0
- package/lib/itinerary-app/modules/user/user-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/user/user.module.d.ts +12 -0
- package/lib/itinerary-app/shared/card-component/card-component.component.d.ts +42 -0
- package/lib/itinerary-app/shared/comment/comment-images/comment-images.component.d.ts +9 -0
- package/lib/itinerary-app/shared/comment/comment.component.d.ts +46 -0
- package/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.d.ts +11 -0
- package/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.d.ts +44 -0
- package/lib/itinerary-app/shared/cutom-card/cutom-card.component.d.ts +50 -0
- package/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.d.ts +10 -0
- package/lib/itinerary-app/shared/footer/footer.component.d.ts +23 -0
- package/lib/itinerary-app/shared/header/header.component.d.ts +17 -0
- package/lib/itinerary-app/shared/image-viewer/image-viewer.component.d.ts +16 -0
- package/lib/itinerary-app/shared/notification-tile/notification-tile.component.d.ts +20 -0
- package/lib/itinerary-app/shared/search-popup/search-popup.component.d.ts +23 -0
- package/lib/itinerary-app/shared/shared.module.d.ts +33 -0
- package/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.d.ts +26 -0
- package/lib/itinerary-app/shared/tab-bar/tab-bar.component.d.ts +17 -0
- package/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.d.ts +22 -0
- package/lib/itinerary-app/shared/user-tile/user-tile.component.d.ts +12 -0
- package/lib/itinerary-app/shared/users-stack/users-stack.component.d.ts +19 -0
- package/package.json +26 -19
- package/public-api.d.ts +3 -0
- package/src/assets/icons/food-pink.png +0 -0
- package/src/assets/icons/food.png +0 -0
- package/src/assets/icons/message.svg +22 -2
- package/src/assets/jsons/reports-options.json +12 -0
- package/src/assets/reportMediaOptions.json +13 -0
- package/src/assets/upvoteMembers.json +38 -0
- package/src/assets/watchingMembers.json +80 -0
- package/src/lib/itinerary-app/_styles/component-global-styles/custom-menu.scss +1 -5
- package/src/lib/itinerary-app/_styles/component-global-styles/filter-menu.scss +0 -4
- package/src/lib/itinerary-app/_styles/media-queries.scss +1 -4
- package/src/lib/itinerary-app/styles.scss +47 -66
- package/ng-package.json +0 -14
- package/src/environments/environment.prod.ts +0 -6
- package/src/environments/environment.ts +0 -24
- package/src/lib/itinerary-app/_constants/constants.ts +0 -130
- package/src/lib/itinerary-app/_constants/i18n-routes.ts +0 -334
- package/src/lib/itinerary-app/_enums/ItenariesRoutes.enum.ts +0 -65
- package/src/lib/itinerary-app/_enums/PathwayRoutes.enum.ts +0 -5
- package/src/lib/itinerary-app/_enums/userRoutes.enum.ts +0 -3
- package/src/lib/itinerary-app/_interface/bottomNavigationList.ts +0 -11
- package/src/lib/itinerary-app/_interface/cardData.ts +0 -16
- package/src/lib/itinerary-app/_interface/commentsdata.ts +0 -14
- package/src/lib/itinerary-app/_interface/conditions.ts +0 -5
- package/src/lib/itinerary-app/_interface/dashboardSideBar.ts +0 -7
- package/src/lib/itinerary-app/_interface/filterMenuOptions.ts +0 -4
- package/src/lib/itinerary-app/_interface/icon.ts +0 -3
- package/src/lib/itinerary-app/_interface/itinerary-map.ts +0 -7
- package/src/lib/itinerary-app/_interface/notification.ts +0 -7
- package/src/lib/itinerary-app/_interface/pages.ts +0 -4
- package/src/lib/itinerary-app/_interface/presetRecord.ts +0 -5
- package/src/lib/itinerary-app/_interface/reportOptions.ts +0 -4
- package/src/lib/itinerary-app/_interface/search-popup.ts +0 -7
- package/src/lib/itinerary-app/_interface/searchResults.ts +0 -5
- package/src/lib/itinerary-app/_models/Itinerary-stats.ts +0 -11
- package/src/lib/itinerary-app/_models/Itinerary.ts +0 -24
- package/src/lib/itinerary-app/_models/app-user.ts +0 -6
- package/src/lib/itinerary-app/_models/favorite-itinerary.ts +0 -5
- package/src/lib/itinerary-app/_models/itinerary-location.ts +0 -17
- package/src/lib/itinerary-app/_models/itineraryMember.ts +0 -6
- package/src/lib/itinerary-app/_models/location-review.ts +0 -9
- package/src/lib/itinerary-app/_models/matching-clients.ts +0 -9
- package/src/lib/itinerary-app/_models/position-model.ts +0 -5
- package/src/lib/itinerary-app/_pipes/votes.pipe.ts +0 -16
- package/src/lib/itinerary-app/_services/api.service.ts +0 -28
- package/src/lib/itinerary-app/_services/assets.service.ts +0 -38
- package/src/lib/itinerary-app/_services/bottom-navigation.service.ts +0 -92
- package/src/lib/itinerary-app/_services/comment-image.service.ts +0 -11
- package/src/lib/itinerary-app/_services/constants.service.ts +0 -8
- package/src/lib/itinerary-app/_services/custom-dropdown-menu.service.ts +0 -260
- package/src/lib/itinerary-app/_services/itinerary.drawmode.transfer.ts +0 -33
- package/src/lib/itinerary-app/_services/itinerary.service.ts +0 -64
- package/src/lib/itinerary-app/_services/location.service.ts +0 -28
- package/src/lib/itinerary-app/_services/modal.clearhistory.service.ts +0 -12
- package/src/lib/itinerary-app/_services/modal.sendclient.service.ts +0 -12
- package/src/lib/itinerary-app/_services/modal.service.ts +0 -12
- package/src/lib/itinerary-app/_services/modal.shareitinerary.service.ts +0 -12
- package/src/lib/itinerary-app/_services/modal.shareurlservice.ts +0 -12
- package/src/lib/itinerary-app/_services/shadow-root-handler.service.ts +0 -38
- package/src/lib/itinerary-app/_services/share-popup-data.ts +0 -17
- package/src/lib/itinerary-app/itinerary-lib-routing.module.ts +0 -42
- package/src/lib/itinerary-app/itinerary-lib.component.ts +0 -69
- package/src/lib/itinerary-app/itinerary-lib.module.ts +0 -36
- package/src/lib/itinerary-app/modules/archives/archives-routing.module.ts +0 -11
- package/src/lib/itinerary-app/modules/archives/archives.component.html +0 -8
- package/src/lib/itinerary-app/modules/archives/archives.component.scss +0 -0
- package/src/lib/itinerary-app/modules/archives/archives.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/archives/archives.component.ts +0 -15
- package/src/lib/itinerary-app/modules/archives/archives.module.ts +0 -23
- package/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.html +0 -35
- package/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.scss +0 -3
- package/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.ts +0 -68
- package/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.html +0 -38
- package/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.scss +0 -35
- package/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.ts +0 -60
- package/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.html +0 -20
- package/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.scss +0 -36
- package/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.ts +0 -64
- package/src/lib/itinerary-app/modules/dashboard/dashboard-routing.module.ts +0 -16
- package/src/lib/itinerary-app/modules/dashboard/dashboard.component.html +0 -15
- package/src/lib/itinerary-app/modules/dashboard/dashboard.component.scss +0 -3
- package/src/lib/itinerary-app/modules/dashboard/dashboard.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/dashboard/dashboard.component.ts +0 -9
- package/src/lib/itinerary-app/modules/dashboard/dashboard.module.ts +0 -32
- package/src/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.html +0 -0
- package/src/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.ts +0 -8
- package/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.html +0 -69
- package/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.ts +0 -10
- package/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.css +0 -39
- package/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.html +0 -64
- package/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.ts +0 -70
- package/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.html +0 -28
- package/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.scss +0 -22
- package/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.ts +0 -48
- package/src/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.html +0 -13
- package/src/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.scss +0 -16
- package/src/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.ts +0 -44
- package/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.css +0 -30
- package/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.html +0 -104
- package/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.ts +0 -87
- package/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.html +0 -14
- package/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.scss +0 -35
- package/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.ts +0 -78
- package/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.css +0 -28
- package/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.html +0 -10
- package/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.ts +0 -43
- package/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.html +0 -65
- package/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.scss +0 -104
- package/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.ts +0 -81
- package/src/lib/itinerary-app/modules/itineraries/itineraries-routing.module.ts +0 -283
- package/src/lib/itinerary-app/modules/itineraries/itineraries.component.html +0 -38
- package/src/lib/itinerary-app/modules/itineraries/itineraries.component.scss +0 -17
- package/src/lib/itinerary-app/modules/itineraries/itineraries.component.ts +0 -41
- package/src/lib/itinerary-app/modules/itineraries/itineraries.module.ts +0 -223
- package/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.css +0 -7
- package/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.html +0 -98
- package/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.ts +0 -131
- package/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.html +0 -30
- package/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.scss +0 -16
- package/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.ts +0 -179
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.html +0 -50
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.scss +0 -7
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.ts +0 -104
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary/create-itinerary.component.html +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary/create-itinerary.component.scss +0 -3
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary/create-itinerary.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary/create-itinerary.component.ts +0 -89
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.html +0 -21
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.ts +0 -53
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.html +0 -24
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.scss +0 -46
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.ts +0 -41
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.css +0 -6
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.html +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.ts +0 -95
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.html +0 -53
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.ts +0 -55
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.css +0 -47
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.html +0 -71
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.ts +0 -318
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.css +0 -47
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.html +0 -187
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.ts +0 -274
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.css +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.html +0 -26
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.ts +0 -53
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.html +0 -31
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.ts +0 -57
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.css +0 -53
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.html +0 -60
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.ts +0 -257
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.css +0 -4
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.html +0 -186
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.ts +0 -177
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.css +0 -38
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.html +0 -45
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.ts +0 -95
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.html +0 -68
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.ts +0 -81
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.css +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.html +0 -194
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.ts +0 -59
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.css +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.html +0 -93
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.ts +0 -33
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.html +0 -11
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.ts +0 -349
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.css +0 -5
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.html +0 -19
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.ts +0 -90
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.css +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.html +0 -40
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.ts +0 -70
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.css +0 -4
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.html +0 -35
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.ts +0 -12
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.html +0 -18
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.ts +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.html +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.ts +0 -48
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.css +0 -5
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.html +0 -30
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.ts +0 -79
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.html +0 -64
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.ts +0 -78
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.css +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.html +0 -140
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.ts +0 -83
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.html +0 -35
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.ts +0 -53
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.html +0 -52
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.ts +0 -70
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.html +0 -19
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.ts +0 -62
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.css +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.html +0 -65
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.ts +0 -35
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.html +0 -86
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.scss +0 -11
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.ts +0 -90
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.css +0 -34
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.html +0 -16
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.ts +0 -133
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.html +0 -32
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.scss +0 -7
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.ts +0 -125
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.html +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.ts +0 -14
- package/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.html +0 -37
- package/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.scss +0 -4
- package/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.ts +0 -97
- package/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.html +0 -34
- package/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.scss +0 -30
- package/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.ts +0 -44
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.css +0 -66
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.html +0 -73
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.ts +0 -49
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.css +0 -67
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.html +0 -89
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.ts +0 -115
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.html +0 -21
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.ts +0 -307
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.css +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.html +0 -113
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.ts +0 -88
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.html +0 -37
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.ts +0 -102
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.css +0 -46
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.html +0 -50
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.ts +0 -76
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.html +0 -25
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.scss +0 -13
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.ts +0 -54
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.html +0 -6
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.ts +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.css +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.html +0 -45
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.ts +0 -85
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.html +0 -32
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.ts +0 -68
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.html +0 -61
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.scss +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.ts +0 -79
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.html +0 -49
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.scss +0 -9
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.ts +0 -73
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.html +0 -6
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.ts +0 -14
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.html +0 -25
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.scss +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.ts +0 -56
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.css +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.html +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.ts +0 -38
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.html +0 -59
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.scss +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.ts +0 -81
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.html +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.ts +0 -47
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.css +0 -3
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.html +0 -11
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.ts +0 -12
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.css +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.html +0 -24
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.ts +0 -48
- package/src/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.html +0 -11
- package/src/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.ts +0 -64
- package/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.css +0 -46
- package/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.html +0 -16
- package/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.ts +0 -40
- package/src/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.html +0 -10
- package/src/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.ts +0 -311
- package/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.html +0 -16
- package/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.scss +0 -0
- package/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.ts +0 -33
- package/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.html +0 -67
- package/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.scss +0 -2
- package/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.ts +0 -23
- package/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.html +0 -70
- package/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.scss +0 -10
- package/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.ts +0 -58
- package/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.html +0 -45
- package/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.scss +0 -17
- package/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.ts +0 -24
- package/src/lib/itinerary-app/modules/pathway/pathway-routing.module.ts +0 -33
- package/src/lib/itinerary-app/modules/pathway/pathway.component.html +0 -3
- package/src/lib/itinerary-app/modules/pathway/pathway.component.scss +0 -0
- package/src/lib/itinerary-app/modules/pathway/pathway.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/pathway.component.ts +0 -9
- package/src/lib/itinerary-app/modules/pathway/pathway.module.ts +0 -43
- package/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.css +0 -0
- package/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.html +0 -20
- package/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.ts +0 -27
- package/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.html +0 -19
- package/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.scss +0 -31
- package/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.ts +0 -15
- package/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.html +0 -6
- package/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.scss +0 -6
- package/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.ts +0 -9
- package/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.html +0 -11
- package/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.scss +0 -22
- package/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.ts +0 -13
- package/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.html +0 -6
- package/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.scss +0 -0
- package/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.ts +0 -9
- package/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.html +0 -24
- package/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.scss +0 -6
- package/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.ts +0 -75
- package/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.css +0 -0
- package/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.html +0 -10
- package/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.ts +0 -13
- package/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.html +0 -9
- package/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.scss +0 -29
- package/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.ts +0 -13
- package/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.html +0 -14
- package/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.scss +0 -26
- package/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.ts +0 -32
- package/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.html +0 -21
- package/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.scss +0 -4
- package/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.ts +0 -237
- package/src/lib/itinerary-app/modules/search/search-routing.module.ts +0 -11
- package/src/lib/itinerary-app/modules/search/search.component.html +0 -3
- package/src/lib/itinerary-app/modules/search/search.component.scss +0 -0
- package/src/lib/itinerary-app/modules/search/search.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/search.component.ts +0 -9
- package/src/lib/itinerary-app/modules/search/search.module.ts +0 -60
- package/src/lib/itinerary-app/modules/user/profile/profile.component.html +0 -34
- package/src/lib/itinerary-app/modules/user/profile/profile.component.scss +0 -51
- package/src/lib/itinerary-app/modules/user/profile/profile.component.ts +0 -49
- package/src/lib/itinerary-app/modules/user/user-routing.module.ts +0 -14
- package/src/lib/itinerary-app/modules/user/user.module.ts +0 -22
- package/src/lib/itinerary-app/shared/action-card/action-card.component.html +0 -22
- package/src/lib/itinerary-app/shared/action-card/action-card.component.scss +0 -3
- package/src/lib/itinerary-app/shared/action-card/action-card.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/action-card/action-card.component.ts +0 -18
- package/src/lib/itinerary-app/shared/card-component/card-component.component.html +0 -134
- package/src/lib/itinerary-app/shared/card-component/card-component.component.scss +0 -88
- package/src/lib/itinerary-app/shared/card-component/card-component.component.spec.ts +0 -22
- package/src/lib/itinerary-app/shared/card-component/card-component.component.ts +0 -116
- package/src/lib/itinerary-app/shared/comment/comment-images/comment-images.component.css +0 -0
- package/src/lib/itinerary-app/shared/comment/comment-images/comment-images.component.html +0 -3
- package/src/lib/itinerary-app/shared/comment/comment-images/comment-images.component.ts +0 -17
- package/src/lib/itinerary-app/shared/comment/comment.component.html +0 -111
- package/src/lib/itinerary-app/shared/comment/comment.component.scss +0 -27
- package/src/lib/itinerary-app/shared/comment/comment.component.ts +0 -88
- package/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.html +0 -10
- package/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.scss +0 -23
- package/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.spec.ts +0 -22
- package/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.ts +0 -21
- package/src/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.html +0 -120
- package/src/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.scss +0 -283
- package/src/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.ts +0 -181
- package/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.html +0 -120
- package/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.scss +0 -85
- package/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.spec.ts +0 -22
- package/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.ts +0 -115
- package/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.html +0 -7
- package/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.scss +0 -50
- package/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.spec.ts +0 -22
- package/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.ts +0 -15
- package/src/lib/itinerary-app/shared/footer/footer.component.html +0 -12
- package/src/lib/itinerary-app/shared/footer/footer.component.scss +0 -29
- package/src/lib/itinerary-app/shared/footer/footer.component.ts +0 -136
- package/src/lib/itinerary-app/shared/header/header.component.html +0 -24
- package/src/lib/itinerary-app/shared/header/header.component.scss +0 -20
- package/src/lib/itinerary-app/shared/header/header.component.ts +0 -87
- package/src/lib/itinerary-app/shared/icon-button/icon-button.component.css +0 -21
- package/src/lib/itinerary-app/shared/icon-button/icon-button.component.html +0 -7
- package/src/lib/itinerary-app/shared/icon-button/icon-button.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/icon-button/icon-button.component.ts +0 -16
- package/src/lib/itinerary-app/shared/image-viewer/image-viewer.component.css +0 -52
- package/src/lib/itinerary-app/shared/image-viewer/image-viewer.component.html +0 -13
- package/src/lib/itinerary-app/shared/image-viewer/image-viewer.component.ts +0 -24
- package/src/lib/itinerary-app/shared/matching-clients/matching-clients.component.css +0 -0
- package/src/lib/itinerary-app/shared/matching-clients/matching-clients.component.html +0 -25
- package/src/lib/itinerary-app/shared/matching-clients/matching-clients.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/matching-clients/matching-clients.component.ts +0 -73
- package/src/lib/itinerary-app/shared/notification-tile/notification-tile.component.html +0 -38
- package/src/lib/itinerary-app/shared/notification-tile/notification-tile.component.scss +0 -46
- package/src/lib/itinerary-app/shared/notification-tile/notification-tile.component.ts +0 -34
- package/src/lib/itinerary-app/shared/search-popup/search-popup.component.css +0 -45
- package/src/lib/itinerary-app/shared/search-popup/search-popup.component.html +0 -30
- package/src/lib/itinerary-app/shared/search-popup/search-popup.component.ts +0 -52
- package/src/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.html +0 -14
- package/src/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.scss +0 -4
- package/src/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.ts +0 -17
- package/src/lib/itinerary-app/shared/shared.module.ts +0 -140
- package/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.css +0 -67
- package/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.html +0 -14
- package/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.ts +0 -48
- package/src/lib/itinerary-app/shared/tab-bar/tab-bar.component.html +0 -6
- package/src/lib/itinerary-app/shared/tab-bar/tab-bar.component.scss +0 -0
- package/src/lib/itinerary-app/shared/tab-bar/tab-bar.component.ts +0 -70
- package/src/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.css +0 -0
- package/src/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.html +0 -15
- package/src/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.ts +0 -32
- package/src/lib/itinerary-app/shared/user-tile/user-tile.component.css +0 -0
- package/src/lib/itinerary-app/shared/user-tile/user-tile.component.html +0 -24
- package/src/lib/itinerary-app/shared/user-tile/user-tile.component.ts +0 -21
- package/src/lib/itinerary-app/shared/users-stack/users-stack.component.html +0 -29
- package/src/lib/itinerary-app/shared/users-stack/users-stack.component.scss +0 -20
- package/src/lib/itinerary-app/shared/users-stack/users-stack.component.ts +0 -53
- package/src/lib/itinerary-app/test.ts +0 -30
- package/src/public-api.ts +0 -3
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -11
- package/tsconfig.spec.json +0 -21
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flower-city-online-itinerary-lib.mjs","sources":["../../../projects/itinerary-lib/src/lib/itinerary-app/_enums/ItenariesRoutes.enum.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_constants/constants.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/bottom-navigation.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/itinerary-lib.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_pipes/capitalize-first.pipe.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_pipes/votes.pipe.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/api.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/card-component/card-component.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/card-component/card-component.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/comment-image.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/comment/comment-images/comment-images.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/comment/comment-images/comment-images.component.html","../../../projects/itinerary-lib/src/environments/environment.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_enums/endpoints/gateway-request-enpoints.enum.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_data/app-service.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_pipes/time-ago.pipe.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/comment/comment.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/comment/comment.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/users-stack/users-stack.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/users-stack/users-stack.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/shadow-root-handler.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/footer/footer.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/footer/footer.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/header/header.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/header/header.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/image-viewer/image-viewer.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/image-viewer/image-viewer.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/notification-tile/notification-tile.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/notification-tile/notification-tile.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/modal.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/assets.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/search-popup/search-popup.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/search-popup/search-popup.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/tab-bar/tab-bar.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/tab-bar/tab-bar.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/user-tile/user-tile.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/user-tile/user-tile.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/shared/shared.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/constants.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/modal.shareurlservice.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/share-popup-data.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/itineraries.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/itineraries.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_enums/userRoutes.enum.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/modal.sendclient.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/custom-dropdown-menu.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_enums/endpoints/itinerary-request-endpoints.enum.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/itinerary.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/location.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_enums/endpoints/comment-request-endpoint.enum.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_data/comment.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_enums/endpoints/vote-request-endpoint.enum.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_data/vote.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_enums/endpoints/user-friend-request-endpoints.enum.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_data/user-friends.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_enums/endpoints/itinerary-member-enpoint.enum.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/_data/itinerary-member.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/itinerary.drawmode.transfer.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/itineraries-routing.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/itineraries/itineraries.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/archives/archives-routing.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/archives/archives.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/archives/archives.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/archives/archives.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/dashboard.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/dashboard.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/dashboard-routing.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/dashboard/dashboard.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_enums/PathwayRoutes.enum.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pathway-routing.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pathway.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pathway.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/pathway/pathway.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/_services/modal.clearhistory.service.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/search-routing.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/search.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/search.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/search/search.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/user/profile/profile.component.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/user/profile/profile.component.html","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/user/user-routing.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/modules/user/user.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/itinerary-lib-routing.module.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/initalize.app.ts","../../../projects/itinerary-lib/src/lib/itinerary-app/itinerary-lib.module.ts","../../../projects/itinerary-lib/src/flower-city-online-itinerary-lib.ts"],"sourcesContent":["export enum ItinerariesRoutesEnum {\r\n DASHBOARD = '/dashboard',\r\n ITINERARY = '/itineraries',\r\n ITINERARY_EXPLORE = '/itineraries/explore',\r\n ITINERARY_FAVOURITES = '/itineraries/favorites',\r\n ITINERARY_BUILDER = '/itineraries/builder',\r\n SEARCH = '/search/',\r\n REQUESTS = '/requests',\r\n INFO = '/info',\r\n PROFILE = '/profile',\r\n ARCHIVES = '/archives/archives', \r\n EXPLORE = 'explore',\r\n BUILDER = 'builder',\r\n CREATE_ITINERARY = 'create',\r\n CREATE_ITINERARY_ORIGIN = 'origin',\r\n CREATE_ITINERARY_DESTINATION = 'destination',\r\n SELECT_ITINERARY_EVENTS = 'select-events',\r\n SELECT_ITINERARY_ADD_PLACE = 'add-place',\r\n SELECT_ITINERARY_PLACE_BASIC_INFO = 'info',\r\n SELECT_ITINERARY_PLACE_DATETIME = 'datetime',\r\n SELECT_ITINERARY_PLACE_MEMBERS = 'members',\r\n CREATE_ITINERARY_USER_SEARCH = 'user-search',\r\n CREATE_ITINERARY_MEMBER_DETAILS = 'member-detail',\r\n CREATE_ITINERARY_DRAW_MODE = 'draw',\r\n CREATE_ITINERARY_DRAW_MODE_CREATE = 'create',\r\n CREATE_ITINERARY_DRAW_MODE_PREVIEW = 'preview',\r\n CREATE_ITINERARY_NO_VISUAL_FILTER_MODE = 'no-filters',\r\n CREATE_ITINERARY_NO_VISUAL_FILTER_MODE_CREATE = 'create',\r\n CREATE_ITINERARY_NO_VISUAL_FILTER_MODE_PREVIEW = 'preview',\r\n CREATED_ITINERARY = 'created-itinerary',\r\n FAVORITES = 'favorites',\r\n STORIES = 'stories',\r\n COMMENTS_ROUTE = 'c',\r\n NOTIFICATIONS = 'notifications',\r\n COMMENT_UPDATE_REQUEST = 'comment-update-request',\r\n ITINERARY_MEMBERS = 'members',\r\n ALL_INVITES_SENT = 'invites', \r\n All_PEOPLE = 'people',\r\n ITINERARY_FRIENDS = 'friends',\r\n LIST_FRIENDS = 'list-friends',\r\n ITINERARY_DETAIL = 'detail',\r\n ITINERARY_USERS = 'users',\r\n ITINERARY_UPVOTE_USERS = 'upvote-users',\r\n ITINERARY_WATCHING_USERS = 'watching-users',\r\n ITINERARY_AUTHOR_HISTORY = 'author-history',\r\n ITINERARY_SUMMARY = 'summary',\r\n ITINERARY_MAP = 'map',\r\n ITINERARY_MORE_DETAIL = 'more',\r\n BRANCHED_ITINERARIES = 'branch',\r\n COMMENT_SEARCH = 'comment-search',\r\n FRIEND_REQUESTS = 'friend-requests',\r\n SEARCH_FRIEND = 'search-friend',\r\n COMMENT_REPLIES = 'comment-replies',\r\n ADVANCED_FILTERS = 'advanced-filters', \r\n LOCATION_PICKER = 'location-picker',\r\n SUGGESTED_EVENTS_LOCATION = 'suggested-events-location',\r\n SUGGESTED_EVENTS_ROUTE_TYPE = 'suggested-events-route-type',\r\n SUGGESTED_EVENTS_ROUTE_RADIUS = 'suggested-events-route-radius',\r\n CREATED_ITINERARY_PREVIEW = 'created-itinerary-preview',\r\n CREATED_ITINERARY_DETAIL = 'detail',\r\n CREATED_ITINERARY_MAP = 'map',\r\n}\r\n","import { Iicon } from \"../_interface/icon\";\r\n\r\nexport const ICONS: Iicon = {\r\n angleRight: 'assets/icons/angle-right.svg',\r\n plus: 'assets/icons/plus.svg',\r\n pencil: 'assets/icons/pencil.svg',\r\n ban: 'assets/icons/ban.svg',\r\n sliders: 'assets/icon/common/sliders.svg',\r\n calendarFilter: 'assets/icons/calendar/calendar-filter.svg',\r\n calendar: 'assets/icons/calender.svg',\r\n speaker: 'assets/icons/common/speaker.svg',\r\n starYellow: 'assets/icons/star-yellow.svg',\r\n binWhite: 'assets/icons/bin-white.svg',\r\n userDetail: 'assets/icons/user-detail.svg',\r\n editWhite: 'assets/icons/account-setup/edit-w.svg',\r\n startItinerary: 'assets/icons/start-itinerary.svg',\r\n editRed: 'assets/icons/account-setup/edit-red.svg',\r\n upvote: '/assets/images/upvote.svg',\r\n upArrowWhite: '/assets/icons/uparrow_white.svg',\r\n downvote: '/assets/images/downvote.svg',\r\n home: 'assets/icons/home.svg',\r\n homeRed: 'assets/icons/home_red.svg',\r\n favorite: 'assets/icons/favorite.svg',\r\n favoriteRed: 'assets/icons/favorite_red.svg',\r\n chat: 'assets/icons/chat.svg',\r\n chatRed: 'assets/icons/chat_red.svg',\r\n itineraries: 'assets/icons/itineraries.svg',\r\n itinerariesRed: 'assets/icons/itineraries_red.svg',\r\n user: 'assets/icons/user.svg',\r\n userRed: 'assets/icons/user_red.svg',\r\n userRedFilled: 'assets/icons/user-red-filled.svg',\r\n back: 'assets/icons/back.svg',\r\n search: 'assets/icons/search.svg',\r\n deleteSec: 'assets/icons/delete_sec.svg',\r\n logo: 'assets/icons/logo.svg',\r\n dashHomeActive: 'assets/icons/dash_home_active.svg',\r\n divider: 'assets/images/divider.svg',\r\n userAdded: 'assets/icons/user-added.svg',\r\n users: 'assets/icons/users.svg',\r\n stats: 'assets/icons/stats.svg',\r\n grid: 'assets/icons/grid.svg',\r\n eyePink: 'assets/icons/eyePink.svg',\r\n eyePinkClose: 'assets/icons/eyePinkClose.svg',\r\n setting: 'assets/icons/setting.svg',\r\n notBlip: 'assets/icons/not_blip.svg',\r\n logout: 'assets/icons/logout.svg',\r\n info: 'assets/icons/info.svg',\r\n infoBig: 'assets/icons/info-big.svg',\r\n feedback: 'assets/icons/feedback.svg',\r\n dashboardSearch: 'assets/icons/dashboard_search.svg',\r\n notifications: 'assets/icons/notifications.svg',\r\n delete: 'assets/icons/delete.svg',\r\n deletePink: 'assets/icons/deletePink.svg',\r\n filter: 'assets/icons/filter.svg',\r\n archives: 'assets/icons/archives.svg',\r\n createLocation: 'assets/icons/create_location.svg',\r\n robot: 'assets/icons/robot.svg',\r\n starBuilder: 'assets/icons/star_builder.svg',\r\n moveForward: 'assets/icons/more_forward.svg',\r\n map: 'assets/icons/map.svg',\r\n startMarkerImage: '/assets/images/start-loc-marker.svg',\r\n endMarkerImage: '/assets/images/end-loc-marker.svg',\r\n destination: '/assets/icons/destination-icon.svg',\r\n pen: '/assets/icons/penicon.svg',\r\n locationPink: '/assets/icons/location-pink-icon.svg',\r\n locationWhite: '/assets/icons/location-white-icon.svg',\r\n locationLight: '/assets/icons/location-light.svg',\r\n clock: '/assets/icons/clock-icon.svg',\r\n startLocation: '/assets/icons/start-location.svg',\r\n restu: '/assets/icons/restu-icon.svg',\r\n groupBinBar: '/assets/icons/groupbinbar.svg',\r\n enLocation: '/assets/icons/en-location.svg',\r\n location: '/assets/icons/locationicon.svg',\r\n write: '/assets/icons/write.svg',\r\n warn: '/assets/icons/warn.svg',\r\n star: 'assets/icons/star.svg',\r\n plus2: 'assets/icons/plus_2.svg',\r\n close: 'assets/icons/close.svg',\r\n history: 'assets/icons/history.svg',\r\n searchPlus: 'assets/icons/search_plus.svg',\r\n deleteCross: 'assets/icons/delete_cross.svg',\r\n edit: 'assets/icons/edit.svg',\r\n editPink: 'assets/icons/editPink.svg',\r\n archiveWhite: 'assets/icons/archives_white.svg',\r\n headphone: 'assets/icons/headphone.svg',\r\n heartWhite: 'assets/icons/heart_white.svg',\r\n heartFillRed: 'assets/icons/heart_fill_red.svg',\r\n share: 'assets/icons/share.svg',\r\n branch: 'assets/icons/branch.svg',\r\n branchPink: '/assets/images/branch-pink.svg',\r\n report: 'assets/icons/report.svg',\r\n restore: 'assets/icons/restore.svg',\r\n temp: '/assets/images/temp.svg',\r\n palace2: '/assets/images/palace (2).svg',\r\n coffee: '/assets/images/cofee.svg',\r\n template: '/assets/images/template.svg',\r\n eye: '/assets/images/eye.svg',\r\n comment2: '/assets/images/coment (2).svg',\r\n fork: '/assets/images/fork.svg',\r\n untitled: 'assets/images/untitledImage.svg',\r\n notSpecified: 'assets/icons/questionMark.svg',\r\n horizontal: '/assets/images/horizontal.svg',\r\n storyBackGround: '/assets/images/story-image.svg',\r\n horizontalWhite: '/assets/images/horizontal-white.svg',\r\n king: '/assets/images/king.svg',\r\n upvoteWhite: '/assets/images/upvote-white.svg',\r\n downvoteWhite: '/assets/images/downvote-white.svg',\r\n removeFeature: 'assets/icons/remove_feature.svg',\r\n addFeature: 'assets/icons/add_feature.svg',\r\n submit: 'assets/icons/submit.svg',\r\n invitePink: 'assets/icons/invite_pink.svg',\r\n food: 'assets/icons/food.svg',\r\n picMap: 'assets/icons/pic_map.svg',\r\n dummyUserProfile: '/assets/images/dummy-user-profile.jpg',\r\n rightArrow: '/assets/icons/right-arrow.svg',\r\n rightArrowPink: '/assets/icons/right-arrow-pink.svg',\r\n message: '/assets/icons/message.svg',\r\n closePink: 'assets/icons/close_pink.svg',\r\n unknownUser: 'assets/icons/unknown_user.svg',\r\n userReal: 'assets/icons/user_real.svg',\r\n forward: 'assets/icons/forward.svg',\r\n pickerIcon: 'assets/icons/picker_icon.svg',\r\n featured: 'assets/icons/featured.svg',\r\n hamburger: 'assets/icons/hamburger.svg',\r\n unpublish: 'assets/icons/unpublish.svg',\r\n requests: 'assets/icons/requests.svg',\r\n dotsIcon: 'assets/icons/dots-icon.svg',\r\n desktopSearch: 'assets/icons/desktop-filter.svg',\r\n badge_check: 'assets/icons/badge_check.svg'\r\n};\r\n","import { Injectable } from '@angular/core'; \r\nimport { ItinerariesRoutesEnum } from '../_enums/ItenariesRoutes.enum';\r\nimport { IBottomNavigationList } from '../_interface/bottomNavigationList';\r\nimport { Iicon } from '../_interface/icon';\r\nimport { ICONS } from '../_constants/constants';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BottomNavigationService {\r\n public isShowNavigation: boolean = false;\r\n ICONS: Iicon = ICONS;\r\n bottomNavList = [\r\n {\r\n id: 1,\r\n label: 'Home',\r\n iconPath: ICONS['home'],\r\n clickedIconPath: ICONS['homeRed'],\r\n routerLink: ItinerariesRoutesEnum.ITINERARY_EXPLORE,\r\n cssClass: '',\r\n height: '16',\r\n width: '17',\r\n selected: false,\r\n },\r\n {\r\n id: 2,\r\n label: 'Requests',\r\n iconPath: ICONS['favorite'],\r\n clickedIconPath: ICONS['favorite'],\r\n routerLink: ItinerariesRoutesEnum.REQUESTS,\r\n cssClass: '',\r\n height: '19',\r\n width: '19',\r\n selected: false,\r\n },\r\n {\r\n id: 3,\r\n label: 'Info',\r\n iconPath: ICONS['chat'],\r\n clickedIconPath: ICONS['chatRed'],\r\n routerLink: ItinerariesRoutesEnum.INFO,\r\n cssClass: '',\r\n height: '16',\r\n width: '17',\r\n selected: false,\r\n },\r\n {\r\n id: 4,\r\n label: 'Itineraries',\r\n iconPath: ICONS['itineraries'],\r\n clickedIconPath: ICONS['itinerariesRed'],\r\n routerLink: ItinerariesRoutesEnum.ITINERARY_BUILDER,\r\n cssClass: '',\r\n height: '16',\r\n width: '17',\r\n selected: false,\r\n },\r\n {\r\n id: 5,\r\n label: 'Profile',\r\n iconPath: ICONS['user'],\r\n clickedIconPath: ICONS['userRed'],\r\n routerLink: ItinerariesRoutesEnum.PROFILE,\r\n cssClass: '',\r\n height: '16',\r\n width: '17',\r\n selected: false,\r\n },\r\n ];\r\n constructor(private readonly router: Router) {\r\n \r\n }\r\n\r\n onNavigationChange(\r\n data: IBottomNavigationList[],\r\n nav: IBottomNavigationList,\r\n ): void {\r\n if(data) {\r\n this.router.navigate([nav.routerLink]);\r\n }\r\n }\r\n\r\n setActive(nav: IBottomNavigationList): void {\r\n this.bottomNavList.forEach((element: IBottomNavigationList) => {\r\n element.cssClass = '';\r\n if(nav.id === element.id) {\r\n element.cssClass = 'active';\r\n }\r\n });\r\n }\r\n}\r\n","import { BreakpointObserver, Breakpoints, BreakpointState } from '@angular/cdk/layout';\r\nimport { AfterViewInit, Component, ElementRef, HostListener, inject, OnDestroy, OnInit, Renderer2, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { Location } from '@angular/common'; \r\nimport { PopupModalService } from '@naniteninja/ionic-lib';\r\nimport { Subscription } from 'rxjs'; \r\nimport { BottomNavigationService } from './_services/bottom-navigation.service';\r\n\r\n@Component({\r\n selector: 'lib-itinerary-lib',\r\n template: `\r\n <router-outlet></router-outlet> <ng-container #dynamicModal></ng-container>\r\n `,\r\n styles: ``\r\n})\r\nexport class ItineraryLibComponent implements OnInit, AfterViewInit, OnDestroy {\r\n isSmallScreen = false;\r\n private breakpointSubscription!: Subscription;\r\n @ViewChild('dynamicModal', { read: ViewContainerRef })\r\n dynamicModal!: ViewContainerRef;\r\n private popupModalService = inject(PopupModalService);\r\n\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n private renderer: Renderer2,\r\n public el: ElementRef,\r\n public location: Location,\r\n public navService: BottomNavigationService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.handleScreenSizeChange();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.popupModalService.setRootViewContainerRef(this.dynamicModal);\r\n }\r\n\r\n //use to change application ui and behaviour based on screen size\r\n handleScreenSizeChange(): void {\r\n this.checkWindowWidth();\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe([Breakpoints.Small, Breakpoints.XSmall])\r\n .subscribe((state: BreakpointState) => {\r\n this.isSmallScreen = state.matches;\r\n if (this.isSmallScreen) {\r\n this.renderer.removeClass(document.body, 'customBody');\r\n } else {\r\n this.renderer.addClass(document.body, 'customBody');\r\n }\r\n });\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(_event: Event): void {\r\n this.checkWindowWidth();\r\n }\r\n\r\n checkWindowWidth(): void {\r\n const width = window.innerWidth;\r\n if (width <= 960) {\r\n if (this.location.path().includes('dashboard')) {\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.breakpointSubscription.unsubscribe();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'capitalizeFirst'\r\n})\r\nexport class CapitalizeFirstPipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (!value) return '';\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'votes',\r\n})\r\nexport class VotesPipe implements PipeTransform {\r\n transform(value: number): string {\r\n if (value >= 1_000_000) {\r\n return (value / 1_000_000).toFixed(1).replace(/\\.0$/, '') + 'M';\r\n } else if (value >= 1_000) {\r\n return (value / 1_000).toFixed(1).replace(/\\.0$/, '') + 'K';\r\n } else {\r\n return value.toString();\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApiService {\r\n private readonly baseUrl = '';\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n get<T>(endpoint: string, params?: HttpParams): Observable<T> {\r\n return this.http.get<T>(`${this.baseUrl}${endpoint}`, { params });\r\n }\r\n\r\n post<T>(endpoint: string, body: any, options?: {}): Observable<T> {\r\n return this.http.post<T>(`${this.baseUrl}${endpoint}`, body, options);\r\n }\r\n\r\n put<T>(endpoint: string, body: any, options?: {}): Observable<T> {\r\n return this.http.put<T>(`${this.baseUrl}${endpoint}`, body, options);\r\n }\r\n\r\n delete<T>(endpoint: string, options?: {}): Observable<T> {\r\n return this.http.delete<T>(`${this.baseUrl}${endpoint}`, options);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib'; \r\nimport { ICONS } from '../../_constants/constants';\r\nimport { ICardData } from '../../_interface/cardData';\r\nimport { Iicon } from '../../_interface/icon';\r\nimport { ApiService } from '../../_services/api.service';\r\n\r\n@Component({\r\n selector: 'app-card-component',\r\n templateUrl: './card-component.component.html',\r\n styleUrls: ['./card-component.component.scss'],\r\n})\r\nexport class CardComponent implements OnInit {\r\n @Input() libMenuItem!: LibMenuItem[];\r\n @Input() isDraft!: boolean;\r\n cardData: ICardData | undefined;\r\n processedCardData: ICardData | undefined;\r\n ICONS: Iicon = ICONS;\r\n @Input() itineraryStarted: boolean = false;\r\n @Output() StartItineraryClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() TitleClicked: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() forkClicked: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() messageClicked: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n cardDataForLocations = {\r\n locationColumn1: [\r\n { icon: ICONS['temp'], name: 'Palace' },\r\n { icon: ICONS['palace2'], name: 'Template' },\r\n { icon: ICONS['palace2'], name: 'Optional' },\r\n { icon: ICONS['palace2'], name: 'Optional' },\r\n ],\r\n locationColumn2: [\r\n { icon: ICONS['coffee'], name: 'Coffee shop' },\r\n { icon: ICONS['template'], name: 'Optional' },\r\n { icon: ICONS['template'], name: 'Optional' },\r\n { icon: ICONS['template'], name: 'Optional' },\r\n ],\r\n };\r\n\r\n constructor(private apiService: ApiService) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.isDraft) {\r\n this.apiService.get('/assets/data.json').subscribe((data) => {\r\n this.cardData = data as ICardData;\r\n this.processedCardData = this.processCardData(this.cardData);\r\n });\r\n } else {\r\n this.cardData = {\r\n id: '2',\r\n upVotes: '',\r\n downVotes: 5,\r\n title: '',\r\n userName: '',\r\n timeAgo: '',\r\n location: '',\r\n views: 0,\r\n comments: 0,\r\n shares: 0,\r\n users: 0,\r\n imageSrc: '',\r\n userimageSrc: '',\r\n isDraft: true,\r\n };\r\n this.processedCardData = this.processCardData(this.cardData);\r\n }\r\n }\r\n\r\n private nullCheck(data: string | number | null | undefined): boolean {\r\n return (\r\n data?.toString().length == 0 ||\r\n data == null ||\r\n data == undefined ||\r\n data == '0' ||\r\n data == 0 ||\r\n data == '-'\r\n );\r\n }\r\n\r\n private processCardData(data: ICardData): ICardData {\r\n return {\r\n ...data,\r\n id: data.id,\r\n upVotes: this.nullCheck(data.upVotes) ? '00' : data.upVotes,\r\n title: this.nullCheck(data.title) ? 'Untitled Itinerary' : data.title,\r\n userName: this.nullCheck(data.userName) ? 'You' : data.userName,\r\n timeAgo: this.nullCheck(data.timeAgo) ? '' : data.timeAgo,\r\n users: this.nullCheck(data.users) ? 0 : data.users,\r\n views: this.nullCheck(data.views) ? 0 : data.views,\r\n comments: this.nullCheck(data.comments) ? 0 : data.comments,\r\n shares: this.nullCheck(data.shares) ? 0 : data.shares,\r\n imageSrc: this.nullCheck(data.imageSrc) ? ICONS['untitled'] : data.imageSrc,\r\n userimageSrc: this.nullCheck(data.userimageSrc)\r\n ? ICONS['notSpecified']\r\n : data.userimageSrc,\r\n location: this.nullCheck(data.location) ? 'Not Specified' : data.location,\r\n };\r\n }\r\n\r\n handleMenueItemSelect(): void {}\r\n handleMenuItemChange(): void {}\r\n handleMenuClick(): void {}\r\n\r\n handleForkClick(): void {\r\n this.forkClicked.emit();\r\n }\r\n handleStartItineraryClick(): void {\r\n this.StartItineraryClick.emit();\r\n }\r\n handleTitleClick(): void {\r\n this.TitleClicked.emit();\r\n }\r\n handleMessageClicked(): void {\r\n this.messageClicked.emit();\r\n }\r\n}\r\n","<lib-base-card\r\n *ngIf=\"processedCardData\"\r\n class=\"card-component px-4 py-4 my-2 rounded-lg outset-downshadow\"\r\n>\r\n <div class=\"flex items-start justify-between mb-2\">\r\n <div class=\"flex gap-5 items-start\">\r\n <div\r\n [class]=\"\r\n !isDraft\r\n ? ' text-primary'\r\n : '' +\r\n ' items-center sm:text-[10px] xs:text-[9px] flex flex-col gap-y-[0px]'\r\n \"\r\n >\r\n <img [src]=\"!isDraft ? ICONS['upvote'] : ICONS['upArrowWhite']\" alt=\"\" />\r\n <span [class]=\"!isDraft ? 'text-primary' : 'drah-voter-header'\">\r\n {{ processedCardData.upVotes }}\r\n </span>\r\n <img [src]=\"ICONS['downvote']\" alt=\"\" />\r\n </div>\r\n <div class=\"\">\r\n <h4 class=\"title medium-14 p-0 m-0\" (click)=\"handleTitleClick()\">\r\n {{ processedCardData.title }}\r\n </h4>\r\n <h5\r\n class=\"text-secondary opacity-80 text-[10px] xs:text-[9px] flex gap-[6px] items-center\"\r\n >\r\n <img [src]=\"ICONS['user']\" alt=\"\" />\r\n <span\r\n >{{ processedCardData.userName }} -\r\n {{ processedCardData.timeAgo }}</span\r\n >\r\n </h5>\r\n </div>\r\n </div>\r\n <div class=\"draft-header\" *ngIf=\"processedCardData.isDraft\">\r\n Draft Saved\r\n </div>\r\n\r\n <div class=\"flex items-center\">\r\n <div\r\n *ngIf=\"itineraryStarted\"\r\n (click)=\"handleStartItineraryClick()\"\r\n class=\"startItinerary\"\r\n >\r\n <img [src]=\"ICONS['startItinerary']\" alt=\"icon\" />\r\n </div>\r\n <lib-menu-btn\r\n (select)=\"handleMenueItemSelect()\"\r\n (click)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class\"\r\n [disableTextShadow]=\"true\"\r\n [menuItems]=\"libMenuItem\"\r\n >\r\n <img [src]=\"ICONS['horizontal']\" alt=\"\" />\r\n </lib-menu-btn>\r\n </div>\r\n </div>\r\n <hr class=\"h-1 text-secondary opacity-25\" />\r\n <div class=\"my-2 mb-1 flex items-start gap-x-5\">\r\n <div class=\"1 mb-0 flex flex-col items-center justify-center\">\r\n <img\r\n [class]=\"isDraft ? 'draf-location-image' : ''\"\r\n [src]=\"processedCardData.imageSrc\"\r\n alt=\"\"\r\n width=\"100\"\r\n />\r\n </div>\r\n <div class=\"2\">\r\n <div\r\n *ngIf=\"!cardData?.isDraft\"\r\n class=\"font-normal text-secondary flex items-center gap-x-4 text-sm\"\r\n >\r\n <ul class=\"flex flex-col gap-y-[6px] xs:text-[9px] sm:text-[12px]\">\r\n <li\r\n *ngFor=\"let location of cardDataForLocations.locationColumn1\"\r\n class=\"location-item flex items-center gap-1\"\r\n >\r\n <img [src]=\"location.icon\" alt=\"\" />\r\n <span class=\"truncate sm:max-w-10 xs:max-w-11\">{{\r\n location.name\r\n }}</span>\r\n </li>\r\n </ul>\r\n <ul class=\"flex flex-col gap-y-[6px] xs:text-[9px] sm:text-[12px]\">\r\n <li\r\n *ngFor=\"let location of cardDataForLocations.locationColumn2\"\r\n class=\"location-item flex items-center gap-1\"\r\n >\r\n <img [src]=\"location.icon\" alt=\"\" />\r\n <span class=\"truncate sm:max-w-10 xs:max-w-11\">{{\r\n location.name\r\n }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <p *ngIf=\"processedCardData.isDraft\" class=\"text-xs draft-description\">\r\n {{ \"FINISH_ITINERARY_CREATION\" | translate }}\r\n </p>\r\n </div>\r\n </div>\r\n <hr class=\"h-1 text-secondary opacity-25\" />\r\n <div class=\"my-2 flex items-center justify-between\">\r\n <div\r\n class=\"flex items-center justify-between sm:gap-x-7 xs:gap-x-5 sm:text-sm xs:text-[9px] text-secondary\"\r\n >\r\n <div class=\"flex items-center gap-x-[6px]\">\r\n <img class=\"bottom-icons\" [src]=\"ICONS['eye']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ processedCardData.views }}</span>\r\n </div>\r\n <div\r\n (click)=\"handleMessageClicked()\"\r\n class=\"flex items-center gap-x-[6px]\"\r\n >\r\n <img class=\"bottom-icons\" [src]=\"ICONS['comment2']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ processedCardData.comments }}</span>\r\n </div>\r\n <div (click)=\"handleForkClick()\" class=\"flex items-center gap-x-[6px]\">\r\n <img class=\"bottom-icons\" [src]=\"ICONS['fork']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ processedCardData.shares }}</span>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-2\">\r\n <span class=\"text-xs userIconText\">\r\n {{ processedCardData.users }}\r\n <span class=\"user-icon-text\" *ngIf=\"processedCardData.users > 0\"\r\n >Users</span\r\n >\r\n </span>\r\n <img [src]=\"processedCardData.userimageSrc\" alt=\"\" />\r\n </div>\r\n </div>\r\n</lib-base-card>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CommentImageService {\r\n constructor() {}\r\n\r\n image: string[] = [];\r\n index: number = 0;\r\n}\r\n","import { Component, Input } from '@angular/core'; \r\nimport { CommentImageService } from '../../../_services/comment-image.service';\r\n\r\n@Component({\r\n selector: 'app-comment-images',\r\n templateUrl: './comment-images.component.html',\r\n styleUrl: './comment-images.component.css',\r\n})\r\nexport class CommentImagesComponent {\r\n @Input() images: string[] = [];\r\n @Input() index: number = 0;\r\n\r\n constructor(commentImage: CommentImageService) {\r\n this.images = commentImage.image;\r\n this.index = commentImage.index;\r\n }\r\n}\r\n","<div class=\"w-full h-full\">\r\n <lib-image-deck [images]=\"images\" [activeIndex]=\"index\"></lib-image-deck>\r\n</div>\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n tenorURL: 'https://tenor.googleapis.com/v2',\r\n tenorKey: 'AIzaSyDP-SUVdQ4I9wOMDtxJgWUSnZpWq0K6qys',\r\n identityPoolId: 'us-west-2:2a1709dd-2aae-4e25-bf50-66bd8acb7c57',\r\n mapName: 'ItineraryMap',\r\n region: 'us-west-2',\r\n placeIndex: 'ItineraryPlaceIndex',\r\n routeCalculatorName: 'ItineraryCalculator',\r\n socketUrl: 'http://localhost:3000',\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","export enum GatewayRequestEndpoint {\r\n SocketRequest = 'socket.requests',\r\n SocketResponse = 'socket.responses',\r\n}","import { Injectable } from '@angular/core';\r\nimport { Socket, io } from 'socket.io-client';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { GatewayRequestEndpoint } from '../_enums/endpoints/gateway-request-enpoints.enum';\r\nimport { IGatewayRequest } from '../_interface/i-gateway-request.interface';\r\nimport { IUser } from '../_models/app-user';\r\nimport { IGatewayResponse } from '../_interface/i-gateway-response.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AppService {\r\n private socket: Socket;\r\n public user!: IUser;\r\n private readonly namespace = 'user';\r\n\r\n constructor() {\r\n this.socket = io(`${environment.socketUrl}`);\r\n }\r\n\r\n getCurrentUser(): Observable<IUser> {\r\n return new Observable<IUser>((observer) => {\r\n const req: IGatewayRequest<null, null> = {\r\n namespace:this.namespace,\r\n endpoint: 'current',\r\n blackboxRequest: true,\r\n };\r\n\r\n const handler = (res: IGatewayResponse<IUser>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response);\r\n observer.complete();\r\n this.socket.off(GatewayRequestEndpoint.SocketResponse, handler);\r\n }\r\n };\r\n this.socket.on(GatewayRequestEndpoint.SocketResponse, handler);\r\n this.socket.emit(GatewayRequestEndpoint.SocketRequest, req);\r\n });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'timeAgo',\r\n standalone: true\r\n})\r\nexport class TimeAgoPipe implements PipeTransform {\r\n transform(value: Date | string | number): string {\r\n if (!value) return '';\r\n\r\n const date = new Date(value);\r\n const now = new Date();\r\n const seconds = Math.floor((now.getTime() - date.getTime()) / 1000);\r\n\r\n if (seconds < 29) return 'Just now';\r\n\r\n const intervals: { [key: string]: number } = {\r\n year: 31536000,\r\n month: 2592000,\r\n week: 604800,\r\n day: 86400,\r\n hour: 3600,\r\n minute: 60,\r\n second: 1,\r\n };\r\n\r\n for (const i in intervals) {\r\n const interval = Math.abs(Math.floor(seconds / intervals[i]));\r\n if (interval >= 1) {\r\n return `${interval} ${i}${interval > 1 ? 's' : ''} ago`;\r\n }\r\n }\r\n\r\n return '';\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Type,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CommentImagesComponent } from './comment-images/comment-images.component';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib'; \r\nimport { ICONS } from '../../_constants/constants';\r\nimport { ItinerariesRoutesEnum } from '../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../_interface/icon';\r\nimport { CommentImageService } from '../../_services/comment-image.service';\r\nimport { IComment } from '../../_models/i-comment';\r\nimport { IUser } from '../../_models/app-user';\r\nimport { IVote } from '../../_models/i-vote.schema';\r\nimport { AppService } from '../../_data/app-service.service';\r\nimport { IImage } from '../../_models/i-image';\r\n\r\n@Component({\r\n selector: 'app-comment',\r\n templateUrl: './comment.component.html',\r\n styleUrl: './comment.component.scss',\r\n})\r\nexport class CommentComponent implements OnInit {\r\n @Input() libMenuItem!: LibMenuItem[];\r\n @Input() comment: IComment | undefined;\r\n @Input() index!: number;\r\n ICONS: Iicon = ICONS;\r\n isOpen: boolean = false;\r\n user: IUser;\r\n imageComponent: Type<unknown> = CommentImagesComponent;\r\n @Output() upClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() downClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() menuClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() menuItemSelect: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private commentImageService: CommentImageService,\r\n appService: AppService\r\n ) { this.user = appService.user }\r\n\r\n ngOnInit(): void { }\r\n\r\n //UI LOGIC\r\n asUser(value: IUser | string): IUser {\r\n return value as IUser;\r\n }\r\n\r\n asImage(value:IImage | string): IImage{\r\n return value as IImage;\r\n }\r\n\r\n handleMenueItemSelect(event:Event): void {\r\n console.log(event)\r\n }\r\n handleMenuItemChange(): void { }\r\n handleMenuClick(): void {\r\n this.menuClick.emit();\r\n }\r\n\r\n close = (): void => {\r\n this.isOpen = false;\r\n };\r\n\r\n showImage(images: IImage[], currentIndex: number): void {\r\n if (this.isOpen) {\r\n this.close();\r\n }\r\n\r\n setTimeout(() => {\r\n this.isOpen = true;\r\n this.commentImageService.image = images.map((v) => v.value);\r\n this.commentImageService.index = currentIndex;\r\n this.cdr.detectChanges();\r\n }, 0);\r\n }\r\n\r\n getUpVotes(): IVote[] | undefined {\r\n return this.comment?.votes?.filter(x => x.vote === 'up');\r\n }\r\n\r\n getVoteUpIcon(): string {\r\n const vote = this.comment?.votes?.find(x => x.userId === this.user._id);\r\n return vote?.vote === 'up' ? ICONS['upvote'] : ICONS['downvote'];\r\n }\r\n\r\n getVoteDownIcon(): string {\r\n const vote = this.comment?.votes?.find(x => x.userId === this.user._id);\r\n return vote?.vote === 'down' ? ICONS['upvote'] : ICONS['downvote'];\r\n }\r\n\r\n isUpVote(): boolean {\r\n const vote = this.comment?.votes?.find(x => x.userId === this.user._id);\r\n return vote?.vote === 'up';\r\n }\r\n\r\n isDownVote(): boolean {\r\n const vote = this.comment?.votes?.find(x => x.userId === this.user._id);\r\n return vote?.vote === 'down';\r\n }\r\n\r\n //NAVGIATIONS\r\n onUpClick() {\r\n this.upClick.emit();\r\n }\r\n\r\n onDownClick() {\r\n this.downClick.emit();\r\n }\r\n\r\n RedirectToReplies() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.COMMENT_REPLIES,\r\n this.comment?._id\r\n ]);\r\n }\r\n}\r\n","<div class=\"comment-card text-white p-4 rounded-xl w-full\">\r\n <div class=\"flex items-start justify-between\">\r\n <div class=\"flex space-x-3 mr-1\">\r\n <img\r\n [src]=\"asUser(comment?.user!).pictureUrl ?? ICONS['user']\"\r\n loading=\"lazy\"\r\n alt=\"User\"\r\n class=\"comment-user rounded-full\"\r\n />\r\n <div>\r\n <p class=\"text-sm font-semibold\">\r\n {{ asUser(comment?.user!).name }} -\r\n {{ comment?.createdAt! | timeAgo }}\r\n {{ comment?.isEdited ? \"(Edited)\" : \"\" }}\r\n </p>\r\n <p class=\"text-md text-gray-300\">{{ comment?.comment }}</p>\r\n </div>\r\n </div>\r\n\r\n <lib-menu-btn\r\n (select)=\"handleMenueItemSelect($event)\"\r\n (click)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n [menuItems]=\"libMenuItem\"\r\n >\r\n <img [src]=\"ICONS['horizontalWhite']\" alt=\"\" />\r\n </lib-menu-btn>\r\n </div>\r\n\r\n <div class=\"flex gap-[18px]\">\r\n <div class=\"flex flex-col items-center text-pink-500\">\r\n <img\r\n [src]=\"getVoteUpIcon()\"\r\n alt=\"Upvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"onUpClick()\"\r\n [ngStyle]=\"{\r\n transform: !isUpVote() ? 'rotate(180deg)' : 'rotate(0deg)',\r\n transition: 'transform 0.3s ease',\r\n }\"\r\n />\r\n <span class=\"text-xs font-semibold text-pink-500\">{{\r\n getUpVotes()?.length ?? 0 | votes\r\n }}</span>\r\n <img\r\n [src]=\"getVoteDownIcon()\"\r\n alt=\"Downvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"onDownClick()\"\r\n [ngStyle]=\"{\r\n transform: isDownVote() ? 'rotate(180deg)' : 'rotate(0deg)',\r\n transition: 'transform 0.3s ease',\r\n }\"\r\n />\r\n </div>\r\n <div class=\"flex flex-col\">\r\n <div\r\n *ngIf=\"(comment?.images)!.length > 0\"\r\n class=\"grid grid-cols-2 gap-2 mt-3\"\r\n >\r\n <ng-container *ngFor=\"let image of comment?.images; let i = index\">\r\n <div class=\"relative\" *ngIf=\"i < 4\">\r\n <img\r\n [src]=\"asImage(image).value\"\r\n loading=\"lazy\"\r\n alt=\"Attachment\"\r\n (click)=\"showImage(comment?.images!, i)\"\r\n class=\"w-full h-28 rounded-lg object-cover\"\r\n />\r\n <div\r\n *ngIf=\"i === 3 && comment?.images\"\r\n class=\"absolute inset-0 bg-black bg-opacity-50 flex items-center justify-center text-white text-xl font-bold\"\r\n >\r\n +{{ i }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex items-center justify-between mt-3\">\r\n <div class=\"flex space-x-4 text-gray-400 text-sm\">\r\n <button\r\n class=\"flex items-center space-x-1 hover:text-white\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n <img [src]=\"ICONS['comment2']\" alt=\"Reply\" />\r\n <p>Reply</p>\r\n </button>\r\n <button\r\n *ngIf=\"comment?.isFeatured\"\r\n class=\"flex items-center space-x-1 hover:text-white\"\r\n >\r\n <img\r\n style=\"height: 10px; width: 10px\"\r\n [src]=\"ICONS['featured']\"\r\n alt=\"Feature\"\r\n />\r\n <p>Featured</p>\r\n </button>\r\n </div>\r\n </div>\r\n <p\r\n class=\"custom-pink mt-4 font-bold text-sm cursor-pointer\"\r\n (click)=\"RedirectToReplies()\"\r\n >\r\n View Replies\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n</div>\r\n\r\n<lib-popup\r\n [isOpen]=\"isOpen\"\r\n [modalComponent]=\"imageComponent\"\r\n [backdropDismiss]=\"true\"\r\n (afterCloseEvent)=\"close()\"\r\n>\r\n</lib-popup>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-custom-heading-with-button',\r\n templateUrl: './custom-heading-with-button.component.html',\r\n styleUrl: './custom-heading-with-button.component.scss',\r\n})\r\nexport class CustomHeadingWithButtonComponent {\r\n @Input() heading!: string;\r\n @Input() buttonText!: string;\r\n @Input() buttonIcon!: string;\r\n @Input() cssClass!: string;\r\n @Output() buttonClick = new EventEmitter<MouseEvent>();\r\n}\r\n","<div [class]=\"cssClass + ' flex flex-row justify-between items-center mb-5'\">\r\n <h4 class=\"heading\">{{ heading }}</h4>\r\n <button\r\n class=\"iconButton flex flex-row items-center\"\r\n (click)=\"buttonClick.emit()\"\r\n >\r\n <img class=\"inline\" [ngSrc]=\"buttonIcon\" height=\"12\" width=\"13\" />\r\n <p class=\"inline\">{{ buttonText }}</p>\r\n </button>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostListener,\r\n Input,\r\n OnInit\r\n} from '@angular/core'; \r\nimport { LibMenuItem } from '@naniteninja/ionic-lib'; \r\nimport { ICONS } from '../../_constants/constants'; \r\nimport { ICardData } from '../../_interface/cardData';\r\nimport { Iicon } from '../../_interface/icon';\r\nimport { ApiService } from '../../_services/api.service';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-custom-story-card',\r\n templateUrl: './custom-story-card.component.html',\r\n styleUrl: './custom-story-card.component.scss',\r\n})\r\nexport class CustomStoryCardComponent implements OnInit {\r\n @Input() libMenuItem!: LibMenuItem[];\r\n @Input() isDraft!: boolean;\r\n cardData: ICardData | undefined;\r\n private scrollTimeout: any;\r\n private isScrolling = false;\r\n processedCardData: ICardData | undefined;\r\n ICONS: Iicon = ICONS;\r\n cardDataForLocations = {\r\n locationColumn1: [\r\n { icon: ICONS['temp'], name: 'Palace' },\r\n { icon: ICONS['palace2'], name: 'Template' },\r\n { icon: ICONS['palace2'], name: 'Optional' },\r\n { icon: ICONS['palace2'], name: 'Optional' },\r\n ],\r\n locationColumn2: [\r\n { icon: ICONS['coffee'], name: 'Coffee shop' },\r\n { icon: ICONS['template'], name: 'Optional' },\r\n { icon: ICONS['template'], name: 'Optional' },\r\n { icon: ICONS['template'], name: 'Optional' },\r\n ],\r\n };\r\n\r\n images: string[] = [\r\n \"https://static.gopro.com/assets/blta2b8522e5372af40/blt2d5eb5852c683074/671a428c24f2274281f1fb1a/02_HP_H13CE_375.jpg\",\r\n \"https://static.gopro.com/assets/blta2b8522e5372af40/blt2d5eb5852c683074/671a428c24f2274281f1fb1a/02_HP_H13CE_375.jpg\",\r\n \"https://static.gopro.com/assets/blta2b8522e5372af40/blt2d5eb5852c683074/671a428c24f2274281f1fb1a/02_HP_H13CE_375.jpg\"\r\n ]\r\n image: string = \"https://static.gopro.com/assets/blta2b8522e5372af40/blt2d5eb5852c683074/671a428c24f2274281f1fb1a/02_HP_H13CE_375.jpg\";\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private cdr: ChangeDetectorRef,\r\n private location: Location\r\n ) { }\r\n\r\n @HostListener('window:wheel', ['$event'])\r\n onWheel(event: WheelEvent) {\r\n if (!this.isScrolling) {\r\n this.isScrolling = true;\r\n\r\n if (event.deltaY > 0) {\r\n // Trigger your \"next video\" or content change here\r\n } else if (event.deltaY < 0) {\r\n // Trigger your \"previous video\" or content change here\r\n }\r\n\r\n // Wait until the gesture is finished\r\n this.scrollTimeout = setTimeout(() => {\r\n this.isScrolling = false;\r\n }, 500); // Adjust this duration to feel smoother or stricter\r\n }\r\n\r\n // Optional: reset timeout if new scroll comes before timeout ends\r\n clearTimeout(this.scrollTimeout);\r\n this.scrollTimeout = setTimeout(() => {\r\n this.isScrolling = false;\r\n }, 500);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadCardData();\r\n this.libMenuItem = this.libMenuItem.map((val) => {\r\n if (val.title === 'EDIT_COMMENT') {\r\n return {\r\n ...val,\r\n command: () => { \r\n },\r\n };\r\n }\r\n return val;\r\n });\r\n }\r\n\r\n private InvalidDataCheck(data: string | number | null | undefined): boolean {\r\n return (\r\n data?.toString().length == 0 ||\r\n data == null ||\r\n data == undefined ||\r\n data == '0' ||\r\n data == 0 ||\r\n data == '-'\r\n );\r\n }\r\n\r\n private processCardData(data: ICardData): ICardData {\r\n return {\r\n ...data,\r\n id: data.id ?? '0',\r\n upVotes: this.InvalidDataCheck(data.upVotes) ? '00' : data.upVotes,\r\n title: this.InvalidDataCheck(data.title)\r\n ? 'Untitled Itinerary'\r\n : data.title,\r\n userName: this.InvalidDataCheck(data.userName) ? 'You' : data.userName,\r\n timeAgo: this.InvalidDataCheck(data.timeAgo) ? '' : data.timeAgo,\r\n users: this.InvalidDataCheck(data.users) ? 0 : data.users,\r\n views: this.InvalidDataCheck(data.views) ? 0 : data.views,\r\n comments: this.InvalidDataCheck(data.comments) ? 0 : data.comments,\r\n shares: this.InvalidDataCheck(data.shares) ? 0 : data.shares,\r\n imageSrc: this.InvalidDataCheck(data.imageSrc)\r\n ? ICONS['untitled']\r\n : data.imageSrc,\r\n userimageSrc: this.InvalidDataCheck(data.userimageSrc)\r\n ? ICONS['notSpecified']\r\n : data.userimageSrc,\r\n location: this.InvalidDataCheck(data.location)\r\n ? 'Not Specified'\r\n : data.location,\r\n };\r\n }\r\n\r\n loadCardData() {\r\n if (!this.isDraft) {\r\n this.apiService.get('/assets/data.json').subscribe((data) => {\r\n this.cardData = data as ICardData;\r\n this.processedCardData = this.processCardData(this.cardData);\r\n this.cdr.detectChanges();\r\n });\r\n } else {\r\n this.cardData = this.createDummyCard();\r\n this.processedCardData = this.processCardData(this.cardData);\r\n }\r\n }\r\n createDummyCard(): ICardData {\r\n let card: ICardData;\r\n card = {\r\n id: '1',\r\n upVotes: '',\r\n downVotes: 5,\r\n title: '',\r\n userName: '',\r\n timeAgo: '',\r\n location: '',\r\n views: 0,\r\n comments: 0,\r\n shares: 0,\r\n users: 0,\r\n imageSrc: '',\r\n userimageSrc: '',\r\n isDraft: true,\r\n };\r\n\r\n return card;\r\n }\r\n handleMenueItemSelect(): void { }\r\n handleMenuItemChange(): void { }\r\n handleMenuClick(): void { }\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n \r\n}\r\n","<div class=\"carousel-container w-full bg-transparent\">\r\n <div class=\"carousel\">\r\n <div\r\n class=\"card active bg-cover bg-center bg-no-repeat story-img bg-transparent m-0\"\r\n [style.background-image]=\"'url(' + image + ')'\"\r\n >\r\n <div class=\"flex h-[50px] items-center\">\r\n <button (click)=\"goBack()\">\r\n <img loading=\"lazy\" [src]=\"ICONS['back']\" alt=\"Back\" class=\"p-[13px]\"/>\r\n </button>\r\n <h5 class=\"text-secondary text-[10px] xs:text-[9px] flex gap-[6px] items-center mx-[8px]\">\r\n <img loading=\"lazy\" [src]=\"ICONS['userReal']\" alt=\"User\" />\r\n <span>{{ processedCardData?.userName }} </span>\r\n <img loading=\"lazy\" [src]=\"ICONS['king']\" alt=\"Favorite\" />\r\n </h5>\r\n <lib-menu-btn (select)=\"handleMenueItemSelect()\" (click)=\"handleMenuClick()\" (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none ms-auto\" [disableTextShadow]=\"true\" [menuItems]=\"libMenuItem\">\r\n <img loading=\"lazy\" [src]=\"ICONS['horizontalWhite']\" alt=\"tricolon\" class=\"p-[6px]\" />\r\n </lib-menu-btn>\r\n </div>\r\n\r\n <div class=\"flex px-[12px]\">\r\n <div class=\"progress-bar\"></div>\r\n <div class=\"progress-bar\"></div>\r\n <div class=\"progress-bar\"></div>\r\n </div>\r\n\r\n <div class=\"p-[12px]\">\r\n <div class=\"flex items-start story-content mb-[30px] p-[12px]\" *ngFor=\"let item of [1, 2, 3]\" style=\"height: 91.9px;\">\r\n <div class=\"items-center sm:text-[10px] xs:text-[9px] flex flex-col gap-y-[0px] px-1\">\r\n <img loading=\"lazy\" [src]=\"ICONS['upvote']\" alt=\"Upvote\" />\r\n <span [class]=\"!isDraft ? 'text-primary' : 'drah-voter-header'\">\r\n {{ processedCardData?.upVotes }}\r\n </span>\r\n <img loading=\"lazy\" [src]=\"ICONS['downvote']\" alt=\"Downvote\" />\r\n </div>\r\n <div class=\"py-[8px] px-[4px]\">\r\n <h5 class=\"text-secondary mb-2 opacity-80 text-[20px] xs:text-[15px] flex gap-[6px] items-center\">\r\n <img loading=\"lazy\" class=\"story-avatar\" [src]=\"ICONS['userReal']\" alt=\"User\" width=\"20\" height=\"20\"/>\r\n <span class=\"story-author\">{{ processedCardData?.userName }} </span>\r\n <img loading=\"lazy\" [src]=\"ICONS['king']\" alt=\"Favorite\" />\r\n </h5>\r\n <div class=\"relative\">\r\n <p class=\"story-text\">\r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt and also other texts\r\n <span class=\"read-more-text\">Read More</span>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex items-start justify-end absolute story-right-info\">\r\n <div>\r\n <div class=\"mb-[26px] flex flex-col items-center\">\r\n <img loading=\"lazy\" [src]=\"ICONS['upvoteWhite']\" alt=\"Upvote\" />\r\n <span class=\"votes-Count\">\r\n {{ processedCardData?.upVotes }}\r\n </span>\r\n <img loading=\"lazy\" [src]=\"ICONS['downvoteWhite']\" alt=\"Downvote\" />\r\n </div>\r\n\r\n <div class=\"mb-[26px] flex flex-col items-center\">\r\n <img loading=\"lazy\" class=\"mb-[4px]\" [src]=\"ICONS['message']\" alt=\"Message\" />\r\n <span class=\"votes-Count\"> 23 </span>\r\n </div>\r\n\r\n <div class=\"mb-[16px] flex flex-col items-center\">\r\n <img loading=\"lazy\" class=\"mb-[4px]\" [src]=\"ICONS['forward']\" alt=\"Forward\" />\r\n <span class=\"votes-Count\"> Share </span>\r\n </div>\r\n <div class=\"flex flex-col items-center\">\r\n <img loading=\"lazy\" class=\"mb-[4px]\" [src]=\"ICONS['badge_check']\" alt=\"Check\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-white absolute w-full story-bottom-info\">\r\n <div class=\"flex-1\">\r\n <h2 class=\"text-2xl font-bold story-title mb-[8px]\">Adventure Tour</h2>\r\n <div class=\"mb-[12px]\">\r\n <h5 class=\"text-secondary opacity-80 text-[10px] xs:text-[9px] flex gap-[6px] items-center\">\r\n <img loading=\"lazy\" [src]=\"ICONS['userReal']\" alt=\"User\" width=\"12px\" height=\"12px\" />\r\n <span>{{ processedCardData?.userName }} - {{ processedCardData?.timeAgo }}</span>\r\n </h5>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center justify-between w-full\">\r\n <!-- Left-aligned div -->\r\n <div class=\"flex space-x-1 justify-start\">\r\n <span class=\"story-bottom-info-badge ellipsis story-bottom-buttons-pink\"><img loading=\"lazy\" [src]=\"ICONS['temp']\" alt=\"Place\" />\r\n Palace</span>\r\n <span class=\"story-bottom-info-badge ellipsis story-bottom-buttons-white\"><img loading=\"lazy\" [src]=\"ICONS['coffee']\" alt=\"Coffee\" />\r\n Coffee</span>\r\n <span class=\"story-bottom-info-badge ellipsis story-bottom-buttons-white\"><img loading=\"lazy\" [src]=\"ICONS['template']\" alt=\"Temple\" />\r\n Temple</span>\r\n <span class=\"story-bottom-info-badge font-bold story-bottom-buttons-white\">More +6</span>\r\n </div>\r\n <!-- Right-aligned div -->\r\n <div class=\"flex justify-end items-end\">\r\n <div class=\"flex\">\r\n <div class=\"flex items-end gap-x-2\">\r\n <span class=\"text-xs user-text text-nowrap\">\r\n {{ processedCardData?.users }}\r\n <span *ngIf=\"processedCardData && processedCardData!.users > 0\">Users</span>\r\n </span>\r\n <img loading=\"lazy\" [src]=\"processedCardData?.userimageSrc\" alt=\"UserPic\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { SelectOption } from '@naniteninja/ionic-lib'; \r\n\r\n@Component({\r\n selector: 'app-users-stack',\r\n templateUrl: './users-stack.component.html',\r\n styleUrls: ['./users-stack.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UsersStackComponent implements OnChanges {\r\n @Input() images: string[] = [];\r\n @Input() maxVisible = 3;\r\n @Input() size: number = 41;\r\n @Input() loading: boolean = false;\r\n @Input() class: string = '';\r\n @Input() isSelectableVisible: boolean = false;\r\n @Input() selectableOption!: SelectOption<string>; \r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n ) { }\r\n\r\n ngOnChanges(_changes: SimpleChanges): void { \r\n this.cdr.detectChanges();\r\n }\r\n\r\n get visibleImages(): string[] {\r\n return this.images.slice(0, this.maxVisible);\r\n }\r\n\r\n get remainingCount(): number {\r\n return this.images.length - this.maxVisible;\r\n }\r\n \r\n}\r\n","<div *ngIf=\"!loading\" [class]=\"'flex items-center ' + class\">\r\n <ng-container *ngFor=\"let img of visibleImages; let i = index\">\r\n <div\r\n class=\"rounded-full overflow-hidden relative\"\r\n [ngStyle]=\"{\r\n height: size + 'px',\r\n width: size + 'px',\r\n 'margin-left': i === 0 ? '0px' : -size * 0.45 + 'px',\r\n }\"\r\n >\r\n <img\r\n [src]=\"img\"\r\n alt=\"Avatar\"\r\n loading=\"lazy\"\r\n class=\"w-full h-full object-cover\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div\r\n *ngIf=\"remainingCount > 0\"\r\n class=\"rounded-full relative flex items-center justify-center\"\r\n [ngStyle]=\"{\r\n height: size + 'px',\r\n width: size + 'px',\r\n 'margin-left': visibleImages.length > 0 ? -size * 0.45 + 'px' : '0px',\r\n 'background-color': 'rgba(81, 78, 87, 1)',\r\n }\"\r\n >\r\n <p style=\"font-size: clamp(7px, 3vw, 15px)\" class=\"f-gilroy-regular\">\r\n {{ remainingCount }}+\r\n </p>\r\n </div>\r\n <div class=\"absolute z-10\" [style.left.px]=\"maxVisible * 26\">\r\n <lib-selectable\r\n *ngIf=\"isSelectableVisible\"\r\n [options]=\"[selectableOption]\"\r\n ></lib-selectable>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input, \r\n Output, \r\n} from '@angular/core';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib'; \r\nimport { ICONS } from '../../_constants/constants';\r\nimport { Iicon } from '../../_interface/icon';\r\nimport { IUser } from '../../_models/app-user'; \r\nimport { ItineraryStats } from '../../_models/Itinerary-stats';\r\nimport { IItineraryStatsDto } from '../../_dtos/i-Itinerary-stats.dto';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-cutom-card',\r\n templateUrl: './cutom-card.component.html',\r\n styleUrl: './cutom-card.component.scss',\r\n})\r\nexport class CutomCardComponent {\r\n @Input() libMenuItems: LibMenuItem[] = [];\r\n @Input() itineraryStats!: IItineraryStatsDto; \r\n ICONS: Iicon = ICONS;\r\n @Input() images: string[] = [];\r\n @Input() itineraryStarted: boolean = false;\r\n @Output() StartItineraryClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() TitleClicked: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() forkClicked: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() messageClicked: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() userProfileClicked: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() itineraryWatchingUsersClicked: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output() imageClicked: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() eyeClicked: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() menuClicked: EventEmitter<IItineraryStatsDto> = new EventEmitter<IItineraryStatsDto>();\r\n\r\n cardDataForLocations = {\r\n locationColumn1: [\r\n { icon: ICONS['temp'], name: 'Palace' },\r\n { icon: ICONS['palace2'], name: 'Template' },\r\n { icon: ICONS['palace2'], name: 'Optional' },\r\n { icon: ICONS['palace2'], name: 'Optional' },\r\n ],\r\n locationColumn2: [\r\n { icon: ICONS['coffee'], name: 'Coffee shop' },\r\n { icon: ICONS['template'], name: 'Optional' },\r\n { icon: ICONS['template'], name: 'Optional' },\r\n { icon: ICONS['template'], name: 'Optional' },\r\n ],\r\n };\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n \r\n //UI LOGIC\r\n asUser(value: IUser | string): IUser {\r\n return value as IUser;\r\n }\r\n \r\n asStats(value?: ItineraryStats | string): ItineraryStats | undefined {\r\n return value as ItineraryStats | undefined;\r\n }\r\n\r\n handleMenueItemSelect(): void { }\r\n handleMenuItemChange(): void { }\r\n handleMenuClick(): void { this.menuClicked.emit(this.itineraryStats) }\r\n\r\n handleForkClick = (): void => this.forkClicked.emit();\r\n handleStartItineraryClick = (): void => this.StartItineraryClick.emit();\r\n handleTitleClick = (): void => this.TitleClicked.emit();\r\n handleMessageClicked = (): void => this.messageClicked.emit();\r\n handleUserProfileClicked = (): void => this.userProfileClicked.emit();\r\n handleImageClick = (): void => this.imageClicked.emit();\r\n handleEyeClicked = (): void => this.eyeClicked.emit();\r\n\r\n handleItineraryWatchingClicked(): void {\r\n this.itineraryWatchingUsersClicked.emit();\r\n }\r\n}\r\n","<lib-base-card\r\n *ngIf=\"itineraryStats\"\r\n class=\"card-component px-4 py-4 my-2 rounded-lg outset-downshadow\"\r\n>\r\n <div class=\"flex items-start justify-between mb-2\">\r\n <div class=\"flex gap-5 items-start\">\r\n <div\r\n [class]=\"\r\n !itineraryStats.itinerary.isDraft\r\n ? ' text-primary'\r\n : '' +\r\n ' items-center sm:text-[10px] xs:text-[9px] flex flex-col gap-y-[0px]'\r\n \"\r\n >\r\n <img\r\n [src]=\"\r\n !itineraryStats.itinerary ? ICONS['upvote'] : ICONS['upArrowWhite']\r\n \"\r\n alt=\"\"\r\n />\r\n <span\r\n [class]=\"\r\n !itineraryStats.itinerary.isDraft\r\n ? 'text-primary'\r\n : 'drah-voter-header'\r\n \"\r\n >\r\n {{ itineraryStats.upvotes || 0 }}\r\n </span>\r\n <img [src]=\"ICONS['downvote']\" alt=\"\" />\r\n </div>\r\n <div (click)=\"handleTitleClick()\" class=\"\">\r\n <h4 class=\"title medium-14 p-0 m-0 truncate w-40\">\r\n {{ itineraryStats.itinerary.name | capitalizeFirst }}\r\n </h4>\r\n <h5\r\n class=\"text-secondary opacity-80 text-[10px] xs:text-[9px] flex gap-[6px] items-center\"\r\n >\r\n <img [src]=\"ICONS['user']\" alt=\"\" />\r\n <span\r\n >{{ asUser(itineraryStats.itinerary.createdBy).name }} -\r\n {{ itineraryStats.itinerary.createdAt! | timeAgo }}</span\r\n >\r\n </h5>\r\n </div>\r\n </div>\r\n <div class=\"draft-header\" *ngIf=\"itineraryStats.itinerary.isDraft\">\r\n {{ \"DRAFT_SAVED\" | translate }}\r\n </div>\r\n <div class=\"flex items-center\">\r\n <div\r\n *ngIf=\"itineraryStats.itinerary.isStarted\"\r\n (click)=\"handleStartItineraryClick()\"\r\n class=\"startItinerary\"\r\n >\r\n <img [src]=\"ICONS['startItinerary']\" alt=\"icon\" />\r\n </div>\r\n <lib-menu-btn\r\n (select)=\"handleMenueItemSelect()\"\r\n (click)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n id=\"lib-menu-btn\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n [menuItems]=\"libMenuItems\"\r\n >\r\n <img [src]=\"ICONS['horizontal']\" alt=\"\" />\r\n </lib-menu-btn>\r\n </div>\r\n </div>\r\n <hr class=\"h-1 text-secondary opacity-25\" />\r\n <div class=\"my-2 flex items-start gap-x-5\">\r\n <div\r\n (click)=\"handleImageClick()\"\r\n class=\"1 mb-0 flex flex-col items-center justify-center w-[80px]\"\r\n >\r\n <img\r\n [class]=\"itineraryStats.itinerary.isDraft ? 'draf-location-image' : ''\"\r\n [src]=\"'imageSrc'\"\r\n alt=\"\"\r\n width=\"100\"\r\n />\r\n </div>\r\n <div class=\"2\">\r\n <div\r\n *ngIf=\"!itineraryStats.itinerary.isDraft\"\r\n class=\"font-normal text-secondary flex items-center gap-x-4 text-sm\"\r\n >\r\n <ul class=\"flex flex-col gap-y-[6px] xs:text-[9px] sm:text-[12px]\">\r\n <li\r\n *ngFor=\"let location of cardDataForLocations.locationColumn1\"\r\n class=\"location-item flex items-center gap-1\"\r\n >\r\n <img [src]=\"location.icon\" alt=\"\" />\r\n <span class=\"truncate sm:max-w-10 xs:max-w-11\">{{\r\n location.name\r\n }}</span>\r\n </li>\r\n </ul>\r\n <ul class=\"flex flex-col gap-y-[6px] xs:text-[9px] sm:text-[12px]\">\r\n <li\r\n *ngFor=\"let location of cardDataForLocations.locationColumn2\"\r\n class=\"location-item flex items-center gap-1\"\r\n >\r\n <img [src]=\"location.icon\" alt=\"\" />\r\n <span class=\"truncate sm:max-w-10 xs:max-w-11\">{{\r\n location.name\r\n }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <p\r\n *ngIf=\"itineraryStats.itinerary.isDraft\"\r\n class=\"text-xs draft-description\"\r\n >\r\n {{ \"FINISH_ITINERARY_CREATION\" | translate }}\r\n </p>\r\n </div>\r\n </div>\r\n <hr class=\"h-1 text-secondary opacity-25\" />\r\n <div class=\"my-2 flex items-center justify-between\">\r\n <div\r\n class=\"flex items-center justify-between sm:gap-x-7 xs:gap-x-5 sm:text-sm xs:text-[9px] text-secondary\"\r\n >\r\n <div (click)=\"handleEyeClicked()\" class=\"flex items-center gap-x-[6px]\">\r\n <img class=\"bottom-icons\" [src]=\"ICONS['eye']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{\r\n itineraryStats.views\r\n }}</span>\r\n </div>\r\n <div\r\n (click)=\"handleMessageClicked()\"\r\n class=\"flex items-center gap-x-[6px]\"\r\n >\r\n <img class=\"bottom-icons\" [src]=\"ICONS['comment2']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{ itineraryStats.comments || 0 }}</span>\r\n </div>\r\n <div (click)=\"handleForkClick()\" class=\"flex items-center gap-x-[6px]\">\r\n <img class=\"bottom-icons\" [src]=\"ICONS['fork']\" alt=\"\" />\r\n <span class=\"bottom-tags\">{{\r\n 0\r\n }}</span>\r\n </div>\r\n </div>\r\n <div (click)=\"handleUserProfileClicked()\" class=\"flex items-center gap-x-1\">\r\n <!-- <span class=\"text-[13px] userIconText\">\r\n {{ processedCardData.users }}\r\n <span class=\"user-icon-text\" *ngIf=\"processedCardData.users > 0\">Users</span>\r\n </span> -->\r\n\r\n <app-users-stack [size]=\"14\" [images]=\"images\"></app-users-stack>\r\n </div>\r\n </div>\r\n</lib-base-card>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-bottom-navigation-items',\r\n templateUrl: './bottom-navigation-items.component.html',\r\n styleUrl: './bottom-navigation-items.component.scss',\r\n})\r\nexport class BottomNavigationItemsComponent {\r\n @Input() label!: string;\r\n @Input() iconPath!: string;\r\n @Input() routerLink!: string;\r\n @Input() cssClass!: string;\r\n @Input() selected!: boolean;\r\n}\r\n","<div\r\n [routerLink]=\"routerLink\"\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n>\r\n <img [src]=\"iconPath\" class=\"bottom-nav-image\" />\r\n <span [class]=\"cssClass + ' span-text'\">{{ label }}</span>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ShadowRootHandlerService {\r\n accessShadowRoot(\r\n targetNode: HTMLElement,\r\n componentName: string,\r\n callback: () => void,\r\n ): void {\r\n // Query the custom element\r\n const element = targetNode.querySelector(componentName) as HTMLElement;\r\n\r\n if (element) {\r\n // Create a MutationObserver to monitor changes\r\n const observer = new MutationObserver((mutationsList) => {\r\n for (const mutation of mutationsList) {\r\n if (mutation.type === 'childList' || mutation.type === 'attributes') {\r\n callback();\r\n }\r\n }\r\n });\r\n\r\n // Observe the element for changes\r\n observer.observe(element, {\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n\r\n // Apply callback when the component is initialized\r\n callback();\r\n // observer.disconnect();\r\n } else {\r\n }\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from '@angular/core'; \r\nimport { IBottomNavigationList } from '../../_interface/bottomNavigationList';\r\nimport { BottomNavigationService } from '../../_services/bottom-navigation.service';\r\nimport { ShadowRootHandlerService } from '../../_services/shadow-root-handler.service';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { filter } from 'rxjs';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n encapsulation: ViewEncapsulation.Emulated,\r\n})\r\nexport class FooterComponent implements OnInit, AfterViewInit {\r\n public enableBack: boolean = false;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private shadowrootHandler: ShadowRootHandlerService,\r\n public bottomNavigationService: BottomNavigationService,\r\n private cdr: ChangeDetectorRef,\r\n private readonly router: Router,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.router.events\r\n .pipe(\r\n filter(\r\n (event): event is NavigationEnd => event instanceof NavigationEnd,\r\n ),\r\n )\r\n .subscribe((event: NavigationEnd) => {\r\n const navItem = this.findNavItem(event.urlAfterRedirects);\r\n if(navItem) {\r\n this.bottomNavigationService.setActive(navItem);\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n\r\n const initialLoadUrl = setTimeout(() => {\r\n const navItem = this.findNavItem(this.router.url);\r\n if(navItem) {\r\n this.bottomNavigationService.setActive(navItem);\r\n this.cdr.detectChanges();\r\n }\r\n clearTimeout(initialLoadUrl);\r\n });\r\n\r\n this.enableBack = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n findNavItem(url: string): IBottomNavigationList | undefined {\r\n const homeNavItem = this.bottomNavigationService.bottomNavList.find((bottomnNavList) => {\r\n return bottomnNavList.label === 'Home';\r\n });\r\n if(url === '/archives/archives') {\r\n const activeNav = this.bottomNavigationService.bottomNavList.find((bottomnNavList) => {\r\n return bottomnNavList.label === 'Itineraries';\r\n });\r\n return activeNav;\r\n }\r\n if(homeNavItem?.routerLink === url) {\r\n return homeNavItem;\r\n } else {\r\n let activeNav = this.bottomNavigationService.bottomNavList.find((item) =>\r\n url.includes(item.routerLink) \r\n );\r\n if(activeNav) {\r\n return activeNav;\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.initShadowrootHandler();\r\n }\r\n\r\n navigate(\r\n bottomNavList: IBottomNavigationList[],\r\n item: IBottomNavigationList,\r\n ): void {\r\n this.bottomNavigationService.onNavigationChange(bottomNavList, item);\r\n }\r\n\r\n initShadowrootHandler(): void {\r\n const targetNode = this.el.nativeElement;\r\n this.shadowrootHandler.accessShadowRoot(\r\n targetNode,\r\n 'lib-bottom-modal',\r\n () => {\r\n this.applyStylesToDialog();\r\n },\r\n );\r\n }\r\n\r\n applyStylesToDialog(): void {\r\n const targetNode = this.el.nativeElement.querySelector(\r\n 'lib-bottom-modal',\r\n ) as HTMLElement;\r\n\r\n if (targetNode) {\r\n const classNameElements =\r\n targetNode.getElementsByClassName('lib-bottom-modal');\r\n\r\n if (classNameElements.length > 0) {\r\n const dialogDiv = classNameElements[0].shadowRoot?.querySelector(\r\n 'div[role=\"dialog\"]',\r\n ) as HTMLElement;\r\n\r\n if (dialogDiv) {\r\n const modalHandle = dialogDiv.getElementsByClassName(\r\n 'modal-handle',\r\n )[0] as HTMLElement;\r\n if (modalHandle) {\r\n modalHandle.style.display = 'none';\r\n } else {\r\n }\r\n } else {\r\n }\r\n } else {\r\n }\r\n } else {\r\n }\r\n }\r\n}\r\n","<div class=\"bottom-nav-main\">\r\n <app-bottom-navigation-items\r\n (click)=\"navigate(bottomNavigationService.bottomNavList, item)\"\r\n *ngFor=\"let item of bottomNavigationService.bottomNavList\"\r\n [cssClass]=\"item.cssClass\"\r\n [routerLink]=\"item.routerLink\"\r\n [label]=\"item.label\"\r\n [iconPath]=\"\r\n item.cssClass == 'active' ? item.clickedIconPath : item.iconPath\r\n \"\r\n />\r\n</div>","// import {\r\n// ChangeDetectionStrategy,\r\n// Component,\r\n// EventEmitter,\r\n// Input,\r\n// Output,\r\n// } from '@angular/core';\r\n// import { Router } from '@angular/router';\r\n// import { LibMenuItem } from '@naniteninja/ionic-lib';\r\n// import { ICONS } from 'src/app/constants/constants';\r\n// import { Iicon } from 'src/app/interface/icon';\r\n// import { ModalService } from 'src/app/services/core/modal/modal.service';\r\n// import { SearchPopupComponent } from 'src/app/shared/components/search-popup/search-popup.component';\r\n// @Component({\r\n// changeDetection: ChangeDetectionStrategy.OnPush,\r\n// selector: 'app-header',\r\n// templateUrl: './header.component.html',\r\n// styleUrl: './header.component.scss',\r\n// })\r\n// export class HeaderComponent {\r\n// @Input() heading!: string;\r\n// @Input() headerRightIcon: string = ICONS.search;\r\n// @Output() firstButton: EventEmitter<MouseEvent> =\r\n// new EventEmitter<MouseEvent>();\r\n// // @Output() lastButton: EventEmitter<MouseEvent> =\r\n// // new EventEmitter<MouseEvent>();\r\n// @Input() cssClass!: string;\r\n// @Input() isSearchVisible: boolean = true;\r\n// @Input() isTextSearch: boolean = false;\r\n// @Input() menuItems: LibMenuItem[] = [];\r\n// ICONS: Iicon = ICONS;\r\n// modalComponent = SearchPopupComponent;\r\n\r\n// constructor(\r\n// public modalService: ModalService,\r\n// private router: Router,\r\n// ) {}\r\n\r\n// // handleBackBtnClicked = (): void => this.lastButton.emit();\r\n// firstButtonClick = (): void => this.firstButton.emit();\r\n\r\n// openModal() {\r\n// if (this.isTextSearch) {\r\n// this.modalService.toggleGlobalSearch = true;\r\n// } else {\r\n// this.router.navigate(['/search']);\r\n// }\r\n// }\r\n// }\r\n\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n TemplateRef,\r\n} from '@angular/core'; \r\nimport { ICONS } from '../../_constants/constants';\r\nimport { Iicon } from '../../_interface/icon';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n})\r\nexport class HeaderComponent {\r\n @Input() heading!: string;\r\n @Input() headerRightIcon: string = ICONS['search'];\r\n @Input() titleIcon: string = '';\r\n @Input() cssClass!: string;\r\n @Output() firstButton: EventEmitter<MouseEvent> =\r\n new EventEmitter<MouseEvent>();\r\n @Output() titleIconClick: EventEmitter<MouseEvent> =\r\n new EventEmitter<MouseEvent>();\r\n @Input() headerSuffixTemplate!: TemplateRef<any>;\r\n ICONS: Iicon = ICONS;\r\n\r\n firstButtonClick(): void {\r\n this.firstButton.emit();\r\n }\r\n\r\n onTitleIconClick() {\r\n this.titleIconClick.emit();\r\n }\r\n}\r\n","<div\r\n [class]=\"'header-main-bar flex items-center justify-between ' + cssClass\"\r\n>\r\n <lib-icon-btn class=\"checkmark-icon-button w-[20%]\" (click)=\"firstButtonClick()\">\r\n <img [ngSrc]=\"ICONS['back']\" height=\"12.5\" width=\"14\" />\r\n </lib-icon-btn>\r\n <div class=\"flex w-[60%] justify-center\">\r\n <h4 class=\"mr-1\">{{ heading }}</h4>\r\n <img\r\n *ngIf=\"titleIcon\"\r\n [src]=\"ICONS['editPink']\"\r\n (click)=\"onTitleIconClick()\"\r\n height=\"8\"\r\n width=\"8\"\r\n />\r\n </div>\r\n <div class=\"w-[20%] flex justify-end\">\r\n <ng-container *ngIf=\"headerSuffixTemplate\">\r\n <ng-container *ngTemplateOutlet=\"headerSuffixTemplate\"></ng-container>\r\n </ng-container>\r\n <div *ngIf=\"!headerSuffixTemplate\"></div>\r\n </div>\r\n</div>\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-image-viewer',\r\n templateUrl: './image-viewer.component.html',\r\n styleUrl: './image-viewer.component.css',\r\n})\r\nexport class ImageViewerComponent {\r\n isLoading: boolean = true;\r\n\r\n //LIFE CYCLE\r\n constructor(\r\n public dialogRef: MatDialogRef<ImageViewerComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: { imageUrl: string },\r\n ) {}\r\n\r\n onImageLoad(): void {\r\n this.isLoading = false;\r\n }\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"modal-overlay\">\r\n <div class=\"modal-container\">\r\n <div *ngIf=\"isLoading\" class=\"loader\">Loading...</div>\r\n <img\r\n [src]=\"data.imageUrl\"\r\n alt=\"Image\"\r\n class=\"modal-image\"\r\n (load)=\"onImageLoad()\"\r\n [class.hidden]=\"isLoading\"\r\n />\r\n <button class=\"close-btn\" (click)=\"close()\">Close</button>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core'; \r\nimport { LibMenuItem } from '@naniteninja/ionic-lib'; \r\nimport { ICONS } from '../../_constants/constants';\r\nimport { Iicon } from '../../_interface/icon';\r\n\r\n@Component({\r\n selector: 'app-notification-tile',\r\n templateUrl: './notification-tile.component.html',\r\n styleUrl: './notification-tile.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NotificationTileComponent {\r\n @Input() libMenuItem!: LibMenuItem[];\r\n @Input() content!: string;\r\n @Input() btnText: string = 'Action';\r\n @Input() isBtnVisible: boolean = false;\r\n @Input() notificationAttended: boolean = true;\r\n @Output() btnClick: EventEmitter<void> = new EventEmitter<void>();\r\n ICONS: Iicon = ICONS;\r\n\r\n constructor() {}\r\n handleMenueItemSelect(): void {}\r\n handleMenuItemChange(): void {}\r\n handleMenuClick(): void {}\r\n handleBtnClick(): void {\r\n this.btnClick.emit();\r\n }\r\n}\r\n","<div\r\n class=\"text-white p-4\"\r\n [ngClass]=\"{ unattendedNotification: notificationAttended === false }\"\r\n>\r\n <div class=\"flex items-start justify-between\">\r\n <div class=\"flex space-x-3\">\r\n <img [src]=\"ICONS['user']\" alt=\"User\" class=\"w-10 h-10 rounded-full\" />\r\n\r\n <div class=\"gap-2\">\r\n <p [innerHTML]=\"content\" class=\"text-xs\"></p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex items-center space-x-4\">\r\n <p class=\"hoursAgo\">11 hours</p>\r\n <lib-menu-btn\r\n (select)=\"handleMenueItemSelect()\"\r\n (click)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n [menuItems]=\"libMenuItem\"\r\n >\r\n <img [src]=\"ICONS['horizontalWhite']\" alt=\"Horizontal divider\" />\r\n </lib-menu-btn>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"isBtnVisible\">\r\n <button class=\"reviewNowButton\" (click)=\"handleBtnClick()\">\r\n {{ btnText }}\r\n </button>\r\n </ng-container>\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n</div>\r\n\r\n<div class=\"mt-4 absolute bottom-0 w-80 ms-10 me-5 mb-5\">\r\n <button class=\"markAllAsRead w-full h-10\">Mark All as Read</button>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ModalService {\r\n public toggleModal: boolean = false;\r\n public bottomToggleModal: boolean = false;\r\n public toggleGlobalSearch: boolean = false;\r\n\r\n constructor() { }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { INotification } from '../_interface/notification';\r\nimport { ISearchPopup } from '../_interface/search-popup';\r\nimport { MatchingClients } from '../_models/matching-clients';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AssetsService {\r\n constructor(private http: HttpClient) { }\r\n\r\n getGlobalSearch(): Observable<ISearchPopup[]> {\r\n return this.http.get<ISearchPopup[]>('/assets/globalSearch.json');\r\n }\r\n\r\n getNotifications(): Observable<INotification[]> {\r\n return this.http.get<INotification[]>('/assets/notifications.json');\r\n }\r\n\r\n getTranslation(fileName: 'en' | 'es' | 'fr'): Observable<any> {\r\n return this.http.get(`/assets/i18n/${fileName}.json`);\r\n }\r\n\r\n getMatchingClients(): Observable<MatchingClients[]> {\r\n return this.http.get<MatchingClients[]>('/assets/matchingClients.json');\r\n }\r\n\r\n clearSearchHistory(): Observable<void> {\r\n return this.http.delete<void>('/assets/matchingClients.json', {});\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\r\nimport { Router } from '@angular/router'; \r\nimport { ICONS } from '../../_constants/constants';\r\nimport { Iicon } from '../../_interface/icon';\r\nimport { AssetsService } from '../../_services/assets.service';\r\nimport { ModalService } from '../../_services/modal.service';\r\n\r\n@Component({\r\n selector: 'app-search-popup',\r\n templateUrl: './search-popup.component.html',\r\n styleUrls: ['./search-popup.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SearchPopupComponent {\r\n ICONS: Iicon = ICONS;\r\n searchTerm: string = '';\r\n i18nTranslation!: any;\r\n loading: boolean = false;\r\n\r\n constructor( \r\n private router: Router,\r\n private modalService: ModalService,\r\n private assetService: AssetsService,\r\n private cdr: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.assetService.getTranslation('en').subscribe((res) => {\r\n this.i18nTranslation = res;\r\n this.cdr.detectChanges();\r\n });\r\n this.loading = false;\r\n }\r\n\r\n\r\n handleSearchStringChange(_$event: any) {\r\n throw new Error('Method not implemented.');\r\n}\r\n clear(): void {\r\n this.searchTerm = '';\r\n }\r\n\r\n //NAVIGATIONS\r\n navigate(url: string) {\r\n this.modalService.toggleGlobalSearch = false;\r\n this.cdr.detectChanges();\r\n setTimeout(() => {\r\n this.router.navigate([url]);\r\n }, 0);\r\n }\r\n}\r\n","<div class=\"search-hero\">\r\n <div class=\"flex items-center justify-between mt-4 ml-5 mr-5\">\r\n <div></div>\r\n <span class=\"font-[Calistoga] font-normal text-[17px] leading-[100%] tracking-[0.07px]\">Search</span>\r\n <img [src]=\"ICONS['horizontalWhite']\" />\r\n </div>\r\n\r\n <div class=\"m-5\">\r\n <lib-search-bar (searchStringChange)=\"handleSearchStringChange($event)\" (cleared)=\"clear()\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\" [placeholderText]=\"'NG_GRID.searchOoo' | translate\">\r\n </lib-search-bar>\r\n\r\n <ng-container *ngIf=\"loading\">\r\n <div style=\"height: 65vh; overflow: auto\" class=\"flex items-center justify-center\">\r\n <p>Loading...</p>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <div style=\"height: 65vh; overflow: auto\">\r\n <div class=\"no-result\">\r\n <p class=\"mt-2 text-center custom-text\">\r\n Search the entire application\r\n </p>\r\n <span class=\"custom-text\">no results.</span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\ninterface Image {\r\n idx: number;\r\n src: string;\r\n}\r\n@Component({\r\n selector: 'app-swiper-dialog',\r\n templateUrl: './swiper-dialog.component.html',\r\n styleUrl: './swiper-dialog.component.css',\r\n})\r\n\r\nexport class SwiperDialogComponent {\r\n images: Image[];\r\n currentIndex: number;\r\n isLoading: boolean = true;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA)\r\n public data: { images: string[]; currentIndex: number },\r\n private dialogRef: MatDialogRef<SwiperDialogComponent>,\r\n ) {\r\n const images = data.images;\r\n images.sort((a, b) => {\r\n const nameA = a.split('/').pop()?.toLowerCase() ?? '';\r\n const nameB = b.split('/').pop()?.toLowerCase() ?? '';\r\n return nameA.localeCompare(nameB);\r\n });\r\n\r\n this.images = images.map((image, index) => ({\r\n idx: index + 1,\r\n src: image\r\n }));\r\n this.currentIndex = data.currentIndex;\r\n }\r\n\r\n onImageLoad(): void {\r\n this.isLoading = false;\r\n }\r\n\r\n updateCurrentIndex(img: Image) {\r\n this.currentIndex = img.idx;\r\n }\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"modal-overlay\">\r\n <swiper-container [slides-per-view]=\"1\" [navigation]=\"true\" [pagination]=\"{ clickable: true }\"\r\n [initial-slide]=\"currentIndex\" class=\"modal-container\">\r\n <div *ngIf=\"isLoading\" class=\"loader\">Loading...</div>\r\n <swiper-slide *ngFor=\"let image of images\">\r\n <img [src]=\"image.src\" alt=\"Image\" class=\"modal-image\" (load)=\"onImageLoad()\" [class.hidden]=\"isLoading\" />\r\n </swiper-slide>\r\n </swiper-container>\r\n <button class=\"close-btn\" (click)=\"close()\">Close</button>\r\n <div class=\"alt-images-section\">\r\n <img *ngFor=\"let image of images; let i = index\" [src]=\"image.src\" class=\"alt-image\"\r\n (click)=\"updateCurrentIndex(image)\" />\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { ItinerariesRoutesEnum } from '../../_enums/ItenariesRoutes.enum';\r\nimport { filter, Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-tab-bar',\r\n templateUrl: './tab-bar.component.html',\r\n styleUrl: './tab-bar.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TabBarComponent implements OnInit, OnDestroy {\r\n private destroy$: Subject<void> = new Subject<void>();\r\n @Input() tabMenuItems: MenuItem[] = [\r\n {\r\n label: 'Explore',\r\n icon: 'pi pi-fw pi-home',\r\n routerLink: ItinerariesRoutesEnum.ITINERARY_EXPLORE,\r\n },\r\n {\r\n label: 'Builder',\r\n icon: 'pi pi-fw pi-map-marker',\r\n routerLink: ItinerariesRoutesEnum.ITINERARY_BUILDER,\r\n },\r\n {\r\n label: 'Favorites',\r\n icon: 'pi pi-fw pi-user',\r\n routerLink: ItinerariesRoutesEnum.ITINERARY_FAVOURITES,\r\n },\r\n ];\r\n activeItem: MenuItem = this.tabMenuItems[0];\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private router: Router,\r\n private cdr: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.activeItem = this.tabMenuItems.find(\r\n (x) => x.routerLink === this.router.url,\r\n )!;\r\n this.router.events\r\n .pipe(\r\n filter(\r\n (event): event is NavigationEnd => event instanceof NavigationEnd,\r\n ),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((event: NavigationEnd) => {\r\n this.activeItem = this.tabMenuItems.find(\r\n (x) => x.routerLink === event.urlAfterRedirects\r\n )!;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(); // Emit a value to trigger takeUntil\r\n this.destroy$.complete(); // Complete the subject\r\n }\r\n\r\n //UI LOGIC\r\n onActiveItemChange(event: MenuItem): void {\r\n this.activeItem = event;\r\n this.router.navigate([event.routerLink]);\r\n }\r\n}\r\n","<lib-tab-menu\r\n [items]=\"tabMenuItems\"\r\n [activeItem]=\"activeItem\"\r\n (activeItemChange)=\"onActiveItemChange($event)\"\r\n #libTabMenu\r\n></lib-tab-menu>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { SelectOption } from '@naniteninja/ionic-lib'; \r\nimport { ICONS } from '../../_constants/constants';\r\nimport { Iicon } from '../../_interface/icon';\r\n\r\n@Component({\r\n selector: 'app-user-stack-tile',\r\n templateUrl: './user-stack-tile.component.html',\r\n styleUrl: './user-stack-tile.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UserStackTileComponent implements OnChanges {\r\n ICONS: Iicon = ICONS;\r\n @Input() class: string = '';\r\n @Input() buttonText: string = 'View Invites';\r\n @Input() label: string = '';\r\n @Output() onClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Input() images: string[] = [];\r\n @Input() maxVisible = 3;\r\n @Input() size: number = 41;\r\n @Input() isSelectableVisible: boolean = false;\r\n @Input() selectableOption!: SelectOption<string>;\r\n\r\n constructor(private cdr:ChangeDetectorRef){}\r\n\r\n ngOnChanges(_changes: SimpleChanges): void { \r\n this.cdr.detectChanges()\r\n }\r\n\r\n //UI LOGIC\r\n handleBtnClick = (): void => this.onClick.emit();\r\n}\r\n","<div [ngClass]=\"class\" class=\"mt-3\">\r\n <div class=\"mb-2 text-xs userIconText\">\r\n <p>{{ label }}</p>\r\n </div>\r\n <div class=\"flex justify-between items-center relative\">\r\n <app-users-stack [images]=\"images\" [maxVisible]=\"maxVisible\" [size]=\"size\"\r\n [isSelectableVisible]=\"isSelectableVisible\" [selectableOption]=\"selectableOption\"></app-users-stack>\r\n <div class=\"flex\">\r\n <button class=\"pinkTextColor\" (click)=\"handleBtnClick()\">\r\n {{ buttonText }}\r\n </button>\r\n <p class=\"px-1 text-white\">></p>\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n TemplateRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-tile',\r\n templateUrl: './user-tile.component.html',\r\n styleUrl: './user-tile.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UserTileComponent {\r\n @Input() sufixTemplate: TemplateRef<any> | null = null;\r\n @Input() name: string = '';\r\n @Input() email: string = '';\r\n @Input() image: string = '';\r\n @Input() class: string = '';\r\n constructor() {}\r\n}\r\n","<div [class]=\"'comment-card text-white pt-4 pb-4 rounded-xl ' + class\">\r\n <div class=\"flex items-center justify-between\">\r\n <div class=\"flex space-x-3\">\r\n <div class=\"rounded-full overflow-hidden\">\r\n <img\r\n [src]=\"image\"\r\n alt=\"User\"\r\n loading=\"lazy\"\r\n class=\"w-10 h-10 object-cover\"\r\n />\r\n </div>\r\n <div>\r\n <h4 class=\"text-sm font-semibold\">{{ name }}</h4>\r\n <p class=\"text-xs text-gray-300\">{{ email }}</p>\r\n </div>\r\n </div>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n sufixTemplate;\r\n context: { $implicit: { image, name, email } }\r\n \"\r\n ></ng-container>\r\n </div>\r\n</div>\r\n","import { CommonModule, NgOptimizedImage } from \"@angular/common\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { RouterLink } from \"@angular/router\";\r\nimport { IonicModule } from \"@ionic/angular\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { BaseCardModule, SearchBarModule, ButtonsModule, CircleProgressModule, DashedCheckboxModule, FormFieldModule, ImageCardModule, InfoCardModule, InfoCardListModule, InfoCardPlaceholderModule, InputDateFieldModule, LibMapModule, PopperModule, LibTabMenuModule, LibModalModule, ContentViewCardModule, NotificationsModule, LibToastrModule, SelectableModule, ImageDeckComponent, LibClientDashboardComponent } from \"@naniteninja/ionic-lib\";\r\nimport { CapitalizeFirstPipe } from \"../_pipes/capitalize-first.pipe\";\r\nimport { VotesPipe } from \"../_pipes/votes.pipe\";\r\nimport { CardComponent } from \"./card-component/card-component.component\";\r\nimport { CommentImagesComponent } from \"./comment/comment-images/comment-images.component\";\r\nimport { CommentComponent } from \"./comment/comment.component\";\r\nimport { CustomHeadingWithButtonComponent } from \"./custom-heading-with-button/custom-heading-with-button.component\";\r\nimport { CustomStoryCardComponent } from \"./custom-story-card/custom-story-card.component\";\r\nimport { CutomCardComponent } from \"./cutom-card/cutom-card.component\";\r\nimport { BottomNavigationItemsComponent } from \"./footer/components/bottom-navigation-items/bottom-navigation-items.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { ImageViewerComponent } from \"./image-viewer/image-viewer.component\";\r\nimport { NotificationTileComponent } from \"./notification-tile/notification-tile.component\";\r\nimport { SearchPopupComponent } from \"./search-popup/search-popup.component\";\r\nimport { SwiperDialogComponent } from \"./swiper-dialog/swiper-dialog.component\";\r\nimport { TabBarComponent } from \"./tab-bar/tab-bar.component\";\r\nimport { UserStackTileComponent } from \"./user-stack-tile/user-stack-tile.component\";\r\nimport { UserTileComponent } from \"./user-tile/user-tile.component\";\r\nimport { UsersStackComponent } from \"./users-stack/users-stack.component\";\r\nimport { TimeAgoPipe } from \"../_pipes/time-ago.pipe\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CardComponent,\r\n CustomHeadingWithButtonComponent,\r\n CutomCardComponent,\r\n CustomStoryCardComponent,\r\n CommentComponent,\r\n NotificationTileComponent,\r\n UsersStackComponent,\r\n UserStackTileComponent,\r\n UserTileComponent,\r\n SearchPopupComponent,\r\n CommentImagesComponent,\r\n FooterComponent,\r\n HeaderComponent,\r\n TabBarComponent,\r\n ImageViewerComponent,\r\n SwiperDialogComponent,\r\n BottomNavigationItemsComponent,\r\n VotesPipe,\r\n CapitalizeFirstPipe\r\n ],\r\n exports: [\r\n CardComponent,\r\n CustomHeadingWithButtonComponent,\r\n CutomCardComponent,\r\n CustomStoryCardComponent,\r\n CommentComponent,\r\n NotificationTileComponent,\r\n UsersStackComponent,\r\n UserStackTileComponent,\r\n UserTileComponent,\r\n SearchPopupComponent,\r\n ImageViewerComponent,\r\n TabBarComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n BottomNavigationItemsComponent,\r\n VotesPipe\r\n ],\r\n imports: [\r\n BaseCardModule,\r\n TranslateModule,\r\n CommonModule,\r\n SearchBarModule,\r\n ButtonsModule,\r\n CircleProgressModule,\r\n DashedCheckboxModule,\r\n FormFieldModule,\r\n FormsModule,\r\n ImageCardModule,\r\n InfoCardModule,\r\n InfoCardListModule,\r\n InfoCardPlaceholderModule,\r\n InputDateFieldModule,\r\n LibMapModule,\r\n PopperModule,\r\n SearchBarModule,\r\n HttpClientModule,\r\n NgOptimizedImage,\r\n LibTabMenuModule,\r\n LibModalModule,\r\n IonicModule,\r\n ContentViewCardModule,\r\n NotificationsModule,\r\n LibToastrModule,\r\n SelectableModule,\r\n ImageDeckComponent,\r\n CircleProgressModule,\r\n ImageDeckComponent,\r\n RouterLink,\r\n TimeAgoPipe,\r\n LibClientDashboardComponent,\r\n \r\n],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class SharedModule { }\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { ModalService } from '../../../../_services/modal.service';\r\nimport { Iicon } from '../../../../_interface/icon'; \r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-delete-itineraries',\r\n templateUrl: './delete-itineraries.component.html',\r\n styleUrl: './delete-itineraries.component.scss',\r\n})\r\nexport class DeleteItinerariesComponent implements OnInit {\r\n @Output() deleteItineraryEvent: EventEmitter<string> = new EventEmitter<string>();\r\n ICONS: Iicon = ICONS;\r\n deleteForm!: FormGroup;\r\n showErrorMessage: boolean = false;\r\n\r\n constructor(\r\n public modalService: ModalService,\r\n private fb: FormBuilder\r\n ) {\r\n this.deleteForm = this.fb.group({\r\n confirmDelete: [false, Validators.required] // initial value unchecked\r\n });\r\n }\r\n\r\n closeModal(): void {\r\n this.modalService.toggleModal = !this.modalService.toggleModal;\r\n }\r\n\r\n ngOnInit() {\r\n this.deleteForm.valueChanges.subscribe(() => {\r\n this.showErrorMessage = false;\r\n });\r\n }\r\n\r\n onOk(): void {}\r\n\r\n deleteItinerary(): void {\r\n if(!this.deleteForm.value.confirmDelete) {\r\n this.showErrorMessage = true;\r\n } else {\r\n this.deleteItineraryEvent.emit();\r\n this.modalService.toggleModal = false;\r\n }\r\n }\r\n}\r\n"," <div class=\"delete-modal text-center\" [formGroup]=\"deleteForm\">\r\n <img [ngSrc]=\"ICONS['delete']\" height=\"46\" width=\"46\" class=\"mx-auto\" />\r\n \r\n <h3 class=\"font-[Calistoga] mt-5\">\r\n {{ \"SNACKBAR.DELETE_ITINERARY\" | translate }}\r\n </h3>\r\n \r\n <p class=\"text-white mb-2 max-w-[80%] ml-auto mr-auto mt-1 text-[10px]\">\r\n {{ \"ADMIN.GRID.PERMANENT_DELETION\" | translate }}\r\n </p>\r\n \r\n <div class=\"check-box-field flex items-center justify-center gap-2\">\r\n <lib-dashed-checkbox formControlName=\"confirmDelete\" class=\"check-box\"></lib-dashed-checkbox>\r\n <label class=\"text-[8px]\">{{ \"ADMIN.GRID.DELETE_ITEM_WARNING\" | translate }}</label>\r\n </div>\r\n <ng-container *ngIf=\"showErrorMessage\">\r\n <p class=\"error-message text-[8px]\">{{ \"MAIN_ARCHIVES.DELETE_ERROR_MESSAGE\" | translate }}</p>\r\n </ng-container>\r\n \r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"closeModal()\">\r\n {{ \"COMMON.KEEP\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"deleteItinerary()\">\r\n {{ \"COMMON.DELETE\" | translate }}\r\n </button>\r\n </div>\r\n </div>","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms'; \r\nimport { IFilterMenuOptions } from '../../../../_interface/filterMenuOptions';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ApiService } from '../../../../_services/api.service';\r\nimport { ICONS } from '../../../../_constants/constants';\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-filter-menu',\r\n templateUrl: './filter-menu.component.html',\r\n styleUrl: './filter-menu.component.scss',\r\n})\r\nexport class FilterMenuComponent implements OnInit {\r\n @Input() cssClass!: string;\r\n @Output() onFilterClick: EventEmitter<void> = new EventEmitter<void>();\r\n ICONS: Iicon = ICONS;\r\n options: IFilterMenuOptions[] = [];\r\n filterControl = new FormControl();\r\n constructor(\r\n public apiService: ApiService,\r\n private cdr: ChangeDetectorRef,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.apiService\r\n .get('/assets/filterMenuOptionsData.json')\r\n .subscribe((data) => {\r\n this.options = data as IFilterMenuOptions[];\r\n this.cdr.detectChanges();\r\n this.filterControl.setValue(this.options[0].value);\r\n });\r\n }\r\n\r\n changeSelection(): void {}\r\n handleFilterClick = (): void => this.onFilterClick.emit();\r\n}\r\n","<div [class]=\"cssClass + ' filter-menu py-3'\">\r\n <lib-selectable\r\n (click)=\"changeSelection()\"\r\n (selectionchange)=\"changeSelection()\"\r\n [formControl]=\"filterControl\"\r\n [options]=\"options\"\r\n [singleSelectionOnly]=\"true\"\r\n >\r\n </lib-selectable>\r\n <lib-icon-btn (click)=\"handleFilterClick()\">\r\n <img [ngSrc]=\"ICONS['filter']\" height=\"15\" width=\"15\" />\r\n </lib-icon-btn>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { IFilterMenuOptions } from '../../../../_interface/filterMenuOptions';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ApiService } from '../../../../_services/api.service';\r\nimport { ICONS } from '../../../../_constants/constants';\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'comment-filter-menu',\r\n templateUrl: './comment-filter-menu.component.html',\r\n styleUrl: './comment-filter-menu.component.scss',\r\n})\r\nexport class CommentFilterMenuComponent implements OnInit {\r\n @Input() cssClass!: string;\r\n @Output() onFilterClick: EventEmitter<void> = new EventEmitter<void>();\r\n ICONS: Iicon = ICONS;\r\n options: IFilterMenuOptions[] = [];\r\n filterControl = new FormControl();\r\n constructor(\r\n public apiService: ApiService,\r\n private cdr: ChangeDetectorRef,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.apiService\r\n .get('/assets/filterMenuOptionsData.json')\r\n .subscribe((data) => {\r\n this.options = data as IFilterMenuOptions[];\r\n this.cdr.detectChanges();\r\n this.filterControl.setValue(this.options[0].value);\r\n });\r\n }\r\n\r\n changeSelection(): void { }\r\n handleFilterClick = (): void => this.onFilterClick.emit();\r\n}\r\n","<div [class]=\"cssClass + ' filter-menu py-3'\">\r\n <lib-selectable\r\n class=\"test\"\r\n (click)=\"changeSelection()\"\r\n (selectionchange)=\"changeSelection()\"\r\n [formControl]=\"filterControl\"\r\n [options]=\"options\"\r\n [singleSelectionOnly]=\"true\"\r\n >\r\n </lib-selectable>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConstantsService {\r\n readonly SPECIAL_VALUE = 9;\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { FormFieldType } from '@naniteninja/ionic-lib';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators'; \r\nimport { ModalService } from '../../../../_services/modal.service';\r\nimport { IReportOptions } from '../../../../_interface/reportOptions';\r\nimport { ApiService } from '../../../../_services/api.service';\r\nimport { ConstantsService } from '../../../../_services/constants.service';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-report-itinerary-modal',\r\n templateUrl: './report-itinerary-modal.component.html',\r\n styleUrls: ['./report-itinerary-modal.component.scss'],\r\n})\r\nexport class ReportItineraryModalComponent implements OnInit, OnDestroy {\r\n @Input() popupTitle!: string;\r\n selectedItem: number | undefined;\r\n radio: FormControl = new FormControl(0);\r\n options: IReportOptions[] = [];\r\n private destroy$: Subject<void> = new Subject<void>();\r\n\r\n constructor(\r\n public constantService: ConstantsService,\r\n public modalService: ModalService,\r\n public apiService: ApiService,\r\n private cdr: ChangeDetectorRef,\r\n ) {}\r\n\r\n radioChecked(): void {\r\n if (this.radio.value === this.constantService.SPECIAL_VALUE) {\r\n this.selectedItem = this.constantService.SPECIAL_VALUE;\r\n } else {\r\n this.selectedItem = 0;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.apiService\r\n .get<IReportOptions[]>('/assets/reportsOptionsData.json')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((data: IReportOptions[]) => {\r\n this.options = data;\r\n this.cdr.detectChanges();\r\n });\r\n\r\n this.radio.valueChanges\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((e: number | null) => {\r\n this.selectedItem =\r\n e === this.constantService.SPECIAL_VALUE\r\n ? this.constantService.SPECIAL_VALUE\r\n : 0;\r\n });\r\n \r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n closeModal(): void {\r\n this.modalService.toggleModal = !this.modalService.toggleModal;\r\n }\r\n\r\n onOk(): void {}\r\n\r\n protected readonly FormFieldType = FormFieldType;\r\n}\r\n","<div class=\"report-itineraies max-padd-container\">\r\n <h1 class=\"p-4 pt-1\">{{ popupTitle | translate }}</h1>\r\n <div>\r\n <lib-form-field [formFieldControl]=\"radio\" [submitted]=\"false\" [required]=\"true\" [maxLength]=\"10\"\r\n [type]=\"FormFieldType.radio\" [options]=\"options\" [radioDeselectable]=\"false\" class=\"mb-2\"></lib-form-field>\r\n </div>\r\n\r\n <lib-text-box class=\"text-feild normal-text-sm\" *ngIf = \"selectedItem == 9\" [class.show]=\"selectedItem == 9\" [class.hide]=\"selectedItem != 9\"\r\n label=\"Please brief your issue\"></lib-text-box>\r\n <div class=\"flex justify-center gap-[46px] mt-3\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"closeModal()\">{{ \"COMMON.CANCEL\" | translate}}</button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"onOk()\">{{ \"REPORT\" | translate }}</button>\r\n </div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ModalShareUrlClientService {\r\n public toggleModal: boolean = false;\r\n public bottomToggleModal: boolean = false;\r\n public toggleGlobalSearch: boolean = false;\r\n\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { IItinerary } from '../_models/i-Itinerary';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SharePopupDataService {\r\n private popupDataSubject = new BehaviorSubject<IItinerary | null>(null);\r\n popupData$: Observable<IItinerary | null> = this.popupDataSubject.asObservable();\r\n\r\n setPopupData(data: IItinerary) {\r\n this.popupDataSubject.next(data);\r\n }\r\n\r\n clearPopupData() {\r\n this.popupDataSubject.next(null);\r\n }\r\n}","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { SharePopupDataService } from '../../../../_services/share-popup-data';\r\nimport { IItinerary } from '../../../../_models/i-Itinerary';\r\nimport { Router } from '@angular/router';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\n\r\n\r\n@Component({\r\n selector: 'lib-share-popup',\r\n templateUrl: './share-popup.component.html',\r\n styleUrl: './share-popup.component.scss'\r\n})\r\nexport class SharePopupComponent implements OnInit {\r\n @Output() closeModal: EventEmitter<void> = new EventEmitter<void>();\r\n ICONS: Iicon = ICONS;\r\n accessForm!: FormGroup;\r\n itinerary: IItinerary | null = null;\r\n\r\n accessType = 'Restricted';\r\n peopleWithAccess = [\r\n {\r\n name: 'M Ali (you)',\r\n email: 'mali@gmail.com',\r\n role: 'Owner',\r\n avatar: 'assets/images/image7.jpg' // Example avatar URL\r\n }\r\n ];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private sharePopupDataService: SharePopupDataService,\r\n private router: Router,\r\n private platformLocation: PlatformLocation\r\n ) {}\r\n\r\n copyButtonClicked(itineraryId: string | undefined) {\r\n const baseUrl = `${this.platformLocation.protocol}//${this.platformLocation.hostname}` +\r\n (this.platformLocation.port ? `:${this.platformLocation.port}` : '');\r\n\r\n const urlTree = this.router.createUrlTree([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n itineraryId\r\n ]);\r\n const relativeUrl = this.router.serializeUrl(urlTree);\r\n const fullUrl = baseUrl + relativeUrl;\r\n navigator.clipboard.writeText(fullUrl);\r\n }\r\n\r\n\r\n copyLink() {\r\n if(this.itinerary) {\r\n this.copyButtonClicked(this.itinerary._id);\r\n }\r\n }\r\n\r\n close() {\r\n this.closeModal.emit();\r\n }\r\n\r\n ngOnInit() {\r\n this.accessForm = this.fb.group({\r\n access: ['Restricted'] // default value\r\n });\r\n this.accessForm.get('access')?.valueChanges.subscribe(value => {\r\n this.performActionBasedOnAccess(value);\r\n });\r\n this.sharePopupDataService.popupData$.subscribe((data) => {\r\n this.itinerary = data;\r\n });\r\n }\r\n\r\n performActionBasedOnAccess(value: string) {\r\n this.accessType = value;\r\n }\r\n\r\n}\r\n","<div class=\"share-itinerary min-w-[300px] \">\r\n <h2 class=\"title\">Share Itinerary</h2>\r\n\r\n <!-- Add People -->\r\n <lib-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_PEOPLE_GROUP' | translate\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </lib-search-bar>\r\n\r\n <!-- People with Access -->\r\n <div class=\"section font-[Gilroy] font-bold text-[13.px] mt-4 mb-8\">\r\n <h3 class=\"mb-1 access-title\">People with Access</h3>\r\n <div class=\"person flex gap-2\">\r\n <img [src]=\"peopleWithAccess[0].avatar\" alt=\"avatar\" class=\"avatar object-cover\" />\r\n <div class=\"info\">\r\n <div class=\"person-name\">{{ peopleWithAccess[0].name }}</div>\r\n <div class=\"person-email\">{{ peopleWithAccess[0].email }}</div>\r\n </div>\r\n <div class=\"role-text text-[#8B8B8B]\">{{ peopleWithAccess[0].role }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- General Access -->\r\n <div class=\"section\">\r\n <h3 class=\"general-access-title font-[Gilroy] mb-1\">General Access</h3>\r\n <div class=\"access-row\">\r\n <div class=\"icon mt-[7px]\">\r\n <img src=\"assets/icons/restricted_icon.png\" class=\"h-[30px] w-[30px] object-cover p-[6px] rounded-full border-[0.68px] border-white\"/>\r\n </div>\r\n <div [formGroup]=\"accessForm\">\r\n <div class=\"relative inline-block text-white\">\r\n <select formControlName=\"access\" class=\"access-select appearance-none bg-transparent focus:outline-none\">\r\n <option value=\"Restricted\">Restricted</option>\r\n <option value=\"Public\">Public</option>\r\n </select>\r\n\r\n <!-- Custom arrow icon -->\r\n <div class=\"pointer-events-none absolute inset-y-0 right-1 flex items-center pl-6\">\r\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.35156 3.61768L6.40146 0.567782H0.301668L3.35156 3.61768Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n\r\n <div class=\"permission-description\">\r\n <ng-container *ngIf=\"accessType === 'Restricted'\">\r\n {{ \"ITINERARY.RESTRICTED_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"accessType === 'Public'\">\r\n {{ \"ITINERARY.PUBLIC_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"copyLink()\">\r\n {{ \"COMMON.COPY_LINK\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"close()\">\r\n {{ \"COMMON.DONE\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-app-header-desktop',\r\n templateUrl: './app-header-desktop.component.html',\r\n styleUrl: './app-header-desktop.component.css'\r\n})\r\nexport class AppHeaderDesktopComponent {\r\n\r\n}\r\n","<header class=\"items-center justify-between py-1 px-6 hidden md:flex\">\r\n <div class=\"flex-auto\">\r\n <img src=\"assets/icons/logo.svg\" />\r\n </div>\r\n <div class=\"flex-auto\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/home.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Home</span>\r\n </div>\r\n </div>\r\n \r\n\r\n <div class=\"flex-grow w-1/8\">\r\n <lib-search-bar\r\n class=\"search-field\"\r\n [searchIcon]=\"'assets/icons/dashboard_search.svg'\"\r\n [placeholderText]=\"'NG_GRID.searchOoo' | translate\"\r\n >\r\n </lib-search-bar>\r\n </div>\r\n \r\n <div class=\"flex-auto text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/constituents.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Constituents</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/itineraries.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Itinerary</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/stats.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Stats</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/setting.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Settings</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex justify-end flex-auto\">\r\n <div class=\"h-[30px] w-[30px]\">\r\n <lib-user-menu\r\n [userImageUrl]=\"'assets/images/user-image.jpg'\"\r\n >\r\n </lib-user-menu>\r\n </div>\r\n \r\n </div>\r\n</header>\r\n","import { Component } from '@angular/core';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { filter } from 'rxjs';\r\nimport { Location } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'lib-app-sidebar-desktop',\r\n templateUrl: './app-sidebar-desktop.component.html',\r\n styleUrl: './app-sidebar-desktop.component.css'\r\n})\r\nexport class AppSidebarDesktopComponent {\r\n ICONS: Iicon = ICONS;\r\n currentUrl = '';\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n constructor(\r\n private router: Router,\r\n private location: Location\r\n ) {\r\n this.router.events\r\n .pipe(\r\n filter(\r\n (event): event is NavigationEnd => event instanceof NavigationEnd,\r\n ),\r\n )\r\n .subscribe((event: NavigationEnd) => {\r\n this.currentUrl = event.urlAfterRedirects;\r\n });\r\n }\r\n\r\n openCommentsSearch() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.COMMENT_SEARCH,\r\n ]);\r\n \r\n }\r\n\r\n openSearch() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.SEARCH,\r\n ]);\r\n }\r\n\r\n openExplorePage() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.EXPLORE,\r\n ])\r\n }\r\n\r\n openBuilderPage() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.BUILDER,\r\n ]);\r\n }\r\n\r\n openFavoritesPage() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.FAVORITES,\r\n ]);\r\n }\r\n}\r\n"," <aside class=\"w-[260px] min-h-screen text-white p-4 flex flex-col gap-10 space-y-6 font-semibold hidden md:block\">\r\n <!-- Header -->\r\n <ng-template #suffix>\r\n <span class=\"discard\"><img [ngSrc]=\"ICONS['search']\" height=\"17\" width=\"18\" /></span>\r\n </ng-template>\r\n <section class=\"flex justify-between\">\r\n <lib-icon-btn (click)=\"back()\" class=\"checkmark-icon-button\">\r\n <img [ngSrc]=\"ICONS['back']\" height=\"17\" width=\"18\" />\r\n </lib-icon-btn>\r\n <h4 class=\"font-[Calistoga] text-[24px]\">{{ \"SIDEBAR.ITINERARIES\" | translate }}</h4>\r\n <lib-icon-btn (click)=\"openSearch()\" class=\"checkmark-icon-button\">\r\n <img [ngSrc]=\"ICONS['search']\" height=\"17\" width=\"18\" />\r\n </lib-icon-btn>\r\n </section>\r\n\r\n <section class=\"flex flex-col gap-10\">\r\n <!-- Explore Section -->\r\n <div class=\"flex flex-col justify-center\">\r\n <button class=\"m-auto w-[100px] text-center font-[Calistoga] text-[24px] font-normal\" (click)=\"openExplorePage()\">{{ \"SIDEBAR.EXPLORE\" | translate }}</button> \r\n <h2 *ngIf=\"currentUrl === '/itineraries/explore'\" class=\"m-auto w-[90px] mt-2 text-center underline-custom\"></h2> \r\n <div class=\"flex justify-center mt-6\">\r\n <div\r\n (click)=\"openCommentsSearch()\"\r\n class=\"flex items-center justify-center rounded-full cursor-pointer\"\r\n style=\"\r\n width: 40px;\r\n height: 40px;\r\n background: rgba(39, 36, 44, 1);\r\n box-shadow:\r\n -6.4px -6.4px 20.49px -3.84px rgba(203, 199, 209, 0.25),\r\n 14.08px 12.8px 34.57px 3.2px rgba(17, 16, 20, 0.65);\r\n \"\r\n \r\n >\r\n <img [ngSrc]=\"ICONS['desktopSearch']\" height=\"17\" width=\"18\" class=\"w-5 h-5\" />\r\n </div>\r\n </div>\r\n <div class=\"flex justify-center mt-6\">\r\n <button class=\"custom-button font-[Gilroy] font-normal text-[18px]\">{{\"SIDEBAR.FEATURED\" | translate}}</button>\r\n </div>\r\n <div class=\"flex justify-center mt-6\">\r\n <button class=\"custom-button font-[Gilroy] font-normal text-[18px]\">{{\"SIDEBAR.HOT\" | translate}}</button>\r\n </div>\r\n <div class=\"flex justify-center mt-6\">\r\n <button class=\"custom-button [Gilroy] font-normal text-[18px]\">{{\"SIDEBAR.BEST\" | translate}}</button>\r\n </div>\r\n <div class=\"flex justify-center mt-6\">\r\n <button class=\"custom-button [Gilroy] font-normal text-[18px]\">{{\"SIDEBAR.NEW\" | translate}}</button>\r\n </div>\r\n </div>\r\n\r\n <!-- Builder Section -->\r\n <div class=\"flex flex-col justify-center\">\r\n <button class=\"font-[Calistoga] text-[24px] font-normal\" (click)=\"openBuilderPage()\">{{\"SIDEBAR.BUILDER\" | translate}}</button>\r\n <h2 *ngIf=\"currentUrl === '/itineraries/builder'\" class=\"m-auto w-[90px] mt-2 text-center underline-custom\"></h2> \r\n </div>\r\n\r\n <!-- Builder Section -->\r\n <div class=\"flex flex-col justify-center\">\r\n <button class=\"font-[Calistoga] text-[24px] font-normal\" (click)=\"openFavoritesPage()\">{{\"SIDEBAR.FAVOURITE\" | translate }}</button>\r\n <h2 *ngIf=\"currentUrl === '/itineraries/favorites'\" class=\"m-auto w-[90px] mt-2 text-center underline-custom\"></h2> \r\n </div>\r\n </section>\r\n</aside>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ModalService } from '../../_services/modal.service';\r\nimport { ItinerariesRoutesEnum } from '../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../_interface/icon';\r\nimport { ICONS } from '../../_constants/constants';\r\nimport { ModalShareUrlClientService } from '../../_services/modal.shareurlservice';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-home',\r\n templateUrl: './itineraries.component.html',\r\n styleUrl: './itineraries.component.scss',\r\n})\r\nexport class ItinerariesComponent {\r\n ICONS: Iicon = ICONS;\r\n\r\n constructor(\r\n public router: Router,\r\n public modalService: ModalService,\r\n public shareModalService: ModalShareUrlClientService,\r\n private location: Location\r\n ) { }\r\n\r\n backButtonClick(): void {\r\n this.location.back();\r\n }\r\n\r\n searchButtonClick(): void {\r\n this.router.navigate([ItinerariesRoutesEnum.SEARCH]).then((_r) => { });\r\n }\r\n\r\n closeUrlShareModal() {\r\n this.shareModalService.toggleModal = !this.shareModalService.toggleModal;\r\n }\r\n\r\n copyButtonClicked() {\r\n navigator.clipboard.writeText(\r\n window.location.origin + ItinerariesRoutesEnum.ITINERARY\r\n + '/' + ItinerariesRoutesEnum.ITINERARY_DETAIL);\r\n }\r\n}\r\n","<lib-app-header-desktop></lib-app-header-desktop>\r\n<div\r\n class=\"pl-2 pr-4 sticky top-0 left-0 z-10 block md:hidden\"\r\n style=\"background-color: #27242c\"\r\n>\r\n <ng-template #search>\r\n <img [src]=\"ICONS['search']\" alt=\"right-icon\" (click)=\"searchButtonClick()\" />\r\n </ng-template>\r\n\r\n <app-header\r\n (firstButton)=\"backButtonClick()\"\r\n [heading]=\"'SIDEBAR.ITINERARIES' | translate\"\r\n [headerSuffixTemplate]=\"search\"\r\n ></app-header>\r\n <app-tab-bar></app-tab-bar>\r\n</div>\r\n<div class=\"flex\">\r\n<lib-app-sidebar-desktop></lib-app-sidebar-desktop>\r\n<div\r\n class=\"min-screen-main w-screen max-padd-container bg-transparent md:bg-[#686868] mobile-height-adjust-outer\"\r\n>\r\n <div\r\n class=\"minScreen pl-4 pr-4 mobile-height-adjust\"\r\n >\r\n <router-outlet></router-outlet>\r\n </div>\r\n <lib-popup [isOpen]=\"modalService.toggleModal\">\r\n <app-report-itinerary-modal\r\n [popupTitle]=\"'Report Itinerary'\"\r\n ></app-report-itinerary-modal>\r\n </lib-popup>\r\n <app-footer></app-footer>\r\n <lib-popup [customClass]=\"'custom-popup-container'\" [isOpen]=\"shareModalService.toggleModal\">\r\n <lib-share-popup (closeModal)=\"closeUrlShareModal()\" (copyClicked)=\"copyButtonClicked()\"></lib-share-popup>\r\n </lib-popup>\r\n</div>\r\n</div>\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FilterDataRequest, SelectOption } from '@naniteninja/ionic-lib';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-advanced-filters',\r\n templateUrl: './advanced-filters.component.html',\r\n styleUrl: './advanced-filters.component.css'\r\n})\r\nexport class AdvancedFiltersComponent implements OnInit {\r\n form: FormGroup;\r\n filterWidth: any;\r\n\r\n constructor(private fb: FormBuilder, private location: Location) {\r\n this.form = this.fb.group({\r\n filterField: [null],\r\n filterCondition: [this.conditions[0]?.value || null],\r\n filterName: [\"\"],\r\n });\r\n }\r\n\r\n fields = [\r\n { name: 'Name', value: '1' },\r\n { name: 'Title', value: '2' },\r\n { name: 'Upvote', value: '3' }\r\n ];\r\n conditions = [\r\n { name: 'Sort A-Z', value: '1' },\r\n { name: 'Sort Z-A', value: '2' }\r\n ];\r\n\r\n ICONS: Iicon = ICONS;\r\n\r\n filtersss: SelectOption<number>[] = [\r\n {\r\n label: 'Hello',\r\n value: 2,\r\n selected: true,\r\n },\r\n ];\r\n defaultFilterList: FilterDataRequest[] = [\r\n { name: 'Best', projectGridFilterId: 'default1', userFilters: [] },\r\n { name: \"Hot\", userFilters: [], projectGridFilterId: \"default2\" },\r\n { name: \"Top\", userFilters: [], projectGridFilterId: \"default3\" },\r\n { name: \"New\", userFilters: [], projectGridFilterId: \"default4\" },\r\n ];\r\n userFilterList: FilterDataRequest[] = [\r\n {\r\n name: 'Filter by Name Ascending',\r\n projectGridFilterId: '123',\r\n collectionName: 'Employees',\r\n userFilters: [\r\n {\r\n publicFieldName: 'Name',\r\n operatorType: 'Contains',\r\n values: ['John'],\r\n },\r\n ],\r\n sort: {\r\n field: 'Name',\r\n direction: 'Ascending',\r\n },\r\n order: 1,\r\n },\r\n {\r\n name: 'Filter by Department and Salary Descending',\r\n projectGridFilterId: '456',\r\n collectionName: 'Employees',\r\n userFilters: [\r\n {\r\n publicFieldName: 'Department',\r\n operatorType: 'Equals',\r\n values: ['IT'],\r\n },\r\n {\r\n publicFieldName: 'Salary',\r\n operatorType: 'GreaterThan',\r\n values: [50000],\r\n },\r\n ],\r\n sort: {\r\n field: 'Title',\r\n direction: 'Descending',\r\n },\r\n order: 2,\r\n },\r\n ];\r\n\r\n selectedFilterId: string = '';\r\n\r\n search(_e: string): void {\r\n\r\n }\r\n\r\n getNameFromValue(value: string, array: { name: string; value: string }[]): string {\r\n return array.find(item => item.value === value)?.name || '';\r\n }\r\n getValueFromName(name: string, array: { name: string; value: string }[]): string {\r\n return array.find(item => item.name === name)?.value || '';\r\n }\r\n\r\n generateRandomString(length: number = 16): string {\r\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n let result = '';\r\n for (let i = 0; i < length; i++) {\r\n result += chars.charAt(Math.floor(Math.random() * chars.length));\r\n }\r\n return result;\r\n }\r\n\r\n submitForm() {\r\n if (!this.form?.value?.filterName) return;\r\n const newUserFilter: FilterDataRequest = {\r\n name: this.form?.value?.filterName ?? '',\r\n projectGridFilterId: this.generateRandomString(),\r\n collectionName: 'Employees',\r\n userFilters: [\r\n {\r\n publicFieldName: 'Name',\r\n operatorType: 'Contains',\r\n values: ['John'],\r\n },\r\n ],\r\n sort: {\r\n field: this.getNameFromValue(this.form?.value?.filterField ?? '', this.fields),\r\n direction: this.form?.value?.filterCondition == '1' ? 'Ascending' : 'Descending',\r\n },\r\n order: this.userFilterList.length,\r\n };\r\n this.userFilterList.push(newUserFilter);\r\n }\r\n setFilter(userFilter: FilterDataRequest): void {\r\n this.form = this.fb.group({\r\n filterField: [this.getValueFromName(userFilter.sort?.field ?? \"\", this.fields)],\r\n filterCondition: [userFilter.sort?.direction == \"Ascending\" ? '1' : \"2\"],\r\n filterName: [userFilter.name],\r\n });\r\n this.selectedFilterId = userFilter.projectGridFilterId ?? \"\";\r\n }\r\n removeFilter(userFilter: FilterDataRequest): void {\r\n this.userFilterList = this.userFilterList.filter(\r\n filter => filter.projectGridFilterId !== userFilter.projectGridFilterId\r\n );\r\n }\r\n ngOnInit(): void {\r\n this.filterWidth = window.screen.width - 130;\r\n }\r\n back() {\r\n this.location.back();\r\n }\r\n}\r\n","<app-header heading=\"Advanced Filters\" (firstButton)=\"back()\"></app-header>\r\n<div class=\"ps-5 pe-5\">\r\n <p class=\"text-white\">\r\n Create and apply custom advance filters or select popular preset advance\r\n filters.\r\n </p>\r\n <p class=\"mt-3 text-white\">Filters</p>\r\n <lib-filter-bar\r\n [filters]=\"filtersss\"\r\n [userFiltersList]=\"userFilterList\"\r\n [standardFilters]=\"filtersss\"\r\n [showAllFilters]=\"true\"\r\n [activeFilter]=\"userFilterList[0]\"\r\n ></lib-filter-bar>\r\n <div class=\"flex row justify-between mt-5\">\r\n <div class=\"flex row gap-4\">\r\n <img src=\"{{ ICONS['grid'] }}\" alt=\"\" />\r\n <p class=\"text-white\">Best</p>\r\n </div>\r\n <div class=\"flex row gap-4\">\r\n <p>Default</p>\r\n <img src=\"{{ ICONS['eyePink'] }}\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"flex gap-2\">\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select\r\n lib-input-field-select-component\r\n formControlName=\"filterField\"\r\n optionLabel=\"name\"\r\n optionValue=\"value\"\r\n label=\"Field\"\r\n [options]=\"fields\"\r\n >\r\n </lib-input-field-select>\r\n </div>\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select\r\n lib-input-field-select-component\r\n formControlName=\"filterCondition\"\r\n [options]=\"conditions\"\r\n optionLabel=\"name\"\r\n optionValue=\"value\"\r\n label=\"Condition\"\r\n >\r\n </lib-input-field-select>\r\n </div>\r\n </div>\r\n <div class=\"divider mt-4\"></div>\r\n <div class=\"mt-[20px]\">\r\n <div\r\n *ngFor=\"let filter of defaultFilterList\"\r\n class=\"flex row justify-between items-center mb-[32px]\"\r\n >\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\" />\r\n <p\r\n class=\"normal-text-md\"\r\n [class]=\"\r\n selectedFilterId !== filter.projectGridFilterId\r\n ? 'text-white'\r\n : 'normal-text-gray'\r\n \"\r\n >\r\n {{ filter.name }}\r\n </p>\r\n </div>\r\n <div class=\"flex row gap-[14px]\">\r\n <p class=\"normal-text-sm\">Default</p>\r\n <img\r\n *ngIf=\"selectedFilterId !== filter.projectGridFilterId\"\r\n [src]=\"ICONS['eyePink']\"\r\n alt=\"lib-icon\"\r\n width=\"15.59\"\r\n height=\"9.85\"\r\n (click)=\"setFilter(filter)\"\r\n />\r\n <img\r\n *ngIf=\"selectedFilterId === filter.projectGridFilterId\"\r\n [src]=\"ICONS['eyePinkClose']\"\r\n alt=\"lib-icon\"\r\n width=\"15.59\"\r\n height=\"9.85\"\r\n (click)=\"setFilter(filter)\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let userFilter of userFilterList\"\r\n class=\"flex row justify-between mb-[32px] items-center\"\r\n >\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\" />\r\n <p\r\n class=\"text-nowrap normal-text-md\"\r\n [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\"\r\n [class]=\"\r\n selectedFilterId !== userFilter.projectGridFilterId\r\n ? 'text-white'\r\n : 'normal-text-gray'\r\n \"\r\n >\r\n <span\r\n class=\"truncate inline-block align-bottom\"\r\n style=\"max-width: 4rem\"\r\n >\r\n {{ userFilter.name }}\r\n </span>\r\n |\r\n {{ userFilter.sort?.field }},\r\n {{\r\n userFilter.sort?.direction == \"Ascending\" ? \"Sort A-Z\" : \"Sort Z-A\"\r\n }}\r\n </p>\r\n <!-- <p class=\"text-white\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\">{{ userFilter.name }} </p> -->\r\n </div>\r\n <div class=\"flex row gap-3\">\r\n <img\r\n [src]=\"ICONS['deletePink']\"\r\n class=\"lib-icon\"\r\n width=\"9.41\"\r\n height=\"12.29\"\r\n (click)=\"removeFilter(userFilter)\"\r\n />\r\n <img\r\n [src]=\"ICONS['editPink']\"\r\n class=\"lib-icon\"\r\n width=\"12.31\"\r\n height=\"12.31\"\r\n />\r\n <img\r\n *ngIf=\"selectedFilterId !== userFilter.projectGridFilterId\"\r\n [src]=\"ICONS['eyePink']\"\r\n alt=\"lib-icon\"\r\n width=\"15.59\"\r\n height=\"9.85\"\r\n (click)=\"setFilter(userFilter)\"\r\n />\r\n <img\r\n *ngIf=\"selectedFilterId === userFilter.projectGridFilterId\"\r\n [src]=\"ICONS['eyePinkClose']\"\r\n alt=\"lib-icon\"\r\n width=\"15.59\"\r\n height=\"9.85\"\r\n (click)=\"setFilter(userFilter)\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"fixed w-[90%] bottom-[1rem] left-[5%]\">\r\n <div class=\"w-100 center\">\r\n <lib-primary-btn>{{ \"ITINERARY.APPLY\" | translate }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n","export enum UserRoutes {\r\n profile = 'profile',\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ModalSendClientService {\r\n public toggleModal: boolean = false;\r\n public bottomToggleModal: boolean = false;\r\n public toggleGlobalSearch: boolean = false;\r\n\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib';\r\nimport { ModalService } from './modal.service'; \r\nimport { Iicon } from '../_interface/icon';\r\nimport { ICONS } from '../_constants/constants';\r\nimport { ModalSendClientService } from './modal.sendclient.service';\r\nimport { ModalShareUrlClientService } from './modal.shareurlservice';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CustomDropdownMenuService {\r\n cssClasses = ['custom-modal-class'];\r\n ICONS: Iicon = ICONS;\r\n itemList: LibMenuItem[] = [\r\n {\r\n title: 'EDIT_ITINERARY',\r\n iconUrl: ICONS['edit'],\r\n },\r\n {\r\n title: 'ARCHIVE',\r\n iconUrl: ICONS['archiveWhite'],\r\n },\r\n {\r\n title: 'UNPUBLISH',\r\n iconUrl: ICONS['unpublish'],\r\n },\r\n {\r\n title: 'ASSIGN_TO_CLIENT',\r\n iconUrl: ICONS['headphone'],\r\n command: () => {\r\n this.openSendClientModal();\r\n }\r\n },\r\n {\r\n title: 'ADD_TO_FAVORITES',\r\n iconUrl: ICONS['heartWhite'],\r\n },\r\n {\r\n title: 'REMOVE_FROM_FAVORITES',\r\n iconUrl: ICONS['heartFillRed'],\r\n },\r\n {\r\n title: 'SHARE_ITINERARY',\r\n iconUrl: ICONS['share'],\r\n command: () => {\r\n this.openUrlShareModal();\r\n }\r\n },\r\n {\r\n title: 'BRANCH_THE_ITINERARY',\r\n iconUrl: ICONS['branch'],\r\n },\r\n {\r\n title: 'REPORT',\r\n iconUrl: ICONS['report'],\r\n command: () => {\r\n this.openReportModal();\r\n },\r\n },\r\n {\r\n title: 'RESTORE_ITINERARY',\r\n iconUrl: ICONS['restore'],\r\n },\r\n {\r\n title: 'DELETE_FOREVER',\r\n iconUrl: ICONS['deleteCross'],\r\n command: () => {\r\n this.openModal();\r\n },\r\n },\r\n {\r\n title: 'EDIT_COMMENT',\r\n iconUrl: ICONS['edit'],\r\n command: () => { },\r\n },\r\n {\r\n title: 'REMOVE_FEATURE',\r\n iconUrl: ICONS['removeFeature'],\r\n },\r\n {\r\n title: 'DELETE_COMMENT',\r\n iconUrl: ICONS['deleteCross'],\r\n },\r\n {\r\n title: 'Details',\r\n iconUrl: ICONS['userDetail'],\r\n },\r\n {\r\n title: 'Remove',\r\n iconUrl: ICONS['binWhite'],\r\n },\r\n ];\r\n\r\n pageList = [\r\n {\r\n pageName: 'itineraries',\r\n itemList: [\r\n {\r\n title: 'ASSIGN_TO_CLIENT',\r\n },\r\n {\r\n title: 'ADD_TO_FAVORITES',\r\n },\r\n {\r\n title: 'SHARE_ITINERARY',\r\n },\r\n {\r\n title: 'BRANCH_THE_ITINERARY',\r\n },\r\n {\r\n title: 'REPORT',\r\n command: () => {\r\n this.openReportModal();\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n pageName: 'builder',\r\n itemList: [\r\n {\r\n title: 'EDIT_ITINERARY',\r\n },\r\n {\r\n title: 'UNPUBLISH',\r\n },\r\n {\r\n title: 'ARCHIVE',\r\n },\r\n {\r\n title: 'ADD_TO_FAVORITES',\r\n },\r\n {\r\n title: 'SHARE_ITINERARY',\r\n },\r\n ],\r\n },\r\n {\r\n pageName: 'archives',\r\n itemList: [\r\n {\r\n title: 'RESTORE_ITINERARY',\r\n },\r\n {\r\n title: 'DELETE_FOREVER',\r\n },\r\n ],\r\n },\r\n {\r\n pageName: 'favourite',\r\n itemList: [\r\n {\r\n title: 'REMOVE_FROM_FAVORITES',\r\n },\r\n {\r\n title: 'SHARE_ITINERARY',\r\n },\r\n {\r\n title: 'REPORT',\r\n },\r\n ],\r\n },\r\n {\r\n pageName: 'stories',\r\n itemList: [\r\n {\r\n title: 'REMOVE_FEATURE',\r\n },\r\n {\r\n title: 'DELETE_COMMENT',\r\n },\r\n {\r\n title: 'REPORT',\r\n },\r\n ],\r\n },\r\n {\r\n pageName: 'comment-replies',\r\n itemList: [\r\n {\r\n title: 'REMOVE_FEATURE',\r\n },\r\n {\r\n title: 'DELETE_COMMENT',\r\n },\r\n {\r\n title: 'REPORT',\r\n },\r\n ],\r\n },\r\n {\r\n pageName: 'create-itinerary-user-search',\r\n itemList: [\r\n {\r\n title: 'Details',\r\n },\r\n {\r\n title: 'Remove',\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n constructor(\r\n public router: Router,\r\n public modalService: ModalService,\r\n public translateService: TranslateService,\r\n public clientSendModalService: ModalSendClientService,\r\n public urlShareModalService: ModalShareUrlClientService\r\n ) { }\r\n\r\n openUrlShareModal() {\r\n this.urlShareModalService.toggleModal = !this.urlShareModalService.toggleModal;\r\n }\r\n\r\n getMenuList(pageName: string): LibMenuItem[] {\r\n // Find the pageList entry with matching pageName\r\n const page = this.pageList.find((page) => page.pageName === pageName);\r\n if (!page) {\r\n return []; // Return an empty array if pageName is not found\r\n }\r\n\r\n // Filter the itemList to include only items whose titles are in page.itemList\r\n const filteredList = this.itemList.filter((item) =>\r\n page.itemList.some((pageItem) => pageItem.title === item.title),\r\n );\r\n\r\n filteredList.forEach((item) => {\r\n item.title = item.title\r\n ? this.translateService.instant(item.title)\r\n : item.title;\r\n });\r\n page.itemList.forEach((item) => {\r\n item.title = this.translateService.instant(item.title);\r\n });\r\n return filteredList;\r\n }\r\n\r\n openSendClientModal(): void {\r\n this.clientSendModalService.toggleModal = !this.clientSendModalService.toggleModal;\r\n }\r\n\r\n openModal(): void {\r\n this.modalService.toggleModal = !this.modalService.toggleModal;\r\n }\r\n openReportModal(): void {\r\n this.modalService.toggleModal = !this.modalService.toggleModal;\r\n }\r\n navigateToRoute(path: string): void {\r\n this.router.navigate([path], {\r\n queryParams: { mode: 'edit' },\r\n });\r\n }\r\n}\r\n","export enum ItineraryRequestEnpoints {\r\n getByUserId = 'getByUserId',\r\n create = 'create',\r\n getById='getById',\r\n getOneWithMembers='getOneWithMembers',\r\n withStatsByUserId = 'withStatsByUserId',\r\n all='all'\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { IItinerary } from \"../_models/i-Itinerary\";\r\nimport { Socket, io } from \"socket.io-client\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { Observable } from \"rxjs\";\r\nimport { IGatewayRequest } from \"../_interface/i-gateway-request.interface\";\r\nimport { IGatewayResponse } from \"../_interface/i-gateway-response.interface\";\r\nimport { GatewayRequestEndpoint } from \"../_enums/endpoints/gateway-request-enpoints.enum\";\r\nimport { ItineraryPrimaryInfoDto } from \"../_dtos/Itinerary-primary-info.dto\";\r\nimport { ItineraryRequestEnpoints } from \"../_enums/endpoints/itinerary-request-endpoints.enum\";\r\nimport { ItineraryMemberCompleteDTO } from \"../_dtos/itinerary-member-complete.dto\";\r\nimport { IItineraryStatsDto } from \"../_dtos/i-Itinerary-stats.dto\";\r\n \r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ItineraryService {\r\n private socket: Socket;\r\n private readonly namespace: string = 'itinerary';\r\n\r\n constructor() {\r\n this.socket = io(environment.socketUrl);\r\n }\r\n\r\n getByUserId(userId: string): Observable<IItinerary[]> {\r\n return new Observable<IItinerary[]>(observer => {\r\n const req: IGatewayRequest<void> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryRequestEnpoints.getByUserId,\r\n userId: userId,\r\n blackboxRequest: true,\r\n };\r\n\r\n const handler = (res: IGatewayResponse<IItinerary[]>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response!);\r\n observer.complete();\r\n this.socket.off(GatewayRequestEndpoint.SocketResponse, handler);\r\n }\r\n };\r\n this.socket.on(GatewayRequestEndpoint.SocketResponse, handler);\r\n this.socket.emit(GatewayRequestEndpoint.SocketRequest, req);\r\n });\r\n }\r\n \r\n createOrUpdate(dto: ItineraryPrimaryInfoDto, id?: string): Observable<IItinerary> {\r\n return new Observable<IItinerary>(observer => {\r\n const req: IGatewayRequest<IItinerary, [string?]> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryRequestEnpoints.create,\r\n payload: dto,\r\n parameters: [id],\r\n blackboxRequest: true,\r\n };\r\n\r\n const handler = (res: IGatewayResponse<IItinerary>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response);\r\n observer.complete();\r\n this.socket.off(GatewayRequestEndpoint.SocketResponse, handler);\r\n }\r\n };\r\n this.socket.on(GatewayRequestEndpoint.SocketResponse, handler);\r\n this.socket.emit(GatewayRequestEndpoint.SocketRequest, req);\r\n });\r\n }\r\n\r\n getById(id: string): Observable<IItinerary> {\r\n return new Observable<IItinerary>(observer => {\r\n const req: IGatewayRequest<IItinerary, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryRequestEnpoints.getById,\r\n parameters: [id],\r\n blackboxRequest: true,\r\n };\r\n\r\n const handler = (res: IGatewayResponse<IItinerary>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response);\r\n observer.complete();\r\n this.socket.off(GatewayRequestEndpoint.SocketResponse, handler);\r\n }\r\n };\r\n this.socket.on(GatewayRequestEndpoint.SocketResponse, handler);\r\n this.socket.emit(GatewayRequestEndpoint.SocketRequest, req);\r\n });\r\n }\r\n\r\n findOneWithMembers(id: string): Observable<ItineraryMemberCompleteDTO> {\r\n return new Observable<ItineraryMemberCompleteDTO>(observer => {\r\n const req: IGatewayRequest<ItineraryMemberCompleteDTO, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryRequestEnpoints.getOneWithMembers,\r\n parameters: [id],\r\n blackboxRequest: true,\r\n };\r\n\r\n const handler = (res: IGatewayResponse<ItineraryMemberCompleteDTO>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response);\r\n observer.complete();\r\n this.socket.off(GatewayRequestEndpoint.SocketResponse, handler);\r\n }\r\n };\r\n this.socket.on(GatewayRequestEndpoint.SocketResponse, handler);\r\n this.socket.emit(GatewayRequestEndpoint.SocketRequest, req);\r\n });\r\n }\r\n\r\n getAll(): Observable<IItineraryStatsDto[]> {\r\n return new Observable<IItineraryStatsDto[]>(observer => {\r\n const req: IGatewayRequest<IItineraryStatsDto[], null> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryRequestEnpoints.all,\r\n blackboxRequest: true,\r\n };\r\n\r\n const handler = (res: IGatewayResponse<IItineraryStatsDto[]>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response);\r\n observer.complete();\r\n this.socket.off(GatewayRequestEndpoint.SocketResponse, handler);\r\n }\r\n };\r\n this.socket.on(GatewayRequestEndpoint.SocketResponse, handler);\r\n this.socket.emit(GatewayRequestEndpoint.SocketRequest, req);\r\n });\r\n }\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib'; \r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { UserRoutes } from '../../../../_enums/userRoutes.enum';\r\nimport { CustomDropdownMenuService } from '../../../../_services/custom-dropdown-menu.service';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../_models/i-Itinerary';\r\nimport { IUser } from '../../../../_models/app-user';\r\nimport { AppService } from '../../../../_data/app-service.service';\r\nimport { ItineraryService } from '../../../../_services/itinerary.service';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-branched-itineraries',\r\n templateUrl: './branched-itineraries.component.html',\r\n styleUrl: './branched-itineraries.component.scss',\r\n})\r\nexport class BranchedItinerariesComponent {\r\n libMenuItem: LibMenuItem[] = [\r\n {\r\n title: 'New File',\r\n titlePrefix: 'Create',\r\n titleSuffix: '',\r\n iconUrl: '/assets/icons/new-file.svg',\r\n iconName: 'note_add',\r\n cssClass: 'menu-new-file',\r\n active: false,\r\n disabled: false,\r\n separator: false,\r\n listItem: { id: 6, type: 'file' },\r\n listItemIndex: 0,\r\n command: (_item?: LibMenuItem) => { },\r\n },\r\n {\r\n title: 'Open File',\r\n titlePrefix: 'Browse',\r\n titleSuffix: '',\r\n iconUrl: '/assets/icons/open-file.svg',\r\n iconName: 'folder_open',\r\n cssClass: 'menu-open-file',\r\n active: false,\r\n disabled: false,\r\n separator: false,\r\n listItem: { id: 7, type: 'file' },\r\n listItemIndex: 1,\r\n command: (_item?: LibMenuItem) => { },\r\n },\r\n {\r\n title: 'Save File',\r\n titlePrefix: 'Save',\r\n titleSuffix: 'Changes',\r\n iconUrl: '/assets/icons/save.svg',\r\n iconName: 'save',\r\n cssClass: 'menu-save-file',\r\n active: false,\r\n disabled: false,\r\n separator: false,\r\n listItem: { id: 8, type: 'file' },\r\n listItemIndex: 2,\r\n command: (_item?: LibMenuItem) => { },\r\n },\r\n {\r\n title: 'Print',\r\n titlePrefix: 'Print',\r\n titleSuffix: '',\r\n iconUrl: '/assets/icons/print.svg',\r\n iconName: 'print',\r\n cssClass: 'menu-print',\r\n active: false,\r\n disabled: false,\r\n separator: false,\r\n listItem: { id: 9, type: 'action' },\r\n listItemIndex: 3,\r\n command: (_item?: LibMenuItem) => { },\r\n },\r\n {\r\n title: 'Exit',\r\n titlePrefix: 'Close',\r\n titleSuffix: 'Application',\r\n iconUrl: '/assets/icons/close.svg',\r\n iconName: 'close',\r\n cssClass: 'menu-exit',\r\n active: false,\r\n disabled: false,\r\n separator: false,\r\n listItem: { id: 10, type: 'action' },\r\n listItemIndex: 4,\r\n command: (_item?: LibMenuItem) => { },\r\n },\r\n ];\r\n\r\n ICONS: Iicon = ICONS;\r\n itineraries: IItinerary[] = [];\r\n user!:IUser;\r\n temps: string[] = Array(10)\r\n .fill('')\r\n .map(() => Math.floor(Math.random() * 1000).toString());\r\n\r\n constructor(\r\n private customMenuList: CustomDropdownMenuService,\r\n private location: Location,\r\n private router: Router,\r\n private appService: AppService,\r\n private itineraryService: ItineraryService,\r\n private cdr: ChangeDetectorRef,\r\n private activeRoute: ActivatedRoute,\r\n ) { this.user = this.appService.user;}\r\n\r\n ngOnInit(): void {\r\n this.activeRoute.params.subscribe(() => {\r\n this.initializeTemps();\r\n });\r\n this.libMenuItem = this.customMenuList.getMenuList('itineraries');\r\n\r\n this.itineraryService.getByUserId(this.user._id).subscribe({\r\n next: (itineraries: IItinerary[]) => {\r\n this.itineraries = [...itineraries]; \r\n },\r\n error: (error) => {\r\n console.error('Error fetching itineraries:', error);\r\n },\r\n complete: () => { \r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n initializeTemps(): void {\r\n this.temps = Array(10)\r\n .fill('')\r\n .map(() => Math.floor(Math.random() * 1000).toString());\r\n }\r\n\r\n //NAVIGATIONS\r\n back = (): void => this.location.back();\r\n\r\n navToComment(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.COMMENTS_ROUTE,\r\n ]);\r\n }\r\n\r\n navigateToDetail(_item: LibMenuItem) {\r\n this.router.navigate([\r\n `itineraries/${ItinerariesRoutesEnum.ITINERARY_DETAIL}`,\r\n ]);\r\n }\r\n\r\n navToBranchItinerary = (id: string): void => {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.BRANCHED_ITINERARIES,\r\n id,\r\n ]);\r\n };\r\n\r\n navToUsers = (): void => {\r\n this.router.navigate([UserRoutes.profile]);\r\n };\r\n\r\n navToDetail = (): void => {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n ]);\r\n };\r\n\r\n navToMoreDetail = (): void => {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n ItinerariesRoutesEnum.ITINERARY_MORE_DETAIL,\r\n ]);\r\n };\r\n\r\n navToStories(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.STORIES,\r\n ]);\r\n }\r\n\r\n navToNotifications(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_WATCHING_USERS,\r\n ]);\r\n }\r\n navToWatching(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_WATCHING_USERS,\r\n ]);\r\n }\r\n}\r\n","<div class=\"ps-5 pe-5\">\r\n <app-header\r\n (firstButton)=\"back()\"\r\n [heading]=\"'BRANCHED.FORKED_ITINERARIES' | translate\"\r\n ></app-header>\r\n\r\n <lib-secondary-btn >\r\n <div class=\"flex items-center justify-center\">\r\n <img class=\"branchIcon me-1\" [src]=\"ICONS['branchPink']\" alt=\"icon\" />\r\n <span class=\"me-1\">\r\n {{ \"BRANCHED.FORK_THE_ITINERARY\" | translate }}\r\n </span>\r\n </div>\r\n </lib-secondary-btn>\r\n\r\n <app-filter-menu [ngStyle]=\"{ margin: '0px !important' }\"></app-filter-menu>\r\n <ng-container *ngFor=\"let i of itineraries\">\r\n <app-cutom-card\r\n [libMenuItem]=\"libMenuItem\"\r\n [isDraft]=\"false\"\r\n [itinerary]=\"i\"\r\n [itineraryStarted]=\"true\"\r\n (TitleClicked)=\"navToDetail()\"\r\n (forkClicked)=\"navToBranchItinerary(i._id!)\"\r\n (messageClicked)=\"navToComment()\"\r\n (userProfileClicked)=\"navToMoreDetail()\"\r\n (imageClicked)=\"navToStories()\"\r\n (eyeClicked)=\"navToWatching()\"\r\n ></app-cutom-card>\r\n </ng-container>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; \r\nimport { Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../_models/i-Itinerary';\r\n// import { ItineraryService } from '../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../_constants/constants';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-builder',\r\n templateUrl: './builder.component.html',\r\n styleUrl: './builder.component.scss',\r\n})\r\nexport class BuilderComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n draftItinerary: IItinerary[] = [];\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private router: Router,\r\n // private itineraryService: ItineraryService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n // this.draftItinerary = this.itineraryService.getDraftByUserId();\r\n }\r\n\r\n //UI LOGIC\r\n\r\n //NAVIGATIONS\r\n navToCreateItinerary(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY,\r\n ]);\r\n }\r\n}\r\n","@if (draftItinerary.length === 0) {\r\n<div class=\"h-[76vh] w-full flex items-center justify-center\">\r\n <div class=\"flex items-center justify-center flex-col h-full\">\r\n <img [src]=\"ICONS['map']\" alt=\"map\" loading=\"lazy\" />\r\n <h3\r\n class=\"mt-2 font-Calistoga font-normal text-[23px] leading-[160%] tracking-[0px]\"\r\n >\r\n No Itineraries Yet\r\n </h3>\r\n <p class=\"mt-2 mb-2\">You have no Itineraries yet. Create itineary now.</p>\r\n <lib-primary-btn (click)=\"navToCreateItinerary()\"\r\n >Create Itinerary</lib-primary-btn\r\n >\r\n </div>\r\n</div>\r\n} @else {\r\n <div class=\"mt-3\">\r\n <lib-secondary-btn>\r\n <div class=\"flex items-center justify-center\">\r\n <img class=\"mr-2 h-[15px] w-[15px]\" [src]=\"ICONS['plus']\" alt=\"icon\" />\r\n <span class=\"me-1\"> Create New Itinerary </span>\r\n </div>\r\n </lib-secondary-btn>\r\n </div>\r\n\r\n <div class=\"flex items-center justify-between mt-3\">\r\n <span class=\"font-Gilroy\">My Creations</span>\r\n <div class=\"flex items-center\">\r\n <img class=\"mr-2\" [src]=\"ICONS['archives']\" alt=\"icon\" />\r\n <span class=\"pinkTextColor\">Archives</span>\r\n </div>\r\n </div>\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { Router } from '@angular/router'; \r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n@Component({\r\n selector: 'app-create-itinerary-header',\r\n templateUrl: './create-itinerary-header.component.html',\r\n styleUrl: './create-itinerary-header.component.css',\r\n})\r\nexport class CreateItineraryHeaderComponent {\r\n @Input() heading: string = '';\r\n @Input() progressBarValue: number = 0;\r\n @Input() discardItineraryId: string = '';\r\n @Input() class: string = '';\r\n protected ICONS: Iicon = ICONS;\r\n protected isOpen: boolean = false;\r\n\r\n //LIFE CYCLE\r\n constructor(\r\n private router: Router,\r\n private location: Location,\r\n ) {}\r\n\r\n //UI LOGIC\r\n showPopup(): void {\r\n this.isOpen = true;\r\n }\r\n\r\n hidePopup(): void {\r\n this.isOpen = false;\r\n }\r\n\r\n hidePopupAndNavigate(): void {\r\n this.isOpen = false;\r\n setTimeout(() => {\r\n this.navToItineraryExplore();\r\n }, 0);\r\n }\r\n\r\n //NAVIGATIONS\r\n back(): void {\r\n this.location.back();\r\n }\r\n\r\n navToItineraryExplore(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.EXPLORE,\r\n ]);\r\n }\r\n}\r\n","<div [class]=\"'bottom-rounded-container fixed top-0 z-10 ' + class\">\r\n <lib-percentage-bar\r\n class=\"primary-percentage-bar\"\r\n [value]=\"progressBarValue\"\r\n ></lib-percentage-bar>\r\n <ng-template #suffix>\r\n <span class=\"discard\" (click)=\"showPopup()\">Discard?</span>\r\n </ng-template>\r\n <lib-popup\r\n [isOpen]=\"isOpen\"\r\n [icon]=\"ICONS['infoBig']\"\r\n cancelButton=\"Cancel\"\r\n confirmButton=\"Yes\"\r\n message=\"Are you sure you want to discard the itinerary creating progress?\"\r\n (modalConfirm)=\"hidePopupAndNavigate()\"\r\n (modalDismiss)=\"hidePopup()\"\r\n >\r\n </lib-popup>\r\n\r\n <app-header\r\n cssClass=\"!pt-2 pl-3 pr-3\"\r\n (firstButton)=\"back()\"\r\n [heading]=\"heading\"\r\n [headerSuffixTemplate]=\"suffix\"\r\n ></app-header>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-create-itinerary-destination',\r\n templateUrl: './create-itinerary-destination.component.html',\r\n styleUrl: './create-itinerary-destination.component.css',\r\n})\r\nexport class CreateItineraryDestinationComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n isOpen: boolean = true;\r\n itinerary: IItinerary | undefined;\r\n\r\n //LIFE CYCLE\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n const id = this.route.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next: (res: IItinerary) => {\r\n this.itinerary = res;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //UI LOGIC\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n }\r\n\r\n //NAVIGATIONS\r\n navToPickStartLocation() {\r\n this.router.navigate(\r\n [\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.LOCATION_PICKER,\r\n this.itinerary?._id,\r\n ],\r\n { queryParams: { mode: 'end' } },\r\n );\r\n }\r\n\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"15\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n (submitModal)=\"navToPickStartLocation()\"\r\n submitButtonTitle=\"Continue\"\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <div class=\"flex items-center\">\r\n <lib-icon-btn class=\"checkmark-icon-button\">\r\n <img\r\n [src]=\"ICONS['startMarkerImage']\"\r\n alt=\"icon\"\r\n height=\"16\"\r\n width=\"16\"\r\n />\r\n </lib-icon-btn>\r\n <div class=\"ml-4\">\r\n <span>{{ itinerary?.startLocation?.address }}</span>\r\n <p>Starting location</p>\r\n </div>\r\n </div>\r\n <img [src]=\"ICONS['editPink']\" alt=\"edit\" height=\"13\" width=\"13\" />\r\n </div>\r\n\r\n <h1 class=\"font-Calistoga text-lg mt-5\">Destination</h1>\r\n <p class=\"mt-3\">Select final destination for itinenary route.</p>\r\n\r\n <div class=\"mt-3\">\r\n <lib-text-box\r\n (click)=\"navToPickStartLocation()\"\r\n class=\"textbox-1\"\r\n label=\"Where To?\"\r\n ></lib-text-box>\r\n </div>\r\n </div>\r\n</lib-bottom-modal>\r\n\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { SelectOption } from '@naniteninja/ionic-lib'; \r\nimport { Iicon } from '../../../../../../_interface/icon'; \r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-create-itinerary-member-details',\r\n templateUrl: './create-itinerary-member-details.component.html',\r\n styleUrl: './create-itinerary-member-details.component.css',\r\n})\r\nexport class CreateItineraryMemberDetailsComponent {\r\n ICONS: Iicon = ICONS;\r\n foodOptions: SelectOption<string>[] = [\r\n {\r\n value: 'Viynasa',\r\n label: 'Viynasa',\r\n image: ICONS['food'],\r\n },\r\n {\r\n value: 'Italian',\r\n label: 'Italian',\r\n image: ICONS['food'],\r\n },\r\n {\r\n value: 'Boston Cream Pie',\r\n label: 'Boston Cream Pie',\r\n image: ICONS['food'],\r\n },\r\n ];\r\n\r\n destinationOptions: SelectOption<string>[] = [\r\n {\r\n value: 'Bali - Indonesia',\r\n label: 'Bali - Indonesia',\r\n image: ICONS['food'],\r\n },\r\n {\r\n value: 'Paris - France',\r\n label: 'Paris - France',\r\n image: ICONS['food'],\r\n },\r\n {\r\n value: 'Dubai - United Arab Emirates',\r\n label: 'Dubai - United Arab Emirates',\r\n image: ICONS['food'],\r\n },\r\n ];\r\n\r\n //LIFE CYCLES\r\n constructor(private location: Location) {}\r\n\r\n //NAVIGATIONS\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n","<ng-template #suffixTemplate>\r\n <img [src]=\"ICONS['horizontal']\" alt=\"icon\" />\r\n</ng-template>\r\n<app-header\r\n (firstButton)=\"back()\"\r\n [headerSuffixTemplate]=\"suffixTemplate\"\r\n heading=\"Member Details\"\r\n></app-header>\r\n\r\n<div class=\"p-4\">\r\n <div class=\"flex items-center justify-center flex-col\">\r\n <img\r\n class=\"rounded-full\"\r\n [src]=\"ICONS['dummyUserProfile']\"\r\n height=\"114px\"\r\n width=\"114px\"\r\n alt=\"user profile\"\r\n />\r\n <h3 class=\"font-Calistoga text-lg mt-4 mb-2\">Jakob Vaccaro</h3>\r\n <p>{{ \"jackobvaccaro@gmail.com\" }}</p>\r\n </div>\r\n\r\n <hr class=\"mt-5 mb-4 divider\" />\r\n\r\n <span>Favorite Food</span>\r\n <lib-selectable [options]=\"foodOptions\"></lib-selectable>\r\n\r\n <hr class=\"mt-5 mb-4 divider\" />\r\n <span>Favorite Destination</span>\r\n <lib-selectable [options]=\"foodOptions\"></lib-selectable>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-create-itinerary-start-location',\r\n templateUrl: './create-itinerary-start-location.component.html',\r\n styleUrl: './create-itinerary-start-location.component.css',\r\n})\r\nexport class CreateItineraryStartLocationComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n actions: string[] = [ICONS['location'], ICONS['pencil'], ICONS['ban']];\r\n selected: string = this.actions[0];\r\n isOpen: boolean = true;\r\n initialLocation = { lat: 24.8607, lng: 67.0011 };\r\n itinerary!: IItinerary | undefined;\r\n // markers: MapMarkerModel[] = [\r\n // {\r\n // id: '1',\r\n // position: { lat: 24.8607, lng: 67.0011 },\r\n // radius: 0,\r\n // icon: ICONS['enLocation'],\r\n // omitMarkerCircle: true,\r\n // },\r\n // ];\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private location: Location,\r\n private cdr: ChangeDetectorRef,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n const id = this.activatedRoute.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next: (res: IItinerary) => {\r\n this.itinerary = res;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //UI LOGIC\r\n updateAction(action: string) {\r\n this.selected = action;\r\n if (action === this.actions[1]) {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE_CREATE,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n if (action === this.actions[2]) {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE_CREATE,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n\r\n }\r\n\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n markerClick(_event: any) {\r\n }\r\n\r\n //NAVIGATIONS\r\n back(): void {\r\n this.location.back();\r\n }\r\n\r\n navToPickStartLocation() {\r\n this.router.navigate(\r\n [\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.LOCATION_PICKER,\r\n this.itinerary?._id,\r\n ],\r\n { queryParams: { mode: 'start' } },\r\n );\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"5\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n (submitModal)=\"navToPickStartLocation()\"\r\n submitButtonTitle=\"Continue\"\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <h3 class=\"font-Calistoga text-lg\">Along The Way</h3>\r\n <div class=\"selectables flex items-center\">\r\n <div\r\n (click)=\"updateAction(a)\"\r\n class=\"flex items-center justify-center actions\"\r\n *ngFor=\"let a of actions\"\r\n [ngClass]=\"{ selected: a === selected }\"\r\n >\r\n <img [src]=\"a\" alt=\"icon\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"mt-3\">Select starting location for itinerary route.</p>\r\n <div class=\"mt-3\">\r\n <lib-text-box (click)=\"navToPickStartLocation()\" class=\"textbox-1\" label=\"From Where?\"></lib-text-box>\r\n </div>\r\n </div>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LibMenuItem, SelectOption } from '@naniteninja/ionic-lib';\r\nimport { of, Subscription } from 'rxjs'; \r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItineraryMember } from '../../../../../../_models/i-itinerary-member'; \r\nimport { CustomDropdownMenuService } from '../../../../../../_services/custom-dropdown-menu.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-create-itinerary-user-search',\r\n templateUrl: './create-itinerary-user-search.component.html',\r\n styleUrl: './create-itinerary-user-search.component.css',\r\n})\r\nexport class CreateItineraryUserSearchComponent implements OnInit, OnDestroy {\r\n loading: boolean = false;\r\n itineraryMembers: IItineraryMember[] = [];\r\n private subscription!: Subscription;\r\n ICONS: Iicon = ICONS;\r\n option: SelectOption<string> = {\r\n value: 'Viynasa',\r\n label: 'Viynasa',\r\n image: ICONS['food'],\r\n };\r\n libMenuItems: LibMenuItem[] = [];\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private location: Location,\r\n private cdr: ChangeDetectorRef,\r\n private customMenuList: CustomDropdownMenuService,\r\n private router: Router,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.getTotalItineraryMembers();\r\n this.libMenuItems = this.customMenuList.getMenuList(\r\n 'create-itinerary-user-search',\r\n );\r\n\r\n this.libMenuItems = this.libMenuItems.map((x) => {\r\n return {\r\n ...x,\r\n command: () => {\r\n this.navToMemberDetail();\r\n },\r\n };\r\n });\r\n }\r\n\r\n //UI LOGIC\r\n getTotalItineraryMembers(): void {\r\n this.loading = true;\r\n this.subscription = of([]).subscribe((data: IItineraryMember[]) => {\r\n this.itineraryMembers = data;\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n //NAVIGATIONS\r\n navToMemberDetail(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_MEMBER_DETAILS,\r\n '1',\r\n ]);\r\n }\r\n\r\n back(): void {\r\n this.location.back();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<app-header heading=\"User Search\" (firstButton)=\"back()\"></app-header>\r\n<div class=\"p-4\">\r\n <lib-text-box\r\n class=\"textbox-1\"\r\n label=\"Invite people to this place\"\r\n ></lib-text-box>\r\n\r\n <h3 class=\"font-Calistoga text-lg mt-3 mb-3\">Total Users</h3>\r\n <p>4 people</p>\r\n\r\n <ng-container *ngIf=\"loading\">\r\n <lib-info-card-placeholder\r\n [avatar]=\"true\"\r\n [count]=\"5\"\r\n ></lib-info-card-placeholder>\r\n </ng-container>\r\n\r\n <ng-template #sufixAction>\r\n <lib-menu-btn\r\n id=\"lib-menu-btn\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n [menuItems]=\"libMenuItems\"\r\n >\r\n <img [src]=\"ICONS['horizontal']\" alt=\"icon\" />\r\n </lib-menu-btn>\r\n </ng-template>\r\n\r\n @if (!loading) {\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3\">\r\n <ng-container *ngFor=\"let i of itineraryMembers\">\r\n <!-- <app-user-tile\r\n [name]=\"i.memberName\"\r\n [email]=\"i.memberEmail\"\r\n [image]=\"i.memberPic\"\r\n [sufixTemplate]=\"sufixAction\"\r\n ></app-user-tile> -->\r\n </ng-container>\r\n </div>\r\n }\r\n\r\n <hr class=\"divider mt-3 mb-3\" />\r\n\r\n <h3 class=\"font-Calistoga text-lg mt-5 mb-4\">Common interests</h3>\r\n <lib-selectable [options]=\"[option]\"></lib-selectable>\r\n\r\n <div class=\"flex items-center mt-2\">\r\n <div class=\"rounded overflow-hidden\">\r\n <img\r\n class=\"rounded-full\"\r\n [src]=\"ICONS['dummyUserProfile']\"\r\n height=\"32px\"\r\n width=\"32px\"\r\n />\r\n </div>\r\n <span class=\"ml-2\">Makenna Levin</span>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-4\">\r\n <img\r\n class=\"rounded-full\"\r\n [src]=\"ICONS['dummyUserProfile']\"\r\n height=\"32px\"\r\n width=\"32px\"\r\n />\r\n <span class=\"ml-2\">Jakob Vaccaro</span>\r\n </div>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { IUser } from '../../../../../../_models/app-user';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\nimport { ItineraryPrimaryInfoDto } from '../../../../../../_dtos/Itinerary-primary-info.dto';\r\nimport { AppService } from '../../../../../../_data/app-service.service';\r\nimport { ItineraryMemberCompleteDTO } from '../../../../../../_dtos/itinerary-member-complete.dto';\r\nimport { IItineraryMember } from '../../../../../../_models/i-itinerary-member';\r\n\r\n@Component({\r\n selector: 'app-create-itinerary',\r\n templateUrl: './create-itinerary.component.html',\r\n styleUrl: './create-itinerary.component.css',\r\n})\r\nexport class CreateItineraryComponent implements OnInit {\r\n form!: FormGroup;\r\n settings: boolean = true;\r\n users: IUser[] = [];\r\n images: string[] = [];\r\n ICONS: Iicon = ICONS;\r\n selectecMembers: IUser[] = [];\r\n loading: boolean = false;\r\n itinerary!: IItinerary;\r\n private user: IUser;\r\n\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private itineraryService: ItineraryService,\r\n private fb: FormBuilder,\r\n private cdr: ChangeDetectorRef,\r\n appService: AppService,\r\n private activeRoute: ActivatedRoute\r\n ) { this.user = appService.user }\r\n\r\n ngOnInit(): void {\r\n this.appInit();\r\n }\r\n\r\n //UI LOGIC \r\n\r\n get name(): FormControl {\r\n return this.form.get('name') as FormControl;\r\n }\r\n\r\n get fullMatch(): FormControl {\r\n return this.form.get('matchFull') as FormControl;\r\n }\r\n\r\n get anotherSettings(): FormControl {\r\n return this.form.get('anotherSettings') as FormControl;\r\n }\r\n\r\n\r\n appInit(): void {\r\n this.form = this.fb.group({\r\n name: ['', [Validators.required]],\r\n matchFull: [false, [Validators.required]],\r\n anotherSettings: [false, [Validators.required]],\r\n });\r\n\r\n const id = this.activeRoute.snapshot.params['id'];\r\n if (id) {\r\n this.loading = true;\r\n this.itineraryService.findOneWithMembers(id).subscribe({\r\n next: (res: ItineraryMemberCompleteDTO) => {\r\n this.itinerary = res.itinerary;\r\n console.log(res)\r\n setTimeout(() => {\r\n this.form.patchValue(this.itinerary)\r\n }, 0);\r\n\r\n if (res.members?.length > 0) {\r\n this.images = (res.members as IItineraryMember[]).map((x: IItineraryMember) => (x.invitedUserId as IUser).pictureUrl!);\r\n }\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n }\r\n\r\n onUserSelect(_userId: string): void {\r\n\r\n }\r\n\r\n getImgByUserId(id: string): string {\r\n return this.users.find(user => user._id === id)?.pictureUrl || ICONS['unknownUser'];\r\n }\r\n\r\n create(navToMemberSearch: boolean): void {\r\n if (this.form.invalid) {\r\n Object.values(this.form.controls).forEach((c: AbstractControl) => {\r\n c.markAsTouched({ onlySelf: true });\r\n c.updateValueAndValidity();\r\n });\r\n \r\n this.cdr.detectChanges();\r\n return;\r\n }\r\n \r\n const itinerary: ItineraryPrimaryInfoDto = {\r\n name: this.name.value,\r\n matchFull: this.fullMatch.value,\r\n createdBy: this.user._id,\r\n anotherSettings: this.anotherSettings.value\r\n };\r\n \r\n this.itineraryService.createOrUpdate(itinerary, this.itinerary?._id).subscribe({\r\n next: (_itinerary: IItinerary) => { \r\n this.itinerary = _itinerary;\r\n if (navToMemberSearch)\r\n this.navToMemberInvite(_itinerary._id!);\r\n else\r\n this.navToStartLocation();\r\n },\r\n error: (err: Error) => {\r\n console.log(err.message)\r\n }\r\n });\r\n }\r\n\r\n\r\n //NAVIGATIONS\r\n back(): void {\r\n this.location.back();\r\n }\r\n\r\n navToStartLocation(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_ORIGIN,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n\r\n navToMemberSearch(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_USER_SEARCH,\r\n 1,\r\n ]);\r\n }\r\n\r\n navToMemberInvite(id: string): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_MEMBERS,\r\n id\r\n ], { state: { from: this.router.url } });\r\n }\r\n}\r\n","<app-header (firstButton)=\"back()\" heading=\"Create Itinerary\"></app-header>\r\n@if (loading) {\r\n <div class=\"h-[75vh] flex items-center justify-center\">\r\n <p>Loading...</p>\r\n </div>\r\n} @else {\r\n <form [formGroup]=\"form\" class=\"mb-32\">\r\n <div class=\"mt-4 ml-3 mr-2 mb-5\">\r\n <p class=\"mb-4\">\r\n Start creating your itinerary with a title and continue to the route\r\n details.\r\n </p>\r\n <lib-input-field\r\n type=\"text\"\r\n formControlName=\"name\"\r\n class=\"textbox-1\"\r\n label=\"Itinerary Title\"\r\n ></lib-input-field>\r\n @if (name.hasError(\"required\") && (name.dirty || name.touched)) {\r\n <span class=\"validation-error\">Required.</span>\r\n }\r\n <hr style=\"margin: 40px 0px 20px 0px\" class=\"divider\" />\r\n\r\n <h1 class=\"text-lg font-Calistoga\">Members</h1>\r\n <p class=\"mb-4\">\r\n The users included will effect the suggested activities.\r\n </p>\r\n <div (click)=\"create(true)\">\r\n <lib-text-box\r\n class=\"textbox-1 pointer-events-none\"\r\n label=\"User Search\"\r\n ></lib-text-box>\r\n </div>\r\n <ng-container *ngFor=\"let u of users\">\r\n <p (click)=\"onUserSelect(u._id)\">{{ u.name }} - {{ u.email }}</p>\r\n </ng-container>\r\n <app-users-stack\r\n [images]=\"images\"\r\n [size]=\"41\"\r\n class=\"mt-2\"\r\n ></app-users-stack>\r\n <hr style=\"margin: 40px 0px 20px 0px\" class=\"divider\" />\r\n\r\n <h1 class=\"text-lg font-Calistoga\">Settings</h1>\r\n <div class=\"mt-3 flex items-center justify-between\">\r\n <div style=\"width: 85%\">\r\n <h1>100% Match</h1>\r\n <p>\r\n Do all the members need to be interested in each experience for it\r\n to be suggested?\r\n </p>\r\n </div>\r\n <div style=\"width: 15%\" class=\"flex justify-end\">\r\n <lib-dashed-checkbox\r\n class=\"checkbox-sm\"\r\n formControlName=\"matchFull\"\r\n ></lib-dashed-checkbox>\r\n </div>\r\n </div>\r\n <div class=\"mt-3 flex items-center justify-between\">\r\n <div style=\"width: 85%\">\r\n <h1>Another Setting</h1>\r\n <p>Lorem Ipsum</p>\r\n </div>\r\n <div style=\"width: 15%\" class=\"flex justify-end\">\r\n <lib-dashed-checkbox\r\n class=\"checkbox-sm\"\r\n formControlName=\"anotherSettings\"\r\n ></lib-dashed-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n\r\n <div class=\"builder-footer\">\r\n <lib-footer-shared\r\n (continueButtonClick)=\"create(false)\"\r\n [canContinue]=\"true\"\r\n continueButtonText=\"Continue\"\r\n ></lib-footer-shared>\r\n </div>\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LocationService {\r\n getCurrentLocation(): Observable<{ lat: number; long: number }> {\r\n return new Observable((observer) => {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n (position) => {\r\n observer.next({\r\n lat: position.coords.latitude,\r\n long: position.coords.longitude,\r\n });\r\n observer.complete();\r\n },\r\n (error) => {\r\n observer.error(`Geolocation error: ${error.message}`);\r\n },\r\n );\r\n } else {\r\n observer.error('Geolocation is not supported by this browser.');\r\n }\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core'; \r\nimport { IItinerary } from '../../../../../../../_models/i-Itinerary';\r\nimport { ApiService } from '../../../../../../../_services/api.service';\r\nimport { LocationService } from '../../../../../../../_services/location.service';\r\nimport { ICONS } from '../../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-created-itinerary-detail',\r\n templateUrl: './created-itinerary-detail.component.html',\r\n styleUrl: './created-itinerary-detail.component.css',\r\n})\r\nexport class CreatedItineraryDetailComponent {\r\n initialLocation = { lat: 24.8607, lng: 67.0011 }; // Centered on California\r\n ICONS: { [key: string]: string } = ICONS;\r\n usersImageSrc = '/assets/images/users.png';\r\n\r\n places: IItinerary[] = [];\r\n\r\n constructor(\r\n public locationService: LocationService,\r\n public apiService: ApiService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.apiService.get('/assets/ItinerariesData.json').subscribe((data) => {\r\n this.places = data as IItinerary[];\r\n });\r\n this.locationService.getCurrentLocation().subscribe((location) => {\r\n this.initialLocation.lat = location.lat;\r\n this.initialLocation.lng = location.long;\r\n });\r\n }\r\n}\r\n","<div class=\"px-5 py-6\">\r\n <h2 class=\"\">{{ \"ITINERARY_SUMMARY.ROUTE\" | translate }}</h2>\r\n <div class=\"main-itini-preview\">\r\n <section class=\"mt-3 w-full\">\r\n <div class=\"tracking-widest rounded-t-3xl\">\r\n <div class=\"tracking-bottom-com\">\r\n <div class=\"flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['locationWhite']\" alt=\"location\" />\r\n <span\r\n >{{ places.length }}\r\n {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span\r\n >\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n *ngFor=\"let place of places; let i = index\"\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon outset-shadow flex items-center justify-center rounded-full h-8 w-8 relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n *ngIf=\"i !== places.length - 1\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2 class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\">\r\n {{ place.name }}\r\n <img loading=\"lazy\" [src]=\"ICONS['enLocation']\" alt=\"\" />\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n {{ place.description }}\r\n </p>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n {{ place.distance }}\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['groupBinBar']\"\r\n alt=\"\"\r\n class=\"cursor-pointer\"\r\n />\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <app-users-stack [size]=\"29\"></app-users-stack>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <hr class=\"divider mt-3\" />\r\n\r\n <div class=\"mt-4\">\r\n <p class=\"bottom-section-heading mt-2 mb-1\">\r\n {{ \"ITINERARY_SUMMARY.TOTAL_MEMBER\" | translate }}\r\n </p>\r\n\r\n <app-user-stack-tile\r\n label=\"4 People\"\r\n [buttonText]=\"'ITINERARY_SUMMARY.VIEW_MORE' | translate\"\r\n [maxVisible]=\"4\"\r\n ></app-user-stack-tile>\r\n </div>\r\n</div>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { GoogleMap } from '@angular/google-maps';\r\nimport { MapMarkerModel } from '@naniteninja/ionic-lib'; \r\n// import { ItineraryService } from '../../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-created-itinerary-map',\r\n templateUrl: './created-itinerary-map.component.html',\r\n styleUrl: './created-itinerary-map.component.css',\r\n})\r\nexport class CreatedItineraryMapComponent {\r\n @Input() newDestination!: string;\r\n @Output() destinationAdded = new EventEmitter<string>();\r\n center = { lat: 24.8607, lng: 67.0011 };\r\n zoom = 12;\r\n\r\n mapOptions: google.maps.MapOptions = {\r\n styles: [\r\n { elementType: 'geometry', stylers: [{ color: '#212121' }] },\r\n { elementType: 'labels.icon', stylers: [{ visibility: 'off' }] },\r\n { elementType: 'labels.text.fill', stylers: [{ color: '#757575' }] },\r\n { elementType: 'labels.text.stroke', stylers: [{ color: '#212121' }] },\r\n {\r\n featureType: 'administrative',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#757575' }],\r\n },\r\n {\r\n featureType: 'administrative.country',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#9e9e9e' }],\r\n },\r\n {\r\n featureType: 'administrative.land_parcel',\r\n stylers: [{ visibility: 'off' }],\r\n },\r\n {\r\n featureType: 'administrative.locality',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#bdbdbd' }],\r\n },\r\n {\r\n featureType: 'poi',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#757575' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#181818' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#616161' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'labels.text.stroke',\r\n stylers: [{ color: '#1b1b1b' }],\r\n },\r\n {\r\n featureType: 'road',\r\n elementType: 'geometry.fill',\r\n stylers: [{ color: '#2c2c2c' }],\r\n },\r\n {\r\n featureType: 'road',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#8a8a8a' }],\r\n },\r\n {\r\n featureType: 'road.arterial',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#373737' }],\r\n },\r\n {\r\n featureType: 'road.highway',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#3c3c3c' }],\r\n },\r\n {\r\n featureType: 'road.highway.controlled_access',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#4e4e4e' }],\r\n },\r\n {\r\n featureType: 'road.local',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#616161' }],\r\n },\r\n {\r\n featureType: 'transit',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#757575' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#000000' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#3d3d3d' }],\r\n },\r\n ],\r\n center: { lat: 74.006, lng: 40.7128 },\r\n mapTypeControl: false,\r\n disableDefaultUI: true, // Disable default UI\r\n zoomControl: true, // Enable zoom control\r\n };\r\n drawingManager!: google.maps.drawing.DrawingManager;\r\n map!: google.maps.Map;\r\n vertices: google.maps.LatLngLiteral[] = [];\r\n directionsService = new google.maps.DirectionsService();\r\n directionsRenderer = new google.maps.DirectionsRenderer();\r\n\r\n currentLocation!: google.maps.LatLngLiteral;\r\n destination: string = '';\r\n waypoints: string[] = [];\r\n\r\n markers: MapMarkerModel[] = [\r\n // {\r\n // id: '2',\r\n // icon: {\r\n // url: ICONS.startMarkerImage,\r\n // size: new google.maps.Size(40, 40),\r\n // scaledSize: new google.maps.Size(30, 30),\r\n // },\r\n // position: { lat: 24.9607, lng: 67.9011 },\r\n // radius: 100,\r\n // omitMarkerCircle: true,\r\n // },\r\n // {\r\n // id: '1',\r\n // icon: {\r\n // url: ICONS.endMarkerImage,\r\n // size: new google.maps.Size(40, 40),\r\n // scaledSize: new google.maps.Size(30, 30),\r\n // },\r\n // position: { lat: 24.8607, lng: 67.0011 },\r\n // radius: 100,\r\n // omitMarkerCircle: true,\r\n // },\r\n ];\r\n\r\n // constructor(private itineraryService: ItineraryService) {}\r\n\r\n @ViewChild(GoogleMap) googleMap!: GoogleMap;\r\n ngOnInit(): void {\r\n this.getUserLocation();\r\n\r\n // this.itineraryService.getMapData().subscribe((data) => {\r\n // data.markers.forEach((marker) => {\r\n // this.markers.push({\r\n // id: marker.id,\r\n // icon: marker.icon,\r\n // position: marker.position,\r\n // radius: marker.radius,\r\n // omitMarkerCircle: true,\r\n // });\r\n // });\r\n // });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.initializeDirectionsRenderer();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['newDestination'] && changes['newDestination'].currentValue) {\r\n this.addDestinationFromParent(changes['newDestination'].currentValue);\r\n }\r\n }\r\n\r\n initializeDirectionsRenderer(): void {\r\n if (this.googleMap && this.googleMap.googleMap) {\r\n this.directionsRenderer.setMap(this.googleMap.googleMap!);\r\n }\r\n }\r\n\r\n onMapInitialized(map: any) {\r\n this.map = map;\r\n this.initializeDrawingManager();\r\n console.log('Map initialized:', map);\r\n }\r\n\r\n getUserLocation() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.currentLocation = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude,\r\n };\r\n this.center = this.currentLocation;\r\n this.zoom = 16; // Adjust zoom level as needed\r\n this.addCurrentLocationMarker(this.currentLocation);\r\n });\r\n } else {\r\n window.alert('Geolocation is not supported by this browser.');\r\n }\r\n }\r\n\r\n addCurrentLocationMarker(position: google.maps.LatLngLiteral) {\r\n if (this.googleMap && this.googleMap.googleMap) {\r\n // Add a circle to represent the accuracy radius\r\n new google.maps.Circle({\r\n strokeColor: '#4285F4',\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: '#4285F4',\r\n fillOpacity: 0.35,\r\n map: this.googleMap.googleMap,\r\n center: position,\r\n radius: 100, // Set the radius as needed (in meters)\r\n });\r\n\r\n // Add a marker to represent the current location\r\n new google.maps.Marker({\r\n position,\r\n map: this.googleMap.googleMap,\r\n title: 'Your Location',\r\n icon: {\r\n path: google.maps.SymbolPath.CIRCLE,\r\n scale: 6,\r\n fillColor: '#4285F4',\r\n fillOpacity: 1,\r\n strokeWeight: 1,\r\n strokeColor: 'white',\r\n },\r\n });\r\n }\r\n }\r\n\r\n addDestination() {\r\n if (this.destination.trim() !== '') {\r\n this.waypoints.push(this.destination);\r\n this.destination = '';\r\n this.calculateAndDisplayRoute();\r\n }\r\n }\r\n\r\n addDestinationFromParent(destination: string) {\r\n if (destination.trim() !== '') {\r\n this.waypoints.push(destination);\r\n this.destinationAdded.emit(destination);\r\n this.calculateAndDisplayRoute();\r\n }\r\n }\r\n\r\n calculateAndDisplayRoute() {\r\n if (!this.currentLocation || this.waypoints.length === 0) {\r\n return;\r\n }\r\n\r\n const waypts = this.waypoints.slice(0, -1).map((location) => ({\r\n location,\r\n stopover: true,\r\n }));\r\n\r\n this.directionsService.route(\r\n {\r\n origin: this.currentLocation,\r\n destination: this.waypoints[this.waypoints.length - 1],\r\n waypoints: waypts,\r\n optimizeWaypoints: true,\r\n travelMode: google.maps.TravelMode.DRIVING,\r\n },\r\n (response, status) => {\r\n if (status === google.maps.DirectionsStatus.OK && response) {\r\n this.directionsRenderer.setDirections(response);\r\n this.placeMarkers(response.routes[0].legs);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n },\r\n );\r\n }\r\n\r\n placeMarkers(legs: google.maps.DirectionsLeg[]) {\r\n const startMarkerImage = ICONS['startMarkerImage']; // Replace with your custom start marker image URL\r\n const endMarkerImage = ICONS['endMarkerImage']; // Replace with your custom end marker image URL\r\n\r\n // Clear existing markers if needed\r\n this.directionsRenderer.setOptions({ markerOptions: { visible: false } });\r\n\r\n // Place custom start marker\r\n new google.maps.Marker({\r\n position: legs[0].start_location,\r\n map: this.googleMap.googleMap,\r\n icon: startMarkerImage,\r\n });\r\n\r\n // Place custom end marker\r\n new google.maps.Marker({\r\n position: legs[legs.length - 1].end_location,\r\n map: this.googleMap.googleMap,\r\n icon: endMarkerImage,\r\n });\r\n }\r\n\r\n initializeDrawingManager() {\r\n this.drawingManager = new google.maps.drawing.DrawingManager({\r\n drawingMode: null, // Start with no drawing mode\r\n drawingControl: false,\r\n drawingControlOptions: {\r\n position: google.maps.ControlPosition.TOP_CENTER,\r\n drawingModes: [google.maps.drawing.OverlayType.POLYGON],\r\n },\r\n polygonOptions: {\r\n editable: true,\r\n draggable: true,\r\n fillColor: '#E17575', // Set your polygon fill color\r\n strokeColor: '#E17575', // Set your polygon stroke color\r\n },\r\n });\r\n\r\n this.drawingManager.setMap(this.map);\r\n\r\n google.maps.event.addListener(\r\n this.drawingManager,\r\n 'overlaycomplete',\r\n (event: google.maps.drawing.OverlayCompleteEvent) => {\r\n if (event.type === google.maps.drawing.OverlayType.POLYGON) {\r\n const path = (event.overlay as google.maps.Polygon).getPath();\r\n this.vertices = path.getArray().map((vertex: google.maps.LatLng) => ({\r\n lat: vertex.lat(),\r\n lng: vertex.lng(),\r\n }));\r\n }\r\n // Stop drawing mode after a polygon is created\r\n this.drawingManager.setDrawingMode(null);\r\n },\r\n );\r\n }\r\n\r\n startDrawingPolygon() {\r\n this.drawingManager.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);\r\n }\r\n}\r\n","<lib-map\r\n #googleMap\r\n class=\"maps-100vh\"\r\n [initialLocation]=\"center\"\r\n [zoom]=\"zoom\"\r\n [options]=\"mapOptions\"\r\n (mapInitialized)=\"onMapInitialized($event)\"\r\n searchMapsString=\"searchMapsString\"\r\n [markers]=\"markers\"\r\n>\r\n</lib-map>\r\n","import { Location } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib';\r\nimport { MenuItem } from 'primeng/api'; \r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-created-itinerary-preview',\r\n templateUrl: './created-itinerary-preview.component.html',\r\n styleUrl: './created-itinerary-preview.component.css',\r\n})\r\nexport class CreatedItineraryPreviewComponent implements OnInit {\r\n ICONS = ICONS;\r\n activeItem!: MenuItem;\r\n itinerary: IItinerary | undefined;\r\n dropdownMenuItems: LibMenuItem[] = [\r\n {\r\n title: 'Edit Itinerary',\r\n iconUrl: ICONS['edit'],\r\n },\r\n {\r\n title: 'Archive',\r\n iconUrl: ICONS['archiveWhite'],\r\n },\r\n {\r\n title: 'Add to Favorites',\r\n iconUrl: ICONS['favorite'],\r\n },\r\n {\r\n title: 'Share Itinerary',\r\n iconUrl: ICONS['share'],\r\n },\r\n {\r\n title: 'Report',\r\n iconUrl: ICONS['report'],\r\n },\r\n {\r\n title: 'Delete Itinerary',\r\n iconUrl: ICONS['delete'],\r\n command: () => { },\r\n },\r\n ];\r\n\r\n tabMenuItems: MenuItem[] = [];\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.activeItem = this.tabMenuItems.find(\r\n (x) => x.routerLink === this.router.url,\r\n )!;\r\n\r\n const id = this.route.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next: (res: IItinerary) => {\r\n this.itinerary = res;\r\n }\r\n });\r\n }\r\n\r\n this.tabMenuItems = [\r\n {\r\n label: 'Summary',\r\n icon: 'pi pi-fw pi-home',\r\n routerLink: `${ItinerariesRoutesEnum.ITINERARY}/${ItinerariesRoutesEnum.CREATED_ITINERARY_PREVIEW}/${id}/${ItinerariesRoutesEnum.CREATED_ITINERARY_DETAIL}`,\r\n },\r\n {\r\n label: 'Map',\r\n icon: 'pi pi-fw pi-map-marker',\r\n routerLink: `${ItinerariesRoutesEnum.ITINERARY}/${ItinerariesRoutesEnum.CREATED_ITINERARY_PREVIEW}/${id}/${ItinerariesRoutesEnum.CREATED_ITINERARY_MAP}`,\r\n },\r\n ];\r\n }\r\n\r\n //NAVIGATIONS\r\n navToNextPage() {\r\n this.router.navigate([ItinerariesRoutesEnum.ITINERARY]);\r\n }\r\n\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n","<div>\r\n <lib-percentage-bar\r\n class=\"primary-percentage-bar\"\r\n [value]=\"95\"\r\n ></lib-percentage-bar>\r\n <app-header (firstButton)=\"back()\" heading=\"Create Itinerary\"></app-header>\r\n <app-tab-bar [tabMenuItems]=\"tabMenuItems\"></app-tab-bar>\r\n\r\n <div class=\"minScreen\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <div class=\"builder-footer w-full\">\r\n <lib-footer-shared\r\n [canContinue]=\"true\"\r\n continueButtonText=\"Create\"\r\n (continueButtonClick)=\"navToNextPage()\"\r\n ></lib-footer-shared>\r\n </div>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-created-itinerary',\r\n templateUrl: './created-itinerary.component.html',\r\n styleUrl: './created-itinerary.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CreatedItineraryComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n isOpen: boolean = true;\r\n itinerary: IItinerary | undefined;\r\n\r\n //LIFE CYCLE\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private route: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n const id = this.route.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next: (res: IItinerary) => {\r\n this.itinerary = res;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //UI LOGIC\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n //NAVIGATIONS\r\n navToNextPage() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATED_ITINERARY_PREVIEW,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"65\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n submitButtonTitle=\"Preview\"\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n (submitModal)=\"navToNextPage()\"\r\n>\r\n <div class=\"flex items-center justify-center px-5\">\r\n <div class=\"flex items-center w-full\">\r\n <div class=\"main-itini-preview w-full\">\r\n <section class=\"mt-3 w-full\">\r\n <div class=\"tracking-widest rounded-t-3xl\">\r\n <div class=\"tracking-bottom-com\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>2 {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Shan-ul-haq haqee road\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Kabul tikka\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Afghan cuisine\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Quetta TNT\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">Tea Coffee</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n </div>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-itinerary-add-place',\r\n templateUrl: './itinerary-add-place.component.html',\r\n styleUrl: './itinerary-add-place.component.css',\r\n})\r\nexport class ItineraryAddPlaceComponent implements OnInit {\r\n itinerary: IItinerary | undefined;\r\n isOpen: boolean = true;\r\n ICONS: Iicon = ICONS;\r\n tabMenuItems: MenuItem[] = [];\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private location: Location,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private itineraryService: ItineraryService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n const id = this.activatedRoute.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next: (res: IItinerary) => {\r\n this.itinerary = res;\r\n }\r\n });\r\n }\r\n this.tabMenuItems = [\r\n {\r\n label: 'Basic Info',\r\n icon: 'pi pi-fw pi-home',\r\n routerLink: `${ItinerariesRoutesEnum.ITINERARY}/${ItinerariesRoutesEnum.SELECT_ITINERARY_ADD_PLACE}/${id}/${ItinerariesRoutesEnum.SELECT_ITINERARY_PLACE_BASIC_INFO}`,\r\n },\r\n {\r\n label: 'Date & Time',\r\n icon: 'pi pi-fw pi-map-marker',\r\n routerLink: `${ItinerariesRoutesEnum.ITINERARY}/${ItinerariesRoutesEnum.SELECT_ITINERARY_ADD_PLACE}/${id}/${ItinerariesRoutesEnum.SELECT_ITINERARY_PLACE_DATETIME}`,\r\n },\r\n {\r\n label: 'Members',\r\n icon: 'pi pi-fw pi-user',\r\n routerLink: `${ItinerariesRoutesEnum.ITINERARY}/${ItinerariesRoutesEnum.SELECT_ITINERARY_ADD_PLACE}/${id}/${ItinerariesRoutesEnum.SELECT_ITINERARY_PLACE_MEMBERS}`,\r\n },\r\n ];\r\n }\r\n\r\n //UI LOGIC\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n }\r\n\r\n //NAVIGATIONS\r\n navToNextPage() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATED_ITINERARY,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"55\"\r\n heading=\"Select Events\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n (submitModal)=\"navToNextPage()\"\r\n submitButtonTitle=\"Continue\"\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <h3 class=\"font-Calistoga text-lg\">Remove</h3>\r\n <span>Add place details</span>\r\n <h3 class=\"font-Calistoga text-lg\" style=\"color: rgba(254, 60, 114, 1)\">\r\n Add\r\n </h3>\r\n </div>\r\n <div class=\"mt-5\">\r\n <app-tab-bar [tabMenuItems]=\"tabMenuItems\"></app-tab-bar>\r\n </div>\r\n </div>\r\n <router-outlet></router-outlet>\r\n</lib-bottom-modal>\r\n\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Component } from '@angular/core'; \r\nimport { Iicon } from '../../../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-itinerary-place-basic-info',\r\n templateUrl: './itinerary-place-basic-info.component.html',\r\n styleUrl: './itinerary-place-basic-info.component.css',\r\n})\r\nexport class ItineraryPlaceBasicInfoComponent {\r\n ICONS: Iicon = ICONS;\r\n}\r\n","<div class=\"pt-5 pl-4 pr-4\">\r\n <div class=\"flex items-center mb-5\">\r\n <lib-icon-btn class=\"checkmark-icon-button\">\r\n <img [src]=\"ICONS['restu']\" height=\"30\" width=\"30\" alt=\"icon\" />\r\n </lib-icon-btn>\r\n <div class=\"ml-3\">\r\n <div class=\"flex items-center\">\r\n <span>Ginyaki</span>\r\n <img\r\n class=\"ml-2\"\r\n [src]=\"ICONS['starYellow']\"\r\n alt=\"rating\"\r\n height=\"17\"\r\n width=\"17\"\r\n />\r\n <span class=\"ms-2\">4.7 (672 reviews)</span>\r\n </div>\r\n <p>Chinese restuarant</p>\r\n </div>\r\n </div>\r\n\r\n <span class=\"text-[12px]\"\r\n >Lorem ipsum dolor sit amet consectetur adipisicing eliteee. Fugit commodi\r\n redllat labore eseere dignissimos uasdllam repudiandae corrupti numquam\r\n porro deleniti ipsum.</span\r\n >\r\n\r\n <div class=\"mt-4\">\r\n <lib-input-field\r\n class=\"textbox-1\"\r\n label=\"Add note (optional)\"\r\n [textarea]=\"true\"\r\n ></lib-input-field>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-itinerary-place-date-time',\r\n templateUrl: './itinerary-place-date-time.component.html',\r\n styleUrl: './itinerary-place-date-time.component.css',\r\n})\r\nexport class ItineraryPlaceDateTimeComponent {}\r\n","<div class=\"p-4 pb-0\">\r\n <div class=\"flex items-center justify-between mt-3 mb-5\">\r\n <div>\r\n <p>6:30 pm</p>\r\n <p>Arrival Time</p>\r\n </div>\r\n <div>\r\n <span class=\"text-end block\">40 minutes</span>\r\n <p>Average time people spend here</p>\r\n </div>\r\n </div>\r\n\r\n <lib-range-selector\r\n [stepValue]=\"2\"\r\n [minValue]=\"1\"\r\n [maxValue]=\"14\"\r\n ></lib-range-selector>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SelectOption } from '@naniteninja/ionic-lib'; \r\nimport { ItinerariesRoutesEnum } from '../../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-itinerary-place-members',\r\n templateUrl: './itinerary-place-members.component.html',\r\n styleUrl: './itinerary-place-members.component.css',\r\n})\r\nexport class ItineraryPlaceMembersComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n itinerary: IItinerary | undefined;\r\n\r\n option: SelectOption<string> = {\r\n image: ICONS['food'],\r\n label: 'Viynasa',\r\n value: 'Viynasa',\r\n selected: true,\r\n };\r\n\r\n //UI LOGIC\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n const id = this.route.parent?.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next: (res: IItinerary) => {\r\n this.itinerary = res;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //NAVIGATIONS\r\n navToUserSearch(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_USER_SEARCH,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n}\r\n","<div class=\"p-4 pb-0\">\r\n <span class=\"mt-5 mb-4\">Total Users</span>\r\n <p class=\"mt-2\">4 people</p>\r\n <app-user-stack-tile\r\n buttonText=\"4 people\"\r\n (onClick)=\"navToUserSearch()\"\r\n ></app-user-stack-tile>\r\n <hr class=\"divider mt-2 mb-4\" />\r\n\r\n <span class=\"mt-5 mb-4\">Common Interest</span>\r\n\r\n <app-user-stack-tile\r\n buttonText=\"2 people\"\r\n [isSelectableVisible]=\"true\"\r\n [selectableOption]=\"option\"\r\n ></app-user-stack-tile>\r\n <app-user-stack-tile\r\n buttonText=\"4 people\"\r\n [isSelectableVisible]=\"true\"\r\n [selectableOption]=\"option\"\r\n ></app-user-stack-tile>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LocationAutocompleteConfig, LocationModel } from '@naniteninja/ionic-lib';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\n\r\n@Component({\r\n selector: 'app-location-picker',\r\n templateUrl: './location-picker.component.html',\r\n styleUrl: './location-picker.component.css',\r\n})\r\nexport class LocationPickerComponent implements OnInit {\r\n locationIcon: string = ICONS['locationPink'];\r\n searchText: string = '';\r\n mode: string = '';\r\n autoCompleteConfig: LocationAutocompleteConfig = {\r\n types: ['(cities)'],\r\n };\r\n percentage: number = 10;\r\n itinerary: IItinerary | undefined;\r\n\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private location: Location,\r\n private route: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n private router: Router,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.route.queryParams.subscribe((params) => {\r\n this.mode = params['mode'];\r\n if (this.mode == 'end') {\r\n this.percentage = 20;\r\n }\r\n });\r\n\r\n const id = this.route.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next: (res: IItinerary) => {\r\n this.itinerary = res;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //UI LOGIC\r\n onLocationChange(event: LocationModel | undefined) {\r\n if (!this.itinerary) return;\r\n\r\n if (this.mode === 'start') {\r\n this.itinerary.startLocation = event;\r\n } else if (this.mode === 'end') {\r\n this.itinerary.endLocation = event;\r\n }\r\n // this.itineraryService.createOrUpdate(this.itinerary);\r\n }\r\n\r\n navToNextPage() {\r\n if (this.mode == 'start') {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_DESTINATION,\r\n this.itinerary?._id,\r\n ]);\r\n } else if (this.mode == 'end') {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.SUGGESTED_EVENTS_LOCATION,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n }\r\n\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n","<lib-percentage-bar\r\n class=\"primary-percentage-bar\"\r\n [value]=\"percentage\"\r\n></lib-percentage-bar>\r\n<app-header (firstButton)=\"back()\" heading=\"Location Search\"></app-header>\r\n<div class=\"mx-6\">\r\n <lib-input-field\r\n #inputField\r\n [(ngModel)]=\"searchText\" \r\n label=\"From where?\"\r\n [enableGoogleAddress]=\"true\"\r\n (locationChange)=\"onLocationChange($event)\"\r\n ></lib-input-field>\r\n</div>\r\n\r\n<hr style=\"margin: 40px 0px 20px 0px\" class=\"divider\" />\r\n\r\n<div class=\"mx-6\">\r\n <a class=\"text-white flex gap-2\">\r\n <img [src]=\"locationIcon\" alt=\"\" /> Select from map\r\n </a>\r\n</div>\r\n\r\n<div class=\"builder-footer w-full\">\r\n <lib-footer-shared\r\n (continueButtonClick)=\"navToNextPage()\"\r\n [canContinue]=\"true\"\r\n continueButtonText=\"Continue\"\r\n ></lib-footer-shared>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SelectOption } from '@naniteninja/ionic-lib'; \r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-select-itinerary-event',\r\n templateUrl: './select-itinerary-event.component.html',\r\n styleUrl: './select-itinerary-event.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SelectItineraryEventComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n isOpen: boolean = true;\r\n options: SelectOption<string>[] = [\r\n {\r\n label: 'All',\r\n value: 'All',\r\n selected: true,\r\n },\r\n {\r\n label: 'My Interests',\r\n value: 'My Interests',\r\n selected: true,\r\n },\r\n {\r\n label: 'Popular',\r\n value: 'Popular',\r\n selected: true,\r\n },\r\n ];\r\n itinerary: IItinerary | undefined;\r\n\r\n //LIFE CYCLE\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private route: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const id = this.route.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next:(res:IItinerary)=>{\r\n this.itinerary = res;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //UI LOGIC\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n //NAVIGATIONS\r\n back(): void {\r\n this.location.back();\r\n }\r\n\r\n navToNextPage() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.SELECT_ITINERARY_ADD_PLACE,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"40\"\r\n heading=\"Select Events\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n submitButtonTitle=\"Continue\"\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n (submitModal)=\"navToNextPage()\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"p-4 pt-0 pb-0\" style=\"height: 220px; overflow: auto\">\r\n <p class=\"text-justify text-[12px]\">\r\n Click the event pins to add/remove them in the itinerary. Hold the event\r\n pin to see Event Details. Click map area to exit from Event Details.\r\n </p>\r\n <span class=\"block text-center mt-3\">Places</span>\r\n\r\n <div class=\"mt-4\">\r\n <lib-selectable [options]=\"options\"></lib-selectable>\r\n </div>\r\n\r\n <hr\r\n class=\"mt-4 mb-4\"\r\n style=\"border: 0.82px solid rgba(255, 255, 255, 0.25)\"\r\n />\r\n\r\n <span>Select automatically</span>\r\n <div class=\"flex items-end justify-between mt-2\">\r\n <p class=\"text-[12px] leading-[150%] mr-2\">\r\n We will select places which are best for you for your itinerary.\r\n </p>\r\n <div class=\"pr-1\">\r\n <lib-toggle class=\"toggle-sm\"></lib-toggle>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-5\">\r\n <div class=\"flex items-center justify-between\">\r\n <span>Number of places</span>\r\n <span>3</span>\r\n </div>\r\n <lib-range-selector\r\n [stepValue]=\"2\"\r\n [minValue]=\"1\"\r\n [maxValue]=\"14\"\r\n ></lib-range-selector>\r\n </div>\r\n </div>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\nimport { LibMapsComponent, MapMarkerModel } from '@naniteninja/ionic-lib';\r\n\r\n@Component({\r\n selector: 'app-suggested-events-location',\r\n templateUrl: './suggested-events-location.component.html',\r\n styleUrl: './suggested-events-location.component.css',\r\n})\r\nexport class SuggestedEventsLocationComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n isOpen: boolean = true;\r\n itineary: IItinerary | undefined;\r\n mapMarkerModel: MapMarkerModel[] = [];\r\n @ViewChild('libMap') libMap!: LibMapsComponent;\r\n\r\n //LIFE CYCLE\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private route: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n const id = this.route.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next:(res:IItinerary) =>{\r\n this.itineary = res;\r\n }\r\n });\r\n\r\n const [startlng, startLat] = this.itineary?.startLocation?.coordinates!;\r\n this.mapMarkerModel.push({\r\n id: '1',\r\n position: { lat: startLat, lng: startlng },\r\n radius: 1000,\r\n icon: this.ICONS['startLocation'],\r\n omitMarkerCircle: true\r\n });\r\n\r\n const [endlng, endLat] = this.itineary?.endLocation?.coordinates!;\r\n this.mapMarkerModel.push({\r\n id: '2',\r\n position: { lat: endLat, lng: endlng },\r\n radius: 1000,\r\n icon: this.ICONS['enLocation'],\r\n omitMarkerCircle: true\r\n });\r\n\r\n setTimeout(() => {\r\n if (this.libMap) {\r\n const bounds = new google.maps.LatLngBounds();\r\n bounds.extend(new google.maps.LatLng(startLat, startlng));\r\n bounds.extend(new google.maps.LatLng(endLat, endlng));\r\n this.libMap.map.fitBounds(bounds);\r\n }\r\n });\r\n }\r\n }\r\n\r\n //UI LOGIC\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n //NAVIGATIONS\r\n navToNextPage() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.SUGGESTED_EVENTS_ROUTE_TYPE,\r\n this.itineary?._id,\r\n ]);\r\n }\r\n back(): void {\r\n this.location.back();\r\n }\r\n}","<app-create-itinerary-header\r\n [progressBarValue]=\"25\"\r\n heading=\"Suggested Events\"\r\n></app-create-itinerary-header>\r\n<lib-map\r\n #libMap\r\n [markers]=\"mapMarkerModel\"\r\n class=\"maps-100vh\"\r\n></lib-map>\r\n<lib-bottom-modal\r\n submitButtonTitle=\"Continue\"\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n (submitModal)=\"navToNextPage()\"\r\n>\r\n <div class=\"flex items-center justify-center pt-0 p-5 pb-0\">\r\n <div class=\"flex items-center w-full\">\r\n <div class=\"main-itini-preview w-full\">\r\n <section class=\"mt-3 w-full\">\r\n <div class=\"tracking-widest rounded-t-3xl\">\r\n <div class=\"tracking-bottom-com\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>2 {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n {{ itineary?.startLocation?.address }}\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['enLocation']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n {{ itineary?.endLocation?.address }}\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Destination\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n </div>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router'; \r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-suggested-events-route-radius',\r\n templateUrl: './suggested-events-route-radius.component.html',\r\n styleUrl: './suggested-events-route-radius.component.css',\r\n})\r\nexport class SuggestedEventsRouteRadiusComponent implements OnInit {\r\n isOpen: boolean = true;\r\n ICONS: Iicon = ICONS;\r\n itinerary: IItinerary | undefined;\r\n\r\n //LIFE CYCLE\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private route: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const id = this.route.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next:(res:IItinerary)=>{\r\n this.itinerary = res;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //UI LOGIC\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n //NAVIGATIONS\r\n navToNextPage() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.SELECT_ITINERARY_EVENTS,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"35\"\r\n heading=\"Suggested Events\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n submitButtonTitle=\"Continue\"\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n (submitModal)=\"navToNextPage()\"\r\n>\r\n <span class=\"text-center block\"> Route radius </span>\r\n <div class=\"flex justify-between mt-5 ml-4 mr-5\">\r\n <p class=\"text-white\">Time from direct router</p>\r\n <p class=\"text-white\">1 minute</p>\r\n </div>\r\n\r\n <div class=\"mt-2\">\r\n <lib-range-selector></lib-range-selector>\r\n </div>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SelectOption } from '@naniteninja/ionic-lib'; \r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-suggested-events-route-type',\r\n templateUrl: './suggested-events-route-type.component.html',\r\n styleUrl: './suggested-events-route-type.component.css',\r\n})\r\nexport class SuggestedEventsRouteTypeComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n isOpen: boolean = true;\r\n itineary: IItinerary | undefined;\r\n\r\n recommendedRouteTypes: SelectOption<string>[][] = [\r\n [{ label: 'City scenic', value: 'city-scenic' }],\r\n [{ label: 'Nature scenic', value: 'nature-scenic' }],\r\n ];\r\n\r\n moreRouteTypes: SelectOption<string>[][] = [\r\n [{ label: 'Containes historic places', value: 'contains-historic-places' }],\r\n [{ label: 'Avoid traffic', value: 'avoid-traffic' }],\r\n [\r\n {\r\n label: 'Route Modifier Placeholder',\r\n value: 'route-modifier-placeholder',\r\n },\r\n ],\r\n ];\r\n\r\n //LIFE CYCLE\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private route: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const id = this.route.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe({\r\n next:(res:IItinerary)=>{\r\n this.itineary = res;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //UI LOGIC\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n //NAVIGATIONS\r\n navToNextPage() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.SUGGESTED_EVENTS_ROUTE_RADIUS,\r\n this.itineary?._id,\r\n ]);\r\n }\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"30\"\r\n heading=\"Suggested Events\"\r\n></app-create-itinerary-header>\r\n<lib-map class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n submitButtonTitle=\"Continue\"\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n (submitModal)=\"navToNextPage()\"\r\n>\r\n <div class=\"flex items-center justify-center\">\r\n <div class=\"flex items-center w-full\">\r\n <div class=\"main-itini-preview w-full pt-0 p-5 pb-0\">\r\n <section class=\"mt-3 w-full\">\r\n <div class=\"tracking-widest rounded-t-3xl\">\r\n <p class=\"w-full flex justify-center text-sm text-white mb-5\">\r\n Route type\r\n </p>\r\n <div class=\"flex gap-[10px]\">\r\n @for (option of recommendedRouteTypes; track $index) {\r\n <lib-selectable [options]=\"option\"></lib-selectable>\r\n }\r\n </div>\r\n <div class=\"border-t border-gray-700 mt-4 mb-3\"></div>\r\n <p class=\"text-white text-[13px] mb-[8.54px]\">More</p>\r\n\r\n <div class=\"flex gap-[10px] flex-wrap\">\r\n @for (option of moreRouteTypes; track $index) {\r\n <lib-selectable [options]=\"option\"></lib-selectable>\r\n }\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n </div>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","export enum CommentRequestEndpoints {\r\n addComment = 'addComment',\r\n editComment = 'editComment',\r\n deleteComment = 'deleteComment',\r\n getCountByItineraryId = 'getCountByItineraryId',\r\n allCommentsByItineraryId = 'allCommentsByItineraryId',\r\n repliesByParentCommentId = 'repliesByParentCommentId',\r\n getByCommentId = 'getByCommentId',\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Socket, io } from 'socket.io-client';\r\nimport { environment } from '../../../environments/environment';\r\nimport { GatewayRequestEndpoint } from '../_enums/endpoints/gateway-request-enpoints.enum';\r\nimport { IGatewayRequest } from '../_interface/i-gateway-request.interface';\r\nimport { IGatewayResponse } from '../_interface/i-gateway-response.interface';\r\nimport { CreateCommentDto, UpdateCommentDto } from '../_dtos/comment.dto';\r\nimport { IComment } from '../_models/i-comment';\r\nimport { CommentRequestEndpoints } from '../_enums/endpoints/comment-request-endpoint.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommentService {\r\nprivate socket: Socket;\r\n private readonly namespace = 'comments';\r\n\r\n constructor() {\r\n this.socket = io(environment.socketUrl);\r\n }\r\n\r\n private sendRequest<Req, Res>(\r\n req: IGatewayRequest<Req, any>\r\n ): Observable<Res> {\r\n return new Observable<Res>((observer) => {\r\n const handler = (res: IGatewayResponse<Res>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response);\r\n observer.complete();\r\n this.socket.off(GatewayRequestEndpoint.SocketResponse, handler);\r\n }\r\n };\r\n\r\n this.socket.on(GatewayRequestEndpoint.SocketResponse, handler);\r\n this.socket.emit(GatewayRequestEndpoint.SocketRequest, req);\r\n });\r\n }\r\n\r\n addComment(dto: CreateCommentDto): Observable<IComment> {\r\n const req: IGatewayRequest<CreateCommentDto, IComment> = {\r\n namespace: this.namespace,\r\n endpoint: CommentRequestEndpoints.addComment,\r\n payload: dto,\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n editComment(\r\n commentId: string,\r\n userId:string,\r\n dto: UpdateCommentDto\r\n ): Observable<IComment> {\r\n const req: IGatewayRequest<UpdateCommentDto, [string, string]> = {\r\n namespace: this.namespace,\r\n endpoint: CommentRequestEndpoints.editComment,\r\n payload: dto,\r\n parameters: [commentId, userId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n deleteComment(commentId: string): Observable<boolean> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: CommentRequestEndpoints.deleteComment,\r\n parameters: [commentId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n getCountByItineraryId(itineraryId: string): Observable<number> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: CommentRequestEndpoints.getCountByItineraryId,\r\n parameters: [itineraryId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n getByCommentId(commentId: string): Observable<IComment> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: CommentRequestEndpoints.getByCommentId,\r\n parameters: [commentId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n allCommentsByItineraryId(\r\n itineraryId: string\r\n ): Observable<IComment[]> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: CommentRequestEndpoints.allCommentsByItineraryId,\r\n parameters: [itineraryId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n repliesByParentCommentId(\r\n parentCommentId: string\r\n ): Observable<IComment[]> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: CommentRequestEndpoints.repliesByParentCommentId,\r\n parameters: [parentCommentId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n}\r\n","export enum VoteRequestEndpoint {\r\n GetCountByModelId = 'GetCountByModelId',\r\n GetCountByUserId = 'GetCountByUserId',\r\n UpVote = 'UpVote',\r\n DownVote = 'DownVote',\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { io, Socket } from 'socket.io-client';\r\nimport { environment } from '../../../environments/environment';\r\nimport { IVoteCountDTO, IUserVoteCountDTO } from '../_dtos/vote.dto';\r\nimport { GatewayRequestEndpoint } from '../_enums/endpoints/gateway-request-enpoints.enum';\r\nimport { IGatewayRequest } from '../_interface/i-gateway-request.interface';\r\nimport { IGatewayResponse } from '../_interface/i-gateway-response.interface';\r\nimport { VoteRequestEndpoint } from '../_enums/endpoints/vote-request-endpoint.enum';\r\nimport { IVote } from '../_models/i-vote.schema';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VoteService {\r\n private socket: Socket;\r\n private readonly namespace = 'votes';\r\n\r\n constructor() {\r\n this.socket = io(environment.socketUrl);\r\n }\r\n\r\n /** Internal helper to send/receive gateway messages */\r\n private sendRequest<Req, Res>(\r\n req: IGatewayRequest<Req, any>\r\n ): Observable<Res> {\r\n return new Observable<Res>((observer) => {\r\n const handler = (res: IGatewayResponse<Res>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response);\r\n observer.complete();\r\n this.socket.off(\r\n GatewayRequestEndpoint.SocketResponse,\r\n handler\r\n );\r\n }\r\n };\r\n\r\n this.socket.on(\r\n GatewayRequestEndpoint.SocketResponse,\r\n handler\r\n );\r\n this.socket.emit(\r\n GatewayRequestEndpoint.SocketRequest,\r\n req\r\n );\r\n });\r\n }\r\n\r\n /** Get votes (up/down/score) for a given model ID */\r\n getCountByModelId(\r\n modelId: string\r\n ): Observable<IVoteCountDTO> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint:\r\n VoteRequestEndpoint.GetCountByModelId,\r\n parameters: [modelId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest<null, IVoteCountDTO>(req);\r\n }\r\n\r\n /** Get vote summary (up/down/total) for a given user ID */\r\n getCountByUserId(\r\n userId: string\r\n ): Observable<IUserVoteCountDTO> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint:\r\n VoteRequestEndpoint.GetCountByUserId,\r\n parameters: [userId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest<null, IUserVoteCountDTO>(\r\n req\r\n );\r\n }\r\n\r\n /** Cast or toggle an up‑vote on a model */\r\n upVote(modelId: string, userId:string): Observable<IVote> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: VoteRequestEndpoint.UpVote,\r\n parameters: [modelId],\r\n userId: userId,\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest<null, IVote>(req);\r\n }\r\n\r\n /** Cast or toggle a down‑vote on a model */\r\n downVote(modelId: string, userId: string): Observable<IVote> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: VoteRequestEndpoint.DownVote,\r\n parameters: [modelId],\r\n blackboxRequest: true,\r\n userId: userId,\r\n };\r\n return this.sendRequest<null, IVote>(req);\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, Output, Type } from '@angular/core';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib';\r\nimport { Iicon } from '../../../../../../_interface/icon'; \r\nimport { ICONS } from '../../../../../../_constants/constants';\r\nimport { IComment } from '../../../../../../_models/i-comment';\r\nimport { Router } from '@angular/router';\r\nimport { AppService } from '../../../../../../_data/app-service.service';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { IUser } from '../../../../../../_models/app-user';\r\nimport { IVote } from '../../../../../../_models/i-vote.schema';\r\nimport { CommentImageService } from '../../../../../../_services/comment-image.service';\r\nimport { CommentImagesComponent } from '../../../../../../shared/comment/comment-images/comment-images.component';\r\nimport { IImage } from '../../../../../../_models/i-image';\r\n\r\n@Component({\r\n selector: 'app-comment-single',\r\n templateUrl: './comment-single.component.html',\r\n styleUrl: './comment-single.component.css'\r\n})\r\nexport class CommentSingleComponent {\r\n @Input() comment: IComment | undefined;\r\n @Input() index!: number;\r\n @Input() libMenuItem!: LibMenuItem[];\r\n ICONS: Iicon = ICONS;\r\n isOpen: boolean = false;\r\n user: IUser;\r\n imageComponent: Type<unknown> = CommentImagesComponent;\r\n @Output() upClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() downClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() menuClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private commentImageService: CommentImageService, \r\n appService: AppService\r\n ) {\r\n this.user = appService.user\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n //UI LOGIC\r\n asUser(value: IUser | string): IUser {\r\n return value as IUser;\r\n }\r\n\r\n asImage(value:IImage | string): IImage{\r\n return value as IImage;\r\n }\r\n\r\n handleMenueItemSelect(): void { }\r\n handleMenuItemChange(): void { }\r\n handleMenuClick(): void {\r\n this.menuClick.emit();\r\n }\r\n\r\n close = (): void => {\r\n this.isOpen = false;\r\n };\r\n\r\n showImage(images: string[], currentIndex: number): void {\r\n if (this.isOpen) {\r\n this.close();\r\n }\r\n\r\n setTimeout(() => {\r\n this.isOpen = true;\r\n this.commentImageService.image = images;\r\n this.commentImageService.index = currentIndex;\r\n this.cdr.detectChanges();\r\n }, 0);\r\n }\r\n\r\n getUpVotes(): IVote[] | undefined {\r\n return this.comment?.votes?.filter(x => x.vote === 'up');\r\n }\r\n\r\n getVoteUpIcon(): string {\r\n const vote = this.comment?.votes?.find(x => x.userId === this.user._id);\r\n return vote?.vote === 'up' ? ICONS['upvote'] : ICONS['downvote'];\r\n }\r\n\r\n getVoteDownIcon(): string {\r\n const vote = this.comment?.votes?.find(x => x.userId === this.user._id);\r\n return vote?.vote === 'down' ? ICONS['upvote'] : ICONS['downvote'];\r\n }\r\n\r\n isUpVote(): boolean {\r\n const vote = this.comment?.votes?.find(x => x.userId === this.user._id);\r\n return vote?.vote === 'up';\r\n }\r\n\r\n isDownVote(): boolean {\r\n const vote = this.comment?.votes?.find(x => x.userId === this.user._id);\r\n return vote?.vote === 'down';\r\n }\r\n\r\n //NAVGIATIONS\r\n onUpClick() {\r\n this.upClick.emit();\r\n }\r\n\r\n onDownClick() {\r\n this.downClick.emit();\r\n }\r\n\r\n RedirectToReplies() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.COMMENT_REPLIES,\r\n this.comment?._id\r\n ]);\r\n }\r\n}\r\n","<ng-container *ngIf=\"comment\">\r\n <div class=\"comment-card text-white p-4 rounded-xl w-full\">\r\n <div class=\"flex items-start justify-between\">\r\n <!-- Left Side: Profile & Details -->\r\n <div class=\"flex space-x-3\">\r\n <!-- Profile Image -->\r\n <img\r\n [src]=\"asUser(comment.user).pictureUrl ?? ICONS['user']\"\r\n alt=\"User\"\r\n class=\"w-10 h-10 rounded-full\"\r\n />\r\n\r\n <!-- Username & Timestamp -->\r\n <div>\r\n <h4 class=\"text-sm font-semibold\">\r\n {{ asUser(comment.user).name }} -\r\n {{ asUser(comment.user).createdAt | timeAgo }}\r\n {{ comment.updatedAt ? \"(Edited)\" : \"\" }}\r\n </h4>\r\n <p class=\"text-md text-gray-300\">{{ comment.comment }}</p>\r\n </div>\r\n </div>\r\n\r\n <lib-menu-btn\r\n (select)=\"handleMenueItemSelect()\"\r\n (click)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n [menuItems]=\"libMenuItem\"\r\n >\r\n <img [src]=\"ICONS['horizontalWhite']\" alt=\"\" />\r\n </lib-menu-btn>\r\n </div>\r\n\r\n <!-- Attachments Section (Visible Only If hasAttachment is True) -->\r\n <div\r\n *ngIf=\"comment.images?.length! > 0\"\r\n class=\"grid grid-cols-2 gap-2 mt-3\"\r\n >\r\n <ng-container *ngFor=\"let image of comment.images; let i = index\">\r\n <div class=\"relative\" *ngIf=\"i < 4\">\r\n <img\r\n [src]=\"asImage(image).value\"\r\n alt=\"Attachment\"\r\n class=\"w-full h-28 rounded-lg object-cover\"\r\n />\r\n <div\r\n *ngIf=\"i === 3 && comment.images\"\r\n class=\"absolute inset-0 bg-black bg-opacity-50 flex items-center justify-center text-white text-xl font-bold\"\r\n >\r\n +{{ i }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Voting & Actions -->\r\n <div class=\"flex items-center justify-between mt-3\">\r\n <!-- Upvote/Downvote -->\r\n <div class=\"flex flex-col items-center text-pink-500\">\r\n <img\r\n [src]=\"getVoteUpIcon()\"\r\n alt=\"Upvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"onUpClick()\"\r\n [ngStyle]=\"{\r\n transform: !isUpVote() ? 'rotate(180deg)' : 'rotate(0deg)',\r\n transition: 'transform 0.3s ease',\r\n }\"\r\n />\r\n <span class=\"text-xs font-semibold text-pink-500\">{{\r\n getUpVotes()?.length ?? 0 | votes\r\n }}</span>\r\n <img\r\n [src]=\"getVoteDownIcon()\"\r\n alt=\"Downvote\"\r\n class=\"cursor-pointer\"\r\n (click)=\"onDownClick()\"\r\n [ngStyle]=\"{\r\n transform: isDownVote() ? 'rotate(180deg)' : 'rotate(0deg)',\r\n transition: 'transform 0.3s ease',\r\n }\"\r\n />\r\n </div>\r\n\r\n <!-- Reply & Feature Comment -->\r\n <div class=\"flex space-x-4 text-gray-400 text-sm\">\r\n <button class=\"flex items-center space-x-1 hover:text-white\">\r\n <img [src]=\"ICONS['comment2']\" alt=\"Reply\" />\r\n <span>Reply</span>\r\n </button>\r\n <button class=\"flex items-center space-x-1 hover:text-white\">\r\n <ng-container *ngIf=\"comment.isFeatured; else notFeatured\">\r\n <img [src]=\"ICONS['removeFeature']\" alt=\"Feature\" />\r\n <span>Featured</span>\r\n </ng-container>\r\n <ng-template #notFeatured>\r\n <img [src]=\"ICONS['addFeature']\" alt=\"Feature\" />\r\n <span>Feature Comment</span>\r\n </ng-template>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Separator Line -->\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n </div>\r\n</ng-container>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { EmojiPickerConfig, IText, LibMenuItem, ToastrDescription, ToastrSeverity, ToastrStackConfig } from '@naniteninja/ionic-lib';\r\nimport { ModalService } from '../../../../_services/modal.service';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { FormControl } from '@angular/forms';\r\nimport { IComment } from '../../../../_models/i-comment';\r\nimport { IUser } from '../../../../_models/app-user';\r\nimport { CommentService } from '../../../../_data/comment.service';\r\nimport { AppService } from '../../../../_data/app-service.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { forkJoin, Subject } from 'rxjs';\r\nimport { CreateCommentDto, UpdateCommentDto } from '../../../../_dtos/comment.dto';\r\nimport { IVote } from '../../../../_models/i-vote.schema';\r\nimport { VoteService } from '../../../../_data/vote.service'; \r\n\r\n@Component({\r\n selector: 'app-comment-replies',\r\n templateUrl: './comment-replies.component.html',\r\n styleUrl: './comment-replies.component.css',\r\n})\r\nexport class CommentRepliesComponent implements OnInit {\r\n ICONS = ICONS;\r\n emojiPickerConfig!: EmojiPickerConfig;\r\n text: FormControl = new FormControl<IText | null>(null);\r\n replies: IComment[] = [];\r\n user: IUser;\r\n loading: boolean = false;\r\n comment!: IComment | null;\r\n selectedCommentId: string = '';\r\n parentLibItems: LibMenuItem[] = [];\r\n commentLibItems: LibMenuItem[] = [];\r\n commentUpdate: boolean = false;\r\n config$: Subject<ToastrStackConfig> = new Subject<ToastrStackConfig>();\r\n\r\n constructor(\r\n private location: Location,\r\n public modalService: ModalService,\r\n private commentService: CommentService,\r\n private activatedRoute: ActivatedRoute,\r\n private cdr: ChangeDetectorRef,\r\n private voteService: VoteService,\r\n appService: AppService\r\n ) {\r\n this.user = appService.user;\r\n this.emojiPickerConfig = { pickerIcon: ICONS['pickerIcon'] };\r\n }\r\n\r\n ngOnInit(): void {\r\n const id = this.activatedRoute.snapshot.params['id'];\r\n\r\n if (id) {\r\n this.loading = true;\r\n forkJoin({\r\n comment: this.commentService.getByCommentId(id),\r\n replies: this.commentService.repliesByParentCommentId(id)\r\n }).subscribe({\r\n next: (res: { comment: IComment, replies: IComment[] }) => {\r\n this.replies = res.replies;\r\n this.comment = res.comment;\r\n console.log(res.comment)\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n this.parentLibItems = [\r\n {\r\n title: 'REMOVE_FEATURE',\r\n iconUrl: ICONS['removeFeature'],\r\n command: () => this.removeFeature()\r\n },\r\n {\r\n title: 'DELETE_COMMENT',\r\n iconUrl: ICONS['deleteCross'],\r\n command: () => this.deleteComment()\r\n },\r\n {\r\n title: 'REPORT',\r\n iconUrl: ICONS['report'],\r\n command: () => this.openReportModal()\r\n },\r\n ];\r\n\r\n this.commentLibItems = [\r\n {\r\n title: 'EDIT_COMMENT',\r\n iconUrl: ICONS['edit'],\r\n command: () => this.updateComment()\r\n },\r\n {\r\n title: 'REMOVE_FEATURE',\r\n iconUrl: ICONS['removeFeature'],\r\n command: () => this.removeFeature()\r\n },\r\n {\r\n title: 'DELETE_COMMENT',\r\n iconUrl: ICONS['deleteCross'],\r\n command: () => this.deleteComment()\r\n },\r\n {\r\n title: 'REPORT',\r\n iconUrl: ICONS['report'],\r\n command: () => this.openReportModal()\r\n },\r\n ]\r\n\r\n }\r\n\r\n //UI LOGIC\r\n updateId(id: string): void {\r\n this.selectedCommentId = id;\r\n }\r\n\r\n addComment(): void {\r\n if (this.comment) {\r\n if (this.selectedCommentId && this.commentUpdate) {\r\n const updatecommentDto: UpdateCommentDto = {\r\n comment: this.text.value.message,\r\n images: this.text.value.attachments\r\n }\r\n\r\n this.commentService.editComment(this.selectedCommentId, this.user._id, updatecommentDto).subscribe({\r\n next: (res: IComment) => {\r\n if (res) {\r\n const index = this.replies.findIndex(z => z._id === this.selectedCommentId);\r\n if (index != -1) {\r\n this.replies[index] = res;\r\n this.config$.next({\r\n token: 'token',\r\n title: 'Comment Updated',\r\n description: {\r\n content:\r\n 'Your featured comment will update after being approved by the author.',\r\n type: ToastrDescription.STRING,\r\n },\r\n severity: ToastrSeverity.SUCCESS,\r\n });\r\n }\r\n }\r\n },\r\n complete: () => {\r\n this.replies = [...this.replies];\r\n this.text.reset();\r\n this.cdr.detectChanges();\r\n },\r\n });\r\n }\r\n else {\r\n const comment: CreateCommentDto = {\r\n itinerary: this.comment.itinerary as string,\r\n user: this.user._id,\r\n comment: this.text.value.message!,\r\n images: this.text.value.attachments\r\n };\r\n \r\n this.commentService.addComment(comment).subscribe({\r\n next: (res: IComment) => {\r\n if (res) {\r\n this.replies.unshift(res);\r\n }\r\n },\r\n complete: () => {\r\n this.text.reset();\r\n this.cdr.detectChanges();\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n voteUp(id: string): void {\r\n this.voteService.upVote(id, this.user._id).subscribe({\r\n next: (_res: IVote) => {\r\n const comment = this.replies.find(x => x._id === id) ?? this.comment;\r\n if (comment) {\r\n const voteIndex = comment.votes.findIndex(x => x.userId === this.user._id);\r\n if (voteIndex !== -1 && _res) {\r\n comment.votes[voteIndex] = _res;\r\n }\r\n else if (voteIndex !== -1 && !_res) {\r\n comment.votes.splice(voteIndex, 1);\r\n }\r\n else {\r\n comment.votes.push(_res);\r\n }\r\n }\r\n },\r\n complete: () => {\r\n this.replies = [...this.replies];\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n\r\n voteDown(id: string): void {\r\n this.voteService.downVote(id, this.user._id).subscribe({\r\n next: (_res: IVote) => {\r\n const comment = this.replies.find(x => x._id === id) ?? this.comment;\r\n if (comment) {\r\n const voteIndex = comment.votes.findIndex(x => x.userId === this.user._id);\r\n if (voteIndex !== -1 && _res) {\r\n comment.votes[voteIndex] = _res;\r\n }\r\n else if (voteIndex !== -1 && !_res) {\r\n comment.votes.splice(voteIndex, 1);\r\n }\r\n else {\r\n comment.votes.push(_res);\r\n }\r\n }\r\n },\r\n complete: () => {\r\n this.cdr.detectChanges()\r\n }\r\n })\r\n }\r\n\r\n deleteComment(): void {\r\n if (!this.selectedCommentId) return;\r\n\r\n this.commentService.deleteComment(this.selectedCommentId).subscribe({\r\n next: (res: boolean) => {\r\n if (res) {\r\n const idx = this.replies.findIndex((x) => x._id === this.selectedCommentId);\r\n if (idx != -1) {\r\n this.replies.splice(idx, 1);\r\n }\r\n else if (this.comment) {\r\n this.back();\r\n }\r\n }\r\n this.selectedCommentId = '';\r\n },\r\n complete: () => {\r\n this.replies = [...this.replies];\r\n this.cdr.detectChanges();\r\n },\r\n });\r\n }\r\n\r\n openReportModal(): void {\r\n this.modalService.toggleModal = !this.modalService.toggleModal;\r\n }\r\n\r\n reportComment(): void { }\r\n\r\n removeFeature(): void { }\r\n\r\n\r\n updateComment(): void { \r\n if (!this.selectedCommentId) return;\r\n\r\n const comment = this.replies.find(x => x._id === this.selectedCommentId);\r\n if (comment) {\r\n this.commentUpdate = true;\r\n this.text.patchValue({\r\n message: comment.comment,\r\n attachments: comment.images?.map(x => x.value)\r\n });\r\n }\r\n }\r\n\r\n //NAVIGATIONS\r\n back() {\r\n this.location.back();\r\n }\r\n}\r\n","@if (loading) {\r\n <div class=\"h-[100vh] w-full flex items-center justify-center\">\r\n <p>Loading...</p>\r\n </div>\r\n} @else {\r\n <div>\r\n <div class=\"ps-5 pe-5\">\r\n <app-header heading=\"Replies\" (firstButton)=\"back()\"></app-header>\r\n\r\n <app-comment-single\r\n [comment]=\"comment!\"\r\n (upClick)=\"voteUp(comment?._id!)\"\r\n (downClick)=\"voteDown(comment?._id!)\"\r\n [libMenuItem]=\"parentLibItems\"\r\n (menuClick)=\"updateId(comment?._id!)\"\r\n ></app-comment-single>\r\n\r\n <div class=\"flex w-full items-center px-2\">\r\n <lib-text-box\r\n class=\"flex-1 w-full\"\r\n [formControl]=\"text\"\r\n [includeImageAttachment]=\"true\"\r\n >\r\n </lib-text-box>\r\n\r\n <button (click)=\"addComment()\" class=\"ml-1 ms-2\">\r\n <img [src]=\"ICONS['submit']\" class=\"w-10 h-10\" />\r\n </button>\r\n </div>\r\n <div class=\"grid w-full items-center px-5\">\r\n @if (!loading && replies.length === 0) {\r\n <div class=\"h-[30vh] w-full flex items-center justify-center\">\r\n <p>No replies found.</p>\r\n </div>\r\n }\r\n\r\n <ng-container *ngFor=\"let c of replies; let i = index\">\r\n <app-comment-single\r\n [comment]=\"c\"\r\n [libMenuItem]=\"commentLibItems\"\r\n (upClick)=\"voteUp(c._id!)\"\r\n (downClick)=\"voteDown(c._id!)\"\r\n (menuClick)=\"updateId(c?._id!)\"\r\n ></app-comment-single>\r\n </ng-container>\r\n </div>\r\n\r\n <lib-popup\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [isOpen]=\"modalService.toggleModal\"\r\n >\r\n <app-report-itinerary-modal\r\n popupTitle=\"Report Comment\"\r\n ></app-report-itinerary-modal>\r\n </lib-popup>\r\n </div>\r\n </div>\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { FilterDataRequest, SelectOption } from '@naniteninja/ionic-lib';\r\nimport { Iicon } from '../../../../../_interface/icon';\r\nimport { ItinerariesRoutesEnum } from '../../../../../_enums/ItenariesRoutes.enum';\r\nimport { ICONS } from '../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-comment-search',\r\n templateUrl: './comment-search.component.html',\r\n styleUrls: ['./comment-search.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CommentSearchComponent implements OnInit {\r\n ICONS : Iicon = ICONS;\r\n searchTerm: string = '';\r\n filtersss: SelectOption<number>[] = [\r\n {\r\n label: 'Hello',\r\n value: 2,\r\n selected: true,\r\n },\r\n ];\r\n userFilterList: FilterDataRequest[] = [\r\n {\r\n name: 'Filter by Name Ascending',\r\n projectGridFilterId: '123',\r\n collectionName: 'Employees',\r\n userFilters: [\r\n {\r\n publicFieldName: 'Name',\r\n operatorType: 'Contains',\r\n values: ['John'],\r\n },\r\n ],\r\n sort: {\r\n field: 'Name',\r\n direction: 'Ascending',\r\n },\r\n order: 1,\r\n },\r\n {\r\n name: 'Filter by Department and Salary Descending',\r\n projectGridFilterId: '456',\r\n collectionName: 'Employees',\r\n userFilters: [\r\n {\r\n publicFieldName: 'Department',\r\n operatorType: 'Equals',\r\n values: ['IT'],\r\n },\r\n {\r\n publicFieldName: 'Salary',\r\n operatorType: 'GreaterThan',\r\n values: [50000],\r\n },\r\n ],\r\n sort: {\r\n field: 'Salary',\r\n direction: 'Descending',\r\n },\r\n order: 2,\r\n },\r\n ];\r\n\r\n visibleComments: SafeHtml[] = [];\r\n private comments: string[] = [\r\n \"I had a great experience out there. I would say it's perfect for a coffee lover.\",\r\n 'Loving the great ideas here, yet it’s time for me to step out.',\r\n 'It’s been a great exchange of ideas, but I’ve reached my limit—peace out!',\r\n 'Absolutely loved the vibe of this place! Can’t wait to visit again.',\r\n 'The discussions here are top-notch. Keep up the great work, everyone!',\r\n 'Such a refreshing perspective! This place never fails to inspire me.',\r\n \"I'm learning so much from everyone here—thank you all!\",\r\n 'This is exactly the kind of place I was looking for. So insightful!',\r\n 'Had an amazing time here, but I need to wrap up for now. Until next time!',\r\n 'Great energy and discussions! Looking forward to more in the future.',\r\n ];\r\n\r\n constructor(\r\n private sanitizer: DomSanitizer,\r\n private location: Location,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.visibleComments = this.comments.map((comment) =>\r\n this.sanitizer.bypassSecurityTrustHtml(comment),\r\n );\r\n }\r\n\r\n search(e: string): void {\r\n this.searchTerm = e.toLowerCase().trim();\r\n\r\n if (!this.searchTerm) {\r\n this.visibleComments = this.comments.map((comment) =>\r\n this.sanitizer.bypassSecurityTrustHtml(comment),\r\n );\r\n return;\r\n }\r\n\r\n const words = this.searchTerm.split(/\\s+/).filter(Boolean);\r\n\r\n const filteredComments = this.comments.filter((comment) =>\r\n words.every((word) => comment.toLowerCase().includes(word)),\r\n );\r\n\r\n const combinedRegex = new RegExp(\r\n `(${words.map((word) => this.escapeRegExp(word)).join('|')})`,\r\n 'gi',\r\n );\r\n\r\n this.visibleComments = filteredComments.map((comment) => {\r\n const highlightedText = comment.replace(\r\n combinedRegex,\r\n `<span class=\"highlight\">$1</span>`,\r\n );\r\n return this.sanitizer.bypassSecurityTrustHtml(highlightedText);\r\n });\r\n }\r\n\r\n private escapeRegExp(text: string): string {\r\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\r\n }\r\n\r\n viewReplies(_comment: any) {\r\n this.router.navigate([ItinerariesRoutesEnum.ITINERARY, ItinerariesRoutesEnum.COMMENT_REPLIES])\r\n }\r\n //NAVIGATIONS\r\n navToBack = () => this.location.back();\r\n}\r\n","<div class=\"ps-5 pe-5\">\r\n <app-header [heading]=\"'Comment Search'\" (firstButton)=\"navToBack()\"></app-header>\r\n <p class=\"mt-2 mb-3\">\r\n Create and apply custom advance filters or select popular preset advance\r\n filters.\r\n </p>\r\n\r\n <lib-filter-bar [filters]=\"filtersss\" [savedFilters]=\"filtersss\" [userFiltersList]=\"userFilterList\"\r\n [standardFilters]=\"filtersss\" [showAllFilters]=\"true\" \r\n [activeFilter]=\"userFilterList[0]\"></lib-filter-bar>\r\n\r\n <div class=\"mt-5 ml-2\" *ngFor=\"let c of visibleComments\" (click)=\"viewReplies(c)\">\r\n <img class=\"w-100 mb-2\" [src]=\"ICONS['divider']\" alt=\"divider\" />\r\n <span [innerHtml]=\"c\"></span>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core'; \r\nimport { ICommentsData } from '../../../../../_interface/commentsdata';\r\nimport { Iicon } from '../../../../../_interface/icon';\r\nimport { ApiService } from '../../../../../_services/api.service';\r\nimport { ICONS } from '../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-comment-comparison',\r\n templateUrl: './comment-comparison.component.html',\r\n styleUrl: './comment-comparison.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CommentComparisonComponent implements OnInit {\r\n @Input() isDraft!: boolean;\r\n cardData: ICommentsData[] | undefined;\r\n processedCardData: ICommentsData | undefined;\r\n ICONS: Iicon = ICONS;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private cdr: ChangeDetectorRef,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.getCommentsData();\r\n }\r\n\r\n private InvalidDataCheck(data: string | number | null | undefined): boolean {\r\n return (\r\n data?.toString().length == 0 ||\r\n data == null ||\r\n data == undefined ||\r\n data == '0' ||\r\n data == 0 ||\r\n data == '-'\r\n );\r\n }\r\n\r\n private processCardData(data: ICommentsData): ICommentsData {\r\n return {\r\n ...data,\r\n upVotes: this.InvalidDataCheck(data.upVotes) ? 0 : data.upVotes,\r\n title: this.InvalidDataCheck(data.title)\r\n ? 'Untitled Itinerary'\r\n : data.title,\r\n userName: this.InvalidDataCheck(data.userName) ? 'You' : data.userName,\r\n timeAgo: this.InvalidDataCheck(data.timeAgo) ? '' : data.timeAgo,\r\n\r\n views: this.InvalidDataCheck(data.views) ? 0 : data.views,\r\n commentText: this.InvalidDataCheck(data.commentText)\r\n ? ''\r\n : data.commentText,\r\n\r\n userimageSrc: this.InvalidDataCheck(data.userimageSrc)\r\n ? ICONS['notSpecified']\r\n : data.userimageSrc,\r\n };\r\n }\r\n\r\n getCommentsData() {\r\n this.apiService.get('/assets/commentsData.json').subscribe((data) => {\r\n this.cardData = data as ICommentsData[];\r\n this.processedCardData = this.cardData?.[0]\r\n ? this.processCardData(this.cardData[0])\r\n : undefined;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n approve() { \r\n }\r\n disapprove() { \r\n } \r\n handleMenueItemSelect(): void {}\r\n handleMenuItemChange(): void {}\r\n handleMenuClick(): void {}\r\n}\r\n","<div class=\"text-white p-4 rounded-xl\">\r\n <div class=\"flex items-start justify-between\">\r\n <div class=\"flex space-x-3\">\r\n <img [src]=\"ICONS['user']\" alt=\"User\" class=\"comment-user rounded-full\" />\r\n\r\n <div>\r\n <p class=\"text-xs\">Jonathan updated their comment from</p>\r\n <span class=\"text-xs text-gray-300\">\r\n {{ processedCardData?.commentText }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"processedCardData?.hasAttachments\"\r\n class=\"grid grid-cols-2 gap-2 mt-3\"\r\n >\r\n <ng-container\r\n *ngFor=\"let image of processedCardData?.attachments; let i = index\"\r\n >\r\n <div class=\"relative\" *ngIf=\"i < 4\">\r\n <img\r\n [src]=\"image\"\r\n alt=\"Attachment\"\r\n class=\"w-full h-28 rounded-lg object-cover\"\r\n />\r\n <div\r\n *ngIf=\"i === 3 && processedCardData?.attachments\"\r\n class=\"absolute inset-0 bg-black bg-opacity-50 flex items-center justify-center text-white text-xl font-bold\"\r\n >\r\n +{{ i }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-2 mb-5\"></div>\r\n\r\n <p class=\"text-xs\">To</p>\r\n\r\n <div class=\"flex items-start justify-between\">\r\n <div class=\"flex space-x-3\">\r\n <div>\r\n <span class=\"text-xs text-gray-300\">\r\n I would like to change my statements here, that place was shit.\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"processedCardData?.hasAttachments\"\r\n class=\"grid grid-cols-2 gap-2 mt-3\"\r\n >\r\n <ng-container\r\n *ngFor=\"let image of processedCardData?.attachments; let i = index\"\r\n >\r\n <div class=\"relative\" *ngIf=\"i < 4\">\r\n <img\r\n [src]=\"image\"\r\n alt=\"Attachment\"\r\n class=\"w-full h-28 rounded-lg object-cover\"\r\n />\r\n <div\r\n *ngIf=\"i === 3 && processedCardData?.attachments\"\r\n class=\"absolute inset-0 bg-black bg-opacity-50 flex items-center justify-center text-white text-xl font-bold\"\r\n >\r\n +{{ i }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mt-5 flex gap-4\">\r\n <lib-primary-btn\r\n class=\"w-1/2\"\r\n [disableTextShadow]=\"true\"\r\n (click)=\"disapprove()\"\r\n >Disapprove</lib-primary-btn\r\n >\r\n <lib-primary-btn class=\"w-1/2\" [hoverOutline]=\"true\" (click)=\"approve()\"\r\n >Approve</lib-primary-btn\r\n >\r\n </div>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-handle-update-comment-request',\r\n templateUrl: './handle-update-comment-request.component.html',\r\n styleUrl: './handle-update-comment-request.component.scss',\r\n})\r\nexport class HandleUpdateCommentRequestComponent {\r\n constructor(private _location: Location) {}\r\n backButton(): void {\r\n this._location.back();\r\n }\r\n}\r\n","<div class=\"relative min-h-screen\">\r\n <div class=\"z-auto\">\r\n <div class=\"pb-10\">\r\n <app-header heading=\"Comments\" (firstButton)=\"backButton()\"></app-header>\r\n <app-comment-comparison></app-comment-comparison>\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib';\r\nimport { CustomDropdownMenuService } from '../../../../_services/custom-dropdown-menu.service';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ModalService } from '../../../../_services/modal.service';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { ItineraryService } from '../../../../_services/itinerary.service';\r\nimport { IItinerary } from '../../../../_models/i-Itinerary';\r\nimport { IItineraryStatsDto } from '../../../../_dtos/i-Itinerary-stats.dto';\r\nimport { IUser } from '../../../../_models/app-user';\r\nimport { AppService } from '../../../../_data/app-service.service';\r\nimport { SharePopupDataService } from '../../../../_services/share-popup-data';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-explore',\r\n templateUrl: './explore.component.html',\r\n styleUrl: './explore.component.scss',\r\n})\r\nexport class ExploreComponent implements OnInit {\r\n libMenuItem: LibMenuItem[] = []; \r\n ICONS: Iicon = ICONS;\r\n itineraries: IItineraryStatsDto[] = [];\r\n user: IUser;\r\n currentItinerary!: IItinerary;\r\n\r\n constructor(\r\n public customMenuList: CustomDropdownMenuService,\r\n private router: Router,\r\n public modalService: ModalService,\r\n private itineraryService: ItineraryService,\r\n private cdr: ChangeDetectorRef,\r\n private sharePopupDataService: SharePopupDataService,\r\n appService: AppService,\r\n ) { this.user = appService.user }\r\n\r\n ngOnInit(): void {\r\n this.itineraryService.getAll().subscribe({\r\n next: (itineraries: IItineraryStatsDto[]) => {\r\n this.itineraries = [...itineraries];\r\n },\r\n error: (error) => {\r\n console.error('Error fetching itineraries:', error);\r\n },\r\n complete: () => {\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n this.libMenuItem = this.customMenuList.getMenuList('itineraries');\r\n }\r\n\r\n //UI LOGIC\r\n handleSearchStringChange(_$event: string) { }\r\n\r\n //NAVIGATIONS\r\n clear(): void { }\r\n navToCommentSearch() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.COMMENT_SEARCH,\r\n ]);\r\n }\r\n\r\n navigateToDetail(_itinerary: IItinerary): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n ]);\r\n }\r\n\r\n navToBranchItinerary(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.BRANCHED_ITINERARIES,\r\n ]);\r\n }\r\n \r\n navToComments(id: string): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.COMMENTS_ROUTE,\r\n id\r\n ]);\r\n }\r\n\r\n navToStories(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.STORIES,\r\n ]);\r\n }\r\n\r\n navToNotifications(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_WATCHING_USERS,\r\n ]);\r\n }\r\n\r\n menuClicked(item: IItineraryStatsDto) {\r\n this.currentItinerary = item.itinerary;\r\n this.sharePopupDataService.setPopupData(item.itinerary);\r\n }\r\n}\r\n","<div class=\"z-auto mt-4\">\r\n <div class=\"block md:hidden\">\r\n <lib-search-bar\r\n class=\"search-field\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\"\r\n (cleared)=\"clear()\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\"\r\n [placeholderText]=\"'NG_GRID.searchOoo' | translate\"\r\n >\r\n </lib-search-bar>\r\n <app-filter-menu (onFilterClick)=\"navToCommentSearch()\"></app-filter-menu>\r\n </div>\r\n <div class=\"pb-10\">\r\n <div\r\n class=\"grid-columns sm:mt-3 md:mt-10 grid grid-cols-1 md:grid-cols-3 sm:gap-y-5 md:gap-y-10 gap-x-10\"\r\n >\r\n <ng-container *ngFor=\"let item of itineraries; let i = index\">\r\n <app-cutom-card\r\n [libMenuItem]=\"libMenuItem\"\r\n [itineraryStats]=\"item\"\r\n [isDraft]=\"false\"\r\n [itineraryStarted]=\"true\"\r\n (TitleClicked)=\"navigateToDetail(item.itinerary)\"\r\n (forkClicked)=\"navToBranchItinerary()\"\r\n (messageClicked)=\"navToComments(item.itinerary._id!)\"\r\n (imageClicked)=\"navToStories()\"\r\n (eyeClicked)=\"navToNotifications()\"\r\n (menuClicked)=\"menuClicked(item)\"\r\n ></app-cutom-card>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- <lib-popup [isOpen]=\"modalSendToClientService.toggleModal\">\r\n <lib-send-to-client></lib-send-to-client>\r\n</lib-popup> -->\r\n<lib-toast></lib-toast>","import { CustomDropdownMenuService } from '../../../../_services/custom-dropdown-menu.service';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib';\r\nimport { IItinerary } from '../../../../_models/i-Itinerary';\r\nimport { IItineraryStatsDto } from '../../../../_dtos/i-Itinerary-stats.dto';\r\n// import { ItineraryService } from '../../../../_services/itinerary.service';\r\n \r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-favorites',\r\n templateUrl: './favorites.component.html',\r\n styleUrl: './favorites.component.scss',\r\n})\r\nexport class FavoritesComponent implements OnInit {\r\n libMenuItem: LibMenuItem[] = [];\r\n cardList: number[] = [];\r\n ICONS: Iicon = ICONS;\r\n libMenuItems: IItinerary[] = [];\r\n loading: boolean = true;\r\n\r\n ngOnInit(): void {\r\n // this.itineraryService.getAllItinararies().subscribe((data:any) => {\r\n // this.loading = false;\r\n // this.libMenuItems = data;\r\n // this.libMenuItem = this.customMenuList.getMenuList('favourite');\r\n // this.cd.detectChanges();\r\n // });\r\n }\r\n\r\n menuClicked(item: IItineraryStatsDto) {\r\n console.log(\"Item\", item);\r\n }\r\n\r\n constructor(\r\n public customMenuList: CustomDropdownMenuService,\r\n // private itineraryService: ItineraryService,\r\n // private cd: ChangeDetectorRef\r\n ) { }\r\n\r\n goFav(): void {\r\n this.cardList.push(1); \r\n } \r\n}\r\n","<div *ngIf=\"!loading && libMenuItems.length == 0\" class=\"favourite-main-section\">\r\n <div class=\"favourite-sub-section\">\r\n <div>\r\n <img [ngSrc]=\"ICONS['map']\" height=\"120\" width=\"120\" />\r\n </div>\r\n <h3 class=\"mt-4\">{{ \"FAVORITES.NO_ITINERARIES_YET\" | translate }}</h3>\r\n <p class=\"mt-3\">{{ \"FAVORITES.NO_ITINERARIES_FAVORITE\" | translate }}</p>\r\n\r\n <lib-primary-btn class=\"btn-style mt-7\">{{\r\n \"FAVORITES.EXPLORE_ITINERARIES\" | translate\r\n }}</lib-primary-btn>\r\n <lib-primary-btn (click)=\"goFav()\" class=\"btn-style mt-3\">{{\r\n \"FAVORITES.CREATE_NOW\" | translate\r\n }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!loading && libMenuItems.length > 0\" class=\"mt-5\">\r\n <div class=\"pb-10 w-full\">\r\n <div\r\n class=\"grid-columns sm:mt-3 md:mt-10 grid grid-cols-1 md:grid-cols-3 sm:gap-y-5 md:gap-y-10 gap-x-10\"\r\n >\r\n <ng-container *ngFor=\"let item of libMenuItems; let i = index\">\r\n <app-cutom-card\r\n [libMenuItem]=\"libMenuItem\"\r\n [cardData]=\"item\"\r\n [isDraft]=\"false\"\r\n [itineraryStarted]=\"true\"\r\n (menuClicked)=\"menuClicked($event)\"\r\n ></app-cutom-card>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { SelectOption } from '@naniteninja/ionic-lib'; \r\nimport { Iicon } from '../../../../_interface/icon'; \r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-itinerary-author-history',\r\n templateUrl: './itinerary-author-history.component.html',\r\n styleUrl: './itinerary-author-history.component.css'\r\n})\r\nexport class ItineraryAuthorHistoryComponent {\r\n ICONS: Iicon = ICONS;\r\n constructor(\r\n private location: Location\r\n ) { }\r\n passions: SelectOption<string>[] = [\r\n {\r\n value: 'Viyasa',\r\n label: 'Viyasa',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Skincare',\r\n label: 'Skincare',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Baking',\r\n label: 'Baking',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Hiking',\r\n label: 'Hiking',\r\n selected: true,\r\n disabled: true,\r\n }\r\n ];\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n}\r\n","<div class=\"px-4\">\r\n <app-header heading=\"History\" (firstButton)=\"back()\"></app-header>\r\n\r\n</div>\r\n<div class=\"my-6 mx-8 flex flex-col justify-between\">\r\n <div class=\"flex items-center gap-3 mb-1\">\r\n <img height=\"15\" width=\"15\" [src]=\"ICONS['user']\" alt=\"\" />\r\n <p class=\"text-white normal-text-lg\">Jonathan</p>\r\n <p class=\"last-seen normal-text-sm\">\r\n 11 {{ \"DATE_TIME.HOURS\" | translate }}\r\n {{ \"DATE_TIME.AGO\" | translate }}\r\n </p>\r\n </div>\r\n <div class=\"normal-text-md color-[#939195] mb-3\">\r\n <span class=\"normal-text-gray me-1\">Added New</span> <span class=\"text-pink-600\">Itinerary Passions</span>\r\n </div>\r\n <lib-selectable [options]=\"passions\" [maxSelectionPossible]=\"0\"></lib-selectable>\r\n <div class=\"border-t border-gray-700 mt-3\"></div>\r\n <div class=\"mt-3\">\r\n <div class=\"flex items-center gap-3 mt-2\">\r\n <img height=\"10.67\" width=\"10.67\" [src]=\"ICONS['user']\" alt=\"\" />\r\n <p class=\"text-white normal-text-lg\">Jonathan</p>\r\n <p class=\"normal-text-sm normal-text-gray-2\">\r\n 11 {{ \"DATE_TIME.DAYS\" | translate }}\r\n {{ \"DATE_TIME.AGO\" | translate }}\r\n </p>\r\n </div>\r\n <div class=\"mt-2 normal-text-md\">\r\n <span class=\"normal-text-gray-2 me-1\">Added New</span>\r\n <span class=\"text-pink-600\">Location</span>\r\n </div>\r\n <div class=\"flex row gap-2 items-center mt-4\">\r\n <img height=\"10.67\" width=\"8.2\" [src]=\"ICONS['location']\" alt=\"\" />\r\n <p class=\"normal-text-md text-white\">London Bridge View Restaurant</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-3\"></div>\r\n <div class=\"mt-3\">\r\n <div class=\"flex items-center gap-3 mt-2\">\r\n <img height=\"10.67\" width=\"10.67\" [src]=\"ICONS['user']\" alt=\"\" />\r\n <p class=\"text-white normal-text-lg\">Jonathan</p>\r\n <p class=\"normal-text-sm normal-text-gray-2\">\r\n 11 {{ \"DATE_TIME.DAYS\" | translate }}\r\n {{ \"DATE_TIME.AGO\" | translate }}\r\n </p>\r\n </div>\r\n <div class=\"mt-2 normal-text-md\">\r\n <span class=\"normal-text-gray-2 me-1\">Changed</span>\r\n <span class=\"text-pink-600\">Itinerary Title</span>\r\n </div>\r\n <div class=\"mt-4 normal-text-md flex\">\r\n <div class=\"normal-text-gray-2 min-w-[26px] me-1\">From</div>\r\n <div class=\"text-pink-600\">Adventuretour</div>\r\n </div>\r\n <div class=\"mt-2 normal-text-md flex\">\r\n <div class=\"normal-text-gray-2 min-w-[26px] me-1\">To</div>\r\n <div class=\"text-pink-600\">Adventure Tour</div>\r\n </div>\r\n </div>\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n\r\n <div class=\"mt-3\">\r\n <div class=\"flex items-center gap-3 mt-2\">\r\n <img height=\"10.67\" width=\"10.67\" [src]=\"ICONS['user']\" alt=\"\" />\r\n <p class=\"text-white normal-text-lg\">Jonathan</p>\r\n <p class=\"normal-text-sm normal-text-gray-2\">\r\n 11 {{ \"DATE_TIME.DAYS\" | translate }}\r\n {{ \"DATE_TIME.AGO\" | translate }}\r\n </p>\r\n </div>\r\n <div class=\"mt-2 normal-text-md\">\r\n <span class=\"normal-text-gray-2 me-1\">Created using</span>\r\n <span class=\"text-pink-600\">Custom Itinerary</span>\r\n </div>\r\n </div>\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SelectOption } from '@naniteninja/ionic-lib'; \r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { UserRoutes } from '../../../../../../_enums/userRoutes.enum';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-details',\r\n templateUrl: './details.component.html',\r\n styleUrl: './details.component.css',\r\n})\r\nexport class DetailsComponent {\r\n ICONS = ICONS;\r\n imageLoaded: boolean = false;\r\n usersImageSrc = '/assets/images/users.png';\r\n passions: SelectOption<string>[] = [\r\n {\r\n value: 'Viyasa',\r\n label: 'Viyasa',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Skincare',\r\n label: 'Skincare',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Baking',\r\n label: 'Baking',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Hiking',\r\n label: 'Hiking',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Bicycle Racing',\r\n label: 'Bicycle Racing',\r\n selected: true,\r\n disabled: true,\r\n },\r\n ];\r\n\r\n constructor(private router: Router) { }\r\n\r\n onImageLoad(): void {\r\n this.imageLoaded = true;\r\n }\r\n\r\n handleUserStackTileClick(clickedOption:string): void {\r\n switch (clickedOption) {\r\n case 'upvotes':\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n ItinerariesRoutesEnum.ITINERARY_UPVOTE_USERS,\r\n ]);\r\n break;\r\n case 'members':\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n ItinerariesRoutesEnum.ITINERARY_USERS,\r\n ]);\r\n break;\r\n case 'watching':\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n ItinerariesRoutesEnum.ITINERARY_WATCHING_USERS,\r\n ]);\r\n break;\r\n }\r\n }\r\n\r\n //NAVIGATIONS\r\n navToBranch = (): Promise<boolean> =>\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.BRANCHED_ITINERARIES,\r\n ]);\r\n\r\n navToComments(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.COMMENTS_ROUTE,\r\n ]);\r\n }\r\n\r\n navigateToUpotes() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_WATCHING_USERS,\r\n \r\n ]);\r\n }\r\n\r\n navigateToAuthorHistory() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n ItinerariesRoutesEnum.ITINERARY_AUTHOR_HISTORY,\r\n ]);\r\n }\r\n\r\n navToUserProfile(): void {\r\n this.router.navigate([UserRoutes.profile]);\r\n }\r\n}\r\n","<div class=\"px-5 py-4 overflow-y-auto\">\r\n <h2 class=\"f-[13px]\">Created By</h2>\r\n\r\n <div class=\"my-5 flex justify-between\">\r\n <div class=\"flex items-center gap-2\" (click)=\"navToUserProfile()\">\r\n <img\r\n loading=\"lazy\"\r\n height=\"12\"\r\n width=\"12\"\r\n [src]=\"ICONS['userRedFilled']\"\r\n alt=\"\"\r\n class=\"mb-auto\"\r\n />\r\n <p class=\"user-name\">Jonathan</p>\r\n <p class=\"last-seen\">\r\n 11 {{ \"DATE_TIME.HOURS\" | translate }}\r\n {{ \"DATE_TIME.AGO\" | translate }}\r\n </p>\r\n </div>\r\n <div class=\"flex cursor-pointer\" (click)=\"navigateToAuthorHistory()\">\r\n <p class=\"history mr-1\">{{ \"ITINERARY_DETAIL.HISTORY\" | translate }}</p>\r\n <img loading=\"lazy\" height=\"5\" width=\"5\" [src]=\"ICONS['rightArrow']\" alt=\"right arrow\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n\r\n <h2 class=\"f-[13px] mt-5 mb-3\">\r\n {{ \"ITINERARY_DETAIL.ITINERARY_PASSIONS\" | translate }}\r\n </h2>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <lib-selectable\r\n [options]=\"passions\"\r\n [maxSelectionPossible]=\"passions.length\"\r\n ></lib-selectable>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n <div class=\"mt-4\">\r\n <p class=\"bottom-section-heading mt-2 mb-1\">\r\n {{ \"ITINERARY_DETAIL.UPVOTES\" | translate }}\r\n </p>\r\n\r\n <div class=\"comment-card text-white py-2\">\r\n <p class=\"text-xs\">4.6k {{ \"ITINERARY_DETAIL.PEOPLE\" | translate }}</p>\r\n <app-user-stack-tile\r\n label=\"4.6k people\"\r\n [buttonText]=\"'ITINERARY_SUMMARY.VIEW_MORE' | translate\"\r\n (onClick)=\"navigateToUpotes()\"\r\n [maxVisible]=\"4\"\r\n ></app-user-stack-tile>\r\n </div>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n\r\n <div class=\"mt-4\">\r\n <p class=\"bottom-section-heading mt-2 mb-1\">\r\n {{ \"ITINERARY_DETAIL.WATCHING\" | translate }}\r\n </p>\r\n\r\n <app-user-stack-tile label=\"17 people\" [buttonText]=\"'ITINERARY_SUMMARY.VIEW_MORE' | translate\" [maxVisible]=\"4\"\r\n (onClick)=\"handleUserStackTileClick('watching')\"></app-user-stack-tile>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n\r\n <div class=\"mt-5 flex justify-between\">\r\n <lib-menu-btn (click)=\"navToComments()\">\r\n <span class=\"inline-flex items-center gap-2\">\r\n <img loading=\"lazy\" [ngSrc]=\"ICONS['message']\" height=\"12\" width=\"13\" />\r\n <span class=\"inline-block\">{{\r\n \"ITINERARY_DETAIL.COMMENTS\" | translate\r\n }}</span>\r\n <p class=\"inline-block\">17</p>\r\n </span>\r\n </lib-menu-btn>\r\n\r\n <lib-menu-btn (click)=\"navToBranch()\">\r\n <span class=\"inline-flex items-center gap-2\">\r\n <img loading=\"lazy\" [ngSrc]=\"ICONS['branch']\" height=\"12\" width=\"13\" />\r\n <span class=\"inline-block\">{{\r\n \"ITINERARY_DETAIL.BRANCHES\" | translate\r\n }}</span>\r\n <p class=\"inline-block\">4</p>\r\n </span>\r\n </lib-menu-btn>\r\n </div>\r\n</div>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { GoogleMap } from '@angular/google-maps'; \r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-map',\r\n templateUrl: './map.component.html',\r\n styleUrl: './map.component.css',\r\n})\r\nexport class MapComponent {\r\n @Input() newDestination!: string;\r\n @Output() destinationAdded = new EventEmitter<string>();\r\n center = { lat: 37.7749, lng: -122.4194 };\r\n zoom = 12;\r\n\r\n mapOptions: google.maps.MapOptions = {\r\n styles: [\r\n { elementType: 'geometry', stylers: [{ color: '#212121' }] },\r\n { elementType: 'labels.icon', stylers: [{ visibility: 'off' }] },\r\n { elementType: 'labels.text.fill', stylers: [{ color: '#757575' }] },\r\n { elementType: 'labels.text.stroke', stylers: [{ color: '#212121' }] },\r\n {\r\n featureType: 'administrative',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#757575' }],\r\n },\r\n {\r\n featureType: 'administrative.country',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#9e9e9e' }],\r\n },\r\n {\r\n featureType: 'administrative.land_parcel',\r\n stylers: [{ visibility: 'off' }],\r\n },\r\n {\r\n featureType: 'administrative.locality',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#bdbdbd' }],\r\n },\r\n {\r\n featureType: 'poi',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#757575' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#181818' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#616161' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'labels.text.stroke',\r\n stylers: [{ color: '#1b1b1b' }],\r\n },\r\n {\r\n featureType: 'road',\r\n elementType: 'geometry.fill',\r\n stylers: [{ color: '#2c2c2c' }],\r\n },\r\n {\r\n featureType: 'road',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#8a8a8a' }],\r\n },\r\n {\r\n featureType: 'road.arterial',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#373737' }],\r\n },\r\n {\r\n featureType: 'road.highway',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#3c3c3c' }],\r\n },\r\n {\r\n featureType: 'road.highway.controlled_access',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#4e4e4e' }],\r\n },\r\n {\r\n featureType: 'road.local',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#616161' }],\r\n },\r\n {\r\n featureType: 'transit',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#757575' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#000000' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#3d3d3d' }],\r\n },\r\n ],\r\n center: { lat: 37.7749, lng: -122.4194 },\r\n mapTypeControl: false,\r\n disableDefaultUI: true, // Disable default UI\r\n zoomControl: true, // Enable zoom control\r\n };\r\n drawingManager!: google.maps.drawing.DrawingManager;\r\n map!: google.maps.Map;\r\n vertices: google.maps.LatLngLiteral[] = [];\r\n directionsService = new google.maps.DirectionsService();\r\n directionsRenderer = new google.maps.DirectionsRenderer();\r\n\r\n currentLocation!: google.maps.LatLngLiteral;\r\n destination: string = '';\r\n waypoints: string[] = [];\r\n\r\n @ViewChild(GoogleMap) googleMap!: GoogleMap;\r\n ngOnInit(): void {\r\n this.getUserLocation();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.initializeDirectionsRenderer();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['newDestination'] && changes['newDestination'].currentValue) {\r\n this.addDestinationFromParent(changes['newDestination'].currentValue);\r\n }\r\n }\r\n\r\n initializeDirectionsRenderer(): void {\r\n if (this.googleMap && this.googleMap.googleMap) {\r\n this.directionsRenderer.setMap(this.googleMap.googleMap!);\r\n }\r\n }\r\n\r\n onMapInitialized(map: any) {\r\n this.map = map;\r\n this.initializeDrawingManager();\r\n }\r\n\r\n getUserLocation() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.currentLocation = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude,\r\n };\r\n this.center = this.currentLocation;\r\n this.zoom = 16; // Adjust zoom level as needed\r\n this.addCurrentLocationMarker(this.currentLocation);\r\n });\r\n } else {\r\n window.alert('Geolocation is not supported by this browser.');\r\n }\r\n }\r\n\r\n addCurrentLocationMarker(position: google.maps.LatLngLiteral) {\r\n if (this.googleMap && this.googleMap.googleMap) {\r\n // Add a circle to represent the accuracy radius\r\n new google.maps.Circle({\r\n strokeColor: '#4285F4',\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: '#4285F4',\r\n fillOpacity: 0.35,\r\n map: this.googleMap.googleMap,\r\n center: position,\r\n radius: 100, // Set the radius as needed (in meters)\r\n });\r\n\r\n // Add a marker to represent the current location\r\n new google.maps.Marker({\r\n position,\r\n map: this.googleMap.googleMap,\r\n title: 'Your Location',\r\n icon: {\r\n path: google.maps.SymbolPath.CIRCLE,\r\n scale: 6,\r\n fillColor: '#4285F4',\r\n fillOpacity: 1,\r\n strokeWeight: 1,\r\n strokeColor: 'white',\r\n },\r\n });\r\n }\r\n }\r\n\r\n addDestination() {\r\n if (this.destination.trim() !== '') {\r\n this.waypoints.push(this.destination);\r\n this.destination = '';\r\n this.calculateAndDisplayRoute();\r\n }\r\n }\r\n\r\n addDestinationFromParent(destination: string) {\r\n if (destination.trim() !== '') {\r\n this.waypoints.push(destination);\r\n this.destinationAdded.emit(destination);\r\n this.calculateAndDisplayRoute();\r\n }\r\n }\r\n\r\n calculateAndDisplayRoute() {\r\n if (!this.currentLocation || this.waypoints.length === 0) {\r\n return;\r\n }\r\n\r\n const waypts = this.waypoints.slice(0, -1).map((location) => ({\r\n location,\r\n stopover: true,\r\n }));\r\n\r\n this.directionsService.route(\r\n {\r\n origin: this.currentLocation,\r\n destination: this.waypoints[this.waypoints.length - 1],\r\n waypoints: waypts,\r\n optimizeWaypoints: true,\r\n travelMode: google.maps.TravelMode.DRIVING,\r\n },\r\n (response, status) => {\r\n if (status === google.maps.DirectionsStatus.OK && response) {\r\n this.directionsRenderer.setDirections(response);\r\n this.placeMarkers(response.routes[0].legs);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n },\r\n );\r\n }\r\n\r\n placeMarkers(legs: google.maps.DirectionsLeg[]) {\r\n const startMarkerImage = ICONS['startMarkerImage']; // Replace with your custom start marker image URL\r\n const endMarkerImage = ICONS['endMarkerImage']; // Replace with your custom end marker image URL\r\n\r\n // Clear existing markers if needed\r\n this.directionsRenderer.setOptions({ markerOptions: { visible: false } });\r\n\r\n // Place custom start marker\r\n new google.maps.Marker({\r\n position: legs[0].start_location,\r\n map: this.googleMap.googleMap,\r\n icon: startMarkerImage,\r\n });\r\n\r\n // Place custom end marker\r\n new google.maps.Marker({\r\n position: legs[legs.length - 1].end_location,\r\n map: this.googleMap.googleMap,\r\n icon: endMarkerImage,\r\n });\r\n }\r\n\r\n initializeDrawingManager() {\r\n this.drawingManager = new google.maps.drawing.DrawingManager({\r\n drawingMode: null, // Start with no drawing mode\r\n drawingControl: false,\r\n drawingControlOptions: {\r\n position: google.maps.ControlPosition.TOP_CENTER,\r\n drawingModes: [google.maps.drawing.OverlayType.POLYGON],\r\n },\r\n polygonOptions: {\r\n editable: true,\r\n draggable: true,\r\n fillColor: '#E17575', // Set your polygon fill color\r\n strokeColor: '#E17575', // Set your polygon stroke color\r\n },\r\n });\r\n\r\n this.drawingManager.setMap(this.map);\r\n\r\n google.maps.event.addListener(\r\n this.drawingManager,\r\n 'overlaycomplete',\r\n (event: google.maps.drawing.OverlayCompleteEvent) => {\r\n if (event.type === google.maps.drawing.OverlayType.POLYGON) {\r\n const path = (event.overlay as google.maps.Polygon).getPath();\r\n this.vertices = path.getArray().map((vertex: google.maps.LatLng) => ({\r\n lat: vertex.lat(),\r\n lng: vertex.lng(),\r\n }));\r\n }\r\n // Stop drawing mode after a polygon is created\r\n this.drawingManager.setDrawingMode(null);\r\n },\r\n );\r\n }\r\n\r\n startDrawingPolygon() {\r\n this.drawingManager.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);\r\n }\r\n}\r\n","<lib-map\r\n #googleMap\r\n height=\"85vh\"\r\n width=\"100vw\"\r\n [center]=\"center\"\r\n [zoom]=\"zoom\"\r\n [options]=\"mapOptions\"\r\n (mapInitialized)=\"onMapInitialized($event)\"\r\n>\r\n</lib-map>\r\n<!-- <google-map\r\n #googleMap\r\n height=\"85vh\"\r\n width=\"100vw\"\r\n [center]=\"center\"\r\n [zoom]=\"zoom\"\r\n [options]=\"mapOptions\"\r\n (mapInitialized)=\"onMapInitialized($event)\"\r\n>\r\n <map-marker [position]=\"center\"></map-marker>\r\n</google-map> -->\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router'; \r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ApiService } from '../../../../../../_services/api.service';\r\nimport { LocationService } from '../../../../../../_services/location.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-summary',\r\n templateUrl: './summary.component.html',\r\n styleUrl: './summary.component.css',\r\n})\r\nexport class SummaryComponent {\r\n initialLocation = { lat: 24.8607, lng: 67.0011 }; // Centered on California\r\n ICONS: { [key: string]: string } = ICONS;\r\n usersImageSrc = '/assets/images/users.png';\r\n\r\n places: IItinerary[] = [];\r\n\r\n constructor(\r\n public locationService: LocationService,\r\n public apiService: ApiService,\r\n private cdr: ChangeDetectorRef,\r\n private router: Router,\r\n ) {}\r\n\r\n handleUserStackTileClick(clickedOption: string): void {\r\n switch (clickedOption) {\r\n case 'upvotes':\r\n // Navigate to the upvotes page\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n ItinerariesRoutesEnum.ITINERARY_USERS,\r\n ]);\r\n break;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.apiService.get('/assets/ItinerariesData.json').subscribe((data) => {\r\n this.places = data as IItinerary[];\r\n this.cdr.detectChanges();\r\n });\r\n this.locationService.getCurrentLocation().subscribe((location) => {\r\n this.initialLocation.lat = location.lat;\r\n this.initialLocation.lng = location.long;\r\n });\r\n }\r\n\r\n navToStartLocation() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_ORIGIN,\r\n 1,\r\n ]);\r\n }\r\n\r\n navToAddPlace() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.SELECT_ITINERARY_ADD_PLACE,\r\n 1,\r\n ]);\r\n }\r\n\r\n navToMembers() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY,\r\n ]);\r\n }\r\n\r\n navToAddPlaceDateTime() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.SELECT_ITINERARY_ADD_PLACE,\r\n 1,\r\n ItinerariesRoutesEnum.SELECT_ITINERARY_PLACE_DATETIME,\r\n ]);\r\n }\r\n}\r\n","<div class=\"px-5 py-6\">\r\n <div class=\"flex\">\r\n <h2 class=\"mr-2\">{{ \"ITINERARY_SUMMARY.ROUTE\" | translate }}</h2>\r\n <img\r\n [ngSrc]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n height=\"8\"\r\n width=\"8\"\r\n (click)=\"navToStartLocation()\"\r\n />\r\n </div>\r\n <div class=\"main-itini-preview\">\r\n <section class=\"mt-3 w-full\">\r\n <div class=\"tracking-widest rounded-t-3xl\">\r\n <div class=\"tracking-bottom-com\">\r\n <div class=\"flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['locationWhite']\" alt=\"location\" />\r\n <span\r\n >{{ places.length }}\r\n {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span\r\n >\r\n <img\r\n [ngSrc]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n height=\"8\"\r\n width=\"8\"\r\n (click)=\"navToAddPlace()\"\r\n />\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"icon\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n <img\r\n [ngSrc]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n height=\"8\"\r\n width=\"8\"\r\n (click)=\"navToAddPlaceDateTime()\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div *ngFor=\"let place of places; let i = index\"\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\">\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n *ngIf=\"i !== places.length - 1\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2 class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\">\r\n {{ place.name }}\r\n <img loading=\"lazy\" [src]=\"ICONS['enLocation']\" alt=\"\" />\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n {{ place.description }}\r\n </p>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n {{ place.distance }}\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img loading=\"lazy\" [src]=\"ICONS['groupBinBar']\" alt=\"\" class=\"cursor-pointer\" />\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <app-users-stack [size]=\"29\"></app-users-stack>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n\r\n <div class=\"mt-4\">\r\n <div class=\"flex items-center mt-2 mb-1\">\r\n <p class=\"bottom-section-heading mr-2\">\r\n {{ \"ITINERARY_SUMMARY.TOTAL_MEMBER\" | translate }}\r\n </p>\r\n <img\r\n [ngSrc]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n height=\"8\"\r\n width=\"8\"\r\n (click)=\"navToMembers()\"\r\n />\r\n </div>\r\n\r\n <app-user-stack-tile label=\"4 People\" [buttonText]=\"'ITINERARY_SUMMARY.VIEW_MORE' | translate\" [maxVisible]=\"4\"\r\n (onClick)=\"handleUserStackTileClick('upvotes')\"></app-user-stack-tile>\r\n </div>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib';\r\nimport { MenuItem } from 'primeng/api'; \r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { ICONS } from '../../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-itinerary-detail',\r\n templateUrl: './itinerary-detail.component.html',\r\n styleUrl: './itinerary-detail.component.css',\r\n})\r\nexport class ItineraryDetailComponent implements OnInit {\r\n @Input() itineraryTitle = 'Advance Tour';\r\n ICONS = ICONS;\r\n tabMenuItems: MenuItem[] = [\r\n {\r\n label: 'Summary',\r\n icon: 'pi pi-fw pi-home',\r\n routerLink: `${ItinerariesRoutesEnum.ITINERARY}/${ItinerariesRoutesEnum.ITINERARY_DETAIL}/${ItinerariesRoutesEnum.ITINERARY_SUMMARY}`,\r\n },\r\n {\r\n label: 'Map',\r\n icon: 'pi pi-fw pi-map-marker',\r\n routerLink: `${ItinerariesRoutesEnum.ITINERARY}/${ItinerariesRoutesEnum.ITINERARY_DETAIL}/${ItinerariesRoutesEnum.ITINERARY_MAP}`,\r\n },\r\n {\r\n label: 'Details',\r\n icon: 'pi pi-fw pi-user',\r\n routerLink: `${ItinerariesRoutesEnum.ITINERARY}/${ItinerariesRoutesEnum.ITINERARY_DETAIL}/${ItinerariesRoutesEnum.ITINERARY_MORE_DETAIL}`,\r\n },\r\n ];\r\n\r\n activeItem!: MenuItem;\r\n\r\n dropdownMenuItems: LibMenuItem[] = [\r\n {\r\n title: 'Edit Itinerary',\r\n iconUrl: ICONS['edit'],\r\n },\r\n {\r\n title: 'Archive',\r\n iconUrl: ICONS['archiveWhite'],\r\n },\r\n {\r\n title: 'Add to Favorites',\r\n iconUrl: ICONS['favorite'],\r\n },\r\n {\r\n title: 'Share Itinerary',\r\n iconUrl: ICONS['share'],\r\n },\r\n {\r\n title: 'Report',\r\n iconUrl: ICONS['report'],\r\n },\r\n {\r\n title: 'Delete Itinerary',\r\n iconUrl: ICONS['delete'],\r\n command: () => {\r\n this.isModalOpen = true;\r\n },\r\n },\r\n ];\r\n\r\n isModalOpen = false;\r\n\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.activeItem = this.tabMenuItems.find(\r\n (x) => x.routerLink === this.router.url,\r\n )!;\r\n }\r\n\r\n onModalConfirmed() {\r\n this.isModalOpen = false;\r\n }\r\n\r\n onModalDismissed() {\r\n this.isModalOpen = false;\r\n }\r\n\r\n //NAVIGATIONS\r\n back() {\r\n this.location.back();\r\n }\r\n navToMembers() {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY,\r\n ]);\r\n }\r\n onActiveItemChange(event: MenuItem) {\r\n this.activeItem = event;\r\n this.router.navigate([event.routerLink]);\r\n }\r\n}\r\n","<div>\r\n <ng-template #menuItems>\r\n <lib-menu-btn [menuItems]=\"dropdownMenuItems\" class=\"lib-menu-bg-none\">\r\n <img [src]=\"ICONS['horizontal']\" alt=\"right-icon\" />\r\n </lib-menu-btn>\r\n </ng-template>\r\n\r\n <app-header\r\n [headerSuffixTemplate]=\"menuItems\"\r\n heading=\"Adventure Tour\"\r\n (firstButton)=\"back()\"\r\n [titleIcon]=\"ICONS['editPink']\"\r\n (titleIconClick)=\"navToMembers()\"\r\n ></app-header>\r\n <lib-tab-menu\r\n [items]=\"tabMenuItems\"\r\n [activeItem]=\"activeItem\"\r\n (activeItemChange)=\"onActiveItemChange($event)\"\r\n #libTabMenu\r\n ></lib-tab-menu>\r\n\r\n <div class=\"minScreen\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n</div>\r\n\r\n<ng-container>\r\n <lib-popup\r\n [isOpen]=\"isModalOpen\"\r\n confirmButton=\"Delete\"\r\n cancelButton=\"Keep\"\r\n title=\"Delete Itinerary\"\r\n message=\"Are you sure you want to permanently delete this history?\"\r\n (modalConfirm)=\"onModalConfirmed()\"\r\n (modalDismiss)=\"onModalDismissed()\"\r\n ></lib-popup>\r\n</ng-container>\r\n","export enum UserFriendRequestEndpoints {\r\n friends = 'friends',\r\n add = 'add',\r\n accept = 'accept',\r\n reject = 'reject',\r\n requested = 'requested',\r\n search = 'search',\r\n recieved = 'recieved',\r\n nonFriends = 'nonFriends',\r\n delete=\"delete\"\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { io, Socket } from 'socket.io-client';\r\nimport { environment } from '../../../environments/environment';\r\nimport { IGatewayRequest } from '../_interface/i-gateway-request.interface';\r\nimport { IGatewayResponse } from '../_interface/i-gateway-response.interface';\r\nimport { GatewayRequestEndpoint } from '../_enums/endpoints/gateway-request-enpoints.enum';\r\nimport { UserFriendRequestEndpoints } from '../_enums/endpoints/user-friend-request-endpoints.enum';\r\nimport { IUser } from '../_models/app-user';\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserFriendsService {\r\n private socket: Socket = io(environment.socketUrl);\r\n private readonly namespace = 'user-friend';\r\n\r\n private callGateway<T>(req: IGatewayRequest<any, any>): Observable<T> {\r\n return new Observable<T>((observer) => {\r\n const handler = (res: IGatewayResponse<T>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response);\r\n observer.complete();\r\n this.socket.off(GatewayRequestEndpoint.SocketResponse, handler);\r\n }\r\n };\r\n this.socket.on(GatewayRequestEndpoint.SocketResponse, handler);\r\n this.socket.emit(GatewayRequestEndpoint.SocketRequest, req);\r\n });\r\n }\r\n\r\n // ────────── User Lists (return IUser[]) ──────────\r\n\r\n getAllFriends(userId: string, search?: string): Observable<IUser[]> {\r\n const req: IGatewayRequest<null, [string, string]> = {\r\n namespace: this.namespace,\r\n endpoint: UserFriendRequestEndpoints.friends,\r\n userId,\r\n payload: null,\r\n parameters: [userId, search!],\r\n blackboxRequest: true,\r\n };\r\n return this.callGateway<IUser[]>(req);\r\n }\r\n\r\n getNonFriends(userId: string, search?: string): Observable<IUser[]> {\r\n const req: IGatewayRequest<null, [string, string]> = {\r\n namespace: this.namespace,\r\n endpoint: UserFriendRequestEndpoints.nonFriends,\r\n userId,\r\n payload: null,\r\n parameters: [userId, search!],\r\n blackboxRequest: true,\r\n };\r\n return this.callGateway<IUser[]>(req);\r\n }\r\n\r\n getRequestedFriends(userId: string): Observable<IUser[]> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: UserFriendRequestEndpoints.requested,\r\n userId,\r\n payload: null,\r\n parameters: [userId],\r\n blackboxRequest: true,\r\n };\r\n return this.callGateway<IUser[]>(req);\r\n }\r\n\r\n getReceivedRequests(userId: string): Observable<IUser[]> {\r\n const req: IGatewayRequest<null, [string]> = {\r\n namespace: this.namespace,\r\n endpoint: UserFriendRequestEndpoints.recieved,\r\n userId,\r\n payload: null,\r\n parameters: [userId],\r\n blackboxRequest: true,\r\n };\r\n return this.callGateway<IUser[]>(req);\r\n }\r\n\r\n searchFriends(userId: string, searchTerm: string): Observable<IUser[]> {\r\n const req: IGatewayRequest<null, [string, string]> = {\r\n namespace: this.namespace,\r\n endpoint: UserFriendRequestEndpoints.search,\r\n userId,\r\n payload: null,\r\n parameters: [userId, searchTerm],\r\n blackboxRequest: true,\r\n };\r\n return this.callGateway<IUser[]>(req);\r\n }\r\n\r\n // ────────── Actions (return boolean) ──────────\r\n\r\n sendRequest(requesterId: string, recipientId: string): Observable<boolean> {\r\n const req: IGatewayRequest<null, [string, string]> = {\r\n namespace: this.namespace,\r\n endpoint: UserFriendRequestEndpoints.add,\r\n payload: null,\r\n parameters: [requesterId, recipientId],\r\n blackboxRequest: true,\r\n };\r\n return this.callGateway<boolean>(req);\r\n }\r\n\r\n acceptRequest(requesterId: string, recipientId: string): Observable<boolean> {\r\n const req: IGatewayRequest<null, [string, string]> = {\r\n namespace: this.namespace,\r\n endpoint: UserFriendRequestEndpoints.accept,\r\n payload: null,\r\n parameters: [requesterId, recipientId],\r\n blackboxRequest: true,\r\n };\r\n return this.callGateway<boolean>(req);\r\n }\r\n\r\n rejectRequest(requesterId: string, recipientId: string): Observable<boolean> {\r\n const req: IGatewayRequest<null, [string, string]> = {\r\n namespace: this.namespace,\r\n endpoint: UserFriendRequestEndpoints.reject,\r\n payload: null,\r\n parameters: [requesterId, recipientId],\r\n blackboxRequest: true,\r\n };\r\n return this.callGateway<boolean>(req);\r\n }\r\n\r\n disconnect(): void {\r\n this.socket.disconnect();\r\n }\r\n}\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Iicon } from '../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../_constants/constants';\r\nimport { IUser } from '../../../../../_models/app-user';\r\nimport { UserFriendsService } from '../../../../../_data/user-friends.service';\r\nimport { AppService } from '../../../../../_data/app-service.service';\r\n@Component({\r\n selector: 'app-friend-requests',\r\n templateUrl: './friend-requests.component.html',\r\n styleUrl: './friend-requests.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FriendRequestsComponent implements OnInit, OnDestroy {\r\n ICONS: Iicon = ICONS;\r\n requestedUsers: IUser[] = [];\r\n user: IUser;\r\n loading: boolean = false;\r\n subscription!: Subscription;\r\n loadingBtn: boolean[] = [];\r\n\r\n constructor(\r\n private _location: Location,\r\n private cdr: ChangeDetectorRef,\r\n private userFriendService: UserFriendsService,\r\n appService: AppService,\r\n ) {\r\n this.user = appService.user;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.subscription = this.userFriendService.getRequestedFriends(this.user._id).subscribe({\r\n next: (users: IUser[]) => {\r\n this.requestedUsers = users;\r\n this.loadingBtn = this.requestedUsers.map(() => false);\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n },\r\n });\r\n }\r\n\r\n //UI LOGIC\r\n revoke(id: string, idx: number): void {\r\n this.loadingBtn[idx] = true;\r\n this.userFriendService.rejectRequest(this.user._id, id).subscribe({\r\n next: (res: boolean) => {\r\n if (res) {\r\n this.requestedUsers.splice(idx, 1);\r\n }\r\n },\r\n complete: () => {\r\n this.loadingBtn[idx] = false;\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n handleSearchStringChange(_$event: string) { }\r\n\r\n clear(): void { }\r\n\r\n backButton(): void {\r\n this._location.back();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<div class=\"pl-4 pr-4\">\r\n <app-header\r\n heading=\"Friend Requests\"\r\n (firstButton)=\"backButton()\"\r\n ></app-header>\r\n\r\n <p class=\"interestedPeopleHeading mt-3\">\r\n Invites Sent ({{ this.requestedUsers.length }})\r\n </p>\r\n\r\n <ng-container *ngIf=\"loading\">\r\n <lib-info-card-placeholder\r\n [avatar]=\"true\"\r\n [count]=\"5\"\r\n ></lib-info-card-placeholder>\r\n </ng-container>\r\n\r\n @if (!loading) {\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-4\">\r\n <ng-container *ngFor=\"let i of requestedUsers; let idx = index\">\r\n <ng-template #sufixAction>\r\n <div class=\"flex\">\r\n <img [src]=\"ICONS['closePink']\" alt=\"Invite label\" />\r\n <button (click)=\"revoke(i._id, idx)\" class=\"pinkTextColor\">{{loadingBtn[idx] ? \"Revoking...\" : \"Revoke\"}}</button>\r\n </div>\r\n </ng-template>\r\n\r\n <app-user-tile\r\n [name]=\"i.name\"\r\n [email]=\"i.email\"\r\n [image]=\"i.pictureUrl!\"\r\n [sufixTemplate]=\"sufixAction\"\r\n ></app-user-tile>\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SelectOption } from '@naniteninja/ionic-lib';\r\nimport { Subscription } from 'rxjs';\r\nimport { ItinerariesRoutesEnum } from '../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../_interface/icon'; \r\nimport { ICONS } from '../../../../../_constants/constants';\r\nimport { AppService } from '../../../../../_data/app-service.service';\r\nimport { IUser } from '../../../../../_models/app-user';\r\nimport { UserFriendsService } from '../../../../../_data/user-friends.service';\r\n \r\n@Component({\r\n selector: 'app-existing-friends',\r\n templateUrl: './existing-friends.component.html',\r\n styleUrl: './existing-friends.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ExistingFriendsComponent implements OnInit, OnDestroy {\r\n ICONS: Iicon = ICONS;\r\n user: IUser;\r\n friends: IUser[] = []; \r\n loading: boolean = false;\r\n subscription!: Subscription;\r\n image: string = ICONS['userimageSrc'];\r\n passions: SelectOption<string>[] = [\r\n {\r\n image: ICONS['food'],\r\n value: 'Viyasa',\r\n label: 'Viyasa',\r\n selected: true,\r\n disabled: true,\r\n },\r\n ];\r\n\r\n constructor(\r\n private router: Router,\r\n private _location: Location,\r\n private cdr: ChangeDetectorRef,\r\n appService: AppService,\r\n private userFriendService: UserFriendsService,\r\n ) {\r\n this.user = appService.user;\r\n }\r\n\r\n //UI LOGIC\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.subscription = this.userFriendService\r\n .getAllFriends(this.user._id)\r\n .subscribe({\r\n next: (res: IUser[]) => {\r\n this.friends = res; \r\n },\r\n complete: () => {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n },\r\n });\r\n }\r\n\r\n handleMenueItemSelect(): void {}\r\n handleMenuItemChange(): void {}\r\n handleMenuClick(): void {}\r\n\r\n //NAVIGATIONS\r\n backButton(): void {\r\n this._location.back();\r\n }\r\n navToListFriendUsers(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.LIST_FRIENDS,\r\n ]);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<div class=\"relative min-h-screen\">\r\n <div class=\"z-auto\">\r\n <div class=\"pb-10\">\r\n <ng-container *ngIf=\"loading\">\r\n <lib-info-card-placeholder\r\n [avatar]=\"true\"\r\n [count]=\"5\"\r\n ></lib-info-card-placeholder>\r\n </ng-container>\r\n\r\n <ng-template #actions>\r\n <lib-menu-btn\r\n (select)=\"handleMenueItemSelect()\"\r\n (click)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n >\r\n <img [src]=\"ICONS['horizontalWhite']\" alt=\"Horizontal divider\" />\r\n </lib-menu-btn>\r\n </ng-template>\r\n\r\n @if (!loading) {\r\n @if (friends.length === 0) {\r\n <div class=\"flex items-center justify-center h-[65vh]\">\r\n <p>No friends found</p>\r\n </div>\r\n }\r\n @if (friends.length > 0) {\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-4\">\r\n <ng-container *ngFor=\"let i of friends\">\r\n <app-user-tile\r\n [name]=\"i.name\"\r\n [email]=\"i.email\"\r\n [image]=\"i.pictureUrl!\"\r\n [sufixTemplate]=\"actions\"\r\n >\r\n </app-user-tile>\r\n </ng-container>\r\n </div>\r\n }\r\n }\r\n\r\n <div class=\"flex px-4\">\r\n <img [src]=\"ICONS['invitePink']\" />\r\n <button class=\"pinkTextColor\" (click)=\"navToListFriendUsers()\">\r\n Friend Request\r\n </button>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-6 mb-6\"></div>\r\n <h2 class=\"commonInterests px-4 mb-4\">Common Interests</h2>\r\n\r\n <lib-selectable [options]=\"passions\"></lib-selectable>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-itinerary-friends',\r\n templateUrl: './itinerary-friends.component.html',\r\n styleUrl: './itinerary-friends.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ItineraryFriendsComponent {\r\n constructor(private _location: Location) {}\r\n backButton(): void {\r\n this._location.back();\r\n }\r\n}\r\n","<div class=\"z-auto pr-3 pl-3\">\r\n <div class=\"pb-4\">\r\n <app-header heading=\"Friends\" (firstButton)=\"backButton()\"></app-header>\r\n </div>\r\n <app-existing-friends></app-existing-friends>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { ItinerariesRoutesEnum } from '../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../_interface/icon';\r\nimport { CustomDropdownMenuService } from '../../../../../_services/custom-dropdown-menu.service';\r\nimport { ModalService } from '../../../../../_services/modal.service';\r\nimport { ICONS } from '../../../../../_constants/constants';\r\nimport { IUser } from '../../../../../_models/app-user';\r\nimport { UserFriendsService } from '../../../../../_data/user-friends.service';\r\nimport { AppService } from '../../../../../_data/app-service.service';\r\n\r\n@Component({\r\n selector: 'app-list-friend-users',\r\n templateUrl: './list-friend-users.component.html',\r\n styleUrl: './list-friend-users.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ListFriendUsersComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n uninvitedFriends: IUser[] = [];\r\n images: string[] = [];\r\n loading: boolean = false;\r\n user: IUser;\r\n invitedFriends: IUser[] = [];\r\n loadingBtn: boolean[] = [];\r\n subscription!: Subscription;\r\n\r\n constructor(\r\n public customMenuList: CustomDropdownMenuService,\r\n public modalService: ModalService,\r\n private _location: Location,\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private userFriendService: UserFriendsService,\r\n appService: AppService\r\n ) { this.user = appService.user }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n\r\n this.subscription = forkJoin({\r\n nonInvited: this.userFriendService.getNonFriends(this.user._id),\r\n invited: this.userFriendService.getRequestedFriends(this.user._id)\r\n }).subscribe({\r\n next: (res: { nonInvited: IUser[]; invited: IUser[] }) => {\r\n if (res.nonInvited) {\r\n this.uninvitedFriends = res.nonInvited;\r\n this.loadingBtn = this.uninvitedFriends.map(() => false);\r\n }\r\n if (res.invited) {\r\n this.invitedFriends = res.invited;\r\n this.images = this.invitedFriends.map((x: IUser) => x.pictureUrl!);\r\n }\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n //UI LOGIC\r\n isRequested(id: string): boolean {\r\n return this.invitedFriends.some(x => x._id === id);\r\n }\r\n\r\n asUser(user: string | IUser): IUser {\r\n return user as IUser;\r\n }\r\n\r\n handleSearchStringChange(_$event: string) {\r\n this.loading = true;\r\n this.userFriendService.getNonFriends(this.user._id, _$event).subscribe({\r\n next: (res: IUser[]) => {\r\n this.uninvitedFriends = res;\r\n this.loadingBtn = this.uninvitedFriends.map(() => false);\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n clear(): void { }\r\n\r\n sendRequest(id: string, i: number): void {\r\n this.loadingBtn[i] = true;\r\n this.userFriendService.sendRequest(this.user._id, id).subscribe({\r\n next: (res: boolean) => {\r\n if (res) {\r\n const user = this.uninvitedFriends.find(x => x._id === id);\r\n this.invitedFriends.push(user!);\r\n this.images = [...this.images, user!.pictureUrl!];\r\n }\r\n },\r\n complete: () => {\r\n this.loadingBtn[i] = false;\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n //NAVIGATIONS\r\n navToFriendRequests(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.FRIEND_REQUESTS,\r\n ]);\r\n }\r\n\r\n backButton(): void {\r\n this._location.back();\r\n }\r\n}\r\n","<div class=\"ps-4 pe-4\">\r\n <app-header\r\n heading=\"Search For Friends\"\r\n (firstButton)=\"backButton()\"\r\n ></app-header>\r\n\r\n <lib-search-bar\r\n class=\"search-field\"\r\n [placeholderText]=\"'Search people to invite' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\"\r\n (cleared)=\"clear()\" \r\n [searchIcon]=\"ICONS['dashboardSearch']\"\r\n >\r\n </lib-search-bar>\r\n\r\n <h3 class=\"f-calistoga font-normal text-sm mt-4 mb-3\">Suggested Requests</h3>\r\n\r\n <ng-container *ngIf=\"loading\">\r\n <lib-info-card-placeholder\r\n [avatar]=\"true\"\r\n [count]=\"5\"\r\n ></lib-info-card-placeholder>\r\n </ng-container>\r\n\r\n @if (!loading) {\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-4\">\r\n <ng-container *ngFor=\"let i of uninvitedFriends; let idx = index\">\r\n <ng-template #request>\r\n <div (click)=\"sendRequest(i._id, idx)\" class=\"flex\">\r\n <img [src]=\"ICONS['invitePink']\" alt=\"Invite label\" />\r\n <button class=\"pinkTextColor\">\r\n {{ loadingBtn[idx] ? \"sending...\" : \"Request\" }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #requested>\r\n <div class=\"flex\">\r\n <img [src]=\"ICONS['userAdded']\" alt=\"Invite label\" />\r\n <button class=\"pinkTextColor\">Requested</button>\r\n </div>\r\n </ng-template>\r\n\r\n <app-user-tile\r\n [name]=\"i.name\"\r\n [email]=\"i.email\"\r\n [image]=\"i.pictureUrl!\"\r\n [sufixTemplate]=\"isRequested(i._id) ? requested : request\"\r\n ></app-user-tile>\r\n </ng-container>\r\n </div>\r\n }\r\n\r\n <!-- Separator Line -->\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n\r\n <p class=\"interestedPeopleHeading mt-4\">Requests Sent</p>\r\n\r\n <app-user-stack-tile\r\n [label]=\"invitedFriends.length + ' People'\"\r\n [images]=\"images\"\r\n buttonText=\"View Requests\"\r\n (onClick)=\"navToFriendRequests()\"\r\n ></app-user-stack-tile>\r\n</div>\r\n","export enum ItineraryMemberEndpoint {\r\n invite = \"invite\",\r\n accept = \"accept\",\r\n reject = \"reject\",\r\n getInvitedUsers = \"getInvitedUsers\",\r\n getReceivedRequests = \"getReceivedRequests\",\r\n getAcceptedMembers = \"getAcceptedMembers\",\r\n getUnInvited=\"getUnInvited\",\r\n delete=\"delete\"\r\n}","import { Injectable } from '@angular/core';\r\nimport { Socket, io } from 'socket.io-client';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { IGatewayRequest } from '../_interface/i-gateway-request.interface';\r\nimport { IGatewayResponse } from '../_interface/i-gateway-response.interface';\r\nimport { GatewayRequestEndpoint } from '../_enums/endpoints/gateway-request-enpoints.enum';\r\nimport { ItineraryMemberDTO } from '../_dtos/itinerary-member.dto';\r\nimport { ItineraryMemberEndpoint } from '../_enums/endpoints/itinerary-member-enpoint.enum';\r\nimport { IItineraryMember } from '../_models/i-itinerary-member';\r\nimport { IUser } from '../_models/app-user';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ItineraryMemberService {\r\n private socket: Socket;\r\n private readonly namespace = 'itinerary-member';\r\n\r\n constructor() {\r\n this.socket = io(`${environment.socketUrl}`);\r\n }\r\n\r\n private sendRequest<TRequest, TResponse>(\r\n req: IGatewayRequest<TRequest, any>\r\n ): Observable<TResponse> {\r\n return new Observable<TResponse>((observer) => {\r\n const handler = (res: IGatewayResponse<TResponse>) => {\r\n if (res.endpoint === req.endpoint) {\r\n observer.next(res.response);\r\n observer.complete();\r\n this.socket.off(GatewayRequestEndpoint.SocketResponse, handler);\r\n }\r\n };\r\n\r\n this.socket.on(GatewayRequestEndpoint.SocketResponse, handler);\r\n this.socket.emit(GatewayRequestEndpoint.SocketRequest, req);\r\n });\r\n }\r\n\r\n inviteMember(dto: ItineraryMemberDTO): Observable<IItineraryMember> {\r\n const req: IGatewayRequest<ItineraryMemberDTO, any> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryMemberEndpoint.invite,\r\n payload: dto,\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n acceptMember(dto: ItineraryMemberDTO): Observable<IItineraryMember> {\r\n const req: IGatewayRequest<ItineraryMemberDTO, any> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryMemberEndpoint.accept,\r\n payload: dto,\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n rejectMember(dto: ItineraryMemberDTO): Observable<IItineraryMember> {\r\n const req: IGatewayRequest<ItineraryMemberDTO, any> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryMemberEndpoint.reject,\r\n payload: dto,\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n getInvitedUsers(itineraryId: string, userId: string): Observable<IItineraryMember[]> {\r\n const req: IGatewayRequest<null, string[]> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryMemberEndpoint.getInvitedUsers,\r\n parameters: [itineraryId, userId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n getReceivedRequests(userId: string): Observable<IItineraryMember[]> {\r\n const req: IGatewayRequest<null, string[]> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryMemberEndpoint.getReceivedRequests,\r\n parameters: [userId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n getAcceptedMembers(itineraryId: string, userId: string): Observable<IItineraryMember[]> {\r\n const req: IGatewayRequest<null, string[]> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryMemberEndpoint.getAcceptedMembers,\r\n parameters: [itineraryId, userId],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n getNotInvitedUsers(itineraryId: string, userId:string, search?: string): Observable<IUser[]> {\r\n const req: IGatewayRequest<null, string[]> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryMemberEndpoint.getUnInvited,\r\n parameters: [itineraryId,userId ,search!],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n\r\n delete(id: string): Observable<void[]> {\r\n const req: IGatewayRequest<null, string[]> = {\r\n namespace: this.namespace,\r\n endpoint: ItineraryMemberEndpoint.delete,\r\n parameters: [id],\r\n blackboxRequest: true,\r\n };\r\n return this.sendRequest(req);\r\n }\r\n}\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../_interface/icon';\r\nimport { CustomDropdownMenuService } from '../../../../../_services/custom-dropdown-menu.service';\r\nimport { ModalService } from '../../../../../_services/modal.service';\r\nimport { ICONS } from '../../../../../_constants/constants';\r\nimport { IUser } from '../../../../../_models/app-user';\r\nimport { ItineraryMemberService } from '../../../../../_data/itinerary-member.service';\r\nimport { AppService } from '../../../../../_data/app-service.service';\r\nimport { forkJoin } from 'rxjs';\r\nimport { ItineraryMemberDTO } from '../../../../../_dtos/itinerary-member.dto';\r\nimport { IItineraryMember } from '../../../../../_models/i-itinerary-member';\r\nimport { UserFriendsService } from '../../../../../_data/user-friends.service';\r\n@Component({\r\n selector: 'app-all-people',\r\n templateUrl: './all-people.component.html',\r\n styleUrl: './all-people.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AllPeopleComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n users: IUser[] = [];\r\n friends: IUser[] = [];\r\n user: IUser;\r\n images: string[] = [];\r\n loadingBtn: boolean[] = [];\r\n friendsLoadingBtn: boolean[] = [];\r\n loading: boolean = false;\r\n id!: string;\r\n invitedUsers: IItineraryMember[] = [];\r\n\r\n constructor(\r\n public customMenuList: CustomDropdownMenuService,\r\n public modalService: ModalService,\r\n private _location: Location,\r\n private router: Router,\r\n private itineraryMemberService: ItineraryMemberService,\r\n private userFriendService: UserFriendsService,\r\n private cdr: ChangeDetectorRef,\r\n private activatedRoute: ActivatedRoute,\r\n appService: AppService,\r\n ) {\r\n this.user = appService.user\r\n console.log(this.user._id)\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.id = this.activatedRoute.snapshot.params['id'];\r\n if (!this.id) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n forkJoin({\r\n users: this.itineraryMemberService.getNotInvitedUsers(this.id, this.user._id),\r\n invitedUsers: this.itineraryMemberService.getInvitedUsers(this.id, this.user._id),\r\n friends: this.userFriendService.getAllFriends(this.user._id)\r\n }).subscribe({\r\n next: (res: { users: IUser[], invitedUsers: IItineraryMember[], friends: IUser[] }) => {\r\n if (res.users) {\r\n this.users = res.users;\r\n this.loadingBtn = this.users.map(() => false);\r\n }\r\n if (res.friends) {\r\n this.friends = res.friends;\r\n this.friendsLoadingBtn = this.friends.map(() => false);\r\n }\r\n if (res.invitedUsers) {\r\n this.invitedUsers = res.invitedUsers;\r\n this.images = this.invitedUsers.map((u: IItineraryMember) => (u.invitedUserId as IUser).pictureUrl!);\r\n }\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n }\r\n })\r\n }\r\n\r\n //UI LOGIC\r\n isAlreadyInvited(id: string): boolean {\r\n return this.invitedUsers.some(x => (x.invitedUserId as IUser)._id === id);\r\n }\r\n\r\n getUsers(): void {\r\n this.loading = true;\r\n\r\n }\r\n\r\n handleSearchStringChange(_$event: string) {\r\n forkJoin({\r\n nonInvited: this.itineraryMemberService.getNotInvitedUsers(this.id, this.user._id, _$event!),\r\n friends: this.userFriendService.getAllFriends(this.user._id, _$event)\r\n })\r\n .subscribe({\r\n next: (data) => {\r\n this.users = data.nonInvited;\r\n this.friends = data.friends;\r\n },\r\n complete: () => {\r\n this.loadingBtn = this.users.map(() => false);\r\n this.friendsLoadingBtn = this.friends.map(() => false);\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n invite(id: string, i: number): void {\r\n const dto: ItineraryMemberDTO = {\r\n itineraryId: this.id,\r\n invitedUserId: id,\r\n userId: this.user._id\r\n }\r\n\r\n this.loadingBtn[i] = true;\r\n this.itineraryMemberService.inviteMember(dto).subscribe({\r\n next: (res: IItineraryMember) => {\r\n if (res) {\r\n this.invitedUsers.push(res);\r\n this.images = [...this.images, (res.invitedUserId as IUser).pictureUrl!];\r\n }\r\n },\r\n complete: () => {\r\n this.loadingBtn[i] = false;\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n clear(): void { }\r\n\r\n //NAVIGATIONS\r\n navToAllInvites(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.ALL_INVITES_SENT,\r\n this.id\r\n ]);\r\n }\r\n\r\n backButton(): void {\r\n this._location.back();\r\n }\r\n}\r\n","<div class=\"ps-4 pe-4\">\r\n <app-header heading=\"Invite People\" (firstButton)=\"backButton()\"></app-header>\r\n\r\n <lib-search-bar\r\n class=\"search-field\"\r\n [placeholderText]=\"'Search people to invite' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\"\r\n (cleared)=\"clear()\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\"\r\n >\r\n </lib-search-bar>\r\n\r\n <h3 class=\"f-calistoga font-normal text-sm mt-4\">Friends</h3>\r\n\r\n <ng-container *ngIf=\"loading\">\r\n <lib-info-card-placeholder\r\n [avatar]=\"true\"\r\n [count]=\"5\"\r\n ></lib-info-card-placeholder>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n @if (friends.length === 0) {\r\n <div class=\"flex items-center justify-center\">\r\n <p>No friends found</p>\r\n </div>\r\n }\r\n\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-4\">\r\n <ng-container *ngFor=\"let u of friends; let i = index\">\r\n <ng-template #sufixAction>\r\n @if (friendsLoadingBtn[i]) {\r\n <span>inviting...</span>\r\n } @else {\r\n <div (click)=\"invite(u._id, i)\" class=\"flex\">\r\n <img [src]=\"ICONS['invitePink']\" alt=\"Invite label\" />\r\n <button class=\"pinkTextColor\">Invite</button>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <app-user-tile\r\n [name]=\"u.name\"\r\n [email]=\"u.email\"\r\n [image]=\"u.pictureUrl!\"\r\n [sufixTemplate]=\"isAlreadyInvited(u._id) ? null : sufixAction\"\r\n ></app-user-tile>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <h3 class=\"f-calistoga font-normal text-sm mt-4\">\r\n People who might want to join this itinerary\r\n </h3>\r\n <ng-container *ngIf=\"!loading\">\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-4\">\r\n <ng-container *ngFor=\"let u of users; let i = index\">\r\n <ng-template #sufixAction>\r\n @if (loadingBtn[i]) {\r\n <span>inviting...</span>\r\n } @else {\r\n <div (click)=\"invite(u._id, i)\" class=\"flex\">\r\n <img [src]=\"ICONS['invitePink']\" alt=\"Invite label\" />\r\n <button class=\"pinkTextColor\">Invite</button>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <app-user-tile\r\n [name]=\"u.name\"\r\n [email]=\"u.email\"\r\n [image]=\"u.pictureUrl!\"\r\n [sufixTemplate]=\"isAlreadyInvited(u._id) ? null : sufixAction\"\r\n ></app-user-tile>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Separator Line -->\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n\r\n <p class=\"interestedPeopleHeading mt-3\">Invites Sent</p>\r\n\r\n <app-user-stack-tile\r\n [label]=\"invitedUsers.length + ' People'\"\r\n [images]=\"images\"\r\n buttonText=\"View Invites\"\r\n (onClick)=\"navToAllInvites()\"\r\n ></app-user-stack-tile>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SelectOption } from '@naniteninja/ionic-lib';\r\nimport { ItinerariesRoutesEnum } from '../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../_constants/constants';\r\nimport { AppService } from '../../../../../_data/app-service.service';\r\nimport { ItineraryMemberService } from '../../../../../_data/itinerary-member.service';\r\nimport { IUser } from '../../../../../_models/app-user';\r\nimport { IItineraryMember } from '../../../../../_models/i-itinerary-member';\r\n\r\n@Component({\r\n selector: 'app-existing-members',\r\n templateUrl: './existing-members.component.html',\r\n styleUrl: './existing-members.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ExistingMembersComponent implements OnInit {\r\n protected ICONS: Iicon = ICONS;\r\n protected itineraryMembers: IItineraryMember[] | undefined;\r\n protected loading: boolean = false;\r\n protected user: IUser;\r\n private id!: string;\r\n options: SelectOption<string>[] = [\r\n {\r\n image: ICONS['food'],\r\n label: 'Viynasa',\r\n value: 'Viynasa',\r\n selected: true,\r\n },\r\n ];\r\n\r\n constructor(\r\n private router: Router, \r\n private cdr: ChangeDetectorRef,\r\n private itineraryMemberService: ItineraryMemberService,\r\n private activatedRoute: ActivatedRoute,\r\n appService: AppService\r\n ) { this.user = appService.user }\r\n\r\n //UI LOGIC\r\n ngOnInit(): void {\r\n this.loading = true;\r\n\r\n this.id = this.activatedRoute.snapshot.params['id'];\r\n if (!this.id) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n this.itineraryMemberService.getAcceptedMembers(this.id, this.user._id).subscribe((data) => {\r\n this.itineraryMembers = data;\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n handleMenueItemSelect(): void { }\r\n handleMenuItemChange(): void { }\r\n handleMenuClick(): void { }\r\n\r\n //NAVIGATIONS \r\n navToAllPeople(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.All_PEOPLE,\r\n this.id\r\n ]);\r\n }\r\n}\r\n","<div class=\"relative min-h-screen\">\r\n <div class=\"h-[60vh] flex items-center justify-center\" *ngIf=\"itineraryMembers?.length === 0\">\r\n <p>No Members Found</p>\r\n </div>\r\n \r\n <div class=\"z-auto\">\r\n <div class=\"pb-10\">\r\n <ng-container *ngIf=\"loading\">\r\n <lib-info-card-placeholder\r\n [avatar]=\"true\"\r\n [count]=\"5\"\r\n ></lib-info-card-placeholder>\r\n </ng-container>\r\n\r\n <ng-template #actions>\r\n <lib-menu-btn\r\n (select)=\"handleMenueItemSelect()\"\r\n (click)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n >\r\n <img [src]=\"ICONS['horizontalWhite']\" alt=\"Horizontal divider\" />\r\n </lib-menu-btn>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-4\">\r\n <ng-container *ngFor=\"let i of itineraryMembers\">\r\n <!-- <app-user-tile\r\n [name]=\"i.memberName\"\r\n [email]=\"i.memberEmail\"\r\n [image]=\"i.memberPic\"\r\n [sufixTemplate]=\"actions\"\r\n ></app-user-tile> -->\r\n <!-- <app-user-tile\r\n [name]=\"i.memberName\"\r\n [email]=\"i.memberEmail\"\r\n [image]=\"i.memberPic\"\r\n [sufixTemplate]=\"actions\"\r\n ></app-user-tile> -->\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"flex px-4\">\r\n <img [src]=\"ICONS['invitePink']\" />\r\n <button class=\"pinkTextColor\" (click)=\"navToAllPeople()\">\r\n Invite more people\r\n </button>\r\n </div>\r\n\r\n <div class=\"border-t border-gray-700 mt-6 mb-6\"></div>\r\n <h2 class=\"commonInterests mb-4\">Common Interests</h2>\r\n\r\n <lib-selectable [options]=\"options\"></lib-selectable>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\n@Component({\r\n selector: 'app-itinerary-members',\r\n templateUrl: './itinerary-members.component.html',\r\n styleUrl: './itinerary-members.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ItineraryMembersComponent {\r\n private cameFrom: string = '';\r\n constructor(private _location: Location,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n this.cameFrom = this.router.getCurrentNavigation()\r\n ?.extras.state?.['from'];\r\n }\r\n\r\n backButton(): void { \r\n if(this.cameFrom){\r\n const parts = this.cameFrom.split('/');\r\n const basePath = \"/\" + parts.slice(1, 3).join('/');\r\n const explorePath = `${ItinerariesRoutesEnum.ITINERARY}/${ItinerariesRoutesEnum.CREATE_ITINERARY}`;\r\n const id = this.activatedRoute.snapshot.params[\"id\"];\r\n if (basePath === explorePath) {\r\n this.router.navigate([explorePath, id]);\r\n }\r\n }\r\n else {\r\n this._location.back();\r\n }\r\n }\r\n}\r\n","<div class=\"z-auto pr-3 pl-3\">\r\n <div class=\"pb-4\">\r\n <app-header heading=\"Total Members\" (firstButton)=\"backButton()\"></app-header>\r\n </div>\r\n <app-existing-members></app-existing-members>\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Iicon } from '../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../_constants/constants';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ItineraryMemberService } from '../../../../../_data/itinerary-member.service';\r\nimport { IUser } from '../../../../../_models/app-user';\r\nimport { AppService } from '../../../../../_data/app-service.service';\r\nimport { IItineraryMember } from '../../../../../_models/i-itinerary-member';\r\n@Component({\r\n selector: 'app-itinerary-sent-invites',\r\n templateUrl: './itinerary-sent-invites.component.html',\r\n styleUrl: './itinerary-sent-invites.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ItinerarySentInvitesComponent implements OnInit, OnDestroy {\r\n ICONS: Iicon = ICONS;\r\n itineraryMembers: IItineraryMember[] | undefined;\r\n loading: boolean = false;\r\n loadingBtn: boolean[] = [];\r\n subscription!: Subscription;\r\n id: string = '';\r\n user: IUser;\r\n\r\n constructor(\r\n private _location: Location,\r\n private activatedRoute: ActivatedRoute,\r\n private cdr: ChangeDetectorRef,\r\n private itineraryMemberService: ItineraryMemberService,\r\n appService: AppService\r\n ) { this.user = appService.user }\r\n\r\n ngOnInit(): void {\r\n this.id = this.activatedRoute.snapshot.params[\"id\"];\r\n this.getTotalItineraryMembers();\r\n }\r\n\r\n //UI LOGIC\r\n getTotalItineraryMembers(): void {\r\n this.loading = true;\r\n this.subscription = this.itineraryMemberService.getInvitedUsers(this.id, this.user._id).subscribe((data) => {\r\n this.itineraryMembers = data;\r\n this.loadingBtn = data.map(() => false);\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n getAsUser(u: IUser | string): IUser {\r\n return u as IUser;\r\n }\r\n\r\n handleSearchStringChange(_$event: string) { }\r\n\r\n clear(): void { }\r\n\r\n revoke(id: string, index: number): void {\r\n if (!this.loadingBtn[index]) {\r\n this.loadingBtn[index] = true;\r\n this.itineraryMemberService.delete(id).subscribe({\r\n next: (_) => {\r\n const member= this.itineraryMembers?.find(x => x._id === id);\r\n const nondeleted = this.itineraryMembers?.filter(x => x._id !== member?._id);\r\n this.itineraryMembers = [...nondeleted!];\r\n },\r\n complete: () => {\r\n this.loadingBtn[index] = false;\r\n this.cdr.detectChanges();\r\n }\r\n })\r\n }\r\n }\r\n\r\n //NAVIGATIONS\r\n backButton(): void {\r\n this._location.back();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<div class=\"pl-4 pr-4\">\r\n <app-header heading=\"All Invites\" (firstButton)=\"backButton()\"></app-header>\r\n\r\n <p class=\"interestedPeopleHeading mt-3\">Invites Sent ({{this.itineraryMembers?.length}})</p>\r\n\r\n <ng-container *ngIf=\"loading\">\r\n <lib-info-card-placeholder\r\n [avatar]=\"true\"\r\n [count]=\"5\"\r\n ></lib-info-card-placeholder>\r\n </ng-container>\r\n\r\n \r\n @if (!loading) {\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-4\">\r\n <ng-container *ngFor=\"let i of itineraryMembers;let idx = index\">\r\n <ng-template #sufixAction>\r\n <div class=\"flex\">\r\n <img [src]=\"ICONS['closePink']\" alt=\"Invite label\" />\r\n <button class=\"pinkTextColor\" (click)=\"revoke(i._id!, idx)\">{{loadingBtn[idx] ? \"revoking...\" : \"Revoke\"}}</button>\r\n </div>\r\n </ng-template>\r\n <app-user-tile\r\n [name]=\"getAsUser(i.invitedUserId!).name\"\r\n [email]=\"getAsUser(i.invitedUserId!).email\"\r\n [image]=\"getAsUser(i.invitedUserId!).pictureUrl!\"\r\n [sufixTemplate]=\"sufixAction\"\r\n ></app-user-tile>\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SelectOption } from '@naniteninja/ionic-lib';\r\nimport { of, Subscription } from 'rxjs';\r\nimport { ItinerariesRoutesEnum } from '../../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../_constants/constants';\r\nimport { IUser } from '../../../../../_models/app-user';\r\n\r\n@Component({\r\n selector: 'app-user-list',\r\n templateUrl: './user-list.component.html',\r\n styleUrl: './user-list.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UserList implements OnInit, OnDestroy {\r\n @Input() usersList: IUser[] | undefined;\r\n @Input() class: string = '';\r\n ICONS: Iicon = ICONS;\r\n itineraryMembers: IUser[] | undefined;\r\n loading: boolean = false;\r\n subscription!: Subscription;\r\n options: SelectOption<string>[] = [\r\n {\r\n image: ICONS['food'],\r\n label: 'Viynasa',\r\n value: 'Viynasa',\r\n selected: true,\r\n },\r\n ];\r\n\r\n constructor(\r\n private router: Router,\r\n private _location: Location,\r\n private cdr: ChangeDetectorRef,\r\n ) { }\r\n\r\n //UI LOGIC\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.subscription = of([]).subscribe((data: IUser[]) => {\r\n this.itineraryMembers = data;\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n //NAVIGATIONS\r\n backButton(): void {\r\n this._location.back();\r\n }\r\n navToAllPeople(): void {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.All_PEOPLE,\r\n ]);\r\n }\r\n\r\n viewProfile(): void {\r\n this.router.navigate([ItinerariesRoutesEnum.PROFILE]).then(() => { });\r\n }\r\n\r\n handleMenuItemChange() {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n handleMenuClick() {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n handleMenueItemSelect() {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<div class=\"relative min-h-screen\">\r\n <div class=\"z-auto\">\r\n <div class=\"pb-10\">\r\n <ng-container *ngIf=\"loading\">\r\n <lib-info-card-placeholder\r\n [avatar]=\"true\"\r\n [count]=\"5\"\r\n ></lib-info-card-placeholder>\r\n </ng-container>\r\n\r\n <ng-template #actions>\r\n <lib-menu-btn\r\n (select)=\"handleMenueItemSelect()\"\r\n (click)=\"handleMenuClick()\"\r\n (change)=\"handleMenuItemChange()\"\r\n class=\"lib-menu-custom-class lib-menu-bg-none\"\r\n [disableTextShadow]=\"true\"\r\n >\r\n <img [src]=\"ICONS['horizontalWhite']\" alt=\"Horizontal divider\" />\r\n </lib-menu-btn>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-[14px]\">\r\n <ng-container *ngFor=\"let user of usersList\">\r\n <div [class]=\"'comment-card text-white rounded-xl ' + class\">\r\n <div class=\"flex items-center justify-between\">\r\n <div class=\"rounded-full overflow-hidden me-5\">\r\n <img [src]=\"user.pictureUrl!\" alt=\"User\" loading=\"lazy\" class=\"w-8 h-8 object-cover\" />\r\n </div>\r\n <div class=\"me-2\">\r\n <h4 class=\"normal-text-lg\">{{ user.name }}</h4>\r\n </div>\r\n <div class=\"ml-auto ms-auto flex items-center\" (click) = \"viewProfile()\">\r\n <span class=\"pink-btn ml-auto me-[6px] normal-text-sm\">View Profile</span>\r\n <img [src]=\"ICONS['angleRight']\" alt=\"angle right\" width=\"8\" height=\"16\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n import { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { of, Subscription } from 'rxjs';\r\nimport { Location } from '@angular/common';\r\nimport { SelectOption } from '@naniteninja/ionic-lib';\r\nimport { IUser } from '../../../../_models/app-user';\r\n\r\n@Component({\r\n selector: 'app-itinerary-users',\r\n templateUrl: './itinerary-users.component.html',\r\n styleUrl: './itinerary-users.component.css'\r\n})\r\nexport class ItineraryUsersComponent {\r\n ICONS: Iicon = ICONS;\r\n members: IUser[] | undefined;\r\n loading: boolean = false;\r\n subscription!: Subscription;\r\n options: SelectOption<string>[] = [\r\n {\r\n image: ICONS['food'],\r\n label: 'Viynasa',\r\n value: 'Viynasa',\r\n selected: true,\r\n },\r\n ];\r\n\r\n constructor(\r\n public router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private location: Location\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.subscription = of([]).subscribe((data: IUser[]) => {\r\n this.members = data;\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n backButton() {\r\n this.location.back();\r\n }\r\n searchButtonClick(): void {\r\n this.router.navigate([ItinerariesRoutesEnum.SEARCH]).then((_r) => { });\r\n }\r\n}\r\n","<div>\r\n <div class=\"px-4\">\r\n <ng-template #search>\r\n <img [src]=\"ICONS['search']\" alt=\"right-icon\" (click)=\"searchButtonClick()\" />\r\n </ng-template>\r\n <app-header class=\"mb-4\" [heading]=\"'Total Members( ' + members?.length + ' )'\" (firstButton)=\"backButton()\" [headerSuffixTemplate]=\"search\"></app-header>\r\n </div>\r\n <div class=\"mt-4 ps-4 pe-2\">\r\n <span class=\"normal-text-md normal-text-gray\">\r\n Total users of this itinerary<span class=\"text-pink-600 ml-1\" >Adventure Tour</span>\r\n </span>\r\n </div>\r\n <div class=\"mt-4 ps-[28px] pe-[18px]\">\r\n <app-user-list [usersList]=\"members\"></app-user-list>\r\n </div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ItineraryDrawModeTransferService {\r\n polygonCoords: Array<{ lat: number; lng: number }> = [];\r\n places: google.maps.places.PlaceResult[] = [];\r\n selectedPlaces: google.maps.places.PlaceResult[] = [];\r\n location!: { lat: number, lng: number };\r\n\r\n setPolygon(coords: { lat: number; lng: number }[]) {\r\n this.polygonCoords = coords;\r\n }\r\n\r\n setPlaces(places: google.maps.places.PlaceResult[]) {\r\n this.places = places;\r\n }\r\n\r\n setSelectedPlaces(places: google.maps.places.PlaceResult[]) {\r\n this.selectedPlaces = places;\r\n }\r\n\r\n setCurrentLocation(location: { lat: number, lng: number }) {\r\n this.location = location;\r\n }\r\n\r\n clear() {\r\n this.polygonCoords = [];\r\n this.selectedPlaces = [];\r\n this.places = [];\r\n }\r\n}\r\n","import { Component, EventEmitter, Output } from \"@angular/core\";\r\nimport { Iicon } from \"../../../../_interface/icon\";\r\nimport { ICONS } from \"../../../../_constants/constants\";\r\nimport { IConditions } from \"../../../../_interface/conditions\";\r\nimport { IPresetRecord } from \"../../../../_interface/presetRecord\";\r\n\r\n@Component({\r\n selector: 'lib-no-visual-map-filters',\r\n templateUrl: './no-visual-map-filters.component.html',\r\n styleUrl: './no-visual-map-filters.component.css'\r\n})\r\nexport class NoVisualMapFiltersComponent {\r\n ICONS: Iicon = ICONS;\r\n selectedPresets: string[] = [];\r\n conditionsArray: IConditions[] = [];\r\n\r\n @Output() presetsChanged: EventEmitter<IPresetRecord[]> = new EventEmitter<IPresetRecord[]>();\r\n\r\n @Output() backButtonClicked: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n // Example preset filters\r\n presetFilters: Array<IPresetRecord> = [\r\n { name: 'Restaurants', field: 'type', condition: 'restaurant' },\r\n { name: 'Good Rating', field: 'rating', condition: '>=4' },\r\n { name: 'Open Now', field: 'open_now', condition: true },\r\n ];\r\n\r\n \r\n\r\n // Dynamic fields and their possible conditions\r\n filterFields: string[] = ['type', 'rating', 'open_now'];\r\n\r\n filterConditions: { [key: string]: any[] } = {\r\n type: ['restaurant', 'cafe', 'lodging', 'store'],\r\n rating: ['>=3', '>=4', '>=4.5'],\r\n open_now: ['true', 'false'],\r\n };\r\n\r\n selectedField: string = '';\r\n selectedCondition: string = '';\r\n selectedPreset: any = null;\r\n\r\n firstButtonClick() {\r\n this.backButtonClicked.emit();\r\n }\r\n\r\n applyPreset(preset: IPresetRecord) {\r\n if(this.selectedPresets.includes(preset.name)) {\r\n this.selectedPresets = this.selectedPresets.filter(name => name !== preset.name);\r\n this.conditionsArray = this.conditionsArray.filter(condition => condition.name !== preset.name);\r\n } else {\r\n this.selectedPresets.push(preset.name);\r\n this.conditionsArray.push({\r\n name: preset.name,\r\n field: preset.field,\r\n condition: preset.condition\r\n });\r\n } \r\n }\r\n\r\n onFieldChange() {\r\n this.selectedCondition = ''; // Reset condition when field changes\r\n }\r\n\r\n removeCondition(i: number) {\r\n this.conditionsArray.splice(i, 1);\r\n }\r\n\r\n applyCustomFilter() {\r\n this.conditionsArray.push({\r\n name: '',\r\n field: this.selectedField,\r\n condition: this.selectedCondition\r\n });\r\n this.selectedField = '';\r\n this.selectedCondition = '';\r\n }\r\n\r\n applyFilter() {\r\n this.presetsChanged.emit(this.conditionsArray);\r\n this.backButtonClicked.emit();\r\n }\r\n\r\n applyGooglePlacesFilter(field: string, condition: any) {\r\n console.log(field, condition);\r\n }\r\n}\r\n","<div>\r\n <!-- Header -->\r\n <div class=\"header-main-bar px-5 pt-5 pb-5 mr-3 flex items-center justify-between\">\r\n <lib-icon-btn class=\"checkmark-icon-button\" (click)=\"firstButtonClick()\">\r\n <img [ngSrc]=\"ICONS['back']\" height=\"12\" width=\"13\" />\r\n </lib-icon-btn>\r\n <div class=\"flex\">\r\n <h4 class=\"mr-1 filter-title font-[Calistoga]\">\r\n {{ \"ITINERARY.MAP_FILTER\" | translate }}\r\n </h4>\r\n </div>\r\n <div></div>\r\n </div>\r\n\r\n <!-- Body -->\r\n <div class=\"px-5 pt-5 pb-5 mr-3\">\r\n <div class=\"filters-description text-center\">\r\n Create and apply custom advanced filters to the map or select popular preset filters.\r\n </div>\r\n\r\n <!-- Preset Filter Buttons -->\r\n <div class=\"preset-filters w-full pt-4 mt-4\">\r\n <button\r\n class=\"filter-button font-[Gilroy] ml-2\"\r\n *ngFor=\"let preset of presetFilters\"\r\n (click)=\"applyPreset(preset)\"\r\n [class.selectedbutton]=\"selectedPresets?.includes(preset.name)\"\r\n >\r\n {{ preset.name }}\r\n </button>\r\n </div>\r\n\r\n <h4 class=\"font-[Gilroy] font-semibold mt-8 mb-2\">Filters</h4>\r\n\r\n <!-- Custom Filter Selectors -->\r\n <div class=\"flex justify-left gap-10\">\r\n <!-- Field Dropdown -->\r\n <div class=\"relative w-64\">\r\n <select\r\n class=\"custom-select block w-full px-4 py-2 pr-10 text-lg border border-transparent rounded-full appearance-none transition-all duration-200 font-[Gilroy]\"\r\n [(ngModel)]=\"selectedField\"\r\n (change)=\"onFieldChange()\"\r\n >\r\n <option value=\"\" disabled selected>Field</option>\r\n <option *ngFor=\"let field of filterFields\" [value]=\"field\">{{ field }}</option>\r\n </select>\r\n <div class=\"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-4\">\r\n <svg class=\"h-5 w-5 text-red-500\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"#FE3C72\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n\r\n <!-- Condition Dropdown -->\r\n <div class=\"relative w-64\">\r\n <select\r\n class=\"custom-select block w-full px-4 py-2 pr-10 text-lg border border-transparent rounded-full appearance-none transition-all duration-200 font-[Gilroy]\"\r\n [(ngModel)]=\"selectedCondition\"\r\n >\r\n <option value=\"\" disabled selected>Condition</option>\r\n <option *ngFor=\"let cond of filterConditions[selectedField]\" [value]=\"cond\">{{ cond }}</option>\r\n </select>\r\n <div class=\"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-4\">\r\n <svg class=\"h-5 w-5 text-red-500\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"#FE3C72\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-col gap-3 mt-3\" *ngIf=\"conditionsArray?.length\">\r\n <div class=\"filter-container flex justify-between\" *ngFor=\"let condition of conditionsArray; let i = index; \">\r\n <button\r\n class=\"filter-button font-[Gilroy] ml-2 selectedbutton\"\r\n >\r\n {{ condition.name ? condition.name + '|' : '' }} {{ condition.field }} and {{ condition.condition }}\r\n </button>\r\n\r\n <img (click)=\"removeCondition(i)\" [ngSrc]=\"ICONS['deletePink']\" height=\"15\" width=\"16\" />\r\n </div>\r\n </div>\r\n\r\n <!-- Add Filter Button -->\r\n <div class=\"flex gap-2 mt-4\">\r\n <img src=\"assets/icons/plus.svg\" />\r\n <span (click)=\"applyCustomFilter()\">Add Filter</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"filter-footer\">\r\n <lib-footer-shared\r\n (continueButtonClick)=\"applyFilter()\"\r\n [canContinue]=\"true\"\r\n continueButtonText=\"Apply\"\r\n ></lib-footer-shared>\r\n</div>","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { LocationService } from '../../../../../../_services/location.service';\r\nimport { LibMapsComponent } from '@naniteninja/ionic-lib';\r\nimport { ItineraryDrawModeTransferService } from '../../../../../../_services/itinerary.drawmode.transfer';\r\nimport { IConditions } from '../../../../../../_interface/conditions';\r\nconst defaultIcon = 'assets/icons/map-markers-yellow.svg';\r\nconst selectedIcon = 'assets/icons/restu-icon-large.svg';\r\n\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'lib-create-itinerary-no-visual-filter',\r\n templateUrl: './create-itinerary-no-visual-filter.component.html',\r\n styleUrl: './create-itinerary-no-visual-filter.component.css'\r\n})\r\nexport class CreateItineraryNoVisualFilterComponent implements OnInit, AfterViewInit {\r\n ICONS: Iicon = ICONS;\r\n isOpen = true;\r\n actions: string[] = [ICONS['location'], ICONS['pencil'], ICONS['ban']];\r\n selected: string = this.actions[2];\r\n itinerary!: IItinerary | undefined;\r\n @ViewChild('libMap') libMap!: LibMapsComponent;\r\n initialLocation = { lat: 24.8607, lng: 67.0011 };\r\n selectedMarkers: google.maps.Marker[] = [];\r\n placeMarkers: {\r\n marker: google.maps.Marker,\r\n place: google.maps.places.PlaceResult\r\n }[] = [];\r\n openFilters: boolean = false;\r\n plottedMarkers: google.maps.Marker[] = [];\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n private locationService: LocationService,\r\n private cdr: ChangeDetectorRef,\r\n private transferService: ItineraryDrawModeTransferService\r\n ) {\r\n\r\n }\r\n\r\n searchRestaurantsInView() {\r\n const map = this.libMap.map.googleMap!;\r\n if (map) {\r\n const bounds = map.getBounds(); // Get current visible area\r\n if (!bounds) return;\r\n\r\n const service = new google.maps.places.PlacesService(map);\r\n\r\n service.nearbySearch(\r\n {\r\n bounds: bounds,\r\n type: 'restaurant',\r\n },\r\n (\r\n results: google.maps.places.PlaceResult[] | null,\r\n status: google.maps.places.PlacesServiceStatus,\r\n ) => {\r\n if (status === google.maps.places.PlacesServiceStatus.OK && results) {\r\n results.forEach((place: google.maps.places.PlaceResult) => {\r\n this.addCustomMarker(place);\r\n });\r\n }\r\n },\r\n );\r\n }\r\n }\r\n\r\n addCustomMarker(place: google.maps.places.PlaceResult) {\r\n const marker = new google.maps.Marker({\r\n map: this.libMap.map.googleMap,\r\n position: place.geometry?.location,\r\n title: place.name,\r\n icon: {\r\n url: 'assets/icons/map-markers-yellow.svg',\r\n },\r\n });\r\n this.plottedMarkers.push(marker);\r\n this.placeMarkers.push({\r\n place: place,\r\n marker: marker\r\n });\r\n marker.addListener('click', () => {\r\n // Toggle selection\r\n const index = this.selectedMarkers.indexOf(marker);\r\n\r\n if (index > -1) {\r\n // Marker was already selected → deselect\r\n marker.setIcon(defaultIcon);\r\n this.selectedMarkers.splice(index, 1);\r\n } else {\r\n // Select marker\r\n marker.setIcon(selectedIcon);\r\n this.selectedMarkers.push(marker);\r\n }\r\n });\r\n }\r\n\r\n continueBuilding() {\r\n const selectedPlaces = this.selectedMarkers.map((selectedMarker) => {\r\n const placeMarker = this.placeMarkers.find(placeMarker => placeMarker.marker === selectedMarker);\r\n return placeMarker!.place;\r\n });\r\n const allPlaces = this.placeMarkers.map(placeMarker => placeMarker.place);\r\n this.transferService.setPlaces(allPlaces);\r\n this.transferService.setSelectedPlaces(selectedPlaces);\r\n this.transferService.setCurrentLocation(this.initialLocation);\r\n\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE_PREVIEW,\r\n this.itinerary?._id\r\n ]);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.locationService.getCurrentLocation()\r\n .subscribe((location) => {\r\n this.libMap.map.googleMap?.setCenter({\r\n lat: location.lat,\r\n lng: location.long\r\n });\r\n\r\n //Set the initial location of the user\r\n this.initialLocation = {\r\n lat: location.lat,\r\n lng: location.long\r\n }\r\n this.libMap.map.googleMap?.setZoom(15);\r\n\r\n //Add marker for user position\r\n new google.maps.Marker({\r\n map: this.libMap.map.googleMap,\r\n position: {\r\n lat: location.lat,\r\n lng: location.long\r\n },\r\n title: 'You are here',\r\n icon: {\r\n url: 'assets/current_location.svg',\r\n scaledSize: new google.maps.Size(40, 40),\r\n },\r\n });\r\n\r\n this.searchRestaurantsInView();\r\n });\r\n }\r\n\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnInit(): void {\r\n const id = this.activatedRoute.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe((itinerary) => {\r\n this.itinerary = itinerary;\r\n });\r\n }\r\n }\r\n\r\n toggleFilter() {\r\n this.openFilters = !this.openFilters;\r\n }\r\n\r\n onPresetsChanged(conditions: IConditions[]) {\r\n this.filterPlacesInView(conditions);\r\n }\r\n\r\n onbackButtonClicked() {\r\n this.toggleFilter();\r\n }\r\n\r\n updateAction(action: string) {\r\n this.selected = action;\r\n if(action === this.actions[0]) {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_ORIGIN,\r\n this.itinerary?._id\r\n ]);\r\n }\r\n if(action === this.actions[1]) {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE_CREATE,\r\n this.itinerary?._id,\r\n ]);\r\n }\r\n }\r\n\r\n filterPlacesInView(filters: IConditions[]) {\r\n const map = this.libMap.map.googleMap!;\r\n if (map) {\r\n const bounds = map.getBounds(); // Get current visible area\r\n if (!bounds) return;\r\n\r\n const service = new google.maps.places.PlacesService(map);\r\n\r\n // Extract values from filters\r\n let typeFilter: string | boolean;\r\n let openNowFilter: boolean | undefined;\r\n let ratingFilter: number | undefined;\r\n\r\n filters.forEach((filter: IConditions) => {\r\n if (filter.field === 'type') {\r\n typeFilter = filter.condition;\r\n } else if (filter.field === 'open_now') {\r\n openNowFilter = filter.condition === 'true';\r\n } else if (filter.field === 'rating') {\r\n const match = (filter.condition as string).match(/>=\\s*(\\d+(?:\\.\\d+)?)/);\r\n if (match) {\r\n ratingFilter = parseFloat(match[1]);\r\n }\r\n }\r\n });\r\n\r\n service.nearbySearch(\r\n {\r\n bounds: bounds,\r\n type: typeFilter! as string, // e.g. 'restaurant'\r\n openNow: openNowFilter, // true or false\r\n },\r\n (\r\n results: google.maps.places.PlaceResult[] | null,\r\n status: google.maps.places.PlacesServiceStatus\r\n ) => {\r\n if (status === google.maps.places.PlacesServiceStatus.OK && results) {\r\n const filtered = ratingFilter\r\n ? results.filter(place => {\r\n const rating = place.rating ?? 0;\r\n return rating >= ratingFilter!;\r\n })\r\n : results;\r\n if(this.plottedMarkers.length) {\r\n this.plottedMarkers.forEach((marker) => {\r\n marker.setMap(null);\r\n });\r\n }\r\n this.selectedMarkers = [];\r\n filtered.forEach(place => {\r\n this.addCustomMarker(place);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<img\r\n (click)=\"toggleFilter()\"\r\n class=\"cursor-pointer\"\r\n style=\"position: absolute; right: 10px; top: 20%; z-index: 99;\"\r\n [src]=\"ICONS['dotsIcon']\"\r\n alt=\"icon\"\r\n height=\"40\"\r\n width=\"40\"\r\n />\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<div class=\"filter-page\" *ngIf=\"openFilters\">\r\n <lib-no-visual-map-filters\r\n (presetsChanged)=\"onPresetsChanged($event)\"\r\n (backButtonClicked)=\"onbackButtonClicked()\"\r\n ></lib-no-visual-map-filters>\r\n</div>\r\n<lib-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"NO_VISUAL_FILTERS\"| translate }}</h3>\r\n <div class=\"selectables flex items-center\">\r\n <div\r\n (click)=\"updateAction(a)\"\r\n class=\"flex items-center justify-center actions\"\r\n *ngFor=\"let a of actions\"\r\n [ngClass]=\"{ selected: a === selected }\"\r\n >\r\n <img [src]=\"a\" alt=\"icon\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"mt-3 mb-4\">{{ \"NO_VISUAL_FILTERS\"| translate }}</p>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continueBuilding()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { LibMapsComponent } from '@naniteninja/ionic-lib';\r\nimport { ItineraryDrawModeTransferService } from '../../../../../../_services/itinerary.drawmode.transfer';\r\nconst defaultIcon = 'assets/icons/map-markers-yellow.svg';\r\nconst selectedIcon = 'assets/icons/restu-icon-large.svg';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'lib-create-itinerary-draw-preview',\r\n templateUrl: './create-itinerary-draw-preview.component.html',\r\n styleUrl: './create-itinerary-draw-preview.component.css'\r\n})\r\nexport class CreateItineraryDrawPreviewComponent implements OnInit, AfterViewInit {\r\n ICONS: Iicon = ICONS;\r\n actions: string[] = [ICONS['location'], ICONS['pencil'], ICONS['ban']];\r\n selected: string = this.actions[1];\r\n isOpen: boolean = true;\r\n itinerary!: IItinerary | undefined;\r\n @ViewChild('libMap') libMap!: LibMapsComponent;\r\n mapDrawn: boolean = false;\r\n\r\n polygon!: google.maps.Polygon;//The polygon rendered on map\r\n initialLocation = { lat: 24.8607, lng: 67.0011 };//Location of the user\r\n plottedMarkers: google.maps.Marker[] = [];//Plotted markers on the map\r\n selectedMarkers: google.maps.Marker[] = [];//Selected markers on the map\r\n placesResult!: google.maps.places.PlaceResult[];//Places result required for preview\r\n placeMarkers!: {\r\n marker: google.maps.Marker,\r\n place: google.maps.places.PlaceResult\r\n }[]\r\n allMarkers: google.maps.Marker[] = [];\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private location: Location,\r\n private cdr: ChangeDetectorRef,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n public transferService: ItineraryDrawModeTransferService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const id = this.activatedRoute.snapshot.params['id'];\r\n if (id) {\r\n // this.itineraryService.getById(id).subscribe((itinerary) => {\r\n // this.itinerary = itinerary;\r\n // });\r\n }\r\n }\r\n\r\n\r\n drawPolygon() {\r\n this.polygon = new google.maps.Polygon({\r\n paths: this.transferService.polygonCoords,\r\n strokeColor: '#E17575',\r\n strokeOpacity: 0,\r\n strokeWeight: 0,\r\n fillColor: '#E17575',\r\n fillOpacity: 0.3,\r\n clickable: true,\r\n editable: true,\r\n zIndex: 1,\r\n });\r\n\r\n this.polygon.setMap(this.libMap.map.googleMap!); // Add to map\r\n }\r\n\r\n\r\n addMarkersToMap(map: google.maps.Map) {\r\n const selectedPlaceIds = new Set(this.transferService.selectedPlaces.map(p => p.place_id));\r\n\r\n // Clear existing markers\r\n this.allMarkers.forEach(marker => marker.setMap(null));\r\n this.allMarkers = [];\r\n\r\n // Plot selected places in RED\r\n this.transferService.selectedPlaces.forEach(place => {\r\n if (place.geometry?.location) {\r\n const marker = new google.maps.Marker({\r\n map,\r\n position: place.geometry.location,\r\n title: place.name,\r\n icon: {\r\n url: selectedIcon\r\n }\r\n });\r\n this.selectedMarkers.push(marker);\r\n this.allMarkers.push(marker);\r\n }\r\n });\r\n\r\n // Plot non-selected places (avoid duplicates) in DEFAULT\r\n this.transferService.places.forEach(place => {\r\n if (\r\n place.geometry?.location &&\r\n !selectedPlaceIds.has(place.place_id)\r\n ) {\r\n const marker = new google.maps.Marker({\r\n map,\r\n position: place.geometry.location,\r\n title: place.name,\r\n icon: {\r\n url: defaultIcon\r\n }\r\n });\r\n this.allMarkers.push(marker);\r\n }\r\n });\r\n }\r\n\r\n //UI LOGIC\r\n updateAction(action: string) {\r\n this.selected = action;\r\n }\r\n\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n addCustomMarker(place: google.maps.places.PlaceResult) {\r\n const marker = new google.maps.Marker({\r\n map: this.libMap.map.googleMap,\r\n position: place.geometry?.location,\r\n title: place.name,\r\n icon: {\r\n url: 'assets/icons/map-markers-yellow.svg',\r\n },\r\n });\r\n this.plottedMarkers.push(marker);\r\n this.placeMarkers.push({\r\n place: place,\r\n marker: marker\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.libMap.map.googleMap?.setCenter(this.transferService.location);\r\n this.libMap.map.googleMap?.setZoom(15);\r\n\r\n //Add marker for user position\r\n new google.maps.Marker({\r\n map: this.libMap.map.googleMap,\r\n position: this.transferService.location,\r\n title: 'You are here',\r\n icon: {\r\n url: 'assets/current_location.svg',\r\n scaledSize: new google.maps.Size(40, 40),\r\n },\r\n });\r\n this.addMarkersToMap(this.libMap.map.googleMap!);\r\n this.drawPolygon();\r\n this.optimizeAndRender();\r\n }\r\n\r\n //NAVIGATIONS\r\n back(): void {\r\n this.location.back();\r\n }\r\n\r\n navToPickStartLocation() {\r\n this.router.navigate(\r\n [\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.LOCATION_PICKER,\r\n this.itinerary?._id,\r\n ],\r\n { queryParams: { mode: 'start' } },\r\n );\r\n }\r\n\r\n getClosestPointOnPolygon(polygon: google.maps.Polygon, point: google.maps.LatLng): google.maps.LatLng {\r\n const path = polygon.getPath();\r\n let closestPoint = null;\r\n let minDistance = Infinity;\r\n\r\n for (let i = 0; i < path.getLength(); i++) {\r\n const start = path.getAt(i);\r\n const end = path.getAt((i + 1) % path.getLength());\r\n\r\n // Interpolate points along the segment\r\n for (let t = 0; t <= 1; t += 0.05) {\r\n const interp = google.maps.geometry.spherical.interpolate(start, end, t);\r\n const dist = google.maps.geometry.spherical.computeDistanceBetween(point, interp);\r\n if (dist < minDistance) {\r\n minDistance = dist;\r\n closestPoint = interp;\r\n }\r\n }\r\n }\r\n\r\n return closestPoint!;\r\n }\r\n\r\n continue() {\r\n \r\n }\r\n\r\n optimizeAndRender() {\r\n this.selectedMarkers.sort((a, b) => {\r\n const posA = a.getPosition();\r\n const posB = b.getPosition();\r\n if (!posA) return 1;\r\n if (!posB) return -1;\r\n return posA.lat() - posB.lat();\r\n });\r\n\r\n const markerPositions = this.selectedMarkers\r\n .map(m => m.getPosition())\r\n .filter((p): p is google.maps.LatLng => !!p);\r\n\r\n if (markerPositions.length < 2 || !this.polygon) return;\r\n\r\n const origin = this.getClosestPointOnPolygon(this.polygon, markerPositions[markerPositions.length - 1]);\r\n const destination = this.getClosestPointOnPolygon(this.polygon, markerPositions[0]);\r\n\r\n const waypoints: google.maps.DirectionsWaypoint[] = markerPositions.map(pos => ({\r\n location: pos,\r\n stopover: true\r\n }));\r\n\r\n const directionsService = new google.maps.DirectionsService();\r\n const directionsRenderer = new google.maps.DirectionsRenderer({\r\n map: this.libMap.map.googleMap!,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: '#FFFFFF',\r\n strokeOpacity: 1.0,\r\n strokeWeight: 4\r\n }\r\n });\r\n\r\n directionsService.route(\r\n {\r\n origin,\r\n destination,\r\n waypoints,\r\n travelMode: google.maps.TravelMode.DRIVING,\r\n optimizeWaypoints: false\r\n },\r\n (response, status) => {\r\n if (status === google.maps.DirectionsStatus.OK && response) {\r\n directionsRenderer.setDirections(response);\r\n\r\n new google.maps.Marker({\r\n position: origin,\r\n map: this.libMap.map.googleMap!,\r\n icon: {\r\n url: 'assets/icons/start-loc-marker.svg',\r\n scaledSize: new google.maps.Size(30, 30),\r\n },\r\n title: 'Start Point',\r\n });\r\n\r\n new google.maps.Marker({\r\n position: destination,\r\n map: this.libMap.map.googleMap!,\r\n icon: {\r\n url: 'assets/icons/en-location.svg',\r\n scaledSize: new google.maps.Size(30, 30),\r\n },\r\n title: 'End Point',\r\n });\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"100\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>{{transferService.selectedPlaces?.length}} {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Shan-ul-haq haqee road\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Kabul tikka\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Afghan cuisine\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Quetta TNT\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">Tea Coffee</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'ITINERARY.PREVIEW' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, ViewChild } from '@angular/core';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { IItinerary } from '../../../../../../_models/i-Itinerary';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ItineraryService } from '../../../../../../_services/itinerary.service';\r\nimport { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';\r\nimport { LibMapsComponent } from '@naniteninja/ionic-lib';\r\nimport { LocationService } from '../../../../../../_services/location.service';\r\nimport { ItineraryDrawModeTransferService } from '../../../../../../_services/itinerary.drawmode.transfer';\r\nconst defaultIcon = 'assets/icons/map-markers-yellow.svg';\r\nconst selectedIcon = 'assets/icons/restu-icon-large.svg';\r\n\r\n@Component({\r\n selector: 'lib-create-itinerary-draw-mode',\r\n templateUrl: './create-itinerary-draw-mode.component.html',\r\n styleUrl: './create-itinerary-draw-mode.component.css'\r\n})\r\nexport class CreateItineraryDrawModeComponent {\r\n ICONS: Iicon = ICONS;\r\n actions: string[] = [ICONS['location'], ICONS['pencil'], ICONS['ban']];\r\n selected: string = this.actions[1];\r\n isOpen: boolean = true;\r\n itinerary!: IItinerary | undefined;\r\n @ViewChild('libMap') libMap!: LibMapsComponent;\r\n mapDrawn: boolean = false;\r\n\r\n polygon!: google.maps.Polygon;//The polygon rendered on map\r\n initialLocation = { lat: 24.8607, lng: 67.0011 };//Location of the user\r\n plottedMarkers: google.maps.Marker[] = [];//Plotted markers on the map\r\n selectedMarkers: google.maps.Marker[] = [];//Selected markers on the map\r\n placesResult!: google.maps.places.PlaceResult[];//Places result required for preview\r\n placeMarkers: {\r\n marker: google.maps.Marker,\r\n place: google.maps.places.PlaceResult\r\n }[] = [];\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n private location: Location,\r\n private cdr: ChangeDetectorRef,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private itineraryService: ItineraryService,\r\n private locationService: LocationService,\r\n private transferService: ItineraryDrawModeTransferService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const id = this.activatedRoute.snapshot.params['id'];\r\n if (id) {\r\n this.itineraryService.getById(id).subscribe((itinerary) => {\r\n this.itinerary = itinerary;\r\n });\r\n }\r\n }\r\n\r\n //UI LOGIC\r\n updateAction(action: string) {\r\n this.selected = action;\r\n if(action === this.actions[0]) {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_ORIGIN,\r\n this.itinerary?._id\r\n ]);\r\n }\r\n if(action === this.actions[2]) {\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE_CREATE,\r\n this.itinerary?._id\r\n ]);\r\n }\r\n }\r\n\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n searchRestaurantsInPolygon(\r\n polygonCoords:\r\n | Array<{\r\n lat: number;\r\n lng: number;\r\n }>\r\n | undefined,\r\n ) {\r\n if (polygonCoords) {\r\n this.mapDrawn = true;\r\n const bounds = new google.maps.LatLngBounds();\r\n polygonCoords.forEach((coord) => bounds.extend(coord));\r\n\r\n const service = new google.maps.places.PlacesService(\r\n this.libMap.map.googleMap!,\r\n );\r\n\r\n service.nearbySearch(\r\n {\r\n bounds: bounds,\r\n type: 'restaurant',\r\n },\r\n (\r\n results: google.maps.places.PlaceResult[] | null,\r\n status: google.maps.places.PlacesServiceStatus,\r\n ) => {\r\n if (status === google.maps.places.PlacesServiceStatus.OK && results) {\r\n const filteredResults = results.filter((place) => {\r\n const location = place.geometry?.location;\r\n if (!location) return false;\r\n return google.maps.geometry.poly.containsLocation(location, this.polygon);\r\n });\r\n\r\n this.placesResult = filteredResults;\r\n filteredResults.forEach((place: google.maps.places.PlaceResult) => {\r\n this.addCustomMarker(place);\r\n });\r\n this.mapDrawn = true;\r\n }\r\n },\r\n );\r\n }\r\n }\r\n\r\n addCustomMarker(place: google.maps.places.PlaceResult) {\r\n const marker = new google.maps.Marker({\r\n map: this.libMap.map.googleMap,\r\n position: place.geometry?.location,\r\n title: place.name,\r\n icon: {\r\n url: 'assets/icons/map-markers-yellow.svg',\r\n },\r\n });\r\n this.plottedMarkers.push(marker);\r\n this.placeMarkers.push({\r\n place: place,\r\n marker: marker\r\n });\r\n marker.addListener('click', () => {\r\n // Toggle selection\r\n const index = this.selectedMarkers.indexOf(marker);\r\n\r\n if (index > -1) {\r\n // Marker was already selected → deselect\r\n marker.setIcon(defaultIcon);\r\n this.selectedMarkers.splice(index, 1);\r\n } else {\r\n // Select marker\r\n marker.setIcon(selectedIcon);\r\n this.selectedMarkers.push(marker);\r\n }\r\n });\r\n }\r\n\r\n clearMap() {\r\n this.mapDrawn = false;\r\n if(this.polygon) {\r\n this.polygon.setMap(null);\r\n }\r\n this.clearMarkers();\r\n }\r\n\r\n continue() {\r\n const coordinates: Array<{ lat: number; lng: number }> = [];\r\n this.polygon.getPath().forEach(coord => {\r\n coordinates.push({ lat: coord.lat(), lng: coord.lng() });\r\n });\r\n this.transferService.setPolygon(coordinates);\r\n\r\n const selectedPlaces = this.selectedMarkers.map((selectedMarker) => {\r\n const placeMarker = this.placeMarkers.find(placeMarker => placeMarker.marker === selectedMarker);\r\n return placeMarker!.place;\r\n });\r\n\r\n const allPlaces = this.placeMarkers.map(placeMarker => placeMarker.place);\r\n\r\n this.transferService.setPlaces(allPlaces);\r\n this.transferService.setSelectedPlaces(selectedPlaces);\r\n this.transferService.setCurrentLocation(this.initialLocation);\r\n\r\n this.router.navigate([\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE,\r\n ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE_PREVIEW,\r\n this.itinerary?._id\r\n ]);\r\n }\r\n\r\n clearPolygonIfExist() {\r\n if(this.polygon) {\r\n this.polygon.setMap(null);\r\n }\r\n }\r\n\r\n clearMarkers() {\r\n if(this.plottedMarkers?.length) {\r\n this.plottedMarkers?.forEach((plottedMarker) => plottedMarker.setMap(null));\r\n } \r\n }\r\n\r\n ngAfterViewInit() {\r\n this.locationService.getCurrentLocation()\r\n .subscribe((location) => {\r\n this.libMap.map.googleMap?.setCenter({\r\n lat: location.lat,\r\n lng: location.long\r\n });\r\n\r\n //Set the initial location of the user\r\n this.initialLocation = {\r\n lat: location.lat,\r\n lng: location.long\r\n }\r\n this.libMap.map.googleMap?.setZoom(15);\r\n\r\n //Add marker for user position\r\n new google.maps.Marker({\r\n map: this.libMap.map.googleMap,\r\n position: {\r\n lat: location.lat,\r\n lng: location.long\r\n },\r\n title: 'You are here',\r\n icon: {\r\n url: 'assets/current_location.svg',\r\n scaledSize: new google.maps.Size(40, 40),\r\n },\r\n });\r\n\r\n // Enable polygon drawing\r\n const drawingManager = new google.maps.drawing.DrawingManager({\r\n drawingMode: google.maps.drawing.OverlayType.POLYGON,\r\n drawingControl: true,\r\n drawingControlOptions: {\r\n position: google.maps.ControlPosition.RIGHT_CENTER,\r\n drawingModes: [google.maps.drawing.OverlayType.POLYGON],\r\n },\r\n polygonOptions: {\r\n strokeColor: '#E17575',\r\n strokeOpacity: 0,\r\n strokeWeight: 0,\r\n fillColor: '#E17575',\r\n fillOpacity: 0.3,\r\n clickable: true,\r\n editable: true,\r\n zIndex: 1,\r\n },\r\n });\r\n drawingManager.setMap(this.libMap.map.googleMap!);\r\n\r\n google.maps.event.addListener(drawingManager, 'drawingmode_changed', () => {\r\n const mode = drawingManager.getDrawingMode();\r\n if (mode === google.maps.drawing.OverlayType.POLYGON) {\r\n this.clearPolygonIfExist();\r\n }\r\n });\r\n\r\n // Listen for polygon completion\r\n google.maps.event.addListener(drawingManager, 'overlaycomplete', (event: google.maps.drawing.OverlayCompleteEvent) => {\r\n if (event.type === google.maps.drawing.OverlayType.POLYGON) {\r\n const polygon = event.overlay as google.maps.Polygon;\r\n this.polygon = polygon;\r\n // Disable drawing after one polygon\r\n drawingManager.setDrawingMode(null);\r\n\r\n // Access the polygon coordinates\r\n const path = polygon.getPath();\r\n const coordinates: Array<any> = [];\r\n path.forEach((coord: any) => {\r\n coordinates.push({ lat: coord.lat(), lng: coord.lng() });\r\n });\r\n\r\n this.searchRestaurantsInPolygon(coordinates);\r\n }\r\n });\r\n });\r\n }\r\n\r\n //NAVIGATIONS\r\n back(): void {\r\n this.location.back();\r\n }\r\n\r\n navToPickStartLocation() {\r\n this.router.navigate(\r\n [\r\n ItinerariesRoutesEnum.ITINERARY,\r\n ItinerariesRoutesEnum.LOCATION_PICKER,\r\n this.itinerary?._id,\r\n ],\r\n { queryParams: { mode: 'start' } },\r\n );\r\n }\r\n\r\n getClosestPointOnPolygon(polygon: google.maps.Polygon, point: google.maps.LatLng): google.maps.LatLng {\r\n const path = polygon.getPath();\r\n let closestPoint = null;\r\n let minDistance = Infinity;\r\n\r\n for (let i = 0; i < path.getLength(); i++) {\r\n const start = path.getAt(i);\r\n const end = path.getAt((i + 1) % path.getLength());\r\n\r\n // Interpolate points along the segment\r\n for (let t = 0; t <= 1; t += 0.05) {\r\n const interp = google.maps.geometry.spherical.interpolate(start, end, t);\r\n const dist = google.maps.geometry.spherical.computeDistanceBetween(point, interp);\r\n if (dist < minDistance) {\r\n minDistance = dist;\r\n closestPoint = interp;\r\n }\r\n }\r\n }\r\n\r\n return closestPoint!;\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<lib-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"\">\r\n <ng-container *ngIf=\"!mapDrawn\">\r\n <div class=\"flex items-center justify-between pl-4 pr-4\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"ITINERARY.DRAW\" | translate }}</h3>\r\n <div class=\"selectables flex items-center\">\r\n <div\r\n (click)=\"updateAction(a)\"\r\n class=\"flex items-center justify-center actions\"\r\n *ngFor=\"let a of actions\"\r\n [ngClass]=\"{ selected: a === selected }\"\r\n >\r\n <img [src]=\"a\" alt=\"icon\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"mt-3 px-4 mb-4\">{{ \"ITINERARY.DRAW_DESCRIPTION\" | translate }}</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"mapDrawn\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span> {{ \"ITINERARY.SELECT_MIN_PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span> 0 minutes</span>\r\n <span class=\"text-secondary font-thin\">(0.0 km)</span>\r\n </div>\r\n </div>\r\n <div class=\"select-places-description mt-5 text-center mb-4\">\r\n {{ \"ITINERARY.SELECT_PLACES_INSTRUCTION\" | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continue()\"\r\n (secondaryButtonClick)=\"clearMap()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n [secondaryButtonText]=\"'COMMON.CLEAR' | translate\"\r\n ></lib-footer-shared>\r\n </div>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { INotification } from '../../../../_interface/notification';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { AssetsService } from '../../../../_services/assets.service';\r\n \r\ninterface ItineraryNotification {\r\n notification: INotification;\r\n needReview: boolean;\r\n callback: () => void;\r\n}\r\n\r\n@Component({\r\n selector: 'app-notifications',\r\n templateUrl: './notifications.component.html',\r\n styleUrl: './notifications.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NotificationsComponent implements OnInit {\r\n notifications: ItineraryNotification[] = [];\r\n loading: boolean = false;\r\n\r\n //LIFE CYCLE\r\n constructor(\r\n private _location: Location,\r\n private router: Router,\r\n private assetService: AssetsService,\r\n private cdr: ChangeDetectorRef,\r\n ) {}\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.assetService.getNotifications().subscribe((res) => {\r\n this.notifications = res.map(\r\n (x) =>\r\n <ItineraryNotification>{\r\n notification: x,\r\n needReview: false,\r\n callback: () => {},\r\n },\r\n );\r\n this.notifications[0].needReview = true;\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n //NAVIGATIONS\r\n backButton(): void {\r\n this._location.back();\r\n }\r\n\r\n navToCommentApproval() {\r\n this.router.navigate([\r\n 'itineraries',\r\n ItinerariesRoutesEnum.COMMENT_UPDATE_REQUEST,\r\n ]);\r\n }\r\n}\r\n","<div class=\"z-auto\">\r\n <div class=\"pb-10\">\r\n <app-header heading=\"Notifications\" (firstButton)=\"backButton()\"></app-header>\r\n\r\n <ng-container *ngFor=\"let n of notifications\">\r\n <app-notification-tile [content]=\"n.notification.notificationContent\" [isBtnVisible]=\"n.needReview\"\r\n [notificationAttended]=\"n.notification.attended\" btnText=\"Review Now\"\r\n (btnClick)=\"navToCommentApproval()\"></app-notification-tile>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms'; \r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ModalService } from '../../../../_services/modal.service';\r\nimport { IReportOptions } from '../../../../_interface/reportOptions';\r\nimport { ApiService } from '../../../../_services/api.service';\r\nimport { ConstantsService } from '../../../../_services/constants.service';\r\nimport { FormFieldType } from '@naniteninja/ionic-lib';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-report-media-modal',\r\n templateUrl: './report-media-modal.component.html',\r\n styleUrls: ['./report-media-modal.component.scss'],\r\n})\r\nexport class ReportMediaModalComponent implements OnInit, OnDestroy {\r\n @Input() popupTitle!: string;\r\n selectedItem: number | undefined;\r\n radio: FormControl = new FormControl(0);\r\n options: IReportOptions[] = [];\r\n private destroy$: Subject<void> = new Subject<void>();\r\n\r\n constructor(\r\n public constantService: ConstantsService,\r\n public modalService: ModalService,\r\n public apiService: ApiService,\r\n private cdr: ChangeDetectorRef,\r\n ) { }\r\n\r\n radioChecked(): void {\r\n if (this.radio.value === this.constantService.SPECIAL_VALUE) {\r\n this.selectedItem = this.constantService.SPECIAL_VALUE;\r\n } else {\r\n this.selectedItem = 0;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.apiService\r\n .get<IReportOptions[]>('/assets/reportMediaOptions.json')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((data: IReportOptions[]) => {\r\n this.options = data;\r\n this.cdr.detectChanges();\r\n });\r\n\r\n this.radio.valueChanges\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((e: number | null) => {\r\n this.selectedItem =\r\n e === this.constantService.SPECIAL_VALUE\r\n ? this.constantService.SPECIAL_VALUE\r\n : 0;\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n closeModal(): void {\r\n this.modalService.toggleModal = !this.modalService.toggleModal;\r\n }\r\n\r\n onOk(): void { }\r\n\r\n protected readonly FormFieldType = FormFieldType;\r\n}\r\n","<div class=\"report-media max-padd-container\">\r\n <h1 class=\"p-1\">{{ popupTitle | translate }}</h1>\r\n <div>\r\n <lib-form-field [formFieldControl]=\"radio\" [submitted]=\"false\" [required]=\"true\" [maxLength]=\"10\"\r\n [type]=\"FormFieldType.radio\" [options]=\"options\" [radioDeselectable]=\"false\" class=\"mb-2 report-items\"\r\n ></lib-form-field>\r\n </div>\r\n\r\n <lib-text-box class=\"text-feild\" [class.show]=\"selectedItem == 9\" [class.hide]=\"selectedItem != 9\"\r\n label=\"Please brief your issue\"></lib-text-box>\r\n <div class=\"flex justify-center gap-10 mt-3\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"closeModal()\">{{ \"COMMON.CANCEL\" | translate}}</button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"onOk()\">{{ \"REPORT\" | translate }}</button>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib'; \r\nimport { CustomDropdownMenuService } from '../../../../_services/custom-dropdown-menu.service';\r\nimport { ModalService } from '../../../../_services/modal.service';\r\n\r\n@Component({\r\n selector: 'app-story',\r\n templateUrl: './story.component.html',\r\n styleUrl: './story.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class StoryComponent implements OnInit {\r\n libMenuItem: LibMenuItem[] = [];\r\n @ViewChildren('slide') slideElements!: QueryList<ElementRef>;\r\n @ViewChild('scrollable-content') scrollableContentRef!: ElementRef;\r\n direction :any = 'vertical'\r\n transition :boolean =true\r\n slidesPerView :number = 1\r\n freeMode :boolean = false\r\n includeSidePadding : boolean = true\r\n centeredSlides: boolean= true\r\n windowHeight :any\r\n Pagination :any = {\r\n el: '.swiper-pagination',\r\n clickable: true,\r\n }\r\n activeSlideIndex = 0;\r\n constructor(\r\n public modalService: ModalService,\r\n public customMenuList: CustomDropdownMenuService,\r\n ) {}\r\n ngOnInit(): void {\r\n this.libMenuItem = this.customMenuList.getMenuList('stories');\r\n this.windowHeight = window.screen.height;}\r\n ngAfterViewInit() {\r\n }\r\n onSlideChange(event: any) {\r\n this.activeSlideIndex = event.realIndex || event.activeIndex || 0;\r\n }\r\n}\r\n","<div class=\"draggable-scroll-container w-full \">\r\n <div class=\"scrollable-content \" [ngStyle]=\"{ height: windowHeight + 'px' }\" libDraggableScroll\r\n [direction]=\"direction\" [includeSidePadding]=\"false\">\r\n <div class=\"slides m-0 \" *ngFor=\"let item of [1, 2, 3]\">\r\n <div class=\"z-auto \">\r\n <div class=\"p-0 m-0\">\r\n <app-custom-story-card [libMenuItem]=\"libMenuItem\"> </app-custom-story-card>\r\n </div>\r\n <lib-popup [isOpen]=\"modalService.toggleModal\">\r\n <app-report-media-modal [popupTitle]=\"'Report Media'\"></app-report-media-modal>\r\n </lib-popup>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { Iicon } from '../../../../_interface/icon'; \r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { Location } from '@angular/common';\r\nimport { SelectOption } from '@naniteninja/ionic-lib';\r\nimport { Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { of } from 'rxjs';\r\nimport { IUser } from '../../../../_models/app-user';\r\n\r\n@Component({\r\n selector: 'app-itinerary-upvote-users',\r\n templateUrl: './itinerary-upvote-users.component.html',\r\n styleUrl: './itinerary-upvote-users.component.css'\r\n})\r\nexport class ItineraryUpvoteUsersComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n upvotesUsers: IUser[] = [];\r\n loading: boolean = false;\r\n subscription!: Subscription;\r\n options: SelectOption<string>[] = [\r\n {\r\n image: ICONS['food'],\r\n label: 'Viynasa',\r\n value: 'Viynasa',\r\n selected: true,\r\n },\r\n ];\r\n\r\n constructor(\r\n private router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private location: Location\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.subscription = of([]).subscribe((data: IUser[]) => {\r\n this.upvotesUsers = data;\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n backButton() {\r\n this.location.back();\r\n }\r\n\r\n searchButtonClick(): void {\r\n this.router.navigate([ItinerariesRoutesEnum.SEARCH]).then((_r) => { });\r\n }\r\n}\r\n","<div>\r\n <div class=\"px-4\">\r\n <ng-template #search>\r\n <img [src]=\"ICONS['search']\" alt=\"right-icon\" (click)=\"searchButtonClick()\" />\r\n </ng-template>\r\n <app-header [heading]=\"'Upvotes(' + (upvotesUsers.length) + ')'\" (firstButton)=\"backButton()\" [headerSuffixTemplate]=\"search\"></app-header>\r\n </div>\r\n <div class=\"mt-4 ps-4 pe-2\">\r\n <span class=\"normal-text-md normal-text-gray\">\r\n See who liked this itinerary<span class=\"text-pink-600 ml-1\" >Adventure Tour</span>\r\n </span>\r\n </div>\r\n <div class=\"mt-4 ps-[28px] pe-[18px]\">\r\n <app-user-list [usersList]=\"upvotesUsers\"></app-user-list>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { of, Subscription } from 'rxjs';\r\nimport { SelectOption } from '@naniteninja/ionic-lib';\r\nimport { Location } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { IUser } from '../../../../_models/app-user';\r\n\r\n@Component({\r\n selector: 'app-itinerary-watching-users',\r\n templateUrl: './itinerary-watching-users.component.html',\r\n styleUrl: './itinerary-watching-users.component.css'\r\n})\r\nexport class ItineraryWatchingUsersComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n watchingMembers: IUser[] | undefined;\r\n loading: boolean = false;\r\n subscription!: Subscription;\r\n options: SelectOption<string>[] = [\r\n {\r\n image: ICONS['food'],\r\n label: 'Viynasa',\r\n value: 'Viynasa',\r\n selected: true,\r\n },\r\n ];\r\n\r\n constructor(\r\n public router: Router,\r\n private cdr: ChangeDetectorRef,\r\n private location: Location\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.subscription = of([]).subscribe((data: IUser[]) => {\r\n this.watchingMembers = data;\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n searchButtonClick(): void {\r\n this.router.navigate([ItinerariesRoutesEnum.SEARCH]).then((_r) => { });\r\n }\r\n\r\n backButton() {\r\n this.location.back();\r\n }\r\n}\r\n","<div>\r\n <div class=\"px-4\">\r\n <ng-template #search>\r\n <img [src]=\"ICONS['search']\" alt=\"right-icon\" (click)=\"searchButtonClick()\" />\r\n </ng-template>\r\n <app-header [heading]=\"'Watching(' + (watchingMembers?.length ?? 0) + ')'\" (firstButton)=\"backButton()\" [headerSuffixTemplate]=\"search\"></app-header>\r\n </div>\r\n <div class=\"mt-4 ps-4 pe-2\">\r\n <span class=\"normal-text-md normal-text-gray\">\r\n See who liked this itinerary<span class=\"text-pink-600 ml-1\" >Adventure Tour</span>\r\n </span>\r\n </div>\r\n <div class=\"mt-4 ps-[28px] pe-[18px]\">\r\n <app-user-list [usersList]=\"watchingMembers\"></app-user-list>\r\n </div>\r\n</div>\r\n","import { AfterViewInit, Component, ViewChild } from '@angular/core';\r\nimport { ItineraryDrawModeTransferService } from '../../../../../../_services/itinerary.drawmode.transfer';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\nimport { LibMapsComponent } from '@naniteninja/ionic-lib';\r\nconst defaultIcon = 'assets/icons/map-markers-yellow.svg';\r\nconst selectedIcon = 'assets/icons/restu-icon-large.svg';\r\n\r\n\r\n@Component({\r\n selector: 'lib-create-itinerary-no-visual-preview',\r\n templateUrl: './create-itinerary-no-visual-preview.component.html',\r\n styleUrl: './create-itinerary-no-visual-preview.component.css'\r\n})\r\nexport class CreateItineraryNoVisualPreviewComponent implements AfterViewInit {\r\n ICONS: Iicon = ICONS;\r\n isOpen: boolean = true;\r\n selectedMarkers: google.maps.Marker[] = [];//Selected markers on the map\r\n placesResult!: google.maps.places.PlaceResult[];//Places result required for preview\r\n placeMarkers!: {\r\n marker: google.maps.Marker,\r\n place: google.maps.places.PlaceResult\r\n }[]\r\n allMarkers: google.maps.Marker[] = [];\r\n @ViewChild('libMap') libMap!: LibMapsComponent;\r\n constructor(\r\n public transferService: ItineraryDrawModeTransferService\r\n ) {\r\n }\r\n\r\n preview() {\r\n \r\n }\r\n\r\n ngAfterViewInit() {\r\n this.libMap.map.googleMap?.setCenter(this.transferService.location);\r\n this.libMap.map.googleMap?.setZoom(15);\r\n\r\n //Add marker for user position\r\n new google.maps.Marker({\r\n map: this.libMap.map.googleMap,\r\n position: this.transferService.location,\r\n title: 'You are here',\r\n icon: {\r\n url: 'assets/current_location.svg',\r\n scaledSize: new google.maps.Size(40, 40),\r\n },\r\n });\r\n this.addMarkersToMap(this.libMap.map.googleMap!);\r\n }\r\n\r\n addMarkersToMap(map: google.maps.Map) {\r\n const selectedPlaceIds = new Set(this.transferService.selectedPlaces.map(p => p.place_id));\r\n\r\n // Clear existing markers\r\n this.allMarkers.forEach(marker => marker.setMap(null));\r\n this.allMarkers = [];\r\n\r\n // Plot selected places in RED\r\n this.transferService.selectedPlaces.forEach(place => {\r\n if (place.geometry?.location) {\r\n const marker = new google.maps.Marker({\r\n map,\r\n position: place.geometry.location,\r\n title: place.name,\r\n icon: {\r\n url: selectedIcon\r\n }\r\n });\r\n this.selectedMarkers.push(marker);\r\n this.allMarkers.push(marker);\r\n }\r\n });\r\n\r\n // Plot non-selected places (avoid duplicates) in DEFAULT\r\n this.transferService.places.forEach(place => {\r\n if (\r\n place.geometry?.location &&\r\n !selectedPlaceIds.has(place.place_id)\r\n ) {\r\n const marker = new google.maps.Marker({\r\n map,\r\n position: place.geometry.location,\r\n title: place.name,\r\n icon: {\r\n url: defaultIcon\r\n }\r\n });\r\n this.allMarkers.push(marker);\r\n }\r\n });\r\n\r\n this.optimizeAndRender();\r\n }\r\n\r\n showBottomModal(): void {\r\n this.isOpen = true;\r\n }\r\n\r\n optimizeAndRender() {\r\n if (this.selectedMarkers.length < 2) return;\r\n\r\n // Sort markers based on latitude (optional — adjust this logic as per your direction needs)\r\n this.selectedMarkers.sort((a, b) => {\r\n const posA = a.getPosition();\r\n const posB = b.getPosition();\r\n if (!posA) return 1;\r\n if (!posB) return -1;\r\n return posB.lat() - posA.lat();\r\n });\r\n\r\n const markerPositions = this.selectedMarkers\r\n .map(m => m.getPosition())\r\n .filter((p): p is google.maps.LatLng => !!p);\r\n\r\n if (markerPositions.length < 2) return;\r\n\r\n const destination = markerPositions[markerPositions.length - 1];\r\n const startPos = markerPositions[0];\r\n\r\n // Calculate a synthetic starting point slightly before the first marker (northwards)\r\n const OFFSET_METERS = 50; // adjust this for how far back the path should start\r\n const syntheticStart = google.maps.geometry.spherical.computeOffset(startPos, -OFFSET_METERS, 180);\r\n\r\n const waypoints: google.maps.DirectionsWaypoint[] = markerPositions.map(pos => ({\r\n location: pos,\r\n stopover: true\r\n }));\r\n\r\n const directionsService = new google.maps.DirectionsService();\r\n const directionsRenderer = new google.maps.DirectionsRenderer({\r\n map: this.libMap.map.googleMap!,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: '#FFFFFF',\r\n strokeOpacity: 1.0,\r\n strokeWeight: 4,\r\n }\r\n });\r\n\r\n directionsService.route(\r\n {\r\n origin: syntheticStart,\r\n destination,\r\n waypoints,\r\n travelMode: google.maps.TravelMode.DRIVING,\r\n optimizeWaypoints: false,\r\n },\r\n (response, status) => {\r\n if (status === google.maps.DirectionsStatus.OK && response) {\r\n directionsRenderer.setDirections(response);\r\n\r\n // Draw custom markers\r\n new google.maps.Marker({\r\n position: syntheticStart,\r\n map: this.libMap.map.googleMap!,\r\n icon: {\r\n url: 'assets/icons/start-loc-marker.svg',\r\n scaledSize: new google.maps.Size(30, 30),\r\n },\r\n title: 'Start Point',\r\n });\r\n\r\n new google.maps.Marker({\r\n position: destination,\r\n map: this.libMap.map.googleMap!,\r\n icon: {\r\n url: 'assets/icons/en-location.svg',\r\n scaledSize: new google.maps.Size(30, 30),\r\n },\r\n title: 'End Point',\r\n });\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","<app-create-itinerary-header\r\n [progressBarValue]=\"100\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n\r\n<lib-bottom-modal\r\n [(isOpen)]=\"isOpen\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>{{transferService.selectedPlaces?.length}} {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Shan-ul-haq haqee road\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Kabul tikka\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Afghan cuisine\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Quetta TNT\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">Tea Coffee</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"preview()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'ITINERARY.PREVIEW' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n","import { forwardRef, NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ItinerariesComponent } from './itineraries.component';\r\nimport { AdvancedFiltersComponent } from './pages/advanced-filters/advanced-filters.component';\r\nimport { BranchedItinerariesComponent } from './pages/branched-itineraries/branched-itineraries.component';\r\nimport { BuilderComponent } from './pages/builder/builder.component';\r\nimport { CreateItineraryDestinationComponent } from './pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component';\r\nimport { CreateItineraryMemberDetailsComponent } from './pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component';\r\nimport { CreateItineraryStartLocationComponent } from './pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component';\r\nimport { CreateItineraryUserSearchComponent } from './pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component';\r\nimport { CreateItineraryComponent } from './pages/builder/pages/create-itinerary/create-itinerary.component';\r\nimport { CreatedItineraryDetailComponent } from './pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component';\r\nimport { CreatedItineraryMapComponent } from './pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component';\r\nimport { CreatedItineraryPreviewComponent } from './pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component';\r\nimport { CreatedItineraryComponent } from './pages/builder/pages/created-itinerary/created-itinerary.component';\r\nimport { ItineraryAddPlaceComponent } from './pages/builder/pages/itinerary-add-place/itinerary-add-place.component';\r\nimport { ItineraryPlaceBasicInfoComponent } from './pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component';\r\nimport { ItineraryPlaceDateTimeComponent } from './pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component';\r\nimport { ItineraryPlaceMembersComponent } from './pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component';\r\nimport { LocationPickerComponent } from './pages/builder/pages/location-picker/location-picker.component';\r\nimport { SelectItineraryEventComponent } from './pages/builder/pages/select-itinerary-event/select-itinerary-event.component';\r\nimport { SuggestedEventsLocationComponent } from './pages/builder/pages/suggested-events-location/suggested-events-location.component';\r\nimport { SuggestedEventsRouteRadiusComponent } from './pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component';\r\nimport { SuggestedEventsRouteTypeComponent } from './pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component';\r\nimport { CommentRepliesComponent } from './pages/comment-replies/comment-replies.component';\r\nimport { CommentSearchComponent } from './pages/comments/comment-search/comment-search.component';\r\nimport { HandleUpdateCommentRequestComponent } from './pages/comments/handle-update-comment-request/handle-update-comment-request.component';\r\nimport { ExploreComponent } from './pages/explore/explore.component';\r\nimport { FavoritesComponent } from './pages/favorites/favorites.component';\r\nimport { ItineraryAuthorHistoryComponent } from './pages/itinerary-author-history/itinerary-author-history.component';\r\nimport { DetailsComponent } from './pages/itinerary-detail/components/details/details.component';\r\nimport { MapComponent } from './pages/itinerary-detail/components/map/map.component';\r\nimport { SummaryComponent } from './pages/itinerary-detail/components/summary/summary.component';\r\nimport { ItineraryDetailComponent } from './pages/itinerary-detail/itinerary-detail.component';\r\nimport { FriendRequestsComponent } from './pages/itinerary-friends/friend-requests/friend-requests.component';\r\nimport { ItineraryFriendsComponent } from './pages/itinerary-friends/itinerary-friends.component';\r\nimport { ListFriendUsersComponent } from './pages/itinerary-friends/list-friend-users/list-friend-users.component'; \r\nimport { AllPeopleComponent } from './pages/itinerary-members/all-people/all-people.component';\r\nimport { ItineraryMembersComponent } from './pages/itinerary-members/itinerary-members.component';\r\nimport { ItinerarySentInvitesComponent } from './pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component';\r\nimport { ItineraryUsersComponent } from './pages/itinerary-users/itinerary-users.component';\r\nimport { CreateItineraryNoVisualFilterComponent } from './pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component';\r\nimport { CreateItineraryDrawPreviewComponent } from './pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component';\r\nimport { CreateItineraryDrawModeComponent } from './pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component';\r\nimport { NotificationsComponent } from './pages/notifications/notifications.component';\r\nimport { StoryComponent } from './pages/stories/story.component';\r\nimport { ItinerariesRoutesEnum } from '../../_enums/ItenariesRoutes.enum';\r\nimport { ItineraryUpvoteUsersComponent } from './pages/itinerary-upvote-users/itinerary-upvote-users.component';\r\nimport { ItineraryWatchingUsersComponent } from './pages/itinerary-watching-users/itinerary-watching-users.component';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'; \r\nimport { CreateItineraryNoVisualPreviewComponent } from './pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component';\r\nimport { TextBoxComponent } from '@naniteninja/ionic-lib';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ItinerariesComponent,\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: ItinerariesRoutesEnum.EXPLORE,\r\n pathMatch: 'full',\r\n },\r\n { path: ItinerariesRoutesEnum.EXPLORE, component: ExploreComponent },\r\n { path: ItinerariesRoutesEnum.BUILDER, component: BuilderComponent },\r\n { path: ItinerariesRoutesEnum.FAVORITES, component: FavoritesComponent },\r\n ],\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.CREATE_ITINERARY,\r\n component: CreateItineraryComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATE_ITINERARY}/:id`,\r\n component: CreateItineraryComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.LOCATION_PICKER}/:id`,\r\n component: LocationPickerComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.SUGGESTED_EVENTS_LOCATION}/:id`,\r\n component: SuggestedEventsLocationComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.SUGGESTED_EVENTS_ROUTE_TYPE}/:id`,\r\n component: SuggestedEventsRouteTypeComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.SUGGESTED_EVENTS_ROUTE_RADIUS}/:id`,\r\n component: SuggestedEventsRouteRadiusComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATE_ITINERARY_ORIGIN}/:id`,\r\n component: CreateItineraryStartLocationComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE}/${ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE_CREATE}/:id`,\r\n component: CreateItineraryDrawModeComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE}/${ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE_PREVIEW}/:id`,\r\n component: CreateItineraryDrawPreviewComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE}/${ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE_CREATE}/:id`,\r\n component: CreateItineraryNoVisualFilterComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE}/${ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE_PREVIEW}/:id`,\r\n component: CreateItineraryNoVisualPreviewComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATE_ITINERARY_DESTINATION}/:id`,\r\n component: CreateItineraryDestinationComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.SELECT_ITINERARY_EVENTS}/:id`,\r\n component: SelectItineraryEventComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATE_ITINERARY_USER_SEARCH}/:id`,\r\n component: CreateItineraryUserSearchComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATE_ITINERARY_MEMBER_DETAILS}/:id`,\r\n component: CreateItineraryMemberDetailsComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.SELECT_ITINERARY_ADD_PLACE}/:id`,\r\n component: ItineraryAddPlaceComponent,\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: ItinerariesRoutesEnum.SELECT_ITINERARY_PLACE_BASIC_INFO,\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.SELECT_ITINERARY_PLACE_BASIC_INFO,\r\n component: ItineraryPlaceBasicInfoComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.SELECT_ITINERARY_PLACE_DATETIME,\r\n component: ItineraryPlaceDateTimeComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.SELECT_ITINERARY_PLACE_MEMBERS,\r\n component: ItineraryPlaceMembersComponent,\r\n },\r\n ],\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATED_ITINERARY}/:id`,\r\n component: CreatedItineraryComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.CREATED_ITINERARY_PREVIEW}/:id`,\r\n component: CreatedItineraryPreviewComponent,\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: ItinerariesRoutesEnum.CREATED_ITINERARY_DETAIL,\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.CREATED_ITINERARY_DETAIL,\r\n component: CreatedItineraryDetailComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.CREATED_ITINERARY_MAP,\r\n component: CreatedItineraryMapComponent,\r\n },\r\n ],\r\n },\r\n { path: ItinerariesRoutesEnum.STORIES, component: StoryComponent },\r\n { path: `${ItinerariesRoutesEnum.COMMENTS_ROUTE}/:id`, loadChildren: () => import('@flower-city-online/comment-lib').then(m => m.CommentModule) },\r\n {\r\n path: ItinerariesRoutesEnum.NOTIFICATIONS,\r\n component: NotificationsComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.ITINERARY_WATCHING_USERS,\r\n component: ItineraryWatchingUsersComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.COMMENT_UPDATE_REQUEST,\r\n component: HandleUpdateCommentRequestComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.ITINERARY_MEMBERS}/:id`,\r\n component: ItineraryMembersComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.ALL_INVITES_SENT}/:id`,\r\n component: ItinerarySentInvitesComponent,\r\n }, \r\n { path: `${ItinerariesRoutesEnum.All_PEOPLE}/:id`, component: AllPeopleComponent },\r\n {\r\n path: ItinerariesRoutesEnum.BRANCHED_ITINERARIES,\r\n component: BranchedItinerariesComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.BRANCHED_ITINERARIES}/:id`,\r\n component: BranchedItinerariesComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.COMMENT_SEARCH,\r\n component: CommentSearchComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.COMMENT_SEARCH}/${ItinerariesRoutesEnum.ADVANCED_FILTERS}`,\r\n component: AdvancedFiltersComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.COMMENT_REPLIES}/:id`,\r\n component: CommentRepliesComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.ITINERARY_DETAIL}/${ItinerariesRoutesEnum.ITINERARY_USERS}`,\r\n component: ItineraryUsersComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.ITINERARY_DETAIL}/${ItinerariesRoutesEnum.ITINERARY_UPVOTE_USERS}`,\r\n component: ItineraryUpvoteUsersComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.ITINERARY_DETAIL}/${ItinerariesRoutesEnum.ITINERARY_WATCHING_USERS}`,\r\n component: ItineraryWatchingUsersComponent,\r\n },\r\n {\r\n path: `${ItinerariesRoutesEnum.ITINERARY_DETAIL}/${ItinerariesRoutesEnum.ITINERARY_AUTHOR_HISTORY}`,\r\n component: ItineraryAuthorHistoryComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.ITINERARY_DETAIL,\r\n component: ItineraryDetailComponent,\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: ItinerariesRoutesEnum.ITINERARY_SUMMARY,\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.ITINERARY_SUMMARY,\r\n component: SummaryComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.ITINERARY_MAP,\r\n component: MapComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.ITINERARY_MORE_DETAIL,\r\n component: DetailsComponent,\r\n },\r\n ],\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.ITINERARY_FRIENDS,\r\n component: ItineraryFriendsComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.LIST_FRIENDS,\r\n component: ListFriendUsersComponent,\r\n },\r\n {\r\n path: ItinerariesRoutesEnum.FRIEND_REQUESTS,\r\n component: FriendRequestsComponent,\r\n }, \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TextBoxComponent),\r\n multi: true,\r\n }\r\n ]\r\n})\r\nexport class ItinerariesRoutingModule { }\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core'; \r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { ModalService } from '../../../../../../_services/modal.service';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-create-itinerary-modal-item',\r\n templateUrl: './create-itinerary-modal-item.component.html',\r\n styleUrl: './create-itinerary-modal-item.component.scss',\r\n})\r\nexport class CreateItineraryModalItemComponent implements OnInit {\r\n @Output() clickEvent = new EventEmitter<void>();\r\n @Input() icon!: string;\r\n @Input() title!: string;\r\n @Input() description!: string;\r\n @Input() shortTitle!: boolean;\r\n titleList: string[] = [];\r\n ICONS: Iicon = ICONS;\r\n\r\n constructor(public modalService: ModalService) {}\r\n\r\n ngOnInit(): void {\r\n this.titleList = !this.shortTitle ? this.title.split(',') : [this.title];\r\n this.modalService.bottomToggleModal = false;\r\n }\r\n\r\n clickEventEmitter(): void {\r\n this.clickEvent.emit();\r\n }\r\n\r\n backButton(): void {\r\n this.modalService.bottomToggleModal = !this.modalService.bottomToggleModal;\r\n }\r\n}\r\n","<div class=\"main-content\" (click)=\"clickEventEmitter()\">\r\n <div class=\"main-content-sub\">\r\n <div class=\"content\">\r\n <span class=\"content-icon\">\r\n <img [ngSrc]=\"icon\" height=\"60\" width=\"61\" />\r\n </span>\r\n <div class=\"content-text\">\r\n <span class=\"font-bold\">\r\n <div *ngIf=\"shortTitle\">\r\n <span class=\"heading-sub-part\">{{ titleList[0] | translate }}</span>\r\n </div>\r\n <div *ngIf=\"!shortTitle\">\r\n {{ titleList[0] | translate }}\r\n <span class=\"heading-sub-part\">{{ titleList[1] | translate }}</span>\r\n </div>\r\n </span>\r\n <p>{{ description | translate }}</p>\r\n </div>\r\n </div>\r\n <span class=\"content-icon-last\">\r\n <img [ngSrc]=\"ICONS['moveForward']\" height=\"50\" width=\"51\" />\r\n </span>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from '@angular/core'; \r\nimport { ModalService } from '../../../../../../_services/modal.service';\r\nimport { Iicon } from '../../../../../../_interface/icon';\r\nimport { ICONS } from '../../../../../../_constants/constants';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-create-itinerary-modal',\r\n templateUrl: './create-itinerary-modal.component.html',\r\n styleUrl: './create-itinerary-modal.component.scss',\r\n encapsulation: ViewEncapsulation.Emulated,\r\n})\r\nexport class CreateItineraryModalComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n constructor(public modalService: ModalService) {}\r\n ngOnInit(): void {\r\n this.modalService.bottomToggleModal = false;\r\n }\r\n contentList = [\r\n {\r\n id: 1,\r\n title: 'ITINERARY.CREATE_CUSTOM_ITINERARY',\r\n description: 'ITINERARY.CREATE_CUSTOM_ITINERARY_DESCRIPTION',\r\n icon: ICONS['createLocation'],\r\n shortTitle: false,\r\n },\r\n {\r\n id: 2,\r\n title: 'ITINERARY.CREATE_QUICK_ITINERARY',\r\n description: 'ITINERARY.CREATE_QUICK_ITINERARY_DESCRIPTION',\r\n icon: ICONS['robot'],\r\n shortTitle: false,\r\n },\r\n {\r\n id: 3,\r\n title: 'ITINERARY.FEELING_LUCKY',\r\n description: 'ITINERARY.FEELING_LUCKY_DESCRIPTION',\r\n icon: ICONS['starBuilder'],\r\n shortTitle: true,\r\n },\r\n ];\r\n\r\n backButton(): void {\r\n this.modalService.bottomToggleModal = !this.modalService.bottomToggleModal;\r\n }\r\n\r\n modalClick(_itemId: number): void {}\r\n}\r\n","<div class=\"bottom-modal-items\">\r\n <app-create-itinerary-modal-item\r\n *ngFor=\"let item of contentList\"\r\n [icon]=\"item.icon\"\r\n [title]=\"item.title\"\r\n [description]=\"item.description\"\r\n [shortTitle]=\"item.shortTitle\"\r\n (clickEvent)=\"modalClick(item.id)\"\r\n class=\"craete-itinerary-modal\"\r\n >\r\n </app-create-itinerary-modal-item>\r\n</div>\r\n\r\n<div class=\"pl-4 pr-4\">\r\n <lib-primary-btn\r\n class=\"btn-back mt-5\"\r\n [hoverOutline]=\"true\"\r\n (click)=\"backButton()\"\r\n >{{ \"ITINERARY.BACK\" | translate }}</lib-primary-btn\r\n >\r\n</div>\r\n","import { Component, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { AppService } from \"../../../../_data/app-service.service\";\r\nimport { IUser } from \"../../../../_models/app-user\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'app-comments-page',\r\n templateUrl: './comments-page.component.html',\r\n styleUrl: './comments-page.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CommentsPageComponent {\r\n // emojiPickerConfig!: EmojiPickerConfig;\r\n // text: FormControl = new FormControl<IText | null>(null);\r\n // comments: IComment[] = [];\r\n // loading: boolean = false;\r\n // libMenuItem: LibMenuItem[] = [];\r\n // commentData: ICommentsData[] = [];\r\n // attachedImages: string[] = [];\r\n // ICONS: Iicon = ICONS;\r\n // StatusPosition = StatusPosition;\r\n // config$: Subject<ToastrStackConfig> = new Subject<ToastrStackConfig>();\r\n itinearyId!: string;\r\n user: IUser;\r\n // id!: string;\r\n // commentId: string | undefined;\r\n // commentUpdate: boolean = false;\r\n // commentApplicationId : string = 'D5F56097-2988-4209-85F3-C945F340AFC2';\r\n\r\n //LIFE CYCLES\r\n constructor(\r\n // public modalService: ModalService,\r\n // private _location: Location,\r\n // private router: Router,\r\n private activeRoute: ActivatedRoute,\r\n // private cdr: ChangeDetectorRef,\r\n // private commentService: CommentService,\r\n // private voteService: VoteService,\r\n appService: AppService,\r\n ) {\r\n this.user = appService.user;\r\n this.itinearyId = this.activeRoute.snapshot.params['id'];\r\n console.log(this.itinearyId);\r\n console.log(this.user);\r\n }\r\n\r\n // ngOnInit(): void {\r\n // this.id = this.activeRoute.snapshot.params['id'];\r\n // if (this.id) {\r\n // this.loading = true;\r\n // this.commentService.allCommentsByItineraryId(this.id).subscribe({\r\n // next: (res: IComment[]) => {\r\n // this.comments = [...res];\r\n // },\r\n // complete: () => {\r\n // this.loading = false;\r\n // this.cdr.detectChanges();\r\n // },\r\n // });\r\n // }\r\n\r\n // this.libMenuItem = [\r\n // {\r\n // title: 'EDIT_COMMENT',\r\n // iconUrl: ICONS['edit'],\r\n // command: () => this.updateComment()\r\n // },\r\n // {\r\n // title: 'REMOVE_FEATURE',\r\n // iconUrl: ICONS['removeFeature'],\r\n // command: () => this.removeFeature()\r\n // },\r\n // {\r\n // title: 'DELETE_COMMENT',\r\n // iconUrl: ICONS['deleteCross'],\r\n // command: () => this.deleteComment()\r\n // },\r\n // {\r\n // title: 'REPORT',\r\n // iconUrl: ICONS['report'],\r\n // command: () => {\r\n // this.openReportModal();\r\n // },\r\n // },\r\n // ]\r\n // this.cdr.detectChanges();\r\n // }\r\n\r\n // //UI LOGIC\r\n // addComment(): void {\r\n // if (this.id) {\r\n // if (this.commentId && this.commentUpdate) {\r\n // const updatecommentDto: UpdateCommentDto = {\r\n // comment: this.text.value.message,\r\n // images: this.text.value.attachments\r\n // }\r\n\r\n // this.commentService.editComment(this.commentId, this.user._id, updatecommentDto).subscribe({\r\n // next: (res: IComment) => {\r\n // if (res) {\r\n // const index = this.comments.findIndex(z => z._id === this.commentId);\r\n // if (index != -1) {\r\n // this.comments[index] = res;\r\n // this.config$.next({\r\n // token: 'token',\r\n // title: 'Comment Updated',\r\n // description: {\r\n // content:\r\n // 'Your featured comment will update after being approved by the author.',\r\n // type: ToastrDescription.STRING,\r\n // },\r\n // severity: ToastrSeverity.SUCCESS,\r\n // });\r\n // }\r\n // }\r\n // },\r\n // complete: () => {\r\n // this.comments = [...this.comments];\r\n // this.text.reset();\r\n // this.cdr.detectChanges();\r\n // },\r\n // });\r\n // } \r\n // else {\r\n // const comment: CreateCommentDto = {\r\n // itinerary: this.id,\r\n // user: this.user._id,\r\n // comment: this.text.value.message!,\r\n // images: this.text.value.attachments\r\n // };\r\n // this.commentService.addComment(comment).subscribe({\r\n // next: (res: IComment) => {\r\n // if (res) {\r\n // this.comments.unshift(res);\r\n // }\r\n // },\r\n // complete: () => {\r\n // this.text.reset();\r\n // this.cdr.detectChanges();\r\n // },\r\n // });\r\n // }\r\n // }\r\n // }\r\n\r\n // voteUp(id: string): void {\r\n // this.voteService.upVote(id, this.user._id).subscribe({\r\n // next: (_res: IVote) => {\r\n // const comment = this.comments.find(x => x._id === id);\r\n // if (comment) {\r\n // const voteIndex = comment.votes.findIndex(x => x.userId === this.user._id);\r\n // if (voteIndex !== -1 && _res) {\r\n // comment.votes[voteIndex] = _res;\r\n // }\r\n // else if (voteIndex !== -1 && !_res) {\r\n // comment.votes.splice(voteIndex, 1);\r\n // }\r\n // else {\r\n // comment.votes.push(_res);\r\n // }\r\n // }\r\n // },\r\n // complete: () => {\r\n // this.comments = [...this.comments];\r\n // this.cdr.detectChanges();\r\n // }\r\n // });\r\n // }\r\n\r\n\r\n // voteDown(id: string): void {\r\n // this.voteService.downVote(id, this.user._id).subscribe({\r\n // next: (_res: IVote) => {\r\n // const comment = this.comments.find(x => x._id === id);\r\n // if (comment) {\r\n // const voteIndex = comment.votes.findIndex(x => x.userId === this.user._id);\r\n // if (voteIndex !== -1 && _res) {\r\n // comment.votes[voteIndex] = _res;\r\n // }\r\n // else if (voteIndex !== -1 && !_res) {\r\n // comment.votes.splice(voteIndex, 1);\r\n // }\r\n // else {\r\n // comment.votes.push(_res);\r\n // }\r\n // }\r\n // },\r\n // complete: () => {\r\n // this.cdr.detectChanges()\r\n // }\r\n // })\r\n // }\r\n\r\n // menuClick(id: string): void {\r\n // this.commentId = id;\r\n // }\r\n\r\n // openReportModal(): void {\r\n // this.modalService.toggleModal = !this.modalService.toggleModal;\r\n // }\r\n\r\n // updateComment(): void {\r\n // if (!this.commentId) return;\r\n\r\n // const comment = this.comments.find(x => x._id === this.commentId);\r\n // if (comment) {\r\n // this.commentUpdate = true;\r\n // this.text.patchValue({\r\n // message: comment.comment,\r\n // attachments: comment.images?.map(x => x.value)\r\n // });\r\n // }\r\n // }\r\n\r\n // deleteComment(): void {\r\n // if (!this.commentId) return;\r\n\r\n // this.commentService.deleteComment(this.commentId).subscribe({\r\n // next: (res: boolean) => {\r\n // if (res) {\r\n // const idx = this.comments.findIndex((x) => x._id === this.commentId);\r\n // this.comments.splice(idx, 1);\r\n // }\r\n // this.commentId = undefined;\r\n // },\r\n // complete: () => {\r\n // this.comments = [...this.comments];\r\n // this.cdr.detectChanges();\r\n // },\r\n // });\r\n // }\r\n\r\n // reportComment(): void { }\r\n\r\n // removeFeature(): void { }\r\n\r\n // //NAVIGATIONS\r\n // navToCommentSearch(_val: any): void {\r\n // this.router.navigate([\r\n // ItinerariesRoutesEnum.ITINERARY,\r\n // ItinerariesRoutesEnum.COMMENT_SEARCH,\r\n // ]);\r\n // }\r\n\r\n // backButton(): void {\r\n // this._location.back();\r\n // }\r\n\r\n // searchButtonClick(): void {\r\n // this.router.navigate([ItinerariesRoutesEnum.SEARCH], { state: { selectedCategory: 'Comments' } }).then((_r) => { });\r\n // }\r\n}\r\n","<div class=\"h-[100vh] w-full\">\r\n <lib-comment-lib [inputValue]=\"{modelId: itinearyId, senderId: user._id}\"></lib-comment-lib>\r\n</div>","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ModalService } from '../../../../_services/modal.service';\r\nimport { MatchingClients } from '../../../../_models/matching-clients';\r\nimport { ModalSendClientService } from '../../../../_services/modal.sendclient.service';\r\nimport { IItinerary } from '../../../../_models/i-Itinerary';\r\nimport { ItineraryService } from '../../../../_services/itinerary.service';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'lib-send-to-client',\r\n templateUrl: './send-to-client.component.html',\r\n styleUrl: './send-to-client.component.css'\r\n})\r\nexport class SendToClientComponent {\r\n clientsSelection: Array<MatchingClients> = [];\r\n\r\n @Input() itinerary!: IItinerary;\r\n\r\n constructor(\r\n public modalService: ModalService,\r\n public sendClientModalService: ModalSendClientService,\r\n public itineraryApiService: ItineraryService\r\n ) {}\r\n \r\n closeModal(): void {\r\n this.modalService.toggleModal = !this.modalService.toggleModal;\r\n }\r\n\r\n closeSendClientModal(): void {\r\n this.sendClientModalService.toggleModal = !this.sendClientModalService.toggleModal;\r\n }\r\n\r\n onClientSelectionChanged(clientsSelection: Array<MatchingClients>) {\r\n this.clientsSelection = clientsSelection;\r\n }\r\n\r\n submitSendClient(): void {\r\n // this.itineraryApiService.sendItenaryToClients(this.itinerary, this.clientsSelection);\r\n this.closeSendClientModal();\r\n }\r\n \r\n onOk(): void {}\r\n}\r\n","<div class=\"delete-modal\">\r\n <h3 class=\"text-center mb-[25px] font-[Calistoga]\">{{ \"SNACKBAR.SUGGEST_TO_CLIENT\" | translate }}</h3>\r\n \r\n <!-- <lib-matching-clients (clientSelectionChanged)=\"onClientSelectionChanged($event)\"></lib-matching-clients> -->\r\n\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"closeSendClientModal()\">{{ \"COMMON.CANCEL\" | translate}}</button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"submitSendClient()\">{{ \"COMMON.SEND\" | translate }}</button>\r\n </div>\r\n</div>\r\n","import { CommonModule, NgOptimizedImage } from '@angular/common';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { GoogleMap, GoogleMapsModule } from '@angular/google-maps';\r\nimport { MatIcon } from '@angular/material/icon'; \r\nimport {\r\n ButtonsModule,\r\n DashedCheckboxModule,\r\n DirectiveModule,\r\n FooterSharedComponent,\r\n FormFieldModule,\r\n ImageDeckComponent,\r\n InfoCardPlaceholderModule,\r\n InputFieldModule,\r\n InputFieldSelectModule,\r\n LibModalModule,\r\n LibPercentageBarModule,\r\n LibTabMenuModule,\r\n LibToastrModule,\r\n LibToastrStackModule,\r\n NotificationsModule,\r\n ProgressBarModule,\r\n RangeSelectorModule,\r\n SearchBarModule,\r\n SectionSeparatorComponent,\r\n SelectableModule,\r\n TextBoxComponent,\r\n ToggleModule,\r\n UserMenuComponent\r\n} from '@naniteninja/ionic-lib'; \r\nimport { DeleteItinerariesComponent } from './components/delete-itineraries/delete-itineraries.component';\r\nimport { FilterMenuComponent } from './components/filter-menu/filter-menu.component';\r\nimport { CommentFilterMenuComponent } from './components/comment-filter-menu/comment-filter-menu.component';\r\nimport { ReportItineraryModalComponent } from './components/report-itinerary-modal/report-itinerary-modal.component';\r\nimport { ItinerariesRoutingModule } from './itineraries-routing.module';\r\nimport { ItinerariesComponent } from './itineraries.component';\r\nimport { AdvancedFiltersComponent } from './pages/advanced-filters/advanced-filters.component';\r\nimport { BranchedItinerariesComponent } from './pages/branched-itineraries/branched-itineraries.component';\r\nimport { CreateItineraryModalItemComponent } from './pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component';\r\nimport { CreateItineraryModalComponent } from './pages/builder/components/create-itinerary-modal/create-itinerary-modal.component';\r\nimport { CreateItineraryComponent } from './pages/builder/pages/create-itinerary/create-itinerary.component';\r\nimport { CommentRepliesComponent } from './pages/comment-replies/comment-replies.component';\r\nimport { CommentSingleComponent } from './pages/comment-replies/components/comment-single/comment-single.component';\r\nimport { CommentComparisonComponent } from './pages/comments/comment-comparison/comment-comparison.component';\r\nimport { CommentSearchComponent } from './pages/comments/comment-search/comment-search.component';\r\nimport { CommentsPageComponent } from './pages/comments/comments-page.component';\r\nimport { HandleUpdateCommentRequestComponent } from './pages/comments/handle-update-comment-request/handle-update-comment-request.component';\r\nimport { ExploreComponent } from './pages/explore/explore.component';\r\nimport { FavoritesComponent } from './pages/favorites/favorites.component'; \r\nimport { DetailsComponent } from './pages/itinerary-detail/components/details/details.component';\r\nimport { MapComponent } from './pages/itinerary-detail/components/map/map.component';\r\nimport { SummaryComponent } from './pages/itinerary-detail/components/summary/summary.component';\r\nimport { ItineraryDetailComponent } from './pages/itinerary-detail/itinerary-detail.component';\r\nimport { ItineraryAuthorHistoryComponent } from './pages/itinerary-author-history/itinerary-author-history.component';\r\nimport { ItineraryUpvoteUsersComponent } from './pages/itinerary-upvote-users/itinerary-upvote-users.component';\r\nimport { ItineraryUsersComponent } from './pages/itinerary-users/itinerary-users.component';\r\nimport { ItineraryWatchingUsersComponent } from './pages/itinerary-watching-users/itinerary-watching-users.component';\r\nimport { ExistingFriendsComponent } from './pages/itinerary-friends/existing-friends/existing-friends.component';\r\nimport { FriendRequestsComponent } from './pages/itinerary-friends/friend-requests/friend-requests.component';\r\nimport { ItineraryFriendsComponent } from './pages/itinerary-friends/itinerary-friends.component';\r\nimport { ListFriendUsersComponent } from './pages/itinerary-friends/list-friend-users/list-friend-users.component';\r\nimport { AllPeopleComponent } from './pages/itinerary-members/all-people/all-people.component';\r\nimport { ExistingMembersComponent } from './pages/itinerary-members/existing-members/existing-members.component';\r\nimport { ItineraryMembersComponent } from './pages/itinerary-members/itinerary-members.component';\r\nimport { UserList } from './pages/itinerary-members/user-list/user-list.component';\r\nimport { CreateItineraryDestinationComponent } from './pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component';\r\nimport { CreateItineraryHeaderComponent } from './pages/builder/pages/create-itinerary-header/create-itinerary-header.component';\r\nimport { CreateItineraryMemberDetailsComponent } from './pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component';\r\nimport { CreateItineraryStartLocationComponent } from './pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component';\r\nimport { CreateItineraryUserSearchComponent } from './pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component';\r\nimport { CreatedItineraryDetailComponent } from './pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component';\r\nimport { CreatedItineraryMapComponent } from './pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component';\r\nimport { CreatedItineraryPreviewComponent } from './pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component';\r\nimport { CreatedItineraryComponent } from './pages/builder/pages/created-itinerary/created-itinerary.component';\r\nimport { ItineraryAddPlaceComponent } from './pages/builder/pages/itinerary-add-place/itinerary-add-place.component';\r\nimport { ItineraryPlaceBasicInfoComponent } from './pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component';\r\nimport { ItineraryPlaceDateTimeComponent } from './pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component';\r\nimport { ItineraryPlaceMembersComponent } from './pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component';\r\nimport { LocationPickerComponent } from './pages/builder/pages/location-picker/location-picker.component';\r\nimport { SelectItineraryEventComponent } from './pages/builder/pages/select-itinerary-event/select-itinerary-event.component';\r\nimport { SuggestedEventsLocationComponent } from './pages/builder/pages/suggested-events-location/suggested-events-location.component';\r\nimport { SuggestedEventsRouteRadiusComponent } from './pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component';\r\nimport { SuggestedEventsRouteTypeComponent } from './pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component';\r\nimport { ItinerarySentInvitesComponent } from './pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component';\r\nimport { NotificationsComponent } from './pages/notifications/notifications.component';\r\nimport { StoryComponent } from './pages/stories/story.component'; \r\nimport { TimeAgoPipe } from \"../../_pipes/time-ago.pipe\";\r\nimport { BuilderComponent } from './pages/builder/builder.component';\r\nimport { ReportMediaModalComponent } from './components/report-media-modal/report-media-modal.component';\r\nimport { NoVisualMapFiltersComponent } from './components/no-visual-map-filters/no-visual-map-filters.component';\r\nimport { SendToClientComponent } from './components/send-to-client/send-to-client.component';\r\nimport { SharePopupComponent } from './components/share-popup/share-popup.component';\r\nimport { CreateItineraryDrawModeComponent } from './pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component';\r\nimport { CreateItineraryDrawPreviewComponent } from './pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component';\r\nimport { CreateItineraryNoVisualFilterComponent } from './pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component';\r\nimport { CreateItineraryNoVisualPreviewComponent } from './pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component';\r\nimport { AppHeaderDesktopComponent } from './components/app-header-desktop/app-header-desktop.component';\r\nimport { AppSidebarDesktopComponent } from './components/app-sidebar-desktop/app-sidebar-desktop.component';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CommentModule } from '@flower-city-online/comment-lib';\r\n\r\n@NgModule({\r\n declarations: [\r\n ItinerariesComponent,\r\n FilterMenuComponent,\r\n CommentFilterMenuComponent,\r\n ExploreComponent,\r\n BuilderComponent,\r\n FavoritesComponent,\r\n ReportItineraryModalComponent,\r\n ReportMediaModalComponent,\r\n CreateItineraryModalComponent,\r\n CreateItineraryModalItemComponent,\r\n DeleteItinerariesComponent,\r\n NoVisualMapFiltersComponent,\r\n SendToClientComponent,\r\n BranchedItinerariesComponent,\r\n ItineraryDetailComponent,\r\n MapComponent,\r\n SummaryComponent,\r\n CommentSearchComponent,\r\n DetailsComponent,\r\n StoryComponent,\r\n ItinerarySentInvitesComponent,\r\n CommentsPageComponent,\r\n NotificationsComponent,\r\n HandleUpdateCommentRequestComponent,\r\n ItineraryMembersComponent,\r\n UserList,\r\n ExistingMembersComponent,\r\n AllPeopleComponent,\r\n FriendRequestsComponent,\r\n ItineraryFriendsComponent,\r\n ExistingFriendsComponent,\r\n ListFriendUsersComponent,\r\n CommentComparisonComponent,\r\n FriendRequestsComponent,\r\n CommentRepliesComponent,\r\n CommentSingleComponent,\r\n ItineraryUsersComponent,\r\n ItineraryWatchingUsersComponent,\r\n ItineraryUpvoteUsersComponent,\r\n ItineraryAuthorHistoryComponent,\r\n AdvancedFiltersComponent,\r\n CreateItineraryComponent,\r\n CreateItineraryStartLocationComponent,\r\n CreateItineraryDestinationComponent,\r\n SelectItineraryEventComponent,\r\n ItineraryAddPlaceComponent,\r\n ItineraryPlaceBasicInfoComponent,\r\n ItineraryPlaceDateTimeComponent,\r\n ItineraryPlaceMembersComponent,\r\n CreateItineraryUserSearchComponent,\r\n CreateItineraryMemberDetailsComponent,\r\n LocationPickerComponent,\r\n SuggestedEventsLocationComponent,\r\n SuggestedEventsRouteTypeComponent,\r\n SuggestedEventsRouteRadiusComponent,\r\n CreatedItineraryComponent,\r\n CreatedItineraryPreviewComponent,\r\n CreatedItineraryDetailComponent,\r\n CreatedItineraryMapComponent,\r\n CreateItineraryHeaderComponent,\r\n SharePopupComponent,\r\n CreateItineraryDrawModeComponent,\r\n CreateItineraryDrawPreviewComponent,\r\n CreateItineraryNoVisualFilterComponent,\r\n CreateItineraryNoVisualPreviewComponent,\r\n AppHeaderDesktopComponent,\r\n AppSidebarDesktopComponent,\r\n NoVisualMapFiltersComponent\r\n ],\r\n exports: [FilterMenuComponent, CommentFilterMenuComponent, DeleteItinerariesComponent, NoVisualMapFiltersComponent, SendToClientComponent],\r\n imports: [\r\n CommonModule,\r\n IonicModule,\r\n ItinerariesRoutingModule,\r\n SelectableModule,\r\n ReactiveFormsModule,\r\n InfoCardPlaceholderModule,\r\n LibTabMenuModule,\r\n ButtonsModule,\r\n ToggleModule,\r\n NgOptimizedImage,\r\n SharedModule,\r\n LibModalModule,\r\n FormFieldModule,\r\n DirectiveModule,\r\n FormsModule,\r\n TextBoxComponent,\r\n LibPercentageBarModule,\r\n DashedCheckboxModule,\r\n TranslateModule,\r\n SearchBarModule,\r\n NotificationsModule,\r\n LibToastrModule,\r\n GoogleMapsModule,\r\n InputFieldSelectModule,\r\n SectionSeparatorComponent,\r\n MatIcon,\r\n DirectiveModule,\r\n ImageDeckComponent,\r\n LibToastrStackModule,\r\n ProgressBarModule,\r\n FooterSharedComponent,\r\n RangeSelectorModule,\r\n InputFieldModule,\r\n UserMenuComponent,\r\n // LibMapModule.forRoot({\r\n // identityPoolId: environment.identityPoolId,\r\n // mapName: environment.mapName,\r\n // region: environment.region,\r\n // placeIndex: environment.placeIndex,\r\n // routeCalculatorName: environment.routeCalculatorName,\r\n // }),\r\n TimeAgoPipe,\r\n CommentModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers: [GoogleMap],\r\n})\r\nexport class ItinerariesModule { }\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib'; \r\nimport { CustomDropdownMenuService } from '../../../../_services/custom-dropdown-menu.service';\r\nimport { ModalService } from '../../../../_services/modal.service';\r\nimport { Iicon } from '../../../../_interface/icon'; \r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { Router } from '@angular/router';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum'; \r\nimport { Location } from '@angular/common';\r\nimport { IItinerary } from '../../../../_models/i-Itinerary';\r\nimport { IItineraryStatsDto } from '../../../../_dtos/i-Itinerary-stats.dto';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-main-archives',\r\n templateUrl: './main-archives.component.html',\r\n styleUrl: './main-archives.component.scss',\r\n})\r\nexport class MainArchivesComponent implements OnInit {\r\n libMenuItem: LibMenuItem[] = [];\r\n itineraries: IItinerary[] = [];\r\n ICONS: Iicon = ICONS;\r\n selectedItem!: IItineraryStatsDto;\r\n loading: boolean = true;\r\n\r\n ngOnInit(): void {\r\n // this.itineraryService.getArchivedItinerariesByUserId().subscribe((data: Itinerary[]) => {\r\n // this.itineraries = data;\r\n // this.loading = false;\r\n // this.cd.detectChanges();\r\n // });\r\n // this.libMenuItem = this.customMenuList.getMenuList('archives');\r\n }\r\n\r\n menuClicked(event: IItineraryStatsDto): void {\r\n this.selectedItem = event;\r\n }\r\n\r\n backButtonClick(): void {\r\n this.location.back();\r\n }\r\n\r\n buttonClicked(): void {\r\n // this.itineraryService.deleteItineraryArchived();\r\n }\r\n\r\n deleteItinerary() {\r\n // this.itineraryService.deleteItinerary(this.selectedItem.id).subscribe(() => {\r\n // this.itineraries = this.itineraries.filter((itinerary) => itinerary.id !== this.selectedItem.id);\r\n // this.cd.detectChanges();\r\n // });\r\n }\r\n\r\n searchButtonClick(): void {\r\n this.router.navigate([ItinerariesRoutesEnum.SEARCH]).then((_r) => {});\r\n }\r\n\r\n constructor(\r\n public customMenuList: CustomDropdownMenuService,\r\n public modalService: ModalService,\r\n public translate: TranslateService,\r\n private readonly router: Router, \r\n private location: Location\r\n ) {}\r\n}\r\n","<div class=\"pl-2 pr-4\">\r\n <div class=\"minScreen pl-4 pr-4\">\r\n <ng-template #search>\r\n <img [src]=\"ICONS['search']\" alt=\"right-icon\" (click)=\"searchButtonClick()\" />\r\n </ng-template>\r\n <app-header\r\n (firstButton)=\"backButtonClick()\"\r\n [heading]=\"'MAIN_ARCHIVES.ARCHIVES' | translate\"\r\n [headerSuffixTemplate]=\"search\"\r\n ></app-header>\r\n <app-custom-heading-with-button\r\n cssClass=\"archive-css\"\r\n [heading]=\"'MAIN_ARCHIVES.NOTE_ARCHIVED' | translate\"\r\n [buttonText]=\"'MAIN_ARCHIVES.CLEAR_ALL' | translate\"\r\n [buttonIcon]=\"ICONS['deleteSec']\"\r\n (buttonClick)=\"buttonClicked()\"\r\n ></app-custom-heading-with-button>\r\n <div *ngIf=\"!loading && itineraries.length\" class=\"grid-columns sm:mt-3 md:mt-10 grid grid-cols-1 md:grid-cols-3 sm:gap-y-5 md:gap-y-10 gap-x-10\">\r\n <ng-container *ngFor=\"let itinerary of itineraries;\">\r\n <app-cutom-card \r\n [itineraryStats]=\"{ itinerary: itinerary, upvotes: 0, downvotes: 0, views: 0, comments: 0 }\"\r\n (menuClicked)=\"menuClicked($event)\"\r\n ></app-cutom-card>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"!loading && !itineraries.length\" class=\"text-center\">\r\n {{ \"MAIN_ARCHIVES.NO_ARCHIVED_FOUND\" | translate }}\r\n </div>\r\n </div>\r\n <lib-popup [isOpen]=\"modalService.toggleModal\">\r\n <app-delete-itineraries (deleteItineraryEvent)=\"deleteItinerary()\"></app-delete-itineraries>\r\n </lib-popup>\r\n</div>\r\n<app-footer></app-footer>","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MainArchivesComponent } from './pages/main-archives/main-archives.component';\r\n\r\nconst routes: Routes = [{ path: 'archives', component: MainArchivesComponent }];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ArchivesRoutingModule {}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-archives',\r\n templateUrl: './archives.component.html',\r\n styleUrl: './archives.component.scss',\r\n})\r\nexport class ArchivesComponent {\r\n constructor(\r\n private location: Location\r\n ) { }\r\n\r\n backButton(): void {\r\n this.location.back();\r\n }\r\n}\r\n","<div class=\"w-screen h-screen max-padd-container overflow-y-auto\">\r\n <app-header\r\n [heading]=\"'MAIN_ARCHIVES.ARCHIVES' | translate\"\r\n (firstButton)=\"backButton()\"\r\n ></app-header>\r\n <router-outlet></router-outlet>\r\n <app-footer></app-footer>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { LibModalModule } from '@naniteninja/ionic-lib';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { ItinerariesModule } from '../itineraries/itineraries.module';\r\nimport { ArchivesRoutingModule } from './archives-routing.module';\r\nimport { ArchivesComponent } from './archives.component';\r\nimport { MainArchivesComponent } from './pages/main-archives/main-archives.component';\r\n\r\n@NgModule({\r\n declarations: [ArchivesComponent, MainArchivesComponent],\r\n imports: [\r\n CommonModule,\r\n ArchivesRoutingModule,\r\n SharedModule,\r\n LibModalModule,\r\n ItinerariesModule,\r\n TranslateModule,\r\n ],\r\n})\r\nexport class ArchivesModule {}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LibMenuItem } from '@naniteninja/ionic-lib'; \r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ICONS } from '../../../../_constants/constants';\r\n \r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.scss'],\r\n})\r\nexport class NavbarComponent {\r\n ICONS: Iicon = ICONS;\r\n menuItems: LibMenuItem[] = [];\r\n navigationItems = [\r\n { label: 'MENU.HOME', iconPath: this.ICONS['dashHomeActive'] },\r\n { label: 'MENU.CONSTITUENTS', iconPath: this.ICONS['users'] },\r\n { label: 'MENU.ITINERARY', iconPath: this.ICONS['itineraries'] },\r\n { label: 'MENU.STATS', iconPath: this.ICONS['stats'] },\r\n { label: 'MENU.SETTINGS', iconPath: this.ICONS['setting'] },\r\n ];\r\n constructor(private translate: TranslateService) {\r\n this.initializeMenuItems();\r\n }\r\n\r\n private initializeMenuItems() {\r\n this.menuItems = [\r\n {\r\n title: this.translate.instant('NAVBAR.LOGOUT'),\r\n titlePrefix: '',\r\n iconUrl: ICONS['logout'],\r\n },\r\n {\r\n title: this.translate.instant('NAVBAR.INFO'),\r\n titlePrefix: '',\r\n iconUrl: ICONS['info'],\r\n },\r\n {\r\n title: this.translate.instant('NAVBAR.FEEDBACK'),\r\n titlePrefix: '',\r\n iconUrl: ICONS['feedback'],\r\n },\r\n {\r\n title: this.translate.instant('NAVBAR.SEARCH_2'),\r\n titleSuffix: 'AI',\r\n iconUrl: ICONS['dashboardSearch'],\r\n },\r\n {\r\n title: this.translate.instant('NAVBAR.NOTIFICATIONS'),\r\n titlePrefix: '',\r\n iconUrl: ICONS['notifications'],\r\n },\r\n ];\r\n }\r\n\r\n handleSearchStringChange(_$event: string) {}\r\n\r\n clear(): void {}\r\n}\r\n","<nav class=\"nav-bar text-white fixed top-0 left-0 w-full z-50\">\r\n <div class=\"nav-main-bar\">\r\n <div class=\"flex ml-2\">\r\n <img class=\"navbar-logo\" [ngSrc]=\"ICONS['logo']\" alt=\"logo\" />\r\n </div>\r\n <div class=\"sub-nav mx-auto\">\r\n <div *ngFor=\"let item of navigationItems\">\r\n <app-bottom-navigation-items\r\n [label]=\"item.label | translate\"\r\n [iconPath]=\"item.iconPath\"\r\n ></app-bottom-navigation-items>\r\n </div>\r\n <div>\r\n <lib-search-bar\r\n class=\"search-field\"\r\n [placeholderText]=\"'NAVBAR.SEARCH' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\"\r\n (cleared)=\"clear()\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\"\r\n >\r\n </lib-search-bar>\r\n </div>\r\n </div>\r\n <div class=\"profile-icon ml-auto mt-1\">\r\n <lib-menu-btn\r\n menuDirection=\"rtl\"\r\n [menuBtnImgUrl]=\"\r\n 'https://semantic-ui.com/images/avatar2/large/matthew.png'\r\n \"\r\n [hasNotification]=\"true\"\r\n [menuBtnNotificationIconUrl]=\"ICONS['notBlip']\"\r\n [menuItems]=\"menuItems\"\r\n class=\"dashboard-menu\"\r\n >\r\n </lib-menu-btn>\r\n </div>\r\n </div>\r\n</nav>\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ISideBarMenuItem } from '../../../../_interface/dashboardSideBar';\r\n \r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss'],\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n isFilter: boolean = false;\r\n filterClass = 'filter-side-bar';\r\n\r\n sideBarItem: ISideBarMenuItem[] = [];\r\n\r\n constructor(\r\n private router: Router,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.initializeSidebarItems();\r\n this.sideBarItem.some((element: ISideBarMenuItem) => {\r\n if (element.selected) {\r\n this.router.navigate([element.url]);\r\n }\r\n });\r\n }\r\n\r\n private initializeSidebarItems(): void {\r\n this.sideBarItem = [\r\n {\r\n id: 1,\r\n name: 'SIDEBAR.EXPLORE',\r\n selected: true,\r\n cssClass: 'active',\r\n url: '/dashboard/itineraries/explore',\r\n },\r\n {\r\n id: 2,\r\n name: 'SIDEBAR.BUILDER',\r\n selected: false,\r\n cssClass: '',\r\n url: '/dashboard/itineraries/explore',\r\n },\r\n {\r\n id: 3,\r\n name: 'SIDEBAR.FAVOURITE',\r\n selected: false,\r\n cssClass: '',\r\n url: '/dashboard/itineraries/explore',\r\n },\r\n ];\r\n }\r\n\r\n selectItem(item: ISideBarMenuItem): void {\r\n this.sideBarItem.some((element: ISideBarMenuItem) => {\r\n element.selected = false;\r\n element.cssClass = '';\r\n });\r\n item.selected = true;\r\n item.cssClass = 'active';\r\n }\r\n}\r\n","<aside class=\"side-nav text-white w-64 h-screen fixed top-0 left-0 z-40\">\r\n <div class=\"px-2\">\r\n <app-header\r\n cssClass=\"side-bar-heading-bar\"\r\n [heading]=\"'SIDEBAR.ITINERARIES' | translate\"\r\n ></app-header>\r\n </div>\r\n <ul class=\"space-y-2\">\r\n <li *ngFor=\"let item of sideBarItem\" (click)=\"selectItem(item)\">\r\n <a\r\n [routerLink]=\"item.url\"\r\n [class]=\"item.cssClass + ' block p-3 text-center'\"\r\n >{{ item.name | translate }}</a\r\n >\r\n <div *ngIf=\"item.id === 1 && item.selected\">\r\n <app-filter-menu [cssClass]=\"filterClass\"></app-filter-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n</aside>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrl: './dashboard.component.scss',\r\n})\r\nexport class DashboardComponent {}\r\n","<div class=\"main-dashboard-sec w-screen h-screen\">\r\n <app-navbar></app-navbar>\r\n\r\n <div class=\"flex\">\r\n <div class=\"w-64\">\r\n <!-- Hidden for medium and larger screens -->\r\n <app-sidebar></app-sidebar>\r\n </div>\r\n\r\n <main class=\"flex-grow p-4 max-padd-container\">\r\n <!-- Your main content goes here -->\r\n <router-outlet></router-outlet>\r\n </main>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ExploreComponent } from '../itineraries/pages/explore/explore.component';\r\nimport { DashboardComponent } from './dashboard.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'dashboard', pathMatch: 'full' },\r\n { path: 'dashboard', component: DashboardComponent },\r\n { path: 'itineraries/explore', component: ExploreComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class DashboardRoutingModule {}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-main-dashboard',\r\n templateUrl: './main-dashboard.component.html',\r\n})\r\nexport class MainDashboardComponent {}\r\n","","import { CommonModule, NgOptimizedImage } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ButtonsModule, SearchBarModule } from '@naniteninja/ionic-lib';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { ItinerariesModule } from '../itineraries/itineraries.module';\r\nimport { NavbarComponent } from './components/navbar/navbar.component';\r\nimport { SidebarComponent } from './components/sidebar/sidebar.component';\r\nimport { DashboardRoutingModule } from './dashboard-routing.module';\r\nimport { DashboardComponent } from './dashboard.component';\r\nimport { MainDashboardComponent } from './pages/main-dashboard/main-dashboard.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n MainDashboardComponent,\r\n SidebarComponent,\r\n NavbarComponent,\r\n DashboardComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n DashboardRoutingModule,\r\n SharedModule,\r\n NgOptimizedImage,\r\n ItinerariesModule,\r\n ButtonsModule,\r\n TranslateModule,\r\n SearchBarModule,\r\n ],\r\n})\r\nexport class DashboardModule {}\r\n","/// <reference types=\"google.maps\" />\r\n\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { GoogleMap } from '@angular/google-maps'; \r\nimport { ICONS } from '../../../../_constants/constants';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-googlemap',\r\n templateUrl: './googlemap.component.html',\r\n})\r\nexport class GooglemapComponent implements OnChanges {\r\n @Input() newDestination!: string;\r\n @Output() destinationAdded = new EventEmitter<string>();\r\n\r\n mapOptions: google.maps.MapOptions = {\r\n styles: [\r\n { elementType: 'geometry', stylers: [{ color: '#212121' }] },\r\n { elementType: 'labels.icon', stylers: [{ visibility: 'off' }] },\r\n { elementType: 'labels.text.fill', stylers: [{ color: '#757575' }] },\r\n { elementType: 'labels.text.stroke', stylers: [{ color: '#212121' }] },\r\n {\r\n featureType: 'administrative',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#757575' }],\r\n },\r\n {\r\n featureType: 'administrative.country',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#9e9e9e' }],\r\n },\r\n {\r\n featureType: 'administrative.land_parcel',\r\n stylers: [{ visibility: 'off' }],\r\n },\r\n {\r\n featureType: 'administrative.locality',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#bdbdbd' }],\r\n },\r\n {\r\n featureType: 'poi',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#757575' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#181818' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#616161' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'labels.text.stroke',\r\n stylers: [{ color: '#1b1b1b' }],\r\n },\r\n {\r\n featureType: 'road',\r\n elementType: 'geometry.fill',\r\n stylers: [{ color: '#2c2c2c' }],\r\n },\r\n {\r\n featureType: 'road',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#8a8a8a' }],\r\n },\r\n {\r\n featureType: 'road.arterial',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#373737' }],\r\n },\r\n {\r\n featureType: 'road.highway',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#3c3c3c' }],\r\n },\r\n {\r\n featureType: 'road.highway.controlled_access',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#4e4e4e' }],\r\n },\r\n {\r\n featureType: 'road.local',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#616161' }],\r\n },\r\n {\r\n featureType: 'transit',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#757575' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#000000' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#3d3d3d' }],\r\n },\r\n ],\r\n\r\n mapTypeControl: false,\r\n disableDefaultUI: true, // Disable default UI\r\n zoomControl: true, // Enable zoom control\r\n };\r\n center: google.maps.LatLngLiteral = { lat: 24, lng: 12 };\r\n zoom = 5;\r\n drawingManager!: google.maps.drawing.DrawingManager;\r\n map!: google.maps.Map;\r\n vertices: google.maps.LatLngLiteral[] = [];\r\n directionsService = new google.maps.DirectionsService();\r\n directionsRenderer = new google.maps.DirectionsRenderer();\r\n\r\n currentLocation!: google.maps.LatLngLiteral;\r\n destination: string = '';\r\n waypoints: string[] = [];\r\n\r\n @ViewChild(GoogleMap) googleMap!: GoogleMap;\r\n ngOnInit(): void {\r\n this.getUserLocation();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.initializeDirectionsRenderer();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['newDestination'] && changes['newDestination'].currentValue) {\r\n this.addDestinationFromParent(changes['newDestination'].currentValue);\r\n }\r\n }\r\n\r\n initializeDirectionsRenderer(): void {\r\n if (this.googleMap && this.googleMap.googleMap) {\r\n this.directionsRenderer.setMap(this.googleMap.googleMap!);\r\n }\r\n }\r\n\r\n onMapInitialized(map: any) {\r\n this.map = map;\r\n this.initializeDrawingManager();\r\n }\r\n\r\n getUserLocation() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.currentLocation = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude,\r\n };\r\n this.center = this.currentLocation;\r\n this.zoom = 16; // Adjust zoom level as needed\r\n this.addCurrentLocationMarker(this.currentLocation);\r\n });\r\n } else {\r\n window.alert('Geolocation is not supported by this browser.');\r\n }\r\n }\r\n\r\n addCurrentLocationMarker(position: google.maps.LatLngLiteral) {\r\n if (this.googleMap && this.googleMap.googleMap) {\r\n // Add a circle to represent the accuracy radius\r\n new google.maps.Circle({\r\n strokeColor: '#4285F4',\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: '#4285F4',\r\n fillOpacity: 0.35,\r\n map: this.googleMap.googleMap,\r\n center: position,\r\n radius: 100, // Set the radius as needed (in meters)\r\n });\r\n\r\n // Add a marker to represent the current location\r\n new google.maps.Marker({\r\n position,\r\n map: this.googleMap.googleMap,\r\n title: 'Your Location',\r\n icon: {\r\n path: google.maps.SymbolPath.CIRCLE,\r\n scale: 6,\r\n fillColor: '#4285F4',\r\n fillOpacity: 1,\r\n strokeWeight: 1,\r\n strokeColor: 'white',\r\n },\r\n });\r\n }\r\n }\r\n\r\n addDestination() {\r\n if (this.destination.trim() !== '') {\r\n this.waypoints.push(this.destination);\r\n this.destination = '';\r\n this.calculateAndDisplayRoute();\r\n }\r\n }\r\n\r\n addDestinationFromParent(destination: string) {\r\n if (destination.trim() !== '') {\r\n this.waypoints.push(destination);\r\n this.destinationAdded.emit(destination);\r\n this.calculateAndDisplayRoute();\r\n }\r\n }\r\n\r\n calculateAndDisplayRoute() {\r\n if (!this.currentLocation || this.waypoints.length === 0) {\r\n return;\r\n }\r\n\r\n const waypts = this.waypoints.slice(0, -1).map((location) => ({\r\n location,\r\n stopover: true,\r\n }));\r\n\r\n this.directionsService.route(\r\n {\r\n origin: this.currentLocation,\r\n destination: this.waypoints[this.waypoints.length - 1],\r\n waypoints: waypts,\r\n optimizeWaypoints: true,\r\n travelMode: google.maps.TravelMode.DRIVING,\r\n },\r\n (response, status) => {\r\n if (status === google.maps.DirectionsStatus.OK && response) {\r\n this.directionsRenderer.setDirections(response);\r\n this.placeMarkers(response.routes[0].legs);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n },\r\n );\r\n }\r\n\r\n placeMarkers(legs: google.maps.DirectionsLeg[]) {\r\n const startMarkerImage = ICONS['startMarkerImage']; // Replace with your custom start marker image URL\r\n const endMarkerImage = ICONS['endMarkerImage']; // Replace with your custom end marker image URL\r\n\r\n // Clear existing markers if needed\r\n this.directionsRenderer.setOptions({ markerOptions: { visible: false } });\r\n\r\n // Place custom start marker\r\n new google.maps.Marker({\r\n position: legs[0].start_location,\r\n map: this.googleMap.googleMap,\r\n icon: startMarkerImage,\r\n });\r\n\r\n // Place custom end marker\r\n new google.maps.Marker({\r\n position: legs[legs.length - 1].end_location,\r\n map: this.googleMap.googleMap,\r\n icon: endMarkerImage,\r\n });\r\n }\r\n\r\n initializeDrawingManager() {\r\n this.drawingManager = new google.maps.drawing.DrawingManager({\r\n drawingMode: null, // Start with no drawing mode\r\n drawingControl: false,\r\n drawingControlOptions: {\r\n position: google.maps.ControlPosition.TOP_CENTER,\r\n drawingModes: [google.maps.drawing.OverlayType.POLYGON],\r\n },\r\n polygonOptions: {\r\n editable: true,\r\n draggable: true,\r\n fillColor: '#E17575', // Set your polygon fill color\r\n strokeColor: '#E17575', // Set your polygon stroke color\r\n },\r\n });\r\n\r\n this.drawingManager.setMap(this.map);\r\n\r\n google.maps.event.addListener(\r\n this.drawingManager,\r\n 'overlaycomplete',\r\n (event: google.maps.drawing.OverlayCompleteEvent) => {\r\n if (event.type === google.maps.drawing.OverlayType.POLYGON) {\r\n const path = (event.overlay as google.maps.Polygon).getPath();\r\n this.vertices = path.getArray().map((vertex: google.maps.LatLng) => ({\r\n lat: vertex.lat(),\r\n lng: vertex.lng(),\r\n }));\r\n }\r\n // Stop drawing mode after a polygon is created\r\n this.drawingManager.setDrawingMode(null);\r\n },\r\n );\r\n }\r\n\r\n startDrawingPolygon() {\r\n this.drawingManager.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);\r\n }\r\n}\r\n","<lib-map\r\n #googleMap\r\n height=\"85vh\"\r\n width=\"100vw\"\r\n [center]=\"center\"\r\n [zoom]=\"zoom\"\r\n [options]=\"mapOptions\"\r\n (mapInitialized)=\"onMapInitialized($event)\"\r\n>\r\n</lib-map>\r\n","import { Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-map-header',\r\n templateUrl: './map-header.component.html',\r\n styleUrl: './map-header.component.scss',\r\n})\r\nexport class MapHeaderComponent {\r\n @Input() title: string = 'Default Title';\r\n @Input() backLink: string = '/';\r\n @Input() customcss: string = 'py-1';\r\n @Output() onSearchClick = new EventEmitter<boolean>();\r\n\r\n isSearchClicked: boolean = false;\r\n\r\n constructor(private location: Location) {}\r\n\r\n goBack(): void {\r\n if (this.backLink) {\r\n window.location.href = this.backLink;\r\n } else {\r\n this.location.back();\r\n }\r\n }\r\n}\r\n","<section [ngClass]=\"customcss\">\r\n <div class=\"flex-between md:gap-x-6\">\r\n <lib-icon-btn\r\n (click)=\"goBack()\"\r\n class=\"bg-color mr-2 flex items-center justify-center rounded-full w-7 h-7 outset-shadow flexCenter\"\r\n >\r\n arrow_back\r\n </lib-icon-btn>\r\n <div class=\"font-Calistoga tracking-wide\">{{ title }}</div>\r\n <div\r\n class=\"discard cursor-pointer flex items-center justify-center text-sm\"\r\n >\r\n {{ \"IMAGE_CROPPER.DISCARD\" | translate }}?\r\n </div>\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { Iicon } from '../../../../_interface/icon'; \r\nimport { ICONS } from '../../../../_constants/constants';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-default-destination',\r\n templateUrl: './default-destination.component.html',\r\n styleUrl: './default-destination.component.scss',\r\n})\r\nexport class DefaultDestinationComponent {\r\n destination: string = '';\r\n newDestination: string = '';\r\n ICONS: Iicon = ICONS;\r\n\r\n addDestination(): void {\r\n this.newDestination = this.destination;\r\n }\r\n\r\n onDestinationAdded(_destination: string): void {\r\n this.destination = '';\r\n }\r\n}\r\n","<div class=\"max-padd-container pt-10 pb-4\">\r\n <app-map-header\r\n [title]=\"'MAP_HEADER.CREATE_ITINERARY' | translate\"\r\n [backLink]=\"'/'\"\r\n ></app-map-header>\r\n</div>\r\n\r\n<div class=\"\">\r\n <app-googlemap\r\n [newDestination]=\"newDestination\"\r\n (destinationAdded)=\"onDestinationAdded($event)\"\r\n ></app-googlemap>\r\n</div>\r\n\r\n<div class=\"\">\r\n <div class=\"absolute bottom-0 py-3\">\r\n <section class=\"fixed bottom-0 w-full\">\r\n <div class=\"tracking-widest px-5 py-2 rounded-t-3xl drawer-shadow\">\r\n <div class=\"\">\r\n <div class=\"bottomModal mt-5 mb-3 flex flex-col gap-y-2\">\r\n <div class=\"flex items-center justify-between w-full gap-x-4\">\r\n <div class=\"flex items-center justify-start gap-x-4\">\r\n <div class=\"absolute left-0 top-3\">\r\n <img [src]=\"ICONS['destination']\" alt=\"\" class=\"w-20\" />\r\n </div>\r\n <div class=\"text ml-10\">\r\n <h2 class=\"sm:text-sm xs:text-xs flex items-center gap-x-1\">\r\n {{ \"ITINERARY.STARTING_LOCATION\" | translate }}\r\n </h2>\r\n <p class=\"sm:text-xs text-secondary\">\r\n {{ \"ITINERARY.STARTING_DESCRIPTION\" | translate }}\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img [src]=\"ICONS['pen']\" alt=\"\" class=\"cursor-pointer\" />\r\n </div>\r\n </div>\r\n <div class=\"mt-2\">\r\n <h1 class=\"text-lg font-Calistoga\">\r\n {{ \"ITINERARY.DESTINATION_TITLE\" | translate }}\r\n </h1>\r\n <p class=\"py-2 text-white opacity-70 text-[10px]\">\r\n {{ \"ITINERARY.DESTINATION_DESCRIPTION\" | translate }}\r\n </p>\r\n </div>\r\n <div class=\"flex gap-x-4\">\r\n <lib-input-field\r\n type=\"text\"\r\n [placeholder]=\"'ITINERARY.WHERE_TO' | translate\"\r\n class=\"!w-60 !py-1 text-white text-opacity-70\"\r\n [(ngModel)]=\"destination\"\r\n />\r\n <lib-icon-btn (click)=\"addDestination()\">+</lib-icon-btn>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"background-gradient\">\r\n <lib-primary-btn>{{\r\n \"IMAGE_CROPPER.CONTINUE\" | translate\r\n }}</lib-primary-btn>\r\n </div>\r\n </section>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { MapMarkerModel } from '@naniteninja/ionic-lib'; \r\nimport { IItinerary } from '../../../../_models/i-Itinerary';\r\nimport { ApiService } from '../../../../_services/api.service';\r\nimport { LocationService } from '../../../../_services/location.service';\r\nimport { ICONS } from '../../../../_constants/constants';\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-itinerary-preview',\r\n templateUrl: './itinerary-preview.component.html',\r\n styleUrl: './itinerary-preview.component.scss',\r\n})\r\nexport class ItineraryPreviewComponent implements OnInit {\r\n initialLocation = { lat: 24.8607, lng: 67.0011 }; // Centered on California\r\n ICONS: { [key: string]: string } = ICONS;\r\n places: IItinerary[] = [];\r\n\r\n constructor(\r\n public locationService: LocationService,\r\n public apiService: ApiService,\r\n private cdr: ChangeDetectorRef,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.apiService.get('/assets/data.json').subscribe((data) => {\r\n this.places = data as IItinerary[];\r\n this.cdr.detectChanges();\r\n });\r\n this.locationService.getCurrentLocation().subscribe((location) => {\r\n this.initialLocation.lat = location.lat;\r\n this.initialLocation.lng = location.long;\r\n });\r\n }\r\n handleSearch(_event: string): void {\r\n // Change parameter type to 'any' to accept event\r\n }\r\n mapType: google.maps.MapTypeId = google.maps.MapTypeId.ROADMAP;\r\n locationsMarkers: MapMarkerModel[] = [\r\n {\r\n icon: 'assets/1.png#custom_pin_maps',\r\n id: '1',\r\n omitMarkerCircle: false,\r\n position: this.initialLocation,\r\n radius: 100000,\r\n },\r\n ];\r\n\r\n onMapLoaded(_event: Event): void {}\r\n\r\n toggleDrawingTool(): void {\r\n // Add your drawing tool toggle logic here\r\n }\r\n}\r\n","<div class=\"pt-10 max-padd-container\">\r\n <app-map-header\r\n [title]=\"'Create Itinerary'\"\r\n [backLink]=\"'/'\"\r\n [customcss]=\"''\"\r\n ></app-map-header>\r\n</div>\r\n<div class=\"mt-6\">\r\n <lib-map\r\n [mapType]=\"mapType\"\r\n [markers]=\"locationsMarkers\"\r\n [enableDrag]=\"true\"\r\n [initialLocation]=\"initialLocation\"\r\n (mapLoaded)=\"onMapLoaded($event)\"\r\n ></lib-map>\r\n</div>\r\n\r\n<div class=\"main-itini-preview absolute bottom-0 py-3\">\r\n <section class=\"fixed bottom-0 w-full\">\r\n <div class=\"tracking-widest px-5 py-6 rounded-t-3xl\">\r\n <div class=\"tracking-bottom-com\">\r\n <div class=\"flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img [src]=\"ICONS['locationWhite']\" alt=\"location\" />\r\n <span>{{ places.length }} Places</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2\">\r\n <img [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 minutes</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n *ngFor=\"let place of places\"\r\n class=\"flex items-center justify-between w-full gap-x-4\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-4\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full\"\r\n >\r\n <img [src]=\"ICONS['restu']\" alt=\"\" />\r\n </div>\r\n <div class=\"text\">\r\n <h2 class=\"f-sm f-xs flex items-center gap-x-1\">\r\n {{ place.name | translate }}\r\n <img [src]=\"ICONS['enLocation']\" alt=\"\" />\r\n </h2>\r\n <p class=\"f-xs text-secondary\">\r\n {{ place.description! | translate }}\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img [src]=\"ICONS['groupBinBar']\" alt=\"\" class=\"cursor-pointer\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"background-gradient py-5 px-16\">\r\n <lib-primary-btn class=\"\">{{ \"PREVIEW\" | translate }}</lib-primary-btn>\r\n </div>\r\n </section>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';\r\nimport { GooglemapComponent } from '../../components/googlemap/googlemap.component';\r\nimport { Iicon } from '../../../../_interface/icon'; \r\nimport { ICONS } from '../../../../_constants/constants';\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-non-visual-map-filter',\r\n templateUrl: './non-visual-map-filter.component.html',\r\n styleUrl: './non-visual-map-filter.component.scss',\r\n})\r\nexport class NonVisualMapFilterComponent {\r\n mapType = 'roadmap';\r\n locationsMarkers = [\r\n { lat: 37.7749, lng: -122.4194, label: 'San Francisco' },\r\n { lat: 34.0522, lng: -118.2437, label: 'Los Angeles' },\r\n ];\r\n initialLocation = { lat: 36.7783, lng: -119.4179 };\r\n ICONS: Iicon = ICONS;\r\n @ViewChild('map') map!: GooglemapComponent;\r\n\r\n toggleDrawingTool(): void {\r\n this.map.startDrawingPolygon();\r\n }\r\n}\r\n","<div class=\"pt-10 max-padd-container\">\r\n <app-map-header\r\n [title]=\"'Create Itinerary'\"\r\n [backLink]=\"'/'\"\r\n [customcss]=\"''\"\r\n ></app-map-header>\r\n</div>\r\n<div class=\"mt-6\">\r\n <app-googlemap #map></app-googlemap>\r\n</div>\r\n<div class=\"absolute bottom-0 py-3\">\r\n <section class=\"fixed bottom-0 w-full\">\r\n <div class=\"tracking-widest px-5 py-6 rounded-t-xl drawer-shadow\">\r\n <div class=\"flex justify-between items-center\">\r\n <h1 class=\"no-visual-class xs:text-sm sm:text-md\">No Visual Filters</h1>\r\n <div\r\n class=\"bg-grey rounded-full searchbar-shadow flex items-center justify-between\"\r\n >\r\n <lib-primary-btn class=\"rounded-full p-2 px-4 focus:bg-primary\">\r\n <img [src]=\"ICONS['location']\" alt=\"\" />\r\n </lib-primary-btn>\r\n\r\n <lib-primary-btn\r\n class=\"rounded-full p-2 px-4 focus:bg-primary\"\r\n (click)=\"toggleDrawingTool()\"\r\n >\r\n <img [src]=\"ICONS['write']\" alt=\"\" />\r\n </lib-primary-btn>\r\n <lib-primary-btn class=\"rounded-full p-2 px-4 focus:bg-primary\">\r\n <img [src]=\"ICONS['warn']\" alt=\"\" />\r\n </lib-primary-btn>\r\n </div>\r\n </div>\r\n <div class=\"filter-class text-xs py-2 mt-2\">\r\n {{ \"NO_VISUAL_FILTER\" | translate }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"background-gradient py-5 px-16\">\r\n <lib-primary-btn class=\"\">{{\r\n \"IMAGE_CROPPER.CONTINUE\" | translate\r\n }}</lib-primary-btn>\r\n </div>\r\n </section>\r\n</div>\r\n","export enum PathwayRoutesEnum {\r\n NonVisualMapFilter = 'non-visual-map-filter',\r\n ItineraryPreview = 'itinerary-preview',\r\n DefaultDestination = 'default-destination',\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DefaultDestinationComponent } from './pages/default-destination/default-destination.component';\r\nimport { ItineraryPreviewComponent } from './pages/itinerary-preview/itinerary-preview.component';\r\nimport { NonVisualMapFilterComponent } from './pages/non-visual-map-filter/non-visual-map-filter.component';\r\nimport { PathwayRoutesEnum } from '../../_enums/PathwayRoutes.enum';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: PathwayRoutesEnum.ItineraryPreview,\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: PathwayRoutesEnum.NonVisualMapFilter,\r\n component: NonVisualMapFilterComponent,\r\n },\r\n {\r\n path: PathwayRoutesEnum.ItineraryPreview,\r\n component: ItineraryPreviewComponent,\r\n },\r\n {\r\n path: PathwayRoutesEnum.DefaultDestination,\r\n component: DefaultDestinationComponent,\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n declarations: [],\r\n exports: [RouterModule],\r\n})\r\nexport class PathwayRoutingModule {}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-pathway',\r\n templateUrl: './pathway.component.html',\r\n styleUrl: './pathway.component.scss',\r\n})\r\nexport class PathwayComponent {}\r\n","<div class=\"py-1 w-screen h-screen\">\r\n <router-outlet></router-outlet>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ButtonsModule } from '@naniteninja/ionic-lib';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { GooglemapComponent } from './components/googlemap/googlemap.component';\r\nimport { MapHeaderComponent } from './components/map-header/map-header.component';\r\nimport { DefaultDestinationComponent } from './pages/default-destination/default-destination.component';\r\nimport { ItineraryPreviewComponent } from './pages/itinerary-preview/itinerary-preview.component';\r\nimport { NonVisualMapFilterComponent } from './pages/non-visual-map-filter/non-visual-map-filter.component';\r\nimport { PathwayRoutingModule } from './pathway-routing.module';\r\nimport { PathwayComponent } from './pathway.component';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n NonVisualMapFilterComponent,\r\n ItineraryPreviewComponent,\r\n DefaultDestinationComponent,\r\n PathwayComponent,\r\n GooglemapComponent,\r\n MapHeaderComponent,\r\n ],\r\n imports: [\r\n TranslateModule,\r\n CommonModule,\r\n PathwayRoutingModule,\r\n SharedModule,\r\n ButtonsModule,\r\n FormsModule,\r\n GoogleMapsModule,\r\n MatIcon,\r\n // LibMapModule.forRoot({\r\n // identityPoolId: environment.identityPoolId,\r\n // mapName: environment.mapName,\r\n // region: environment.region,\r\n // placeIndex: environment.placeIndex,\r\n // routeCalculatorName: environment.routeCalculatorName,\r\n // })\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class PathwayModule { }\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { ItinerariesRoutesEnum } from '../../../../_enums/ItenariesRoutes.enum';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ICONS } from '../../../../_constants/constants';\r\n \r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-quick-actions',\r\n templateUrl: './quick-actions.component.html',\r\n styleUrl: './quick-actions.component.scss',\r\n})\r\nexport class QuickActionsComponent {\r\n ICONS: Iicon = ICONS;\r\n ItineraryRoutes = ItinerariesRoutesEnum;\r\n}\r\n","<p class=\"search-sub-heading mt-3\">Quick actions...</p>\r\n<div class=\"flex row items-center gap-3 mt-2 cursor-pointer font-purple\" [routerLink]=\"ItineraryRoutes.ITINERARY_BUILDER\">\r\n <span>\r\n <img [ngSrc]=\"ICONS['plus2']\" height=\"14\" width=\"15\" />\r\n </span>\r\n Create Itinerary\r\n</div>\r\n<div class=\"flex row items-center gap-3 mt-2 cursor-pointer font-purple\" [routerLink]=\"ItineraryRoutes.ITINERARY_BUILDER\">\r\n <span>\r\n <img [ngSrc]=\"ICONS['star']\" height=\"14\" width=\"15\" />\r\n </span>\r\n Featured Itineraries\r\n</div>\r\n<div class=\"flex row items-center gap-3 mt-2 cursor-pointer font-purple\" [routerLink]=\"ItineraryRoutes.ITINERARY_BUILDER\">\r\n <span>\r\n <img [ngSrc]=\"ICONS['requests']\" height=\"14\" width=\"15\" />\r\n </span>\r\n Requests\r\n</div>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ICONS } from '../../../../_constants/constants';\r\n \r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-recent-searches-item',\r\n templateUrl: './recent-searches-item.component.html',\r\n styleUrl: './recent-searches-item.component.scss',\r\n})\r\nexport class RecentSearchesItemComponent {\r\n ICONS: Iicon = ICONS;\r\n}\r\n","<div class=\"search-history-bar\">\r\n <div class=\"search-history-bar-sub\">\r\n <span>\r\n <img [ngSrc]=\"ICONS['history']\" height=\"13\" width=\"14\" />\r\n </span>\r\n <span class=\"search-history-text\">Previous Search</span>\r\n </div>\r\n <span>\r\n <img [ngSrc]=\"ICONS['close']\" height=\"9\" width=\"10\" class=\"cursor-pointer\" />\r\n </span>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-recent-searches-list',\r\n templateUrl: './recent-searches-list.component.html',\r\n styleUrl: './recent-searches-list.component.scss',\r\n})\r\nexport class RecentSearchesListComponent {}\r\n","<div class=\"mt-3\">\r\n <app-recent-searches-item></app-recent-searches-item>\r\n <app-recent-searches-item></app-recent-searches-item>\r\n <app-recent-searches-item></app-recent-searches-item>\r\n <app-recent-searches-item></app-recent-searches-item>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-recent-searches',\r\n templateUrl: './recent-searches.component.html',\r\n styleUrl: './recent-searches.component.scss',\r\n})\r\nexport class RecentSearchesComponent {}\r\n","<div>\r\n <p class=\"search-sub-heading\">\r\n {{ \"RECENT_SEARCHES\" | translate }}\r\n </p>\r\n <app-recent-searches-list></app-recent-searches-list>\r\n</div>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, OnInit, Output, Input } from '@angular/core';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-search-chips',\r\n templateUrl: './search-chips.component.html',\r\n styleUrl: './search-chips.component.scss',\r\n})\r\nexport class SearchChipsComponent implements OnInit {\r\n ICONS: Iicon = ICONS;\r\n chipItems: Array<{\r\n label: string;\r\n selected: boolean;\r\n value: string;\r\n show: boolean;\r\n }> = [];\r\n chipSelected: boolean = false;\r\n\r\n @Input() selectedChip: string = '';\r\n @Output() chipItemSelected: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n onSelectionChanged($event: boolean, value: string) {\r\n this.chipItems = this.chipItems.map((chipItem) => {\r\n if ($event) {\r\n this.chipSelected = true;\r\n if (chipItem.value === value) {\r\n this.chipItemSelected.emit(chipItem.value);\r\n chipItem.selected = true;\r\n } else {\r\n chipItem.show = false;\r\n }\r\n } else if (!$event) {\r\n this.chipSelected = false;\r\n this.chipItemSelected.emit(\"\");\r\n chipItem.selected = false;\r\n chipItem.show = true;\r\n }\r\n return chipItem;\r\n });\r\n this.cd.detectChanges();\r\n }\r\n\r\n initializeChips() {\r\n this.chipItems = [{\r\n label: this.ts.instant(\"SIDEBAR.ITINERARIES\"),\r\n selected: this.selectedChip === \"Itineraries\",\r\n value: 'Itineraries',\r\n show: true\r\n }, {\r\n label: this.ts.instant(\"MATCHES\"),\r\n selected: this.selectedChip === \"Matcher\",\r\n value: 'Matcher',\r\n show: true\r\n }, {\r\n label: this.ts.instant(\"ITINERARY_DETAIL.COMMENTS\"),\r\n selected: this.selectedChip === \"Comments\",\r\n value: 'Comments',\r\n show: true\r\n }, {\r\n label: this.ts.instant(\"MY_CREATION\"),\r\n selected: this.selectedChip === \"My_creation\",\r\n value: 'My_creation',\r\n show: true\r\n }];\r\n this.cd.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeChips();\r\n }\r\n\r\n constructor(\r\n private readonly ts: TranslateService,\r\n private cd: ChangeDetectorRef\r\n ) {\r\n\r\n }\r\n}\r\n","<div class=\"suggestion mt-6 pr-2 pl-2\">\r\n <p class=\"search-sub-heading\">\r\n <ng-container *ngIf=\"chipSelected\">\r\n {{ \"SEARCHING\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"!chipSelected\">\r\n I'm searching for...\r\n </ng-container>\r\n </p>\r\n <div class=\"mt-2\">\r\n <div class=\"search-chip flex gap-2 flex-wrap\">\r\n <ng-container *ngFor=\"let item of chipItems;\">\r\n <!-- <lib-selectable-badge\r\n *ngIf=\"item.show\"\r\n [label]=\"item.label\"\r\n [selected]=\"item.selected\"\r\n (selectionChanged)=\"onSelectionChanged($event, item.value)\"\r\n >\r\n </lib-selectable-badge> -->\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"border-t border-gray-700 mt-4 mx-2\"></div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { SearchResult } from '../../../../_interface/searchResults';\r\n \r\n@Component({\r\n selector: 'app-search-results',\r\n templateUrl: './search-results.component.html',\r\n styleUrl: './search-results.component.css'\r\n})\r\nexport class SearchResultsComponent {\r\n @Input() data!: SearchResult[];\r\n\r\n constructor() {}\r\n}\r\n","<div class=\"flex flex-col mt-4 mb-4 gap-3\">\r\n <ng-container *ngFor=\"let item of data\">\r\n <div class=\"flex row justify-between items-center\">\r\n <p class=\"text-white\"> {{item.text}} </p>\r\n <p class=\"text-pink-700\"> {{item.section}} </p>\r\n </div>\r\n <div class=\"border-t border-gray-700 mt-2\"></div>\r\n </ng-container>\r\n\r\n</div>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ICONS } from '../../../../_constants/constants';\r\n \r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-serach-bottom-bar',\r\n templateUrl: './serach-bottom-bar.component.html',\r\n styleUrl: './serach-bottom-bar.component.scss',\r\n})\r\nexport class SerachBottomBarComponent {\r\n ICONS: Iicon = ICONS;\r\n}\r\n","<div class=\"search-bottom px-8\">\r\n <div class=\"border-t border-gray-700 mb-[15px]\"></div>\r\n <div class=\"bottom-bar\">\r\n <span>\r\n <img [ngSrc]=\"ICONS['searchPlus']\" height=\"18\" width=\"19\" />\r\n </span>\r\n <span class=\"lightText\">Switch to </span>Advanced Search\r\n </div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ModalClearHistoryService {\r\n public toggleModal: boolean = false;\r\n public bottomToggleModal: boolean = false;\r\n public toggleGlobalSearch: boolean = false;\r\n\r\n constructor() { }\r\n}\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ModalClearHistoryService } from '../../../../_services/modal.clearhistory.service';\r\n\r\n@Component({\r\n selector: 'lib-clear-history-popup',\r\n templateUrl: './clear-history-popup.component.html',\r\n styleUrl: './clear-history-popup.component.css'\r\n})\r\nexport class ClearHistoryPopupComponent {\r\n @Output() clearHistory: EventEmitter<void> = new EventEmitter<void>();\r\n ICONS: Iicon = ICONS;\r\n\r\n constructor(private clearHistoryModalService: ModalClearHistoryService) {\r\n\r\n }\r\n\r\n closeModal(): void {\r\n this.clearHistoryModalService.toggleModal = false;\r\n }\r\n\r\n deleteItinerary(): void {\r\n this.clearHistoryModalService.toggleModal = false;\r\n this.clearHistory.emit();\r\n }\r\n}\r\n"," <div class=\"delete-modal text-center\">\r\n <img [ngSrc]=\"ICONS['delete']\" height=\"46\" width=\"46\" class=\"mx-auto\" />\r\n \r\n <h3 class=\"font-[Calistoga] mt-5\">\r\n {{ \"ITINERARY.CLEAR_SEARCH_HISTORY\" | translate }}\r\n </h3>\r\n \r\n <p class=\"text-white mb-2 max-w-[80%] ml-auto mr-auto mt-1 text-[10px]\">\r\n {{ \"ITINERARY.CLEAR_SEARCH_WARNING\" | translate }}\r\n </p>\r\n \r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"closeModal()\">\r\n {{ \"COMMON.KEEP\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"deleteItinerary()\">\r\n {{ \"COMMON.CLEAR\" | translate }}\r\n </button>\r\n </div>\r\n </div>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { ModalClearHistoryService } from '../../../../_services/modal.clearhistory.service';\r\nimport { AssetsService } from '../../../../_services/assets.service';\r\n \r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-serach-clear-history',\r\n templateUrl: './serach-clear-history.component.html',\r\n styleUrl: './serach-clear-history.component.scss',\r\n})\r\nexport class SerachClearHistoryComponent {\r\n openModal: boolean = false;\r\n cssClasses = ['custom-modal-class'];\r\n ICONS: Iicon = ICONS;\r\n\r\n constructor(\r\n public readonly modalClearHistoryService: ModalClearHistoryService,\r\n public readonly assetService: AssetsService\r\n ) {\r\n }\r\n\r\n toggleModal(): void {\r\n // Add your custom CSS classes\r\n this.modalClearHistoryService.toggleModal = !this.modalClearHistoryService.toggleModal;\r\n }\r\n\r\n clearHistory(): void {\r\n this.assetService.clearSearchHistory();\r\n }\r\n}\r\n","<div>\r\n <div class=\"clear-history-main\" (click)=\"toggleModal()\">\r\n <span>\r\n <img [ngSrc]=\"ICONS['deleteCross']\" height=\"14\" width=\"15\" />\r\n </span>\r\n <span class=\"clear-history-label\">Clear History</span>\r\n </div>\r\n <lib-popup\r\n [isOpen]=\"modalClearHistoryService.toggleModal\"\r\n >\r\n <lib-clear-history-popup (clearHistory)=\"clearHistory()\"></lib-clear-history-popup>\r\n </lib-popup>\r\n <lib-section-separator></lib-section-separator>\r\n</div>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { Iicon } from '../../../../_interface/icon';\r\nimport { SearchResult } from '../../../../_interface/searchResults';\r\nimport { ApiService } from '../../../../_services/api.service';\r\nimport { ICONS } from '../../../../_constants/constants';\r\nimport { EditCompleteEvent, GridColumnChange, GridDataRequest} from '@naniteninja/ionic-lib';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\r\nimport { FilterDataRequest, SelectOption } from '@naniteninja/ionic-lib';\r\nimport { Location } from '@angular/common';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-main-search',\r\n templateUrl: './main-search.component.html',\r\n styleUrl: './main-search.component.scss',\r\n})\r\nexport class MainSearchComponent {\r\n ICONS: Iicon = ICONS;\r\n isSearching: boolean = false;\r\n searchTerm: string = '';\r\n\r\n data: SearchResult[] = [];\r\n filteredData: SearchResult[] = [];\r\n readonly defaultRowsPerPage: number = 10;\r\n readonly defaultRowPerPageOptions: number[] = [10, 25, 50];\r\n public searchString: string = '';\r\n public selectedCategory: string = '';\r\n private componentDestroyed$: Subject<void> = new Subject();\r\n\r\n private searchStringSubject: Subject<string> = new Subject();\r\n\r\n @Input() enableSelection: boolean = true;\r\n @Input() enableGridFilters: boolean = true;\r\n @Input() enableCreate: boolean = false;\r\n @Input() enableRefresh: boolean = false;\r\n @Input() enableTrash: boolean = false;\r\n @Input() isLoading: boolean = false;\r\n @Input() totalRecords: number = 0;\r\n @Input() rowsPerPage: number = this.defaultRowsPerPage;\r\n @Input() first: number = 0;\r\n @Input() rowsPerPageOptions: number[] = this.defaultRowPerPageOptions;\r\n @Input() actionButtons: string[] = [];\r\n @Input() currencyDisplayCode: string = 'USD';\r\n @Input() minimumColumnWidth: number = -1;\r\n\r\n @Output() lazyLoad: EventEmitter<GridDataRequest> = new EventEmitter<GridDataRequest>();\r\n @Output() columnsChange: EventEmitter<GridColumnChange> = new EventEmitter<GridColumnChange>();\r\n @Output() editComplete: EventEmitter<EditCompleteEvent> = new EventEmitter<EditCompleteEvent>();\r\n @Output() editChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Output() selectAllPages: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Output() createClicked: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Output() refreshData: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Output() showTrash: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Output() excludeItem: EventEmitter<(string | number)[]> = new EventEmitter<(string | number)[]>();\r\n @Input() isEditInProgress: boolean = true;\r\n\r\n // Optional: if using userFilter\r\n @Output() userFilter = new EventEmitter<{\r\n publicFieldName: string;\r\n operatorType: string;\r\n values: string[];\r\n }>();\r\n filtersss: SelectOption<number>[] = [\r\n {\r\n label: 'Hello',\r\n value: 2,\r\n selected: true,\r\n },\r\n ];\r\n visibleComments: SafeHtml[] = [];\r\n\r\n onSelectAllPages(event: boolean): void {\r\n this.selectAllPages.emit(event);\r\n }\r\n public emitTrashEvent(event: boolean): void {\r\n this.filteredData = [];\r\n this.showTrash.emit(event);\r\n }\r\n constructor(private apiService: ApiService,\r\n private location: Location,\r\n private cdr: ChangeDetectorRef,\r\n private router: Router\r\n ) { }\r\n public emitCreateEvent(): void {\r\n this.createClicked.emit(true);\r\n }\r\n public emitRefreshEvent(): void {\r\n this.refreshData.emit(true);\r\n }\r\n\r\n ngOnInit() {\r\n this.getData();\r\n\r\n this.searchStringSubject\r\n .asObservable()\r\n .pipe(debounceTime(500), distinctUntilChanged(), takeUntil(this.componentDestroyed$))\r\n .subscribe((searchString) => {\r\n this.searchString = searchString;\r\n this.first = 0;\r\n });\r\n\r\n const nav = this.router.getCurrentNavigation();\r\n if (nav?.extras.state && nav.extras.state['selectedCategory']) {\r\n const category = nav.extras.state['selectedCategory'];\r\n this.categorySelected(category);\r\n }\r\n }\r\n userFilterList: FilterDataRequest[] = [\r\n {\r\n name: 'Filter by Name Ascending',\r\n projectGridFilterId: '123',\r\n collectionName: 'Employees',\r\n userFilters: [\r\n {\r\n publicFieldName: 'Name',\r\n operatorType: 'Contains',\r\n values: ['John'],\r\n },\r\n ],\r\n sort: {\r\n field: 'Name',\r\n direction: 'Ascending',\r\n },\r\n order: 1,\r\n },\r\n {\r\n name: 'Filter by Department and Salary Descending',\r\n projectGridFilterId: '456',\r\n collectionName: 'Employees',\r\n userFilters: [\r\n {\r\n publicFieldName: 'Department',\r\n operatorType: 'Equals',\r\n values: ['IT'],\r\n },\r\n {\r\n publicFieldName: 'Salary',\r\n operatorType: 'GreaterThan',\r\n values: [50000],\r\n },\r\n ],\r\n sort: {\r\n field: 'Salary',\r\n direction: 'Descending',\r\n },\r\n order: 2,\r\n },\r\n ];\r\n search(e: string): void {\r\n this.searchTerm = e.toLowerCase().trim();\r\n\r\n if (!this.searchTerm) {\r\n return;\r\n }\r\n }\r\n validateConfig() {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n getData(): void {\r\n this.apiService.get('/assets/searchData.json').subscribe((data) => {\r\n this.data = data as SearchResult[];\r\n });\r\n }\r\n\r\n categorySelected(category: string) {\r\n this.selectedCategory = category;\r\n if (category) {\r\n this.filteredData = this.filteredData.filter((item) => {\r\n return item.section === category;\r\n });\r\n this.cdr.detectChanges();\r\n } else if (this.searchString) {\r\n this.filteredData = this.data.filter(item =>\r\n item.text.toLowerCase().startsWith(this.searchString.toLowerCase())\r\n );\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n handleSearchStringChange($event: any) {\r\n this.searchString = $event;\r\n if ($event) {\r\n this.isSearching = true;\r\n this.filteredData = this.data.filter(item =>\r\n item.text.toLowerCase().startsWith($event.toLowerCase())\r\n && (this.selectedCategory ? (this.selectedCategory == item.section) : true)\r\n );\r\n this.cdr.detectChanges();\r\n } else {\r\n this.isSearching = false;\r\n this.filteredData = [];\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n searchs(query: string): void {\r\n this.searchStringSubject.next(query);\r\n }\r\n\r\n //NAVIGATIONS\r\n navToBack = () => this.location.back();\r\n clear(): void { }\r\n}\r\n","<div class=\"main-search-screen pt-5 px-4\">\r\n <div class=\"sub-screen\">\r\n <lib-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_ITINERARIES' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\" (cleared)=\"clear()\" [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </lib-search-bar>\r\n <app-search-chips [selectedChip]=\"selectedCategory\" (chipItemSelected)=\"categorySelected($event)\"></app-search-chips>\r\n <div class=\"p-4\">\r\n <ng-container *ngIf=\"isSearching\">\r\n <app-search-results [data]=\"filteredData\"></app-search-results>\r\n </ng-container>\r\n <app-recent-searches *ngIf=\"!isSearching\"></app-recent-searches>\r\n <app-serach-clear-history *ngIf=\"!isSearching\"></app-serach-clear-history>\r\n <div class=\"border-t border-gray-700 mt-2\" *ngIf=\"!isSearching\"></div>\r\n <app-quick-actions [hidden]=\"searchString && !selectedCategory\"></app-quick-actions>\r\n <app-serach-bottom-bar></app-serach-bottom-bar>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MainSearchComponent } from './pages/main-search/main-search.component';\r\n\r\nconst routes: Routes = [{ path: '', component: MainSearchComponent }];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class SearchRoutingModule {}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'app-search',\r\n templateUrl: './search.component.html',\r\n styleUrl: './search.component.scss',\r\n})\r\nexport class SearchComponent {}\r\n","<div class=\"min-screen-main w-screen h-screen max-padd-container\">\r\n <router-outlet></router-outlet>\r\n</div>\r\n","import { CommonModule, NgOptimizedImage } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport {\r\n ButtonsModule,\r\n LibModalModule,\r\n SearchBarModule,\r\n SectionSeparatorComponent,\r\n GridToolbarModule,\r\n GridFiltersModule,\r\n GridModule, \r\n SelectableModule\r\n} from '@naniteninja/ionic-lib'; \r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { QuickActionsComponent } from './components/quick-actions/quick-actions.component';\r\nimport { RecentSearchesItemComponent } from './components/recent-searches-item/recent-searches-item.component';\r\nimport { RecentSearchesListComponent } from './components/recent-searches-list/recent-searches-list.component';\r\nimport { RecentSearchesComponent } from './components/recent-searches/recent-searches.component';\r\nimport { SearchChipsComponent } from './components/search-chips/search-chips.component';\r\nimport { SearchResultsComponent } from './components/search-results/search-results.component';\r\nimport { SerachBottomBarComponent } from './components/serach-bottom-bar/serach-bottom-bar.component';\r\nimport { SerachClearHistoryComponent } from './components/serach-clear-history/serach-clear-history.component';\r\nimport { MainSearchComponent } from './pages/main-search/main-search.component';\r\nimport { SearchRoutingModule } from './search-routing.module';\r\nimport { SearchComponent } from './search.component';\r\nimport { ClearHistoryPopupComponent } from './components/clear-history-popup/clear-history-popup.component'; \r\n\r\n@NgModule({\r\n declarations: [\r\n SearchComponent,\r\n SearchChipsComponent,\r\n RecentSearchesComponent,\r\n QuickActionsComponent,\r\n MainSearchComponent,\r\n RecentSearchesListComponent,\r\n RecentSearchesItemComponent,\r\n SerachBottomBarComponent,\r\n SerachClearHistoryComponent,\r\n SearchResultsComponent,\r\n ClearHistoryPopupComponent\r\n ],\r\n imports: [\r\n SearchBarModule,\r\n TranslateModule,\r\n ButtonsModule,\r\n CommonModule,\r\n SearchRoutingModule,\r\n SharedModule,\r\n SectionSeparatorComponent,\r\n NgOptimizedImage,\r\n LibModalModule, \r\n GridToolbarModule ,\r\n GridModule,\r\n GridFiltersModule,\r\n SelectableModule\r\n ],\r\n})\r\nexport class SearchModule {}\r\n","import { Component } from '@angular/core';\r\n import { Location } from '@angular/common';\r\nimport { SelectOption } from '@naniteninja/ionic-lib'; \r\nimport { ICONS } from '../../../_constants/constants';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrl: './profile.component.scss',\r\n})\r\nexport class ProfileComponent {\r\n ICONS = ICONS;\r\n passions: SelectOption<string>[] = [\r\n {\r\n value: 'Viyasa',\r\n label: 'Viyasa',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Skincare',\r\n label: 'Skincare',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Baking',\r\n label: 'Baking',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Hiking',\r\n label: 'Hiking',\r\n selected: true,\r\n disabled: true,\r\n },\r\n {\r\n value: 'Bicycle Racing',\r\n label: 'Bicycle Racing',\r\n selected: true,\r\n disabled: true,\r\n },\r\n ];\r\n\r\n constructor(private location: Location) {}\r\n\r\n back = () => this.location.back();\r\n}\r\n","<div class=\"ps-5 pe-5\">\r\n <app-header (firstButton)=\"back()\" [heading]=\"'PROFILE.PROFILE' | translate\">\r\n </app-header>\r\n\r\n <div class=\"mt-3 flex justify-center\">\r\n <img class=\"profile-pic\" [src]=\"ICONS['dummyUserProfile']\" alt=\"profile\" />\r\n </div>\r\n\r\n <h3 class=\"mt-4 text-center\">Jonathan</h3>\r\n\r\n <div class=\"mt-2 flex justify-center items-center\">\r\n <img class=\"icon me-1\" [src]=\"ICONS['calendar']\" alt=\"calender\" />\r\n <span>23 year old</span>\r\n <img class=\"icon ms-2 me-1\" [src]=\"ICONS['locationLight']\" alt=\"location\" />\r\n <span>New York City, NY</span>\r\n </div>\r\n\r\n <hr />\r\n\r\n <div>\r\n <h4 class=\"mb-5\">{{ \"PROFILE.ABOUT_ME\" | translate }}</h4>\r\n <span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Laboriosam\r\n minus officia provident in iusto nostrum nesciunt enim? At minima\r\n doloremque, reiciendis suscipit magnam quam quae in vitae soluta? Fugiat,\r\n adipisci!</span>\r\n </div>\r\n\r\n <hr />\r\n\r\n <h4 class=\"mb-5\">{{ \"PROFILE.PASSION\" | translate }}</h4>\r\n <div class=\"flex flex-wrap gap-4\">\r\n <lib-selectable [options]=\"passions\"></lib-selectable>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ProfileComponent } from './profile/profile.component';\r\nimport { UserRoutes } from '../../_enums/userRoutes.enum';\r\n\r\nconst routes: Routes = [ \r\n { path: UserRoutes.profile, component: ProfileComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class UserRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserRoutingModule } from './user-routing.module';\r\nimport { ProfileComponent } from './profile/profile.component';\r\nimport { SectionSeparatorComponent, SelectableModule } from '@naniteninja/ionic-lib';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n ProfileComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n UserRoutingModule,\r\n SectionSeparatorComponent,\r\n SharedModule,\r\n TranslateModule,\r\n SelectableModule\r\n]\r\n})\r\nexport class UserModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router'; \r\nimport { ArchivesModule } from './modules/archives/archives.module';\r\nimport { DashboardModule } from './modules/dashboard/dashboard.module';\r\nimport { ItinerariesModule } from './modules/itineraries/itineraries.module';\r\nimport { PathwayModule } from './modules/pathway/pathway.module';\r\nimport { SearchModule } from './modules/search/search.module';\r\nimport { UserModule } from './modules/user/user.module';\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'itineraries', pathMatch: 'full' },\r\n {\r\n path: 'itineraries',\r\n loadChildren: () => ItinerariesModule\r\n },\r\n {\r\n path: 'search',\r\n loadChildren: () => SearchModule\r\n },\r\n {\r\n path: 'archives',\r\n loadChildren: () => ArchivesModule\r\n },\r\n {\r\n path: 'dashboard',\r\n loadChildren: () => DashboardModule,\r\n },\r\n {\r\n path: 'pathway',\r\n loadChildren: () => PathwayModule\r\n },\r\n {\r\n path: 'user',\r\n loadChildren: () => UserModule\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ItineraryLibRoutingModule {}\r\n","import { AppService } from './_data/app-service.service';\r\nimport { IUser } from './_models/app-user';\r\n\r\nexport function initializeApp(appService: AppService): () => Promise<void> {\r\n return () => {\r\n return new Promise<void>((resolve) => {\r\n appService.getCurrentUser().subscribe({\r\n next: (res: IUser) => {\r\n appService.user = res;\r\n resolve(); \r\n },\r\n error: (_err) => {\r\n resolve(); \r\n },\r\n });\r\n });\r\n };\r\n}\r\n","import {\r\n NgModule,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n APP_INITIALIZER\r\n} from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport {\r\n ButtonsModule,\r\n LibModalModule,\r\n RangeSelectorModule,\r\n ToggleModule,\r\n} from '@naniteninja/ionic-lib';\r\nimport { ItineraryLibRoutingModule } from './itinerary-lib-routing.module';\r\nimport { ItineraryLibComponent } from './itinerary-lib.component';\r\nimport { provideAnimationsAsync } from '@angular/platform-browser/animations/async';\r\nimport { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { UserModule } from './modules/user/user.module';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { BrowserModule } from '@angular/platform-browser'; \r\nimport { IonicModule } from '@ionic/angular';\r\nimport { provideIonicAngular } from '@ionic/angular/standalone';\r\nimport { initializeApp } from './initalize.app';\r\nimport { AppService } from './_data/app-service.service';\r\n\r\nexport const httpLoaderFactory = (http: HttpBackend): TranslateHttpLoader =>\r\n new TranslateHttpLoader(new HttpClient(http), './assets/i18n/', '.json');\r\n\r\n@NgModule({\r\n declarations: [ItineraryLibComponent],\r\n imports: [\r\n BrowserModule,\r\n TranslateModule.forRoot({\r\n defaultLanguage: 'en',\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: httpLoaderFactory,\r\n deps: [HttpBackend],\r\n },\r\n }),\r\n ButtonsModule,\r\n FormsModule,\r\n IonicModule.forRoot(),\r\n ReactiveFormsModule,\r\n LibModalModule,\r\n ToggleModule,\r\n RangeSelectorModule,\r\n BrowserAnimationsModule,\r\n MatDialogModule,\r\n UserModule,\r\n ItineraryLibRoutingModule,\r\n \r\n ],\r\n exports: [ItineraryLibComponent, ItineraryLibRoutingModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers: [\r\n provideAnimationsAsync(), \r\n provideIonicAngular(),\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initializeApp,\r\n deps: [AppService],\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ItineraryLibModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.BottomNavigationService","i4","i1.ApiService","i3","i1.CommentImageService","i2.CommentImageService","i3.AppService","i5","i6.TimeAgoPipe","i7.VotesPipe","i3.UsersStackComponent","i5.TimeAgoPipe","i6.CapitalizeFirstPipe","i1.ShadowRootHandlerService","i2.BottomNavigationService","i6.BottomNavigationItemsComponent","i2.ModalService","i3.AssetsService","i6","i2.UsersStackComponent","i1.ModalService","takeUntil","i1.ConstantsService","i3.ApiService","i2.SharePopupDataService","i3.ModalShareUrlClientService","i5.TabBarComponent","i6.HeaderComponent","i7.FooterComponent","i8","i9.ReportItineraryModalComponent","i10.SharePopupComponent","i11.AppHeaderDesktopComponent","i12.AppSidebarDesktopComponent","i13","i4.HeaderComponent","i4.ModalSendClientService","i5.ModalShareUrlClientService","i1.CustomDropdownMenuService","i4.AppService","i5.ItineraryService","i7.CutomCardComponent","i8.HeaderComponent","i9.FilterMenuComponent","i10","i3.HeaderComponent","i3.ItineraryService","i5.CreateItineraryHeaderComponent","i2.CustomDropdownMenuService","i5.HeaderComponent","i5.AppService","i6.UsersStackComponent","i7.HeaderComponent","i1.LocationService","i2.ApiService","i4.UsersStackComponent","i5.UserStackTileComponent","i7","i4.TabBarComponent","i6.CreateItineraryHeaderComponent","i2.ItineraryService","i3.UserStackTileComponent","i6.VotesPipe","i7.TimeAgoPipe","i3.CommentService","i5.VoteService","i6.AppService","i9","i10.ReportItineraryModalComponent","i11.CommentSingleComponent","i2.HeaderComponent","i3.CommentComparisonComponent","i3.ModalService","i4.ItineraryService","i5.SharePopupDataService","i8.CutomCardComponent","i10.FilterMenuComponent","i11","i4.CutomCardComponent","i4.UserStackTileComponent","i5.UsersStackComponent","i6.UserStackTileComponent","i2.UserFriendsService","i5.UserTileComponent","i4.UserFriendsService","i6.UserTileComponent","i3.ExistingFriendsComponent","i5.UserFriendsService","i8.UserStackTileComponent","i9.UserTileComponent","i10.HeaderComponent","i5.ItineraryMemberService","i6.UserFriendsService","i7.AppService","i9.UserStackTileComponent","i10.UserTileComponent","i11.HeaderComponent","i12","i2.ItineraryMemberService","i4.ExistingMembersComponent","i3.ItineraryMemberService","i5.UserList","defaultIcon","selectedIcon","i3.LocationService","i4.ItineraryDrawModeTransferService","i7.NoVisualMapFiltersComponent","i8.CreateItineraryHeaderComponent","i3.ItineraryDrawModeTransferService","i4.LocationService","i5.ItineraryDrawModeTransferService","i7.CreateItineraryHeaderComponent","i4.NotificationTileComponent","i4.CustomStoryCardComponent","i6.ReportMediaModalComponent","i1.ItineraryDrawModeTransferService","i3.CreateItineraryHeaderComponent","routes","i4.CreateItineraryModalItemComponent","i2.AppService","i2.ModalSendClientService","i6.CustomHeadingWithButtonComponent","i9.FooterComponent","i11.DeleteItinerariesComponent","i4.FooterComponent","i3.BottomNavigationItemsComponent","i4.FilterMenuComponent","i2.SidebarComponent","i3.NavbarComponent","i3.GooglemapComponent","i4.MapHeaderComponent","i5.MapHeaderComponent","i2.GooglemapComponent","i3.MapHeaderComponent","i1.RecentSearchesItemComponent","i1.RecentSearchesListComponent","i1.ModalClearHistoryService","i2.AssetsService","i5.ClearHistoryPopupComponent","i5.SearchChipsComponent","i6.RecentSearchesComponent","i7.QuickActionsComponent","i8.SerachBottomBarComponent","i9.SerachClearHistoryComponent","i10.SearchResultsComponent"],"mappings":"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"}
|