{"version":3,"file":"script/bundle-20.129db7416d.js","mappings":"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","sources":["webpack://touchweb/./src/blueprint/theme/icons-colored/verification.svg","webpack://touchweb/./src/blueprint/theme/icons2/arrow-full-right.svg","webpack://touchweb/./src/blueprint/theme/icons2/chat.svg","webpack://touchweb/./src/blueprint/theme/icons2/check-fill.svg","webpack://touchweb/./src/blueprint/theme/icons2/rating.svg","webpack://touchweb/./src/blueprint/theme/icons2/share.svg","webpack://touchweb/./src/blueprint/theme/logos/tradera_symbol.svg","webpack://touchweb/./src/apps/tradera/messaging/images/tradera-circle.react.svg","webpack://touchweb/./src/components/search/components/search-input.module.scss","webpack://touchweb/./src/apps/tradera/components/app-download-badge/app-download-badge.tsx","webpack://touchweb/./src/blueprint/theme/logos/google-play-badge-sv.svg","webpack://touchweb/./src/blueprint/theme/logos/google-play-badge-da.svg","webpack://touchweb/./src/blueprint/theme/logos/google-play-badge-de.svg","webpack://touchweb/./src/blueprint/theme/logos/google-play-badge-fr.svg","webpack://touchweb/./src/blueprint/theme/logos/google-play-badge-nl.svg","webpack://touchweb/./src/blueprint/theme/logos/google-play-badge-en.svg","webpack://touchweb/./src/blueprint/theme/logos/app-store-badge-sv.svg","webpack://touchweb/./src/blueprint/theme/logos/app-store-badge-da.svg","webpack://touchweb/./src/blueprint/theme/logos/app-store-badge-de.svg","webpack://touchweb/./src/blueprint/theme/logos/app-store-badge-fr.svg","webpack://touchweb/./src/blueprint/theme/logos/app-store-badge-nl.svg","webpack://touchweb/./src/blueprint/theme/logos/app-store-badge-en.svg","webpack://touchweb/./src/apps/tradera/components/discover/components/search-results/save-search/email-notification-tooltip.module.scss","webpack://touchweb/./src/apps/tradera/components/discover/components/search-results/save-search/email-notification-tooltip.tsx","webpack://touchweb/./src/blueprint/theme/icons2/bookmark-fill.svg","webpack://touchweb/./src/apps/tradera/components/discover/components/search-results/save-search/save-search-button.module.scss","webpack://touchweb/./src/apps/tradera/components/discover/components/search-results/save-search/save-search-button.tsx","webpack://touchweb/./src/apps/tradera/components/discover/components/search-results/save-search/utils.js","webpack://touchweb/./src/blueprint/theme/icons2/camera.svg","webpack://touchweb/./src/apps/tradera/messaging/components/empty-image/empty-image.tsx","webpack://touchweb/./src/apps/tradera/messaging/utils/firebase-timestamp.ts","webpack://touchweb/./src/components/bank-id/bank-id-info-modal.tsx","webpack://touchweb/./src/components/international-identification-modal/poll-session-status.ts","webpack://touchweb/./src/components/international-identification-modal/header-international-identification-modal.tsx","webpack://touchweb/./src/components/international-identification-modal/mit-id.tsx","webpack://touchweb/./src/components/international-identification-modal/paypal.tsx","webpack://touchweb/./src/components/international-identification-modal/paypal-logo.jsx","webpack://touchweb/./src/components/international-identification-modal/idin.tsx","webpack://touchweb/./src/components/international-identification-modal/idin-logo.jsx","webpack://touchweb/./src/components/international-identification-modal/international-identification-modal.module.scss","webpack://touchweb/./src/components/international-identification-modal/card-verification.module.scss","webpack://touchweb/./src/components/international-identification-modal/card-verification.jsx","webpack://touchweb/./src/components/international-identification-modal/signicat-scanning.jsx","webpack://touchweb/./src/components/international-identification-modal/international-identification-modal.tsx","webpack://touchweb/./src/components/international-identification-modal/mit-id-logo.module.scss","webpack://touchweb/./src/components/international-identification-modal/mit-id-logo.jsx","webpack://touchweb/./src/components/localization/currency-select.module.scss","webpack://touchweb/./src/components/localization/currency-select.tsx","webpack://touchweb/./src/components/popover/popover.module.scss","webpack://touchweb/./src/components/popover/popover.tsx","webpack://touchweb/./src/components/rating-stars/rating-stars.module.scss","webpack://touchweb/./src/components/rating-stars/rating-stars.tsx","webpack://touchweb/./src/components/rating-stars/rating-utils.js","webpack://touchweb/./src/components/search/components/search-input.tsx","webpack://touchweb/./src/blueprint/theme/icons2/store.svg","webpack://touchweb/./src/components/search/components/highlight-word.jsx","webpack://touchweb/./src/components/search/components/search-suggestions.module.scss","webpack://touchweb/./src/components/search/components/suggestion-list-items.jsx","webpack://touchweb/./src/components/search/components/search-suggestion-section.module.scss","webpack://touchweb/./src/components/search/components/search-suggestion-section.jsx","webpack://touchweb/./src/components/keyword-search-switch/keyword-search-switch.tsx","webpack://touchweb/./src/components/search/components/search-suggestions.jsx","webpack://touchweb/./src/components/search/helpers/suggestions-api.js","webpack://touchweb/./src/components/search/components/search-category.tsx","webpack://touchweb/./src/components/search/search.jsx","webpack://touchweb/./src/components/search/helpers/helper.js","webpack://touchweb/./src/components/search/helpers/search.analytics.js","webpack://touchweb/./src/components/site-footer/footer-localization-link.module.scss","webpack://touchweb/./src/components/site-footer/footer-localization-link.tsx","webpack://touchweb/./src/utils/consent-service.js","webpack://touchweb/./src/components/site-footer/footer-links.module.scss","webpack://touchweb/./src/blueprint/theme/logos/appstore.svg?7a1d","webpack://touchweb/./src/blueprint/theme/logos/googleplay.svg?df03","webpack://touchweb/./src/components/site-footer/footer-links.tsx","webpack://touchweb/./src/blueprint/theme/icons2/network-fb.svg?80a2","webpack://touchweb/./src/blueprint/theme/icons2/network-tt.svg","webpack://touchweb/./src/blueprint/theme/icons2/network-ig.svg","webpack://touchweb/./src/blueprint/theme/icons2/network-linkedin.svg","webpack://touchweb/./src/blueprint/theme/icons2/bankid.svg?02d3","webpack://touchweb/./src/components/site-footer/footer-partners.module.scss","webpack://touchweb/./src/components/site-footer/footer-partners.tsx","webpack://touchweb/./src/components/site-footer/dhl.svg","webpack://touchweb/./src/blueprint/theme/logos/dpd.svg","webpack://touchweb/./src/components/site-footer/site-footer.module.scss","webpack://touchweb/./src/components/site-footer/footer-currency-link.module.scss","webpack://touchweb/./src/components/site-footer/footer-currency-link.jsx","webpack://touchweb/./src/apps/tradera/components/app-download-banner/phone.png","webpack://touchweb/./src/apps/tradera/components/app-download-banner/phone-3x.png","webpack://touchweb/./src/apps/tradera/components/app-download-banner/app-download-banner.module.scss","webpack://touchweb/./src/apps/tradera/components/app-download-banner/app-download-banner.jsx","webpack://touchweb/./src/apps/tradera/components/app-download-banner/phone-mobile.png","webpack://touchweb/./src/components/site-footer/start-page-footer-banner.module.scss","webpack://touchweb/./src/components/site-footer/start-page-footer-banner.tsx","webpack://touchweb/./src/components/site-footer/site-footer.jsx","webpack://touchweb/./src/state/member/api.js","webpack://touchweb/./src/state/member/actions.js","webpack://touchweb/./src/blueprint/theme/logos/tradera-app-logo.svg","webpack://touchweb/./src/blueprint/theme/icons2/cart.svg","webpack://touchweb/./src/components/site-header/header-badge.module.scss","webpack://touchweb/./src/components/site-header/header-badge.tsx","webpack://touchweb/./src/components/site-header/cart-link.tsx","webpack://touchweb/./src/components/site-header/dropdown-menu-burger.jsx","webpack://touchweb/./src/components/site-header/dropdown-menu.module.scss","webpack://touchweb/./src/components/site-header/dropdown-menu-item-separator.tsx","webpack://touchweb/./src/components/site-header/dropdown-menu-item-button.jsx","webpack://touchweb/./src/components/site-header/dropdown-menu-item.tsx","webpack://touchweb/./src/components/site-header/dropdown-menu-item-expandable.tsx","webpack://touchweb/./src/blueprint/theme/icons2/branded-ending.svg","webpack://touchweb/./src/blueprint/theme/icons2/branded-recommended.svg","webpack://touchweb/./src/blueprint/theme/icons2/valuation.svg","webpack://touchweb/./src/blueprint/theme/icons2/inspiration.svg","webpack://touchweb/./src/components/site-header/seo-links.tsx","webpack://touchweb/./src/blueprint/theme/icons2/hot.svg","webpack://touchweb/./src/apps/tradera/hooks/use-category-search.ts","webpack://touchweb/./src/helpers/filter-categories-helper.ts","webpack://touchweb/./src/components/site-header/dropdown-menu-content.tsx","webpack://touchweb/./src/utils/a11y.ts","webpack://touchweb/./src/components/site-header/dropdown-menu.tsx","webpack://touchweb/./src/components/site-header/sign-up-link.jsx","webpack://touchweb/./src/components/push-notification-modal/push-notification-modal.jsx","webpack://touchweb/./src/components/push-notification-modal/push-splash-icon.svg","webpack://touchweb/./src/components/push-notification-modal/push-wishlist-icon.svg","webpack://touchweb/./src/components/push-notification-modal/push-selling-icon.svg","webpack://touchweb/./src/blueprint/theme/icons2/buy.svg","webpack://touchweb/./src/components/site-header/hover-menu/hover-menu-item.module.scss","webpack://touchweb/./src/components/site-header/hover-menu/hover-menu-item.jsx","webpack://touchweb/./src/components/site-header/hover-menu/hover-menu-separator.module.scss","webpack://touchweb/./src/components/site-header/hover-menu/hover-menu-separator.jsx","webpack://touchweb/./src/components/site-header/site-header.analytics.js","webpack://touchweb/./src/components/site-header/buy-menu.jsx","webpack://touchweb/./src/components/site-header/buying-link.tsx","webpack://touchweb/./src/components/site-header/how-tradera-works.tsx","webpack://touchweb/./src/components/site-header/new-listing-link.tsx","webpack://touchweb/./src/components/site-header/profile.module.scss","webpack://touchweb/./src/components/site-header/profile.tsx","webpack://touchweb/./src/components/site-header/profile-link.tsx","webpack://touchweb/./src/components/site-header/search-button.jsx","webpack://touchweb/./src/components/messaging/messaging-new-message-form.tsx","webpack://touchweb/./src/components/messaging/messaging-new-message-header.tsx","webpack://touchweb/./src/components/messaging/messaging-new-message-modal.tsx","webpack://touchweb/./src/components/site-header/watch-list-menu.jsx","webpack://touchweb/./src/components/site-header/wishlist-link.tsx","webpack://touchweb/./src/components/site-header/sell-menu.jsx","webpack://touchweb/./src/components/underage/underage-modal.tsx","webpack://touchweb/./src/components/site-header/selling-link.tsx","webpack://touchweb/./src/components/toasts/tradera-toast-container.jsx","webpack://touchweb/./src/components/site-header/currency-link.tsx","webpack://touchweb/./src/apps/my-tradera/wish-list/components/item-states.ts","webpack://touchweb/./src/apps/my-tradera/wish-list/components/badge.tsx","webpack://touchweb/./src/apps/my-tradera/wish-list/components/action-button.tsx","webpack://touchweb/./src/apps/my-tradera/wish-list/components/wish-list-item.tsx","webpack://touchweb/./src/apps/tradera/components/wish-list-side-sheet/wish-list-side-sheet.module.scss","webpack://touchweb/./src/apps/tradera/start-page/components/wish-list/wish-list-empty.tsx","webpack://touchweb/./src/components/scroll-into-view-on-change/scroll-into-view-on-change.tsx","webpack://touchweb/./src/apps/tradera/components/use-reset-state.ts","webpack://touchweb/./src/apps/tradera/components/wish-list-side-sheet/wish-list-items.tsx","webpack://touchweb/./src/apps/tradera/start-page/components/wish-list/constants.ts","webpack://touchweb/./src/apps/tradera/components/wish-list-share/wish-list-share.module.scss","webpack://touchweb/./src/apps/tradera/components/wish-list-share/wish-list-share-item.tsx","webpack://touchweb/./src/apps/tradera/components/wish-list-share/wish-list-share.tsx","webpack://touchweb/./src/apps/tradera/components/wish-list-share/helper.tsx","webpack://touchweb/./src/apps/tradera/components/wish-list-share/share-santa.svg","webpack://touchweb/./src/apps/tradera/components/wish-list-share/wish-list-share-button.tsx","webpack://touchweb/./src/apps/tradera/components/wish-list-side-sheet/wish-list-side-sheet.tsx","webpack://touchweb/./src/hooks/use-on-navigation.ts","webpack://touchweb/./src/components/site-header/localization-region-picker-image.svg","webpack://touchweb/./src/localization/map-country-code-to-currency-code.js","webpack://touchweb/./src/components/site-header/localization-region-picker.jsx","webpack://touchweb/./src/utils/is-crawler-bot.js","webpack://touchweb/./src/hooks/use-user-agent.js","webpack://touchweb/./src/components/loader/loader-line.module.scss","webpack://touchweb/./src/components/loader/loader-line.jsx","webpack://touchweb/./src/apps/nextweb/hooks/use-viewport-width.js","webpack://touchweb/./src/blueprint/theme/logos/appstore.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/app-download-modal.module.scss","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/sv/app-download-mobile-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/da/app-download-mobile-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/de/app-download-mobile-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/fr/app-download-mobile-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/nl/app-download-mobile-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/sv/app-download-desktop-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/da/app-download-desktop-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/de/app-download-desktop-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/fr/app-download-desktop-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/background-images/nl/app-download-desktop-2x.png","webpack://touchweb/./src/apps/tradera/components/app-download-modal/get-image.ts","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/sv/qr-code-google-play.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/da/qr-code-google-play.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/de/qr-code-google-play.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/fr/qr-code-google-play.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/nl/qr-code-google-play.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/sv/qr-code-appstore.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/da/qr-code-appstore.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/de/qr-code-appstore.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/fr/qr-code-appstore.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/qr-codes/nl/qr-code-appstore.svg","webpack://touchweb/./src/apps/tradera/components/app-download-modal/app-download-modal.tsx","webpack://touchweb/./src/blueprint/theme/logos/googleplay.svg","webpack://touchweb/./src/components/profile-menu/expandable-localization-menu-item.jsx","webpack://touchweb/./src/components/profile-menu/expandable-currency-menu-item.jsx","webpack://touchweb/./src/components/profile-menu/profile-menu-alerts.tsx","webpack://touchweb/./src/components/profile-menu/profile-header.module.scss","webpack://touchweb/./src/blueprint/theme/icons-colored/gift.svg","webpack://touchweb/./src/components/profile-menu/referral-alert.module.scss","webpack://touchweb/./src/blueprint/theme/icons2/forward.svg","webpack://touchweb/./src/components/profile-menu/referral-alert.tsx","webpack://touchweb/./src/components/profile-menu/international-identification-alert.tsx","webpack://touchweb/./src/components/profile-menu/profile-header.tsx","webpack://touchweb/./src/blueprint/theme/icons2/gift-card.svg","webpack://touchweb/./src/components/site-header/menu-item-toggle.module.scss","webpack://touchweb/./src/components/site-header/menu-item-toggle.tsx","webpack://touchweb/./src/blueprint/theme/icons2/fashion.svg","webpack://touchweb/./src/components/profile-menu/fashion-toggle-menu-item.tsx","webpack://touchweb/./src/components/profile-menu/helpers.ts","webpack://touchweb/./src/components/profile-menu/profile-menu-content.tsx","webpack://touchweb/./src/components/profile-menu/chat-bot-loader.js","webpack://touchweb/./src/components/profile-menu/sign-in-menu-content.module.scss","webpack://touchweb/./src/components/profile-menu/sign-in-menu-content.tsx","webpack://touchweb/./src/components/profile-menu/profile-menu.module.scss","webpack://touchweb/./src/components/profile-menu/profile-menu.tsx","webpack://touchweb/./src/components/referral-modal/referral-modal.module.scss","webpack://touchweb/./src/components/referral-modal/referral-modal.tsx","webpack://touchweb/./src/blueprint/theme/icons2/bell.svg","webpack://touchweb/./src/apps/tradera/components/notifications-side-sheet/notifications-api.ts","webpack://touchweb/./src/components/site-header/notifications-badge.tsx","webpack://touchweb/./src/components/site-header/notifications-link.tsx","webpack://touchweb/./src/blueprint/theme/icons2/radio-button.svg","webpack://touchweb/./src/legacy/static/components/shimmer/shimmer.jsx","webpack://touchweb/./src/apps/tradera/components/notifications-side-sheet/notifications-bell.svg","webpack://touchweb/./src/apps/tradera/components/notifications-side-sheet/notifications-side-sheet.module.scss","webpack://touchweb/./src/apps/tradera/components/notifications-side-sheet/notifications-side-sheet.tsx","webpack://touchweb/./src/apps/tradera/components/notifications-side-sheet/use-time-since-short-format.ts","webpack://touchweb/./src/components/site-header/site-header.tsx","webpack://touchweb/./src/hooks/use-on-hash-updated.ts","webpack://touchweb/./src/components/site-header/on-ready.ts","webpack://touchweb/./src/components/suspense/render-async.tsx","webpack://touchweb/./src/constants/transaction-types.ts","webpack://touchweb/./src/constants/ui.ts","webpack://touchweb/./src/blueprint/theme/icons2/category-accessories.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-toys-childrens-items.svg","webpack://touchweb/./src/helpers/category-icon-helper.js","webpack://touchweb/./src/blueprint/theme/icons2/category-vehicles-boats-parts.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-books-magazines.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-computers-accessories.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-dvd-videos.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-photo-cameras-optics.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-stamp.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-clothes.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-consumer-electronics.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-hobby.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-watches.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-antiques-design.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-music.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-currency.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-art.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-jewlry-gemstones.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-sports-leisure.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-mobile-phone-telecommunications.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-postcards-pictures.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-other.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-collectibles.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-video-computer-games.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-home-household.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-construction-tools.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-childrens-clothing-shoes.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-tickets-travel.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-charity.svg?c2b2","webpack://touchweb/./src/blueprint/theme/icons2/category-handmade-applied-arts.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-garden-plants.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-childrens-items.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-shoes.svg","webpack://touchweb/./src/blueprint/theme/icons2/category-beauty-care.svg","webpack://touchweb/./src/hooks/use-app-download-link.ts","webpack://touchweb/./src/state/personalisation/actions.ts","webpack://touchweb/./src/state/ui/api.js","webpack://touchweb/./src/utils/cache.js"],"sourcesContent":["function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 132 109\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 4.14A4.14 4.14 0 0117.14 0h97.72A4.14 4.14 0 01119 4.14v80.54a4.14 4.14 0 01-4.14 4.14H17.14A4.14 4.14 0 0113 84.68V4.14z\",\n fill: \"#003B29\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M114.86 3.1H17.14c-.57 0-1.03.47-1.03 1.04v80.54c0 .57.46 1.03 1.03 1.03h97.72c.57 0 1.03-.46 1.03-1.03V4.14c0-.57-.46-1.03-1.03-1.03zM17.14 0A4.14 4.14 0 0013 4.14v80.54a4.14 4.14 0 004.14 4.14h97.72a4.14 4.14 0 004.14-4.14V4.14A4.14 4.14 0 00114.86 0H17.14z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.4 38.32a45.9 45.9 0 017.71.08c1.37.15 2.55.38 3.43.71.93.35 1.27.7 1.35.87l2.77-1.4c-.62-1.23-1.86-1.94-3.04-2.38a17.89 17.89 0 00-4.17-.9 49.7 49.7 0 00-8.79-.04 2.57 2.57 0 00-2.36 2.57v2.53h3.1v-2.04zm14.04 19.5l1.33 1.44c.79.86.9 2.14.28 3.13l-2.76 4.4a2.59 2.59 0 01-3.81.64l-3.05-2.45-2.64 2.68a2.59 2.59 0 01-4.02-.43l-3.08-4.82c-.64-1-.52-2.3.3-3.17l1.4-1.48v-3.32h3.1v3.13l4.85 3.4 5-3.44.23-3.46 3.1.2-.23 3.55zm-10.5 5.27l-3.8-2.67-.62.66 2.52 3.93 1.9-1.93zm4.96-.1l2.07 1.65 2.25-3.57-.6-.65-3.72 2.56z\",\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M117.45 18.94H15.28v-3.1h102.17v3.1z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M73.56 29.4c0-.86.7-1.55 1.55-1.55h30.64a1.55 1.55 0 010 3.1H75.11c-.86 0-1.55-.7-1.55-1.55zM84.53 9.32c0-.86.7-1.56 1.55-1.56h19.67a1.55 1.55 0 010 3.1H86.08c-.86 0-1.55-.69-1.55-1.54zM73.56 9.32c0-.86.7-1.56 1.55-1.56H78a1.55 1.55 0 010 3.1h-2.9c-.86 0-1.55-.69-1.55-1.54zM73.56 40.37c0-.86.7-1.55 1.55-1.55h30.64a1.55 1.55 0 010 3.1H75.11c-.86 0-1.55-.7-1.55-1.55zM73.56 51.76c0-.86.7-1.55 1.55-1.55h30.64a1.55 1.55 0 010 3.1H75.11c-.86 0-1.55-.7-1.55-1.55zM24.7 75.77c0-.85.7-1.55 1.55-1.55h79.5a1.55 1.55 0 010 3.1h-79.5c-.86 0-1.55-.69-1.55-1.55z\",\n fill: \"#FEF880\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.73 25.98H24.7l.05 1.6c.1 2.88.21 9.06 0 11.33a6.36 6.36 0 002.04 5.3c.05 2.4.62 5.62 2.22 8.4a10.9 10.9 0 0010.15 5.67c5.08-.1 8.21-2.7 9.96-5.87 1.6-2.9 2.04-6.25 1.97-8.62.35-.7.77-1.62 1.1-2.81.37-1.43.59-3.2.44-5.48a10.88 10.88 0 00-2.92-6.48c-.74-.82-1.56-1.51-2.37-2.02-.79-.5-1.67-.9-2.51-1l-.1-.02zm-.22 3.1c.24.06.64.2 1.17.54.55.35 1.16.86 1.73 1.48a7.8 7.8 0 012.12 4.6c.13 1.98-.06 3.4-.35 4.48a12.21 12.21 0 01-1.04 2.57l-.2.37.03.42c.11 1.98-.24 4.94-1.57 7.37-1.28 2.33-3.47 4.2-7.3 4.26a7.8 7.8 0 01-7.4-4.11 15.3 15.3 0 01-1.81-7.57l.02-.9-.76-.46a3.23 3.23 0 01-1.3-2.94c.19-2.1.13-6.94.05-10.1H44.5z\",\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: \"66\",\n cy: \"105\",\n rx: \"66\",\n ry: \"4\",\n fill: \"#EDEAEA\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.05 13.64l6.5-6.5-6.5-6.5-1.11 1.11 4.6 4.59H.63v1.6h11.9l-4.6 4.6 1.13 1.1zm0 0l6.5-6.5-6.5-6.5-1.11 1.11 4.6 4.59H.63v1.6h11.9l-4.6 4.6 1.13 1.1z\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M3.9 3.5A5.2 5.2 0 002 7.3c0 1 .5 2.6 1.3 3.4a9.47 9.47 0 01.8 3.1l.9-.4.2.5-.2-.5c1-.5 1.8-.9 2.9-.9h.3c1.8 0 2.8-.6 4-1.5 1.1-.8 1.8-2.4 1.8-3.7s-.7-3-1.9-3.9C11 2.6 10 2 8.1 2 6.3 2 5 2.6 3.9 3.5zm-.6-.8C4.6 1.7 6.1 1 8.1 1s3.3.6 4.6 1.7 2.3 3 2.3 4.7c0 1.6-.9 3.6-2.2 4.6-1.4 1-2.6 1.5-4.6 1.5H8c-1 0-1.6.3-2.5.7l-1.6.8c-.1.1-.3.1-.5 0-.1-.1-.2-.2-.2-.4v-.3c-.1-1-.3-2-.7-2.9-.9-1-1.5-2.7-1.5-4.1 0-1.6.9-3.6 2.3-4.6z\",\n fillRule: \"evenodd\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zM3 8.2L4.2 7l2.4 2.5L11.8 4 13 5.3 6.6 12 3 8.2z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M8 1l1.7 5.3H15l-4.3 3.3 1.6 5.4L8 11.7 3.7 15l1.6-5.4L1 6.3h5.3z\",\n fillRule: \"evenodd\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 21 21\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1 1.45a.65.65 0 01.81 0l2.4 1.88c.29.23.34.64.11.93a.65.65 0 01-.92.12l-1.33-1.05v8.24a.66.66 0 11-1.3 0l-.01-8.24-1.34 1.05a.65.65 0 01-.92-.12.67.67 0 01.12-.93l2.39-1.88z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.63 7.22c0-.37.29-.67.65-.67h3.18c.36 0 .65.3.65.66a.66.66 0 01-.65.67H3.94v10.48h13.13l-.01-10.48h-2.52a.66.66 0 01-.66-.66c0-.37.3-.67.66-.67h3.17c.37 0 .66.3.66.66l.01 11.8a.66.66 0 01-.65.66l-14.44.01a.66.66 0 01-.66-.66V7.22z\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1000 1000\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M500 950a447 447 0 01-318.2-131.8C96.8 733.2 50 620.2 50 500s46.8-233.2 131.8-318.2S379.8 50 500 50s233.2 46.8 318.2 131.8c85 85 131.8 198 131.8 318.2s-46.8 233.2-131.8 318.2S620.2 950 500 950zm0-867.9c-111.6 0-216.5 43.5-295.5 122.4S82.1 388.4 82.1 500s43.5 216.5 122.4 295.5S388.4 917.9 500 917.9s216.5-43.5 295.5-122.4S917.9 611.6 917.9 500s-43.5-216.5-122.4-295.5S611.6 82.1 500 82.1z\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n className: styles[\"symbol-inner\"] || \"symbol-inner\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M470.9 396.1h-10.2v23.5h-9.3v-23.5h-10.2v-8.2h29.7zM515.1 387.9v31.7h-9.3v-12.1h-14v12.1h-9.4V388h9.3v11.2h14V388zM556.7 411.9v7.7h-26.8V388h26.6v7.7h-17.3v4.2H554v7h-14.7v5zM342.2 493.2c0-9.5 6.9-16.8 17.7-16.8 8.7 0 14.2 4 16.2 10.3l-9 3.3c-1.2-3.5-3.3-5.2-7.4-5.2-4.9 0-7.9 3.6-7.9 8.3 0 4.7 3 8.3 7.9 8.3 4.1 0 6.4-1.7 7.6-5.6l9 3.3c-2.4 6.7-7.8 10.7-16.6 10.7-10.5 0-17.5-7.2-17.5-16.6zM388.8 477.3h9.4V509h-9.4zM444.2 509h-10l-.6-5.8c-.5-4.1-1.8-5.8-5.7-5.8h-5.7V509h-9.3v-31.7h18.7c8.6 0 12.3 4.2 12.3 9.8 0 3.7-2.2 6.3-5.6 7.6 2.8 1.3 4.2 3.8 4.8 7.6zm-13.7-18c2.6 0 4-1.3 4-3.2 0-2-1.4-3.2-4-3.2h-8.3v6.3h8.3zM455.4 493.2c0-9.5 6.9-16.8 17.7-16.8 8.7 0 14.2 4 16.2 10.3l-9 3.3c-1.2-3.5-3.3-5.2-7.4-5.2-4.9 0-8 3.6-8 8.3 0 4.7 3.1 8.3 8 8.3 4.1 0 6.4-1.7 7.6-5.6l9 3.3c-2.4 6.7-7.9 10.7-16.6 10.7-10.5 0-17.5-7.2-17.5-16.6zM501.4 495v-17.7h9.3v17c0 4.1 2.1 7 6.4 7 4.3 0 6.4-2.9 6.4-7v-17h9.3v17.6c0 9.3-6.4 15-15.8 15s-15.6-5.6-15.6-14.9zM571.2 500.8v8.2h-24v-31.7h9.3v23.5zM603.7 501.7h-11.5l-2.3 7.3h-9.2l10.8-31.7h13.3l10.8 31.7h-9.7zm-2.6-8l-3.2-10-3.2 10zM657.8 509h-10l-.6-5.8c-.5-4.1-1.8-5.8-5.6-5.8h-5.8V509h-9.3v-31.7h18.7c8.7 0 12.3 4.2 12.3 9.8 0 3.7-2.2 6.3-5.6 7.6 2.8 1.3 4.2 3.8 4.8 7.6zM644 491c2.6 0 4-1.3 4-3.2 0-2-1.4-3.2-4-3.2h-8.3v6.3h8.3zM414 598.3h-8.8l.4-24h-.3l-6.6 15.4H391l-6.5-15.4h-.3l.3 24h-8.3v-31.7h14.1l5 11.3 5.1-11.3H414zM448 591h-11.5l-2.3 7.3H425l10.8-31.7H449l10.8 31.7h-9.7zm-2.6-7.9l-3.2-10-3.2 10zM502 598.3h-9.8l-.7-5.7c-.5-4.2-1.8-5.8-5.6-5.8H480v11.5h-9.3v-31.7h18.7c8.7 0 12.3 4.3 12.3 9.8 0 3.7-2.2 6.4-5.6 7.6 2.8 1.4 4.2 3.8 4.9 7.7zm-13.6-18c2.6 0 4-1.2 4-3.1 0-2-1.4-3.2-4-3.2h-8.3v6.3zM529 584.1l-4.4 4.4v9.8h-9.3v-31.7h9.3v12.1l11.9-12.1h11L536 578l11.8 20.2H537zM585.8 590.6v7.7H559v-31.7h26.6v7.7h-17.2v4.2H583v7h-14.6v5.1zM626.4 574.8h-10.2v23.5h-9.3v-23.5h-10.2v-8.2h29.7z\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n className: styles[\"symbol-outer\"] || \"symbol-outer\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.8 663.7l-2-2.9-10 7.2-3.2-4.4-2.5 1.8 8.2 11.6 2.5-1.8-3-4.4zM162 654l7.4-1.4-3.7 6.6 3.1 4.4 12.6-9-1.8-2.6-10.2 7.3v-.1l4.5-7.9-1.6-2.3-9 1.7v-.1l10.2-7.2-1.9-2.7-12.7 9zM219.9 736l137.4-42-19.2-27.2-30.8 9.4-36.9-52.2 19.2-25.8-19.2-27.2-85.5 115.4zm58.3-51l-46.8 14.3-8.1-11.5 29-39.3zM429.2 815.1c0 28.6 19.4 50 57.8 50h72V728.7h-32.7v40l-52.7.1c-6.5 0-10-3-10-7.4v-32.7H431v33.1c0 9.3 7.3 16.2 16.9 17.6a41.8 41.8 0 00-18.7 35.7zm97.1 19.5H487c-16.4 0-24.4-5.6-24.4-19.4 0-12.5 7.5-19.5 24.4-19.5h39.3zM717.6 592.4l-73 94.8 24.2 18.6 53.1-69 19.9 15.4-44.6 57.9 22.5 17.3 44.6-57.9 17.3 13.3-53.1 69 24.2 18.6 73-94.8zM855.6 416.5l-11.4-56.3-133.7 27.2 11.3 55.6c10.5 51 42.5 73.3 83.8 64.9 44.2-9 60.6-39.6 50-91.4zm-103.8 20.4l-4.8-23.6 73.7-15 4.8 23.5c6.6 32-1.9 48.7-27.3 53.9-25.6 5.2-39.9-6.8-46.4-38.8zM630.2 158.2l-98.5 104.6 30.1 14 22.1-23.4 57.9 27-3.8 32 30.1 14.1 17-142.6zm-25.5 73.1l33.6-35.5 12.8 6-5.7 48.5zM400 192.8c-14.6-24.6-42.2-33-75.2-13.5l-62 36.7 69.7 117.3 28-16.6-20.4-34.4 45.3-27c5.6-3.3 10.1-2.5 12.4 1.3l16.7 28 28-16.6-16.9-28.4c-4.7-8-14.4-10.2-23.4-6.5a41.8 41.8 0 00-2.2-40.3zm-93.5 32.9l33.8-20.1c14.1-8.4 24-7.7 31 4.2 6.4 10.8 3.4 20.6-11.1 29.2l-33.8 20.1zM160.1 499.3l11.2-52.6 103.5 22 6.8-31.8-103.5-22 11.2-52.7-29.9-6.3-29.2 137z\"\n}))));","export default \"//static.tradera.net/touchweb/static/output/images/tradera-circle.react.25b6d837.svg\";","// extracted by mini-css-extract-plugin\nexport default {\"searchInputForm\":\"searchInputForm--z5e8y\",\"categoryName\":\"categoryName--v_INX\",\"searchInputFormButton\":\"searchInputFormButton--cUyXi\",\"searchInputFormBorder\":\"searchInputFormBorder--llJpD\",\"searchInputField\":\"searchInputField--ClYTH\",\"formControl\":\"formControl--HVwuO\",\"searchInputFormButtons\":\"searchInputFormButtons--RQ6kD\",\"categoryColor\":\"categoryColor--xQa5Q\",\"categoryLabel\":\"categoryLabel--FxBev\"};","import { useCurrentLanguage, useTranslator } from 'tradera/lang/translate';\nimport AppstoreBadgeEn from 'tradera/blueprint/theme/logos/app-store-badge-en.svg?next-image';\nimport AppstoreBadgeSv from 'tradera/blueprint/theme/logos/app-store-badge-sv.svg?next-image';\nimport AppstoreBadgeDa from 'tradera/blueprint/theme/logos/app-store-badge-da.svg?next-image';\nimport AppstoreBadgeDe from 'tradera/blueprint/theme/logos/app-store-badge-de.svg?next-image';\nimport AppstoreBadgeNl from 'tradera/blueprint/theme/logos/app-store-badge-nl.svg?next-image';\nimport AppstoreBadgeFr from 'tradera/blueprint/theme/logos/app-store-badge-fr.svg?next-image';\nimport GooglePlayBadgeEn from 'tradera/blueprint/theme/logos/google-play-badge-en.svg?next-image';\nimport GooglePlayBadgeSv from 'tradera/blueprint/theme/logos/google-play-badge-sv.svg?next-image';\nimport GooglePlayBadgeDa from 'tradera/blueprint/theme/logos/google-play-badge-da.svg?next-image';\nimport GooglePlayBadgeDe from 'tradera/blueprint/theme/logos/google-play-badge-de.svg?next-image';\nimport GooglePlayBadgeNl from 'tradera/blueprint/theme/logos/google-play-badge-nl.svg?next-image';\nimport GooglePlayBadgeFr from 'tradera/blueprint/theme/logos/google-play-badge-fr.svg?next-image';\n\ntype BadgeMap = {\n [key: string]: string | undefined;\n};\n\nconst googlePlayBadges: BadgeMap = {\n sv: GooglePlayBadgeSv,\n da: GooglePlayBadgeDa,\n de: GooglePlayBadgeDe,\n fr: GooglePlayBadgeFr,\n nl: GooglePlayBadgeNl,\n en: GooglePlayBadgeEn\n};\n\nexport const GooglePlayBadge = ({ height = '30' }) => {\n const { language } = useCurrentLanguage();\n const { t } = useTranslator();\n\n const badge = googlePlayBadges[language] ?? googlePlayBadges['en'];\n\n return (\n \n );\n};\n\nconst appleStoreBadges: BadgeMap = {\n sv: AppstoreBadgeSv,\n da: AppstoreBadgeDa,\n de: AppstoreBadgeDe,\n fr: AppstoreBadgeFr,\n nl: AppstoreBadgeNl,\n en: AppstoreBadgeEn\n};\n\ntype AppstoreProps = {\n height?: string;\n className?: string;\n};\n\nexport const AppstoreBadge = ({ height = '30', className }: AppstoreProps) => {\n const { language } = useCurrentLanguage();\n const { t } = useTranslator();\n\n const badge = appleStoreBadges[language] ?? googlePlayBadges['en'];\n\n return (\n \n );\n};\n","export default \"//static.tradera.net/touchweb/static/output/images/google-play-badge-sv.7a7fbfb4.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/google-play-badge-da.b3fee7c2.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/google-play-badge-de.7d51247e.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/google-play-badge-fr.c2d3e526.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/google-play-badge-nl.ce61c040.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/google-play-badge-en.a3e516ef.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/app-store-badge-sv.19fb3831.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/app-store-badge-da.21f42397.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/app-store-badge-de.52cafd71.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/app-store-badge-fr.8b729aa9.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/app-store-badge-nl.576fd4c9.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/app-store-badge-en.7e1bde26.svg\";","// extracted by mini-css-extract-plugin\nexport default {\"emailNotificationBox\":\"emailNotificationBox--RbI05\",\"emailNotificationBoxCenter\":\"emailNotificationBoxCenter--jCaJd\",\"emailNotificationBoxClose\":\"emailNotificationBoxClose--hatJM\",\"emailNotificationToggleInput\":\"emailNotificationToggleInput--IaF8s\",\"emailNotificationBoxLeft\":\"emailNotificationBoxLeft--Jnj4L\",\"emailNotificationBoxTop\":\"emailNotificationBoxTop--vR1gH\"};","import { useState } from 'react';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { useToggleEmailNotificationMutation } from 'tradera/apps/my-tradera/saved-searches/saved-searches-api';\nimport CloseIcon from '@tradera/blueprint/theme/icons2/close.svg?jsx';\nimport { classNames } from 'tradera/utils/class-names';\nimport * as searchGtm from 'tradera/apps/tradera/components/discover/helpers/search-gtm';\nimport { showErrorToast } from 'tradera/services/toasts';\nimport styles from './email-notification-tooltip.module.scss';\n\nexport enum EmailNotificationTooltipPosition {\n Top = 'top',\n Bottom = 'bottom',\n Left = 'left'\n}\n\ntype EmailNotificationToolTipProps = {\n searchName: string;\n searchId: number;\n isSavedSearchEmailEnabled: boolean;\n onClose: () => void;\n center?: boolean;\n position?: EmailNotificationTooltipPosition;\n};\n\nexport const EmailNotificationToolTip = ({\n searchName,\n searchId,\n isSavedSearchEmailEnabled,\n onClose,\n center,\n position = EmailNotificationTooltipPosition.Bottom\n}: EmailNotificationToolTipProps) => {\n const { t } = useTranslator();\n const [isEmailChecked, setIsEmailChecked] = useState(true);\n const [isPushChecked, setIsPushChecked] = useState(false);\n const [toggleEmailNotification] = useToggleEmailNotificationMutation();\n\n const handleEmailToggle = () => {\n setIsEmailChecked((isEmailEnabled) => !isEmailEnabled);\n toggleEmailNotification({\n savedSearchDto: {\n id: searchId,\n sendMail: !isEmailChecked,\n sendPush: isPushChecked\n }\n })\n .unwrap()\n .catch(() => {\n setIsEmailChecked((isEmailEnabled) => !isEmailEnabled);\n showErrorToast('searchResults_saveSearch_error');\n });\n searchGtm.trackAction(\n searchGtm.GA_EVENT_SAVE_SEARCH,\n isEmailChecked ? 'Email removed' : 'Email added'\n );\n };\n\n const handlePushToggle = () => {\n setIsPushChecked((isPushEnabled) => !isPushEnabled);\n toggleEmailNotification({\n savedSearchDto: {\n id: searchId,\n sendMail: isEmailChecked,\n sendPush: !isPushChecked\n }\n })\n .unwrap()\n .catch(() => {\n setIsPushChecked((isPushEnabled) => !isPushEnabled);\n showErrorToast('searchResults_saveSearch_error');\n });\n searchGtm.trackAction(\n searchGtm.GA_EVENT_SAVE_SEARCH,\n isPushChecked ? 'Push removed' : 'Push added'\n );\n };\n\n const boxClass = classNames(styles.emailNotificationBox, {\n [styles.emailNotificationBoxCenter]: center,\n [styles.emailNotificationBoxLeft]:\n position === EmailNotificationTooltipPosition.Left,\n [styles.emailNotificationBoxTop]:\n position === EmailNotificationTooltipPosition.Top\n });\n\n return (\n
\n \n {t('searchResults_saveSearch_savedTooltip', {\n searchName\n })}\n \n {isSavedSearchEmailEnabled ? (\n
\n \n \n {t('searchResults_saveSearch_savedTooltipNotify')}\n \n {\n handleEmailToggle();\n }}\n checked={isEmailChecked}\n />\n \n \n \n {t(\n 'searchResults_saveSearch_savedTooltipNotifyPush'\n )}\n \n {\n handlePushToggle();\n }}\n checked={isPushChecked}\n />\n \n
\n ) : (\n

\n {t('searchResults_saveSearch_emailDisabledTooltip')}\n

\n )}\n onClose()}>\n \n \n
\n );\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M3.1 1.1c.1 0 .3-.1.4-.1h9c.3 0 .5.2.5.5v13c0 .2-.1.4-.3.4-.2.1-.4.1-.5 0L8 12l-4.2 3h-.5c-.2-.1-.3-.3-.3-.5v-13c0-.1 0-.3.1-.4z\",\n fillRule: \"evenodd\"\n})));","// extracted by mini-css-extract-plugin\nexport default {\"verticalIcon\":\"verticalIcon--_2qOH\"};","import type React from 'react';\nimport { useEffect, useState } from 'react';\nimport { classNames } from 'tradera/utils/class-names';\nimport { useSelector } from 'react-redux';\nimport { useAppDispatch } from 'tradera/state/hooks';\nimport { useTranslator } from 'tradera/lang/translate';\nimport useIsMobile from 'tradera/hooks/use-is-mobile';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { selectSaveSearchData } from 'tradera/state/discover/selectors';\nimport { useSaveSearchMutation } from 'tradera/state/services/touchweb-search-api';\nimport {\n useRemoveSavedSearchesMutation,\n useToggleEmailNotificationMutation\n} from 'tradera/apps/my-tradera/saved-searches/saved-searches-api';\nimport {\n EmailNotificationToolTip,\n EmailNotificationTooltipPosition\n} from './email-notification-tooltip';\nimport { showSuccessToast, showErrorToast } from 'tradera/services/toasts';\nimport useIsLoggedIn from 'tradera/hooks/use-is-loggedin';\nimport { toSearchString } from 'tradera/utils/url';\nimport { signIn } from 'tradera/state/ui/actions';\nimport BookmarkFillIcon from '@tradera/blueprint/theme/icons2/bookmark-fill.svg?jsx';\nimport BookmarkIcon from '@tradera/blueprint/theme/icons2/bookmark.svg?jsx';\nimport { showSaveSearchHint, hideSaveSearchHint } from './utils';\nimport {\n removeSavedSearch as removeSavedSearchFromStorage,\n storeSavedSearch\n} from 'tradera/state/services/helpers/saved-searches-storage';\nimport * as searchGtm from 'tradera/apps/tradera/components/discover/helpers/search-gtm';\nimport styles from './save-search-button.module.scss';\nimport { Popover } from 'tradera/components/popover/popover';\nimport { openSearchForm } from 'tradera/state/ui/reducer';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\n\nexport type ButtonType = 'default' | 'icon' | 'no-icon';\n\nexport type SaveSearchButtonProps = React.PropsWithChildren<{\n type?: ButtonType;\n successToast?: boolean;\n showHint?: boolean;\n saveText?: string;\n emailDefaultOff?: boolean;\n onSaveClick?: (event?: React.MouseEvent) => void;\n gaActionString?: string;\n id?: string;\n isVertical?: boolean;\n containerClassName?: string;\n iconColor?: 'default' | 'white';\n emailTooltipPosition?: EmailNotificationTooltipPosition;\n}>;\n\nexport const SaveSearchButton = ({\n type = 'default',\n successToast = false,\n showHint = true,\n saveText,\n emailDefaultOff = false,\n onSaveClick,\n gaActionString = searchGtm.GA_EVENT_SAVE_SEARCH,\n id = 'save-search-button',\n isVertical = false,\n containerClassName = '',\n iconColor = 'default',\n emailTooltipPosition = EmailNotificationTooltipPosition.Bottom\n}: SaveSearchButtonProps) => {\n const { t } = useTranslator();\n const dispatch = useAppDispatch();\n const [isSaved, setIsSaved] = useState(false);\n const [savedSearchId, setSavedSearchId] = useState(0);\n const [showEmailTooltip, setShowEmailTooltip] = useState(false);\n const [showHintTooltip, setShowHintTooltip] = useState(false);\n const isLoggedIn = useIsLoggedIn();\n const isMobile = useIsMobile();\n const saveSearchData = useSelector(selectSaveSearchData);\n const {\n searchName,\n categoryId,\n queryParams,\n isSavedSearchEmailEnabled,\n totalItems\n } = saveSearchData;\n\n useEffect(() => {\n const shouldShowHint = showHint && showSaveSearchHint();\n setShowHintTooltip(shouldShowHint);\n if (shouldShowHint) {\n dispatch(openSearchForm());\n }\n }, [showHint, dispatch]);\n\n const [saveSearch, saveSearchResponse] = useSaveSearchMutation({\n fixedCacheKey: 'shared-save-search'\n });\n const { status: saveStatus, data: saveSearchResponseData } =\n saveSearchResponse;\n\n const isSavePending = saveStatus === 'pending';\n const [\n removeSavedSearches,\n { isLoading: isRemovePending, data: removeSearchResponseData }\n ] = useRemoveSavedSearchesMutation({\n fixedCacheKey: 'shared-remove-search'\n });\n\n const hasPendingRequest = isSavePending || isRemovePending;\n const [toggleEmailNotification] = useToggleEmailNotificationMutation();\n\n const hideHint = () => {\n hideSaveSearchHint();\n setShowHintTooltip(false);\n };\n\n const handleLogin = () => {\n const query = {\n ...queryParams,\n saveSearch: 'true'\n };\n const redirectUrl = `${window.location.pathname}${toSearchString(\n query\n )}`;\n dispatch(signIn({ redirectUrl }));\n };\n\n useEffect(() => {\n setIsSaved(false);\n setSavedSearchId(0);\n setShowEmailTooltip(false);\n }, [saveSearchData]);\n\n useEffect(() => {\n if (isSavePending) {\n setIsSaved(true);\n }\n\n if (saveSearchResponseData?.id) {\n setSavedSearchId(saveSearchResponseData.id);\n }\n }, [saveSearchResponseData, isSavePending]);\n\n useEffect(() => {\n if (isRemovePending) {\n setIsSaved(false);\n }\n\n if (!removeSearchResponseData) {\n setSavedSearchId(0);\n }\n }, [removeSearchResponseData, isRemovePending]);\n\n const handleSaveSearch = () => {\n if (!isLoggedIn) {\n return handleLogin();\n }\n if (onSaveClick) {\n onSaveClick();\n }\n hideHint();\n saveSearch({\n savedQueryName: searchName,\n categoryId,\n ...queryParams\n })\n .unwrap()\n .then(({ id }) => {\n storeSavedSearch(id, totalItems);\n if (successToast) {\n showSuccessToast('searchResults_saveSearch_success');\n } else {\n setShowEmailTooltip(true);\n }\n if (emailDefaultOff) {\n toggleEmailNotification({\n //ToggleEmailNotification should NOT set sendPush but it's currently required in the contract.\n //The WebApi SavedSearchEmailNotificationApiRequest should be split into two individual requests where the current one (with both email and push) is used from the apps and a new one (email only) is used from web.\n savedSearchDto: {\n id,\n sendMail: false,\n sendPush: false\n }\n });\n }\n GtmService.trackGA4('search_saved', {\n saved_search_type: gaActionString,\n saved_search_id: id\n });\n return;\n })\n .catch(() => {\n setShowEmailTooltip(false);\n setIsSaved(false);\n showErrorToast('searchResults_saveSearch_error');\n });\n searchGtm.trackAction(gaActionString, 'Saved');\n };\n\n const handleRemoveSavedSearch = () => {\n if (!savedSearchId) {\n return;\n }\n setShowEmailTooltip(false);\n removeSavedSearches({ ids: [savedSearchId] }).catch(() => {\n setIsSaved(true);\n showErrorToast('searchResults_saveSearch_error');\n });\n removeSavedSearchFromStorage(savedSearchId);\n GtmService.trackGA4('saved_search_deleted', {\n saved_search_id: savedSearchId\n });\n searchGtm.trackAction(gaActionString, 'Removed');\n };\n\n const handleClick = () => {\n if (hasPendingRequest) {\n return;\n }\n if (savedSearchId) {\n handleRemoveSavedSearch();\n return;\n }\n handleSaveSearch();\n };\n\n const buttonTheme = type === 'icon' ? 'text' : 'primary';\n const hideText = type === 'icon';\n const hideIcon = type === 'no-icon';\n\n const iconClassName = classNames('icon icon-md', {\n 'icon-white': iconColor === 'white'\n });\n const buttonClass = classNames({\n [styles.verticalIcon]: isVertical\n });\n const containerClass = classNames(\n 'tooltip_container tooltip-toggle tooltip-toggle-show position-relative',\n {\n [containerClassName]: containerClassName\n }\n );\n const centerTooltip = type === 'default' && isMobile;\n\n const tooltipPosition = isVertical\n ? EmailNotificationTooltipPosition.Left\n : emailTooltipPosition;\n\n return (\n
\n \n \n ) : (\n \n )\n }>\n {isSaved ? (\n hideText ? (\n \n ) : (\n t('searchResults_saveSearch_saved')\n )\n ) : (\n <>\n {hideText ? (\n \n ) : saveText ? (\n saveText\n ) : (\n t('searchResults_saveSearch_save')\n )}\n \n )}\n \n \n {showEmailTooltip && (\n setShowEmailTooltip(false)}\n center={centerTooltip}\n position={tooltipPosition}\n />\n )}\n
\n );\n};\n","import { localStore } from 'tradera/utils/storage';\nimport { STORAGE_KEYS, STORAGE_VALUES } from 'tradera/constants/storage';\nimport GdprSettings from 'tradera/utils/gdpr-settings';\n\nexport const showSaveSearchHint = () =>\n localStore &&\n localStore.getItem(STORAGE_KEYS.SAVE_SEARCH_HINT) !==\n STORAGE_VALUES.SAVE_SEARCH_HINT_CLICKED &&\n GdprSettings.isFunctionalEnabled();\n\nexport const hideSaveSearchHint = () =>\n localStore &&\n localStore.setItem(\n STORAGE_KEYS.SAVE_SEARCH_HINT,\n STORAGE_VALUES.SAVE_SEARCH_HINT_CLICKED\n );\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 15 15\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.5 10.5C8.9 10.5 10 9.4 10 8S8.9 5.5 7.5 5.5 5 6.6 5 8s1.1 2.5 2.5 2.5zm0-1C6.7 9.5 6 8.8 6 8s.7-1.5 1.5-1.5S9 7.2 9 8s-.7 1.5-1.5 1.5zm-4-6l2-2h4l2 2h2c.6 0 1 .4 1 1v8c0 .6-.4 1-1 1h-12c-.6 0-1-.4-1-1v-8c0-.6.4-1 1-1h2zm2.4-1l-2 2H1.5v8h12v-8h-2.4l-2-2H5.9z\"\n})));","import CameraIcon from '@tradera/blueprint/theme/icons2/camera.svg?jsx';\nimport { classNames } from 'tradera/utils/class-names';\n\nexport const EmptyImage = ({ className }: { className?: string }) => (\n \n \n \n);\n","import type { FireBaseTimestamp } from 'tradera/apps/tradera/messaging/types';\n\nfunction timestampToDate(firebaseTimestamp: FireBaseTimestamp): Date {\n const seconds =\n firebaseTimestamp._seconds ?? firebaseTimestamp.seconds ?? 0;\n const nanoseconds =\n firebaseTimestamp._nanoseconds ?? firebaseTimestamp.nanoseconds ?? 0;\n return new Date(seconds * 1000 + nanoseconds / 1000000);\n}\n\nexport { timestampToDate };\n","import type React from 'react';\nimport { Trans, useTranslator } from 'tradera/lang/translate';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { ScrollableModal } from 'tradera/components/scrollable-modal/scrollable-modal';\nimport BankidIcon from '@tradera/blueprint/theme/icons2/bankid.svg?jsx';\nimport { HeaderWithCloseButton } from 'tradera/components/scrollable-modal/header-with-close-button';\n\ntype BankIdInfoModalProps = {\n birthdate: string;\n onVerifyWithBankId: () => void;\n onCloseAction: () => void;\n text: string;\n disabled?: boolean;\n children?: React.ReactNode;\n};\n\nconst BankIdInfoModal = ({\n birthdate,\n onVerifyWithBankId,\n onCloseAction,\n text,\n disabled,\n children\n}: BankIdInfoModalProps) => {\n const { t } = useTranslator();\n\n return (\n \n ) : undefined\n }\n footer={\n
\n }\n fixedIcon\n theme=\"primary\"\n onClick={onVerifyWithBankId}>\n {t('identity_verification_verify_with_bankid')}\n \n
\n \n }}\n />\n
\n
\n }>\n
\n \n
\n {`${t('identity_verification_verifying')} ${birthdate}****`}\n
\n
\n {children}\n \n );\n};\n\nconst IdentityVerificationContent = ({ text }: { text: string }) => {\n const { t } = useTranslator();\n\n return (\n <>\n \n

\n {t('identity_verification_modal_header')}\n

\n

{text}

\n \n );\n};\n\nexport default BankIdInfoModal;\n","import axios from 'axios';\nimport { memberIdentificationClient } from 'tradera/utils/http';\n\nexport interface SessionStatusCommandResult {\n isCompleted: boolean;\n errors: string[];\n}\n\nexport const pollSessionStatus = (\n successAction: () => void,\n errorAction: (error: string[]) => void,\n command: string\n): (() => void) => {\n const abortController = new AbortController();\n let timeoutId: ReturnType | null = null;\n let retries = 0;\n\n const poll = () => {\n memberIdentificationClient\n .command(\n command,\n {} as TRequest,\n { signal: abortController.signal }\n )\n .then((response) => {\n if (response == undefined) {\n throw new Error('Response is undefined');\n }\n\n const { errors, isCompleted } = response || {};\n\n if (!isCompleted) {\n // eslint-disable-next-line better-mutation/no-mutation\n retries++;\n\n if (retries > 10) {\n errorAction(['ErrorUnavailable']);\n } else {\n // eslint-disable-next-line better-mutation/no-mutation\n timeoutId = setTimeout(poll, 3000);\n }\n\n return;\n }\n\n if (errors.length > 0) {\n errorAction(errors);\n\n return;\n }\n\n successAction();\n return;\n })\n .catch((ex) => {\n if (axios.isCancel(ex)) {\n return;\n }\n\n errorAction(['ErrorUnavailable']);\n });\n };\n\n poll();\n\n // Cleanup function\n return () => {\n abortController.abort();\n\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { InternationalIdentificationModal } from './international-identification-modal';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { closeModal, closeNewMessageModal } from 'tradera/state/ui/reducer';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { useLocation } from 'tradera/hooks/use-location';\nimport { showSuccessToast } from 'tradera/services/toasts';\nimport { setMemberActive } from 'tradera/state/member/reducer';\nimport { setIsInternationalWacko } from 'tradera/state/views/view-item/reducer';\nimport type { TFunction } from 'i18next';\nimport { pollSessionStatus } from 'tradera/components/international-identification-modal/poll-session-status';\n\nexport const headerInternationalIdentificationModalId =\n 'headerInternationalIdentificationModalId';\n\nexport const HeaderInternationalIdentificationModal = () => {\n const { t } = useTranslator();\n const dispatch = useAppDispatch();\n const { currentModal, currentModalData } = useAppSelector(\n (state) => state.ui.modals\n );\n const purposeQueryParam = new URLSearchParams(useLocation().search).get(\n 'purpose'\n );\n const purpose =\n currentModalData?.purpose || purposeQueryParam || 'Identification';\n\n const [errors, setErrors] = useState([]);\n\n const clearModal = useCallback(() => {\n setErrors([]);\n setIsResponseLoading(false);\n }, []);\n\n const onVerifyComplete = useCallback(\n (shouldSetMemberActive?: boolean) => {\n showSuccessToast('international_identification_success');\n setIsResponseLoading(false);\n dispatch(closeModal());\n clearModal();\n if (shouldSetMemberActive) {\n dispatch(setMemberActive());\n }\n if (purpose === 'Payment') {\n dispatch(setIsInternationalWacko(false));\n }\n },\n [clearModal, dispatch, purpose]\n );\n\n const onCloseModal = useCallback(() => {\n dispatch(closeModal());\n dispatch(closeNewMessageModal());\n GtmService.trackAction(\n purpose,\n 'International Verification',\n 'Close modal'\n );\n clearModal();\n }, [clearModal, dispatch, purpose]);\n\n const [isResponseLoading, setIsResponseLoading] = useState(false);\n const identifiedQueryParam =\n new URLSearchParams(useLocation().search).get('identified') || '';\n\n useEffect(() => {\n let isStale = false;\n if (purposeQueryParam !== purpose) {\n return;\n }\n\n const success = (shouldSetMemberActive: boolean) => () => {\n if (isStale) {\n return;\n }\n GtmService.trackAction(identifiedQueryParam, 'Success', '');\n onVerifyComplete(shouldSetMemberActive);\n };\n const error = (errors: string[]) => {\n if (isStale) {\n return;\n }\n\n setIsResponseLoading(false);\n\n setErrors(errors);\n errors.forEach((error) => {\n GtmService.trackAction(identifiedQueryParam, 'Error', error);\n });\n };\n\n let cleanup = () => {};\n if (identifiedQueryParam === 'mitid') {\n setIsResponseLoading(true);\n cleanup = pollSessionStatus(\n success(true),\n error,\n 'MitIdSessionStatus'\n );\n } else if (identifiedQueryParam === 'paypal') {\n setIsResponseLoading(true);\n cleanup = pollSessionStatus(\n success(false),\n error,\n 'PayPalSessionStatus'\n );\n } else if (identifiedQueryParam === 'idin') {\n setIsResponseLoading(true);\n cleanup = pollSessionStatus(\n success(true),\n error,\n 'IdinSessionStatus'\n );\n }\n\n return () => {\n // eslint-disable-next-line better-mutation/no-mutation\n isStale = true;\n cleanup();\n };\n }, [\n t,\n identifiedQueryParam,\n purposeQueryParam,\n dispatch,\n purpose,\n onVerifyComplete\n ]);\n\n const errorText = getErrorText(t, errors, identifiedQueryParam);\n\n return currentModal === headerInternationalIdentificationModalId ||\n isResponseLoading ||\n errorText ? (\n \n ) : null;\n};\n\nconst getErrorText = (\n t: TFunction,\n errors: string[],\n identifiedQueryParam: string\n): string | null => {\n if (errors.length === 0) {\n return null;\n }\n\n const method =\n identifiedQueryParam === 'idin'\n ? 'iDIN'\n : identifiedQueryParam === 'paypal'\n ? 'Paypal'\n : 'MitId';\n\n switch (true) {\n case errors.includes('NAME_HIDDEN'):\n return t('international_identification_validation_name_hidden');\n case errors.includes('ACCOUNT_ALREADY_IN_USE'):\n case errors.includes('DOCUMENT_IN_USE'):\n return t(\n 'international_identification_validation_document_in_use',\n { method }\n );\n case errors.includes('COUNTRY'):\n case errors.includes('DATE_OF_BIRTH'):\n case errors.includes('FIRST_NAME'):\n case errors.includes('LAST_NAME'):\n return t(\n 'international_identification_validation_account_details',\n { method }\n );\n case errors.includes('ErrorUnavailable'):\n return t('international_identification_errorUnavailable');\n case errors.includes('ACCOUNT_NOT_VERIFIED'):\n default:\n return t('international_identification_contactCustomerSupportText');\n }\n};\n","import { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport axios from 'axios';\nimport { memberIdentificationClient } from 'tradera/utils/http';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { selectPreferredLanguageCode } from 'tradera/state/language/selectors';\nimport { useTranslator } from 'tradera/lang/translate';\n\ninterface MitIdCreateSessionCommand {\n clientId: string;\n purpose: string;\n languageCodeIso2: string;\n}\ninterface MitIdCreateSessionCommandResult {\n redirectUrl: string;\n}\n\nexport const MitId = ({\n purpose,\n setSelectedIdentificationIsLoading,\n signal\n}: {\n purpose: string;\n signal: AbortSignal;\n setSelectedIdentificationIsLoading: (value: boolean) => void;\n}) => {\n const { t } = useTranslator();\n const [error, setError] = useState();\n const preferredLanguageCode = useSelector(selectPreferredLanguageCode);\n\n useEffect(() => {\n GtmService.trackAction('MitId', 'Start', '');\n memberIdentificationClient\n .command<\n MitIdCreateSessionCommandResult,\n MitIdCreateSessionCommand\n >(\n 'MitIdCreateSession',\n {\n clientId: 'touchweb',\n purpose: purpose,\n languageCodeIso2: preferredLanguageCode\n },\n { signal: signal }\n )\n .then((response) => {\n if (response == undefined) {\n throw new Error('Response is undefined');\n }\n\n const redirectUrl = response.redirectUrl;\n window.location.href = redirectUrl;\n return;\n })\n .catch((ex) => {\n if (axios.isCancel(ex)) {\n return;\n }\n\n setSelectedIdentificationIsLoading(false);\n setError(true);\n });\n }, [\n preferredLanguageCode,\n purpose,\n setError,\n setSelectedIdentificationIsLoading,\n signal\n ]);\n\n return error ? (\n
\n {t('international_identification_errorUnavailable')}\n
\n ) : null;\n};\n","import { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport axios from 'axios';\nimport { memberIdentificationClient } from 'tradera/utils/http';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { selectPreferredLanguageCode } from 'tradera/state/language/selectors';\nimport { useTranslator } from 'tradera/lang/translate';\n\ninterface PayPalCreateSessionCommand {\n clientId: string;\n purpose: string;\n languageCodeIso2: string;\n}\n\ninterface PayPalCreateSessionCommandResult {\n redirectUrl: string;\n}\n\nexport const PayPal = ({\n purpose,\n setSelectedIdentificationIsLoading,\n signal\n}: {\n purpose: string;\n signal: AbortSignal;\n setSelectedIdentificationIsLoading: (value: boolean) => void;\n}) => {\n const { t } = useTranslator();\n const [error, setError] = useState();\n const preferredLanguageCode = useSelector(selectPreferredLanguageCode);\n\n useEffect(() => {\n GtmService.trackAction('PayPal', 'Start', 'Mobile');\n memberIdentificationClient\n .command<\n PayPalCreateSessionCommandResult,\n PayPalCreateSessionCommand\n >(\n 'PayPalCreateSession',\n {\n clientId: 'touchweb',\n purpose: purpose,\n languageCodeIso2: preferredLanguageCode\n },\n { signal: signal }\n )\n .then((response) => {\n if (response == undefined) {\n throw new Error('Response is undefined');\n }\n\n const { redirectUrl } = response;\n window.location.href = redirectUrl;\n return;\n })\n .catch((ex) => {\n if (axios.isCancel(ex)) {\n return;\n }\n\n setSelectedIdentificationIsLoading(false);\n setError(true);\n });\n }, [\n preferredLanguageCode,\n purpose,\n setError,\n setSelectedIdentificationIsLoading,\n signal\n ]);\n\n return error ? (\n
\n {t('international_identification_errorUnavailable')}\n
\n ) : null;\n};\n","export const PayPalLogo = ({ className = '', height = '21' }) => {\n return (\n \n \n \n \n \n \n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport axios from 'axios';\nimport { memberIdentificationClient } from 'tradera/utils/http';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { selectPreferredLanguageCode } from 'tradera/state/language/selectors';\nimport { useTranslator } from 'tradera/lang/translate';\n\ninterface IdinCreateSessionCommand {\n clientId: string;\n purpose: string;\n languageCodeIso2: string;\n}\n\ninterface IdinCreateSessionCommandResult {\n redirectUrl: string;\n}\n\nexport const Idin = ({\n purpose,\n setSelectedIdentificationIsLoading,\n signal\n}: {\n purpose: string;\n signal: AbortSignal;\n setSelectedIdentificationIsLoading: (value: boolean) => void;\n}) => {\n const { t } = useTranslator();\n const [error, setError] = useState();\n const preferredLanguageCode = useSelector(selectPreferredLanguageCode);\n\n useEffect(() => {\n GtmService.trackAction('iDIN', 'Start', '');\n memberIdentificationClient\n .command(\n 'IdinCreateSession',\n {\n clientId: 'touchweb',\n purpose: purpose,\n languageCodeIso2: preferredLanguageCode\n },\n { signal: signal }\n )\n .then((response) => {\n if (response == undefined) {\n throw new Error('Response is undefined');\n }\n\n const { redirectUrl } = response;\n window.location.href = redirectUrl;\n return;\n })\n .catch((ex) => {\n if (axios.isCancel(ex)) {\n return;\n }\n\n setSelectedIdentificationIsLoading(false);\n setError(true);\n });\n }, [\n preferredLanguageCode,\n purpose,\n setError,\n setSelectedIdentificationIsLoading,\n signal\n ]);\n\n return error ? (\n
\n {t('international_identification_errorUnavailable')}\n
\n ) : null;\n};\n","export const IdinLogo = ({ className = '', height = '21' }) => {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"international-identification-modal-opacity\":\"international-identification-modal-opacity--W4fpB\",\"internationalIdentificationModalOpacity\":\"international-identification-modal-opacity--W4fpB\"};","// extracted by mini-css-extract-plugin\nexport default {\"card-verification-container\":\"card-verification-container--c3L3s\",\"cardVerificationContainer\":\"card-verification-container--c3L3s\"};","import { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport axios from 'axios';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { webApiClient } from 'tradera/utils/http';\nimport { setIsInternationalWacko } from 'tradera/state/views/view-item/reducer';\nimport { selectPreferredLanguage } from 'tradera/state/language/selectors';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport styles from './card-verification.module.scss';\nimport { Button } from '../atoms/button/button';\n\nconst states = {\n START: 'START',\n LOADING: 'LOADING',\n CARD_VERIFICATION_MODAL: 'CARD_VERIFICATION_MODAL',\n ERROR: 'ERROR',\n NOT_VERIFIED: 'NOT_VERIFIED'\n};\n\nexport const CardVerification = ({\n onCardVerified,\n setIsHidden,\n setSelectedIdentificationIsLoading,\n signal\n}) => {\n const preferredLanguage = useSelector(selectPreferredLanguage);\n const memberEmail = useSelector((state) => state.member.memberEmail);\n const [state, setState] = useState(states.START);\n const { t } = useTranslator();\n const submitButtonRef = useRef();\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (state !== states.START) {\n return;\n }\n\n GtmService.trackAction('VIP', 'Card Verification', 'Start');\n\n const onSuccess = (nonce) => {\n setState(states.LOADING);\n webApiClient\n .post(\n '/shopping/payment/verifybraintreecardnonce',\n { nonce },\n { signal: signal }\n )\n .then(({ data }) => {\n setSelectedIdentificationIsLoading(false);\n\n if (data.isVerified) {\n onCardVerified();\n GtmService.trackAction(\n 'VIP',\n 'Card Verification',\n 'Verified'\n );\n dispatch(setIsInternationalWacko(false));\n return;\n }\n GtmService.trackAction(\n 'VIP',\n 'Card Verification',\n 'NotVerified'\n );\n setIsHidden(false);\n setState(states.NOT_VERIFIED);\n return;\n })\n .catch((ex) => {\n if (axios.isCancel(ex)) {\n return;\n }\n\n GtmService.trackAction(\n 'VIP',\n 'Card Verification',\n 'Server error'\n );\n setState(states.ERROR);\n setSelectedIdentificationIsLoading(false);\n });\n };\n\n webApiClient\n .get('/shopping/payment/braintreeclienttokenforverification', {\n signal: signal\n })\n .then(async ({ data }) => {\n setSelectedIdentificationIsLoading(false);\n setState(states.CARD_VERIFICATION_MODAL);\n const options = {\n authorization: data.clientToken,\n container: '#dropin-container',\n locale: preferredLanguage.languageCodeIso2,\n threeDSecure: true\n };\n const dropin = await import(\n /* webpackChunkName: \"braintree-web-drop-in\" */ 'braintree-web-drop-in'\n );\n dropin.create(options, (error, instance) => {\n if (error) {\n return;\n }\n submitButtonRef.current.addEventListener('click', () => {\n setIsHidden(true);\n try {\n instance.requestPaymentMethod(\n {\n threeDSecure: {\n amount: '1',\n email: memberEmail\n }\n },\n (requestPaymentMethodErr, payload) => {\n if (requestPaymentMethodErr) {\n setIsHidden(false);\n setState(states.NOT_VERIFIED);\n const error =\n requestPaymentMethodErr._braintreeWebError ||\n {};\n\n GtmService.trackAction(\n 'VIP',\n 'Card Verification',\n `${error.type}:${error.code}`\n );\n\n return;\n }\n\n if (!payload || !payload.nonce) {\n setIsHidden(false);\n setState(states.NOT_VERIFIED);\n\n if (payload) {\n const threeDSecureValidationFailed =\n payload.liabilityShiftPossible &&\n !payload.liabilityShifted;\n\n GtmService.trackAction(\n 'VIP',\n 'Card Verification',\n threeDSecureValidationFailed\n ? 'ThreeDSecure failed'\n : 'Card invalid'\n );\n }\n return;\n }\n\n onSuccess(payload.nonce);\n }\n );\n } catch (e) {\n setSelectedIdentificationIsLoading(false);\n setIsHidden(false);\n setState(states.NOT_VERIFIED);\n GtmService.trackAction(\n 'VIP',\n 'Card Verification',\n 'requestPaymentMethod failed'\n );\n throw e;\n }\n });\n });\n return;\n })\n .catch((ex) => {\n if (axios.isCancel(ex)) {\n return;\n }\n\n setSelectedIdentificationIsLoading(false);\n setState(states.ERROR);\n });\n setState(states.LOADING);\n }, [\n onCardVerified,\n dispatch,\n state,\n preferredLanguage,\n memberEmail,\n setIsHidden,\n setSelectedIdentificationIsLoading,\n signal\n ]);\n\n const restart = () => {\n GtmService.trackAction('VIP', 'Card Verification', 'Restart');\n setState(states.START);\n };\n\n if (state == states.LOADING || state == states.START) {\n return null;\n }\n\n return (\n
\n {state === states.CARD_VERIFICATION_MODAL && (\n <>\n
\n\n

\n {t(\n 'internationalwacko_cardverificationmodal_disclaimer'\n )}\n

\n\n \n \n )}\n {state === states.ERROR && (\n

\n {t('internationalwacko_cardverificationmodal_unavailable')}\n

\n )}\n {state === states.NOT_VERIFIED && (\n
\n

\n {t(\n 'internationalwacko_cardverificationmodal_failedVerification'\n )}\n

\n

\n {t(\n 'internationalwacko_cardverificationmodal_failedVerification_info'\n )}\n

\n \n
\n )}\n
\n );\n};\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport axios from 'axios';\nimport { memberIdentificationClient } from 'tradera/utils/http';\nimport { useCurrentLanguage, useTranslator } from 'tradera/lang/translate';\nimport { LocalLoader } from 'tradera/components/loader/loader';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport InfoIcon from '@tradera/blueprint/theme/icons2/info.svg?jsx';\n\nconst STATE = {\n VERIFYING: 'VERIFYING', // When user is entering details in onfido GUI.\n ERROR_UNAVAILABLE: 'ERROR_UNAVAILABLE', // When error occurs.\n CONTACT_CUSTOMER_SUPPORT: 'CONTACT_CUSTOMER_SUPPORT', // When validation failed.\n INIT: 'INIT', // When creating signicat session and bootstrapping onfido.\n POLLING: 'POLLING' // When waiting for onfido verification.\n};\n\nconst addScriptToDom = (webSdkUrl) => {\n return new Promise((resolve, reject) => {\n const dataAttributeName = 'data-signicat-web-sdk-url-script';\n if (document.querySelector(`[${dataAttributeName}]`)) {\n return resolve();\n }\n const js = document.createElement('script');\n js.setAttribute(dataAttributeName, '1');\n js.setAttribute('type', 'text/javascript');\n js.setAttribute('src', webSdkUrl);\n js.setAttribute('async', true);\n const onLoad = () => {\n js.removeEventListener('load', onLoad);\n return resolve();\n };\n js.addEventListener('load', onLoad);\n js.addEventListener('error', reject);\n document.body.appendChild(js);\n });\n};\n\nconst useCallbackWrapper = (callback) => {\n const callbackRef = useRef(callback);\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n return useCallback((...args) => callbackRef.current(...args), []);\n};\n\nexport const SignicatScanning = ({\n onVerifyComplete: onVerifyCompleteIncoming,\n purpose,\n setSelectedIdentificationIsLoading,\n signal\n}) => {\n const { t } = useTranslator();\n\n const onVerifyComplete = useCallbackWrapper(onVerifyCompleteIncoming);\n const [verifyingState, setVerifyingState] = useState(STATE.INIT);\n const { language } = useCurrentLanguage();\n\n useEffect(() => {\n if (verifyingState !== STATE.INIT) {\n return;\n }\n\n GtmService.trackAction('DocumentScanning', 'Start', null);\n let currentTimeoutId = null;\n\n const abortPolling = () => {\n currentTimeoutId && clearTimeout(currentTimeoutId);\n // eslint-disable-next-line better-mutation/no-mutation\n currentTimeoutId = null;\n };\n\n const poll = (sessionId, dossierId, signal) =>\n new Promise((resolve) => {\n const call = () => {\n // eslint-disable-next-line better-mutation/no-mutation\n currentTimeoutId = setTimeout(async () => {\n try {\n // If the signal is aborted, exit the polling loop.\n if (signal.aborted) {\n abortPolling();\n return;\n }\n\n // Result will appear when verification is completed.\n const result =\n await memberIdentificationClient.command(\n 'SignicatSessionStatus',\n { purpose, sessionId, dossierId },\n { signal: signal }\n );\n\n if (result.isComplete) {\n abortPolling();\n return resolve(result);\n }\n } catch (ex) {\n if (axios.isCancel(ex)) {\n return;\n }\n } finally {\n if (currentTimeoutId) {\n call();\n }\n }\n }, 2000);\n };\n call();\n });\n\n memberIdentificationClient\n .command('SignicatCreateSession', { purpose }, { signal: signal })\n .then(async ({ token, onfidoWebSdkUrl, sessionId, dossierId }) => {\n await addScriptToDom(onfidoWebSdkUrl);\n setVerifyingState(STATE.VERIFYING);\n setSelectedIdentificationIsLoading(false);\n\n return new Promise((resolve) =>\n setTimeout(\n () => resolve({ token, sessionId, dossierId }),\n 0\n )\n );\n })\n .then(async ({ token, sessionId, dossierId }) => {\n return new Promise((resolve, reject) => {\n window.Onfido.init({\n token,\n containerId: 'onfido-mount',\n steps: [\n {\n type: 'document',\n options: {\n hideCountrySelection: true,\n documentTypes: {\n passport: true,\n national_identity_card: true,\n driving_licence: true\n }\n }\n },\n 'face'\n ],\n onError: reject,\n onComplete: () => {\n resolve({ sessionId, dossierId });\n },\n language\n });\n });\n })\n .then(async ({ sessionId, dossierId }) => {\n setVerifyingState(STATE.POLLING);\n const { isSuccessful, validationErrors } = await poll(\n sessionId,\n dossierId,\n signal\n );\n\n if (isSuccessful) {\n GtmService.trackAction('DocumentScanning', 'Success', null);\n onVerifyComplete();\n } else {\n if (validationErrors.length > 0) {\n validationErrors.forEach((error) =>\n GtmService.trackAction(\n 'DocumentScanning',\n 'ValidationError',\n error\n )\n );\n }\n setVerifyingState(STATE.CONTACT_CUSTOMER_SUPPORT);\n }\n return;\n })\n .catch((ex) => {\n if (axios.isCancel(ex)) {\n return;\n }\n\n GtmService.trackAction(\n 'DocumentScanning',\n 'Error',\n 'ErrorUnavailable'\n );\n setSelectedIdentificationIsLoading(false);\n setVerifyingState(STATE.ERROR_UNAVAILABLE);\n });\n return () => {\n abortPolling();\n };\n }, [\n verifyingState,\n setVerifyingState,\n setSelectedIdentificationIsLoading,\n signal,\n onVerifyComplete,\n purpose,\n language\n ]);\n\n if (verifyingState === STATE.INIT) {\n return null;\n }\n\n return (\n
\n {verifyingState === STATE.POLLING && (\n \n \n
\n )}\n {verifyingState === STATE.VERIFYING && (\n <>\n
\n
\n \n \n {t('international_identification_info_title')}\n \n
\n {t('international_identification_info_text')}\n
\n \n \n
\n \n )}\n {verifyingState === STATE.ERROR_UNAVAILABLE && (\n

\n {t('international_identification_errorUnavailable')}\n

\n )}\n {verifyingState === STATE.CONTACT_CUSTOMER_SUPPORT && (\n
\n

\n {t(\n 'international_identification_contactCustomerSupportHeading'\n )}\n

\n

\n {t(\n 'international_identification_contactCustomerSupportText_scanning'\n )}\n

\n {\n setVerifyingState(STATE.INIT);\n setSelectedIdentificationIsLoading(true);\n }}>\n {t('international_identification_buttonTryAgain')}\n \n
\n )}\n \n );\n};\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { memberIdentificationClient } from 'tradera/utils/http';\nimport { LocalLoader } from 'tradera/components/loader/loader';\nimport { MitId } from 'tradera/components/international-identification-modal/mit-id';\nimport { MitIdLogo } from './mit-id-logo';\nimport { PayPal } from 'tradera/components/international-identification-modal/paypal';\nimport { PayPalLogo } from './paypal-logo';\nimport { Idin } from 'tradera/components/international-identification-modal/idin';\nimport { IdinLogo } from 'tradera/components/international-identification-modal/idin-logo';\nimport styles from './international-identification-modal.module.scss';\nimport { CardVerification } from './card-verification';\nimport { logger } from 'packages/logger';\nimport { Button } from '../atoms/button/button';\nimport { ScrollableModal } from '../scrollable-modal/scrollable-modal';\nimport { SignicatScanning } from 'tradera/components/international-identification-modal/signicat-scanning';\nimport { HeaderWithCloseButton } from 'tradera/components/scrollable-modal/header-with-close-button';\nimport ArrowLeftIcon from '@tradera/blueprint/theme/icons2/arrow-left.svg?jsx';\nimport VerificationIcon from 'tradera/blueprint/theme/icons-colored/verification.svg?jsx';\nimport { InfoBox } from 'tradera/components/info-box/info-box';\n\nexport const IDENTIFICATION_TYPES = {\n MITID: 'MitId',\n CARD: 'Card',\n SIGNICATSCANNING: 'SignicatScanning',\n PAYPAL: 'PayPal',\n IDIN: 'iDIN'\n};\n\ntype InternationalIdentificationModalProps = {\n heading: string;\n introText: string;\n onCloseModal: () => void;\n onTop?: boolean;\n onVerifyComplete: () => void;\n purpose: string;\n errorText: string | null;\n isResponseLoading: boolean;\n};\n\nexport const InternationalIdentificationModal = ({\n heading,\n introText,\n onCloseModal,\n onTop,\n onVerifyComplete,\n purpose,\n errorText,\n isResponseLoading\n}: InternationalIdentificationModalProps) => {\n const { t } = useTranslator();\n const abortController = useRef();\n\n const [validIdentifications, setValidIdentifications] = useState<\n string[] | null\n >(null);\n const [error, setError] = useState(null);\n const [isHidden, setIsHidden] = useState(false);\n const [selectedIdentification, setSelectedIdentification] = useState<\n string | null\n >(null);\n const [\n isSelectedIdentificationLoading,\n setSelectedIdentificationIsLoading\n ] = useState(true);\n\n useEffect(() => {\n memberIdentificationClient\n .query<{ validIdentifications: string[] }>(\n `getvalididentifications?purpose=${purpose}`\n )\n .then((data) => {\n setValidIdentifications(data.validIdentifications);\n return;\n })\n .catch(setError);\n }, [setValidIdentifications, purpose]);\n\n useEffect(() => {\n abortController.current = new AbortController();\n return () => {\n abortController.current?.abort();\n };\n }, []);\n\n const onCancel = useCallback(() => {\n abortController.current?.abort();\n abortController.current = new AbortController();\n setSelectedIdentification(null);\n setSelectedIdentificationIsLoading(true);\n }, []);\n\n const selectedIdentificationGui = selectedIdentification\n ? {\n [IDENTIFICATION_TYPES.CARD]: (signal: AbortSignal) => (\n \n ),\n [IDENTIFICATION_TYPES.SIGNICATSCANNING]: (\n signal: AbortSignal\n ) => (\n \n ),\n [IDENTIFICATION_TYPES.MITID]: (signal: AbortSignal) => (\n \n ),\n [IDENTIFICATION_TYPES.PAYPAL]: (signal: AbortSignal) => (\n \n ),\n [IDENTIFICATION_TYPES.IDIN]: (signal: AbortSignal) => (\n \n )\n }[selectedIdentification]\n : null;\n\n const showGlobalLoader =\n (selectedIdentificationGui && isSelectedIdentificationLoading) ||\n (!selectedIdentificationGui && isResponseLoading);\n const showLocalLoader =\n !showGlobalLoader && !validIdentifications && !error;\n return (\n \n }\n />\n )\n }\n />\n }\n onClose={onCloseModal}>\n {(!selectedIdentificationGui ||\n isSelectedIdentificationLoading) && (\n
\n {showGlobalLoader && (\n \n )}\n {errorText ? (\n \n {errorText}\n \n ) : null}\n\n
\n \n

\n {heading}\n

\n

{introText}

\n {showLocalLoader && (\n \n \n
\n )}\n {validIdentifications &&\n validIdentifications.map(\n (identification, index) => {\n let element = null;\n switch (identification) {\n case IDENTIFICATION_TYPES.MITID:\n element = (\n \n setSelectedIdentification(\n IDENTIFICATION_TYPES.MITID\n )\n }\n fixedIcon={true}\n icon={\n \n }>\n {t(\n 'international_identification_mitid_button'\n )}\n \n );\n break;\n case IDENTIFICATION_TYPES.IDIN:\n element = (\n \n setSelectedIdentification(\n IDENTIFICATION_TYPES.IDIN\n )\n }\n fixedIcon={true}\n icon={\n \n }>\n {t(\n 'international_identification_idin_button'\n )}\n \n );\n break;\n case IDENTIFICATION_TYPES.SIGNICATSCANNING:\n purpose === 'Payment'\n ? (element = (\n <>\n {validIdentifications.includes(\n IDENTIFICATION_TYPES.MITID\n ) ||\n validIdentifications.includes(\n IDENTIFICATION_TYPES.IDIN\n )\n ? t(\n 'international_identification_no_fit'\n )\n : t(\n 'international_identification_to_sell'\n )}\n  \n \n setSelectedIdentification(\n IDENTIFICATION_TYPES.SIGNICATSCANNING\n )\n }>\n \n {t(\n 'international_identification_signicat_scanning_button'\n )}\n \n \n \n ))\n : (element = (\n \n setSelectedIdentification(\n IDENTIFICATION_TYPES.SIGNICATSCANNING\n )\n }>\n {t(\n 'international_identification_signicat_scanning_button'\n )}\n \n ));\n break;\n case IDENTIFICATION_TYPES.CARD:\n element = (\n \n setSelectedIdentification(\n IDENTIFICATION_TYPES.CARD\n )\n }>\n {t(\n 'international_identification_card_verification_button'\n )}\n \n );\n break;\n case IDENTIFICATION_TYPES.PAYPAL:\n element = (\n \n setSelectedIdentification(\n IDENTIFICATION_TYPES.PAYPAL\n )\n }\n fixedIcon={true}\n icon={\n \n }>\n {t(\n 'international_identification_paypal_button'\n )}\n \n );\n break;\n default:\n logger(\n `Invalid identification method: ${identification}`\n );\n }\n return (\n \n {element}\n \n );\n }\n )}\n
\n \n )}\n {selectedIdentificationGui &&\n abortController.current &&\n selectedIdentificationGui(abortController.current.signal)}\n {error && (\n
\n {t('international_identification_errorUnavailable')}\n
\n )}\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"logo-white\":\"logo-white--El7wB\",\"logoWhite\":\"logo-white--El7wB\",\"logo-dark\":\"logo-dark--UX2dd\",\"logoDark\":\"logo-dark--UX2dd\"};","import styles from './mit-id-logo.module.scss';\n\nexport const MitIdLogo = ({\n className = '',\n color,\n alt = null,\n height = '14'\n}) => {\n const logoClassName =\n color === 'white'\n ? styles.logoWhite\n : color === 'dark'\n ? styles.logoDark\n : styles.logoWhite;\n return (\n \n {alt && {alt}}\n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"row\":\"row--vmsth\"};","import {\n selectCurrencies,\n selectPreferredCurrency\n} from 'tradera/state/multi-currency/selectors';\nimport { setPreferredCurrencyThunk } from 'tradera/state/multi-currency/actions';\nimport Flag from 'tradera/components/flag/flag';\nimport { mapCurrencyCodeToCountryCode } from 'tradera/localization/map-currency-code-to-country-code';\nimport styles from './currency-select.module.scss';\nimport CheckIcon from '@tradera/blueprint/theme/icons2/check.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\n\ntype Currency = {\n code: string;\n shortName: string;\n longName: string;\n};\n\ntype CurrencySelectProps = {\n onCurrencySelected?: () => void;\n inProfileMenu?: boolean;\n title?: string;\n};\n\nexport const CurrencySelect = ({\n onCurrencySelected,\n inProfileMenu,\n title\n}: CurrencySelectProps) => {\n const currencies: Currency[] = useAppSelector((state) =>\n selectCurrencies(state)\n );\n const preferredCurrency = useAppSelector((state) =>\n selectPreferredCurrency(state)\n );\n const dispatch = useAppDispatch();\n\n const handleOnClick = (code: string) => {\n dispatch(setPreferredCurrencyThunk(code));\n onCurrencySelected && onCurrencySelected();\n };\n\n return (\n
\n {title && (\n
\n {title}\n
\n )}\n {currencies.map(({ code, shortName, longName }) => (\n {\n handleOnClick(code);\n }}>\n \n \n {preferredCurrency.code === code ? (\n \n {shortName} - {longName}\n \n ) : (\n \n {shortName} - {longName}\n \n )}\n \n {preferredCurrency.code === code && (\n \n )}\n \n ))}\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"overlay--XH71D\",\"PopoverContent\":\"PopoverContent--ALEI6\",\"popoverContent\":\"PopoverContent--ALEI6\",\"PopoverContentAnchorWidth\":\"PopoverContentAnchorWidth--jmejx\",\"popoverContentAnchorWidth\":\"PopoverContentAnchorWidth--jmejx\",\"PopoverArrow\":\"PopoverArrow--ZM8X4\",\"popoverArrow\":\"PopoverArrow--ZM8X4\",\"pulse-animation\":\"pulse-animation--FtmKP\",\"pulseAnimation\":\"pulse-animation--FtmKP\",\"PopoverClose\":\"PopoverClose--CGTVv\",\"popoverClose\":\"PopoverClose--CGTVv\"};","import type React from 'react';\nimport { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useTranslator } from 'tradera/lang/translate';\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport styles from './popover.module.scss';\nimport { Button } from '../atoms/button/button';\nimport { Text } from '../atoms/text/text';\nimport { classNames } from 'tradera/utils/class-names';\nimport CloseIcon from 'tradera/blueprint/theme/icons2/close.svg?jsx';\nimport { useIsMounted } from 'tradera/hooks/use-is-mounted';\nimport { useScrollIntoView } from 'tradera/hooks/use-scroll-into-view';\nimport { Space } from 'tradera/components/atoms/space/space';\n\nexport type PopoverProps = React.PropsWithChildren<{\n icon?: React.ReactNode;\n title: string;\n text: string;\n onClose?: () => void;\n defaultOpen?: boolean;\n matchAnchorWidth?: boolean;\n scrollIntoView?: boolean;\n side?: 'top' | 'right' | 'bottom' | 'left';\n noWrap?: boolean;\n}> &\n (\n | {\n buttonText: string;\n onClick: () => void;\n }\n | {\n buttonText?: never;\n onClick?: never;\n }\n );\n\nexport const Popover = ({\n children,\n icon,\n title,\n text,\n buttonText,\n onClick,\n onClose,\n defaultOpen,\n matchAnchorWidth,\n scrollIntoView,\n side,\n noWrap\n}: PopoverProps) => {\n const { t } = useTranslator();\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const scroll = useScrollIntoView();\n // We need to check for isMounted, because this component can't render on Next.js server side\n // due to the portals, both the Popover and OverlayPortal.\n const isMounted = useIsMounted();\n useEffect(() => {\n setIsOpen(defaultOpen);\n if (scrollIntoView && defaultOpen) {\n scroll('[data-popover-anchor]', { block: 'center' });\n }\n }, [defaultOpen, scroll, scrollIntoView]);\n\n const handleClose = () => {\n setIsOpen(false);\n onClose?.();\n };\n\n return (\n \n {\n if (!open) {\n handleClose();\n }\n }}>\n \n {children}\n \n \n \n \n {icon}\n \n {title}\n \n \n

{text}

\n {buttonText && onClick && (\n \n )}\n \n \n \n \n
\n \n \n \n \n {isOpen && isMounted && }\n \n );\n};\n\nconst OptionalWrapper = ({\n children,\n wrap\n}: React.PropsWithChildren<{ wrap: boolean }>) => {\n return wrap ? (\n
{children}
\n ) : (\n <>{children}\n );\n};\n\ntype OverlayPortalProps = {\n onClick: () => void;\n};\n\nconst OverlayPortal = ({ onClick }: OverlayPortalProps) => {\n const element = document.body.querySelector('#overlay-portal');\n if (element) {\n return createPortal(\n
,\n element\n );\n } else {\n return null;\n }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"rating-stars\":\"rating-stars--Jn68Q\",\"ratingStars\":\"rating-stars--Jn68Q\",\"rating-stars__overlay\":\"rating-stars__overlay--mLqCM\",\"ratingStarsOverlay\":\"rating-stars__overlay--mLqCM\",\"rating-stars__base\":\"rating-stars__base--AqPLa\",\"ratingStarsBase\":\"rating-stars__base--AqPLa\",\"light\":\"light--H7ciQ\",\"dark\":\"dark--NjyUS\",\"seller-details\":\"seller-details--uaPMI\",\"sellerDetails\":\"seller-details--uaPMI\"};","import { Fragment } from 'react';\nimport { useUrlLocalizer } from 'tradera/lang/translate';\nimport utils from './rating-utils';\nimport RatingIcon from '@tradera/blueprint/theme/icons2/rating.svg?jsx';\nimport styles from './rating-stars.module.scss';\n\n// Rating is multipled with 20.5 to account for margin between stars and rounding up\nimport ALink from 'tradera/components/alink/alink';\n\ntype RatingStarsProps = {\n rating: number;\n gaAttributes?: Record;\n dark?: boolean;\n onClick?: () => void;\n} & (\n | {\n link: true;\n memberAlias: string;\n memberId: number;\n }\n | {\n link?: false;\n memberAlias?: string | null;\n memberId?: number;\n }\n);\n\nexport const RatingStars = ({\n memberAlias,\n memberId,\n rating,\n gaAttributes,\n link,\n dark = false,\n onClick\n}: RatingStarsProps) => {\n const { toLocalizedUrl } = useUrlLocalizer();\n const displayRating = utils.getDisplayRating(rating);\n\n const Stars = () => (\n <>\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n \n );\n return link ? (\n \n \n \n \n \n\n
\n \n {displayRating}\n \n
\n
\n \n ) : (\n \n \n
\n \n
\n
{displayRating}
\n \n
\n );\n};\n","const getDisplayRating = (rating) => {\n if (rating) {\n return rating.toFixed(1);\n }\n};\n\nexport default {\n getDisplayRating\n};\n","import type React from 'react';\nimport { useUrlLocalizer, useTranslator } from 'tradera/lang/translate';\nimport CloseNarrowIcon from '@tradera/blueprint/theme/icons/close-narrow.svg?jsx';\nimport SearchIcon from '@tradera/blueprint/theme/icons2/search.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport styles from './search-input.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\n\ntype SearchInputProps = {\n categoriesElement?: React.ReactNode;\n formClassName?: string;\n inputClassName?: string;\n onBlur?: () => void;\n onClearSearchInput: (event: React.MouseEvent) => void;\n onFocus?: () => void;\n onFormSubmit: (e: React.FormEvent) => void;\n onUserInputChange?: (e: React.ChangeEvent) => void;\n onUserKeyUp?: (e: React.KeyboardEvent) => void;\n searchInputRef: React.RefObject;\n searchTerm: string;\n selectedCategory?: {\n id: number;\n name: string;\n };\n suggestionsElement?: React.ReactNode;\n placeholderText?: string;\n focusOverride?: () => void;\n /**\n * Defaults to true\n */\n border?: boolean;\n};\n\nexport const SearchInput = ({\n categoriesElement = null,\n formClassName,\n inputClassName = '',\n onBlur = () => {},\n onClearSearchInput = () => {},\n onFocus = () => {},\n onFormSubmit = () => {},\n onUserInputChange = () => {},\n onUserKeyUp = () => {},\n searchInputRef,\n searchTerm,\n selectedCategory,\n suggestionsElement = null,\n placeholderText,\n focusOverride,\n border = true\n}: SearchInputProps) => {\n const { toLocalizedUrl } = useUrlLocalizer();\n const { t } = useTranslator();\n\n const placeHolderTranslation =\n selectedCategory && selectedCategory.id !== 0 && selectedCategory.name\n ? t('siteHeader_categorySearchPlaceholder', {\n categoryName: selectedCategory.name\n })\n : t('siteHeader_generalSearchPlaceholder');\n\n const showClearButton = searchTerm !== '';\n\n return (\n {\n if (focusOverride) {\n e.preventDefault();\n e.stopPropagation();\n focusOverride();\n }\n }}>\n \n \n
{suggestionsElement}
\n
\n {showClearButton ? (\n {\n onClearSearchInput?.(event);\n // We need to delay the focus, probably because the clearing is through a\n // React set state which is performed in the next tick. Without the setTimeout,\n // the input will be focused but the content will not be cleared.\n setTimeout(() => {\n searchInputRef.current?.focus();\n });\n }}>\n \n \n ) : (\n \n \n \n )}\n
\n \n
\n {categoriesElement}\n \n
\n \n );\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.5 9c.3 0 .5.2.5.5V13h.5c.3 0 .5.2.5.5s-.2.5-.5.5h-5c-.3 0-.5-.2-.5-.5s.2-.5.5-.5H6V9.5c0-.3.2-.5.5-.5h3zm2.7-7c.2 0 .3.1.4.2l2.3 3.5c.5.7.3 1.6-.4 2.1-.2 0-.3.1-.5.2v5.5c0 .3-.2.5-.5.5s-.5-.2-.5-.5V8H3v5.5c0 .3-.2.5-.5.5s-.5-.2-.5-.5V8C1.3 7.8.9 7.2.9 6.5c0-.3.1-.6.2-.8l2.3-3.5c.1-.1.2-.2.4-.2h8.4zM9 10H7v3h2v-3zm2.9-7H4.1L1.9 6.2v.3c0 .3.2.5.5.5h11.3c.1 0 .2 0 .3-.1.2-.2.3-.5.1-.7L11.9 3z\"\n})));","// https://github.com/facebook/react/issues/3386#issuecomment-291152357\nconst HighlightWord = ({ text, query = '', icon }) => {\n if (!text) {\n return null;\n }\n\n const [beforeQuery, afterQuery] = query ? text.split(query) : [];\n const hasSplitQuery = beforeQuery && afterQuery;\n return (\n \n {icon && icon}\n {hasSplitQuery && {beforeQuery}}\n {hasSplitQuery ? query : text}\n {hasSplitQuery && {afterQuery}}\n \n );\n};\n\nexport default HighlightWord;\n","// extracted by mini-css-extract-plugin\nexport default {\"searchSuggestions\":\"searchSuggestions--cnNDA\",\"searchSuggestionsVisable\":\"searchSuggestionsVisable--f52lG\",\"searchSuggestion\":\"searchSuggestion--RyNO6\",\"searchSuggestionActive\":\"searchSuggestionActive--pUa1I\"};","import { useCallback } from 'react';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport ALink from 'tradera/components/alink/alink';\nimport FilterIcon from '@tradera/blueprint/theme/icons2/filter.svg?jsx';\nimport TimeIcon from '@tradera/blueprint/theme/icons2/time.svg?jsx';\nimport StoreIcon from '@tradera/blueprint/theme/icons2/store.svg?jsx';\nimport HighlightWord from './highlight-word';\nimport CloseNarrowIcon from '@tradera/blueprint/theme/icons/close-narrow.svg?jsx';\nimport { toSearchString } from 'tradera/utils/url';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { classNames } from 'tradera/utils/class-names';\nimport styles from './search-suggestions.module.scss';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { useMemberServerStorageWithCookieFallback } from 'tradera/state/member-storage/hooks';\nimport { useLocation } from 'tradera/hooks/use-location';\n\n// Dont blur input when there's a mouseclick on the search suggestions\nconst preventDefault = (evt) => {\n evt.preventDefault();\n};\n\n// Without this, the search field dropdown is collapsed. Fixes TWT-993.\nconst fixFlexHeightInIpadMini2Style = { flexBasis: 'auto' };\n\nexport const PreviousSearchesListItem = ({\n changeSearchTerm,\n inSPA,\n isSelected,\n onPreviousSearchRemoved,\n searchTerm,\n selectedCategoryId,\n text,\n queryParams\n}) => {\n const searchString = toSearchString(\n queryParams || { q: text, categoryId: selectedCategoryId || null }\n );\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n \n {\n GtmService.trackGA4('search', {\n search_type: 'previous_search',\n search_term: text\n });\n changeSearchTerm(text, event);\n }}\n onMouseDown={preventDefault}\n data-suggestion\n data-previous-suggestion={text}\n data-ga-category=\"User search\"\n data-ga-action=\"Suggestion - Previous Query\"\n data-ga-label={searchTerm}>\n }\n />\n \n {\n onPreviousSearchRemoved(text);\n }}\n onMouseDown={preventDefault}\n type=\"reset\">\n \n \n \n );\n};\n\nexport const SearchesSuggestionsListItem = ({\n changeSearchTerm,\n inSPA,\n isSelected,\n item,\n searchTerm,\n selectedCategoryId\n}) => {\n const categoryId = item.category\n ? item.category.id\n : selectedCategoryId\n ? selectedCategoryId\n : 0;\n const { toLocalizedUrl } = useUrlLocalizer();\n const { t } = useTranslator();\n\n const [exactSearchEnabled] = useMemberServerStorageWithCookieFallback(\n 'keyword-search',\n false\n );\n\n return (\n {\n GtmService.trackGA4('search', {\n search_type: 'suggestion_search',\n search_term: item.text\n });\n changeSearchTerm(item.text, event);\n }}\n onMouseDown={preventDefault}\n data-suggestion\n data-search-suggestion={item.text}\n data-ga-category=\"User search\"\n data-ga-action={`Suggestion - ${\n item.category ? 'Category' : 'Auto Query'\n }`}\n data-ga-label={item.text}>\n \n \n {' '}\n {item.category\n ? `${t('search_suggestion_within')} ${item.category.name}`\n : ''}\n \n \n );\n};\n\nexport const ShopsSuggestionsListItem = ({\n changeSearchTerm,\n inSPA,\n isSelected,\n item,\n searchTerm\n}) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const suggestionUrl =\n item.name === 'Musikhjälpen'\n ? toLocalizedUrl('/charity/musikhjalpen')\n : toLocalizedUrl(`/profile/items/${item.memberId}/${item.urlName}`);\n return (\n {\n changeSearchTerm(item.text, event);\n GtmService.trackGA4('search', {\n search_type: 'shop_suggestion_search',\n search_term: item.text\n });\n }}\n onMouseDown={preventDefault}\n data-suggestion\n data-shop-suggestion={item.name}\n data-ga-category=\"User search\"\n data-ga-action=\"Suggestion - Shop\"\n data-ga-label={item.name}>\n {t('siteHeader_shop')}\n \n \n );\n};\n\nexport const CharitiesSuggestionsListItem = ({\n changeSearchTerm,\n // inSPA,\n isSelected,\n item,\n searchTerm\n}) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n {\n changeSearchTerm(item.text);\n GtmService.trackGA4('search', {\n search_type: 'charity_suggestion_search',\n search_term: item.text\n });\n }}\n onMouseDown={preventDefault}\n data-suggestion\n data-shop-suggestion={item.name}\n data-ga-category=\"User search\"\n data-ga-action=\"Suggestion - Charity\"\n data-ga-label={item.name}>\n {t('siteHeader_cause')}\n \n \n );\n};\n\nexport const CampaignSuggestionsListItem = ({\n changeSearchTerm,\n // inSPA,\n isSelected,\n item,\n searchTerm\n}) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n {\n changeSearchTerm(item.text, event);\n GtmService.trackGA4('search', {\n search_type: 'campaign_suggestion_search',\n search_term: item.text\n });\n }}\n onMouseDown={preventDefault}\n data-suggestion\n data-campaign-suggestion={item.headline}\n data-ga-category=\"User search\"\n data-ga-action=\"Suggestion - Campaign\"\n data-ga-label={item.headline}>\n \n {t('siteHeader_campaign')}\n \n \n \n );\n};\n\nconst getAdvancedSearchUrl = ({ pathname, search }, searchTerm) => {\n if (pathname === '/search') {\n return `/search/detailed${search}`;\n }\n\n if (searchTerm) {\n return `/search/detailed?q=${encodeURIComponent(searchTerm)}`;\n }\n\n return '/search/detailed';\n};\n\nexport const AdvancedSearchListItem = ({\n isSelected,\n searchTerm,\n changeSearchTerm\n}) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const location = useLocation();\n const onClick = useCallback(\n (event) => {\n changeSearchTerm(searchTerm, event);\n },\n [changeSearchTerm, searchTerm]\n );\n\n return (\n \n \n {t('siteHeader_searchAdvanced')}\n \n );\n};\n\nexport const SellerSearchListItem = ({\n isSelected,\n searchTerm,\n changeSearchTerm\n}) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const searchUrl = '/search/detailed/member';\n const href = searchTerm\n ? toLocalizedUrl(`${searchUrl}?q=${encodeURIComponent(searchTerm)}`)\n : toLocalizedUrl(searchUrl);\n const onClick = useCallback(\n (event) => {\n changeSearchTerm('', event);\n },\n [changeSearchTerm]\n );\n\n return (\n \n \n {t('siteHeader_searchSeller')}\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"removePreviousSearchButton\":\"removePreviousSearchButton--tZWqh\"};","import React from 'react';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport CloseIcon from '@tradera/blueprint/theme/icons2/close.svg?jsx';\nimport {\n AdvancedSearchListItem,\n SellerSearchListItem\n} from './suggestion-list-items';\nimport { toSearchString } from 'tradera/utils/url';\nimport {\n useCurrentLanguage,\n useTranslator,\n useUrlLocalizer\n} from 'tradera/lang/translate';\nimport { KEYCODE } from '../search';\nimport styles from './search-suggestion-section.module.scss';\nimport { useGetTrendingSearchesQuery } from 'tradera/state/services/discover-api';\n\nconst preventDefault = (e) => {\n e.preventDefault();\n e.stopPropagation();\n};\n\nconst mapTrendingSearchesToTags = (trendingSearches) =>\n trendingSearches?.map((search) => ({\n index: search.index,\n name: search.query || '',\n url: `/search?q=${search.query}${\n search.categoryId ? `&categoryId=${search.categoryId}` : ''\n }&sortBy=MostBids`\n }));\n\nexport const SearchSuggestionSection = ({\n suggestions,\n onPreviousSearchRemoved,\n searchTerm,\n changeSearchTerm\n}) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const { language } = useCurrentLanguage();\n\n const previousSearches = suggestions.filter(\n (entry) => entry.type === 'previous'\n );\n\n const { data: trendingSearchesItems } = useGetTrendingSearchesQuery({\n languageCodeIso2: language\n });\n\n const trendingSearches = React.useMemo(\n () => mapTrendingSearchesToTags(trendingSearchesItems),\n [trendingSearchesItems]\n );\n\n const previousSearchesEmpty =\n !previousSearches || previousSearches.length === 0;\n const trendingSearchesEmpty =\n !trendingSearches || trendingSearches.length === 0;\n\n const sectionEmpty = previousSearchesEmpty && trendingSearchesEmpty;\n\n const removePreviousSearch = (e, searchTerm) => {\n if (e.type === 'click' || e.which === KEYCODE.ENTER) {\n preventDefault(e);\n onPreviousSearchRemoved(searchTerm);\n }\n };\n\n return (\n <>\n {!sectionEmpty && (\n
\n {!previousSearchesEmpty && (\n <>\n

\n {t('siteHeader_recentSearches')}\n

\n
\n {previousSearches.map((previousSearch) => (\n {\n changeSearchTerm(\n previousSearch.text,\n e\n );\n }}\n onMouseDown={(e) => e.preventDefault()}\n data-suggestion-section-button\n useLink={true}>\n \n {previousSearch.text}\n \n \n removePreviousSearch(\n e,\n previousSearch.text\n )\n }\n onKeyDown={(e) =>\n removePreviousSearch(\n e,\n previousSearch.text\n )\n }\n data-suggestion-section-button-remove\n tabIndex={0}\n type=\"reset\">\n \n \n \n ))}\n
\n \n )}\n {!trendingSearchesEmpty && (\n <>\n

\n {t('siteHeader_trendingSearches')}\n

\n
\n {trendingSearches.map((trendingSearch) => (\n {\n changeSearchTerm(\n trendingSearch.name,\n e\n );\n }}\n onMouseDown={(e) => e.preventDefault()}\n data-suggestion-section-button\n useLink={true}>\n {trendingSearch.name}\n \n ))}\n
\n \n )}\n
\n )}\n
\n {suggestions.map((entry) => {\n switch (entry.type) {\n case 'link-advanced-search':\n return (\n \n );\n case 'link-seller-search':\n return (\n \n );\n default:\n return null;\n }\n })}\n
\n \n );\n};\n","import { ToggleSwitch } from 'tradera/components/form-controls/toggle-switch/toggle-switch';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { useMemberServerStorageWithCookieFallback } from 'tradera/state/member-storage/hooks';\nimport { classNames } from 'tradera/utils/class-names';\n\ntype KeywordSearchSwitchProps = {\n className?: string;\n size?: 'medium' | 'small';\n};\n\nexport const KeywordSearchSwitch = ({\n className,\n size = 'medium'\n}: KeywordSearchSwitchProps) => {\n const { t } = useTranslator();\n\n const [checked, setChecked] = useMemberServerStorageWithCookieFallback(\n 'keyword-search',\n false\n );\n\n const handleOnChange = () => {\n const newValue = !checked;\n setChecked(newValue);\n\n GtmService.trackGA4('exact_search_toggle', {\n exact_search: newValue ? 1 : 0\n });\n };\n\n return (\n e.preventDefault()}>\n \n \n );\n};\n","import PropTypes from 'prop-types';\nimport { SearchSuggestionSection } from './search-suggestion-section';\nimport {\n CampaignSuggestionsListItem,\n PreviousSearchesListItem,\n SearchesSuggestionsListItem,\n ShopsSuggestionsListItem,\n AdvancedSearchListItem,\n SellerSearchListItem,\n CharitiesSuggestionsListItem\n} from './suggestion-list-items';\nimport { KEYCODE } from '../search';\nimport { classNames } from 'tradera/utils/class-names';\nimport styles from './search-suggestions.module.scss';\nimport { KeywordSearchSwitch } from 'tradera/components/keyword-search-switch/keyword-search-switch';\n\nexport const SearchSuggestions = ({\n suggestions,\n inSPA,\n visible,\n onChangeSearchTerm,\n onPreviousSearchRemoved,\n searchTerm,\n selectedCategoryId,\n selectedIndex,\n searchSuggestionsElementRef,\n setIsSearchInputFocused,\n keywordSearchSwitch\n}) => {\n const handleSuggestionsBlur = (e) => {\n if (!e.currentTarget.contains(e.relatedTarget)) {\n setIsSearchInputFocused(false);\n }\n };\n\n const handleKeyDown = (e) => {\n if (e.which === KEYCODE.ESC) {\n setIsSearchInputFocused(false);\n }\n };\n\n return (\n \n {searchTerm ? (\n <>\n {keywordSearchSwitch && (\n \n )}\n
\n {suggestions.map((entry, index) => {\n const componentProps = {\n changeSearchTerm: onChangeSearchTerm,\n inSPA: inSPA,\n isSelected: index === selectedIndex,\n item: entry.item,\n searchTerm: searchTerm,\n selectedCategoryId: selectedCategoryId,\n text: entry.text,\n queryParams: entry.queryParams\n };\n switch (entry.type) {\n case 'previous':\n return (\n \n );\n case 'suggested-campaign':\n return (\n \n );\n case 'suggested-item':\n return (\n \n );\n case 'suggested-shop':\n return (\n \n );\n case 'suggested-charity':\n return (\n \n );\n case 'link-advanced-search':\n return (\n \n );\n case 'link-seller-search':\n return (\n \n );\n default:\n throw new Error(\n 'unhandled entry type: ',\n JSON.stringify(entry)\n );\n }\n })}\n
\n \n ) : (\n \n )}\n \n );\n};\n\nSearchSuggestions.propTypes = {\n allSuggestions: PropTypes.array,\n isSearchInputFocused: PropTypes.bool,\n onChangeSearchTerm: PropTypes.func,\n onPreviousSearchRemoved: PropTypes.func,\n previousSearches: PropTypes.array,\n searchTerm: PropTypes.string,\n selectedCategoryId: PropTypes.number,\n selectedIndex: PropTypes.number,\n setSearchSuggestionsElement: PropTypes.func,\n keywordSearchSwitch: PropTypes.bool\n};\n","import { logError } from 'tradera/utils/api';\nimport { webApiClient } from 'tradera/utils/http';\nimport { useCurrentLanguage } from 'tradera/lang/translate';\nimport { useSelector } from 'react-redux';\nimport { selectAutomaticTranslationPreferred } from 'tradera/state/language/selectors';\nimport { useCallback } from 'react';\n\nexport const useGetSuggestions = () => {\n const automaticTranslationPreferred = useSelector(\n selectAutomaticTranslationPreferred\n );\n const { language } = useCurrentLanguage();\n return useCallback(\n (params) =>\n getSuggestions({\n ...params,\n automaticTranslationPreferred,\n languageCodeIso2: language\n }),\n [automaticTranslationPreferred, language]\n );\n};\n\nconst getSuggestions = async ({\n searchTerm = '',\n limitPrevious = 7,\n enablePrevious = false,\n enableSuggestions = false,\n recentSearches = [],\n automaticTranslationPreferred,\n languageCodeIso2,\n selectedCategoryId\n}) => {\n const generateSuggestionId = (categoryId, term) =>\n categoryId ? categoryId + '-' + term : term;\n\n let suggestedResults = {\n searches: [],\n shops: [],\n charities: [],\n campaigns: []\n };\n\n let previousSearchResults = [];\n\n // ------------------------------\n // get suggestion data\n if (enablePrevious) {\n //Filter based on search term\n const filteredRecentSearches =\n searchTerm.length === 0\n ? recentSearches\n : recentSearches.filter((search) =>\n search.text.includes(searchTerm?.toLowerCase())\n );\n previousSearchResults = filteredRecentSearches?.slice(0, limitPrevious);\n }\n\n if (enableSuggestions) {\n suggestedResults = await getSuggestionsFromBackend(\n searchTerm,\n automaticTranslationPreferred,\n languageCodeIso2,\n selectedCategoryId\n );\n }\n\n // ------------------------------\n // merge lists\n const withDuplicates = [].concat(\n previousSearchResults.map((item, index) => ({\n key: `previous_search-${index}`,\n type: 'previous',\n text: item.text,\n queryParams: item.queryParams,\n id: generateSuggestionId(null, index)\n })),\n suggestedResults.searches.map((item, index) => ({\n key: `suggested_search-${index}`,\n type: 'suggested-item',\n categories: item.categories,\n item,\n text: item.text,\n id: generateSuggestionId(\n item.category ? item.category.id : null,\n item.text\n )\n }))\n );\n const uniqueMap = new Map();\n withDuplicates.forEach((item) => {\n if (uniqueMap.has(item.id)) return;\n uniqueMap.set(item.id, item);\n });\n const uniqueResults = Array.from(uniqueMap.values());\n\n const shopResults = suggestedResults.shops.map((item, key) => ({\n key: `suggested_shop-${key}`,\n type: 'suggested-shop',\n item,\n memberId: item.memberId,\n name: item.name,\n urlName: item.urlName,\n inSPA: false, // Turned off until profile pages are SPAified\n id: key\n }));\n\n const suggestedCharitiesResults = suggestedResults.charities || [];\n const charitiesResults = suggestedCharitiesResults.map((item, key) => ({\n key: `suggested_charity-${key}`,\n type: 'suggested-charity',\n item,\n name: item.name,\n slug: item.slug,\n inSPA: false, // Turned off until profile pages are SPAified\n id: key\n }));\n\n const suggestedCampaignResults = suggestedResults.campaigns || [];\n const campaignResults = suggestedCampaignResults.map((item, key) => ({\n key: `suggested_campaign-${key}`,\n type: 'suggested-campaign',\n item,\n capaignId: item.campaignId,\n name: item.name,\n urlName: item.urlName,\n inSPA: false, // Turned off until profile pages are SPAified\n id: key\n }));\n\n const allSuggestions = [\n ...campaignResults,\n ...uniqueResults,\n ...shopResults,\n ...charitiesResults,\n {\n key: 'seller-search',\n type: 'link-seller-search'\n },\n {\n key: 'advanced-search',\n type: 'link-advanced-search'\n }\n ];\n return allSuggestions;\n};\n\n// --------------------------------------------\n// backend suggestions\n// --------------------------------------------\n\nconst normalizeSearches = (searches = []) => {\n return searches.reduce((acc, search) => {\n if (search.categories) {\n search.categories.map((category) => {\n acc.push({\n text: search.text,\n category: category\n });\n });\n } else {\n acc.push({\n text: search.text,\n category: null\n });\n }\n return acc;\n }, []);\n};\n\nconst getSuggestionsFromBackend = async (\n query,\n automaticTranslationPreferred,\n languageCodeIso2,\n selectedCategoryId\n) => {\n try {\n const response = await webApiClient.get('/browse/suggestions', {\n params: {\n query,\n automaticTranslationPreferred,\n languageCodeIso2,\n selectedCategoryId\n }\n });\n\n const {\n campaigns = [],\n searches,\n shops = [],\n charities = []\n } = response.data;\n return {\n campaigns,\n searches: normalizeSearches(searches) || [],\n shops,\n charities\n };\n } catch (error) {\n logError(error);\n return { searches: [], shops: [] };\n }\n};\n","import type { CategoryNode } from 'tradera/backend/data/category-data';\nimport type { CategoryFilterCategoryViewModel } from 'tradera/state/services/types/webapi-discover-generated';\nimport { classNames } from 'tradera/utils/class-names';\nimport styles from './search-input.module.scss';\nimport {\n DropdownIcon,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger\n} from 'tradera/components/dropdown-menu/dropdown-menu';\nimport { Divider } from 'tradera/components/divider/divider';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { getCategoryIcon } from 'tradera/helpers/category-icon-helper';\n\ntype SearchCategoryProps = {\n handleCategoryChange: (categoryId: number) => void;\n selectedCategoryId: number;\n selectedCategory: CategoryNode | CategoryFilterCategoryViewModel;\n topLevelCategories: CategoryNode[];\n categoryPath: CategoryFilterCategoryViewModel[];\n};\n\nexport const SearchCategory = ({\n handleCategoryChange,\n selectedCategoryId,\n selectedCategory,\n topLevelCategories,\n categoryPath\n}: SearchCategoryProps) => {\n const { t } = useTranslator();\n\n if (!topLevelCategories) {\n return null;\n }\n\n const isCategorySelected = selectedCategoryId !== 0;\n\n return (\n \n \n \n \n {isCategorySelected && (\n \n {selectedCategory.name}\n \n )}\n \n \n \n \n \n \n \n
\n {categoryPath\n .filter((category) => category.id !== 0)\n .map((option) => {\n return (\n \n handleCategoryChange(option.id)\n }>\n \n {option.name}\n \n \n );\n })}\n handleCategoryChange(0)}>\n {t('searchSelect_allCategories')}\n \n
\n \n {topLevelCategories.map((option) => {\n return (\n handleCategoryChange(option.id)}>\n {option.name}\n \n );\n })}\n
\n
\n );\n};\n","import { useState, useEffect, useCallback, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect, useDispatch } from 'react-redux';\n\nimport PAGE_TYPES from 'tradera/constants/page-types';\nimport { setCurrentCategoryId as setCurrentCategoryIdAction } from 'tradera/state/discover/reducer';\nimport { debounce } from 'packages/debounce';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport {\n trackSearch,\n trackSearchCategoryChanges,\n trackResetButton\n} from './helpers/search.analytics';\nimport {\n getNewSearchUrl,\n getNextIndex,\n getSelectedCategory\n} from './helpers/helper';\n\nimport { SearchCategory } from './components/search-category';\nimport { SearchInput } from './components/search-input';\nimport { SearchSuggestions } from './components/search-suggestions';\nimport { removeRecentSearches } from 'tradera/state/personalisation/actions';\nimport { useNavigation } from 'tradera/hooks/use-navigation';\nimport { useOnHydration } from 'tradera/hooks/use-on-mount';\nimport { useGetCategoriesQuery } from 'tradera/state/services/categories-api';\nimport { useGetSuggestions } from 'tradera/components/search/helpers/suggestions-api';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { useMemberServerStorageWithCookieFallback } from 'tradera/state/member-storage/hooks';\n\nexport const KEYCODE = {\n ENTER: 13,\n ESC: 27,\n UP: 38,\n DOWN: 40\n};\n\nexport const MIN_CHARS_FOR_SUGGESTIONS = 2;\n\nconst PlainSearch = (props) => {\n const {\n inSPA,\n categoryPath = [],\n inputClassName = '',\n formClassName = '',\n placeholderText = null,\n discoverCurrentCategoryId = 0,\n discoverSearchTerm = '',\n queryParams,\n recentSearches,\n focusOverride,\n border\n } = props;\n\n const dispatch = useDispatch();\n const navigation = useNavigation();\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const searchSuggestionsElementRef = useRef(null);\n const searchInputRef = useRef(null);\n\n const [currentCategoryId, setCurrentCategoryId] = useState(\n discoverCurrentCategoryId\n );\n const [isSearchInputFocused, setIsSearchInputFocused] = useState(false);\n const [searchTerm, setSearchTerm] = useState(discoverSearchTerm || '');\n const [suggestions, setSuggestions] = useState([]);\n const [selectedSuggestionIndex, setSelectedSuggestionIndex] =\n useState(null);\n const [exactSearchChecked] = useMemberServerStorageWithCookieFallback(\n 'keyword-search',\n false\n );\n const getSuggestions = useGetSuggestions();\n\n const { data: topLevelCategories } = useGetCategoriesQuery({\n level: 1\n });\n\n useOnHydration(() => {\n if (searchInputRef.current?.value) {\n loadSearchSuggestions(searchInputRef.current?.value);\n }\n });\n\n useEffect(() => {\n setCurrentCategoryId(discoverCurrentCategoryId);\n }, [discoverCurrentCategoryId]);\n\n useEffect(() => {\n setSearchTerm(discoverSearchTerm);\n }, [discoverSearchTerm]);\n\n // Trigger an update to get the suggestions only when recentSearches changes\n useEffect(() => {\n (async () => {\n const suggestions = await getSuggestionsWrapper(\n searchTerm,\n currentCategoryId\n );\n setSuggestions(suggestions);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [recentSearches]);\n\n const loadSuggestionsDebounce = debounce(async (searchTerm, callback) => {\n const suggestions = await getSuggestionsWrapper(\n searchTerm,\n currentCategoryId\n );\n if (suggestions) {\n callback(suggestions);\n }\n }, 200);\n\n /**\n * this function wraps the getSuggestions and makes sure the parameters to the getSuggestions are consistent\n * @param {string} searchTerm\n */\n const getSuggestionsWrapper = useCallback(\n async (searchTerm, selectedCategoryId) => {\n const enableSuggestionsFromBackend =\n searchTerm.length >= MIN_CHARS_FOR_SUGGESTIONS;\n\n const suggestions = await getSuggestions({\n searchTerm,\n limitPrevious: enableSuggestionsFromBackend ? 3 : 7,\n enablePrevious: true,\n enableSuggestions: enableSuggestionsFromBackend,\n recentSearches,\n selectedCategoryId\n });\n return suggestions;\n },\n [recentSearches, getSuggestions]\n );\n\n const handleUpDownArrowKeys = (keyCode) => {\n let incrementBy = null;\n if (keyCode === KEYCODE.DOWN) {\n incrementBy = 1;\n } else if (keyCode === KEYCODE.UP) {\n incrementBy = -1;\n }\n if (incrementBy !== null) {\n const newIndex = getNextIndex(\n incrementBy,\n selectedSuggestionIndex,\n suggestions.length\n );\n setSelectedSuggestionIndex(newIndex);\n }\n };\n\n const handleUserKeyUp = (evt) => {\n switch (evt.which) {\n case KEYCODE.ESC:\n evt.target.blur();\n return;\n\n case KEYCODE.ENTER:\n // eslint-disable-next-line no-case-declarations\n const suggestions =\n searchSuggestionsElementRef.current?.querySelectorAll(\n '[data-suggestion]'\n );\n\n if (suggestions && suggestions[selectedSuggestionIndex]) {\n evt.preventDefault();\n suggestions[selectedSuggestionIndex].click();\n }\n return;\n\n case KEYCODE.DOWN:\n case KEYCODE.UP:\n handleUpDownArrowKeys(evt.which);\n return;\n }\n };\n\n const loadSearchSuggestions = async (newSearchTerm) => {\n setSelectedSuggestionIndex(null);\n setSearchTerm(newSearchTerm);\n\n // Shows/hides search suggestions based on focused state during SSR hydration\n const searchIsFocused =\n searchInputRef.current === document.activeElement;\n setIsSearchInputFocused(searchIsFocused);\n\n if (typeof newSearchTerm !== 'string') return null;\n\n if (newSearchTerm.length >= MIN_CHARS_FOR_SUGGESTIONS) {\n loadSuggestionsDebounce(newSearchTerm, (suggestions) => {\n setSuggestions(suggestions);\n });\n return;\n }\n const suggestions = await getSuggestionsWrapper(newSearchTerm);\n\n setSuggestions(suggestions);\n };\n\n const handleUserInputChange = (evt) =>\n loadSearchSuggestions(evt.target.value);\n\n const handleBlur = (evt) => {\n const suggestionFocasable =\n evt?.relatedTarget?.dataset?.suggestionSectionButton ||\n evt?.relatedTarget?.dataset?.suggestionSectionButtonRemove ||\n evt?.relatedTarget?.dataset?.keywordSearchSwitch;\n\n if (!suggestionFocasable) {\n setIsSearchInputFocused(false);\n }\n };\n\n const handleFocus = () => {\n loadSearchSuggestions(searchTerm, currentCategoryId);\n };\n\n const handlePreviousSearchRemoved = async (text) => {\n dispatch(removeRecentSearches(text));\n };\n\n const handleCategoryChange = (categoryId) => {\n setCurrentCategoryId(categoryId);\n dispatch(setCurrentCategoryIdAction(categoryId));\n trackSearchCategoryChanges(event);\n };\n\n const changeWindowLocation = (newQuery) => {\n // Trim search term to avoid empty searches\n const trimmedSearchTerm = newQuery.trim();\n const newSearchUrl = getNewSearchUrl(\n trimmedSearchTerm,\n queryParams,\n currentCategoryId,\n exactSearchChecked,\n [...topLevelCategories, ...categoryPath]\n );\n\n // Search with search term\n if (trimmedSearchTerm) {\n trackSearch(trimmedSearchTerm);\n }\n\n searchInputRef.current.blur();\n navigation.push(toLocalizedUrl(newSearchUrl));\n\n setIsSearchInputFocused(false);\n };\n\n const handleFormSubmit = (event) => {\n GtmService.trackGA4('search', {\n search_type: 'text_search',\n search_term: searchTerm,\n search_category: selectedCategory.id,\n exact_search: exactSearchChecked ? 1 : 0\n });\n event.preventDefault();\n changeWindowLocation(searchTerm);\n };\n\n const handleClearSearchInput = (event) => {\n event.preventDefault();\n trackResetButton();\n setSearchTerm('');\n };\n\n const handleSuggestionsChangingSearchTerm = (newSearchTerm) => {\n // fixes case when user is on the same url as the current selected serach term. To reproduce:\n // 1. search tröja\n // 2. change the search term in the search box to \"tröj\" without hitting enter\n // 3. now you get previous searches \"tröja\", click on it\n // 4. without next line nothing will happen\n if (newSearchTerm !== searchTerm) {\n setSearchTerm(newSearchTerm);\n }\n setIsSearchInputFocused(false);\n searchInputRef.current.blur();\n };\n\n const selectedCategory = getSelectedCategory(\n t,\n topLevelCategories,\n categoryPath,\n currentCategoryId\n );\n\n return (\n \n }\n formClassName={formClassName}\n inputClassName={inputClassName}\n placeholderText={placeholderText}\n onBlur={handleBlur}\n onClearSearchInput={handleClearSearchInput}\n onFocus={handleFocus}\n onFormSubmit={handleFormSubmit}\n onUserInputChange={handleUserInputChange}\n onUserKeyUp={handleUserKeyUp}\n searchInputRef={searchInputRef}\n searchTerm={searchTerm}\n selectedCategory={selectedCategory}\n focusOverride={focusOverride}\n suggestionsElement={\n \n }\n />\n );\n};\n\nconst mapStateToProps = (state) => {\n const pageType = state.page.type;\n let categoryPath = undefined;\n let discoverCurrentCategoryId = 0;\n let discoverSearchTerm = '';\n\n // Reflect search state on search & category pages\n if (\n [\n PAGE_TYPES.SEARCH_RESULT_PAGE,\n PAGE_TYPES.CATEGORY_RESULT_PAGE\n ].includes(pageType)\n ) {\n categoryPath = state.discover.categoryPath;\n discoverCurrentCategoryId = state.discover.currentCategoryId;\n discoverSearchTerm = state.discover.queryParams?.q || '';\n }\n\n return {\n categoryPath,\n discoverCurrentCategoryId,\n queryParams: state.discover.queryParams,\n discoverSearchTerm,\n recentSearches: state.personalisation.recentSearches\n };\n};\n\nPlainSearch.propTypes = {\n inSPA: PropTypes.bool.isRequired,\n categoryPath: PropTypes.array,\n placeholderText: PropTypes.string,\n discoverCurrentCategoryId: PropTypes.number,\n queryParams: PropTypes.object,\n recentSearches: PropTypes.array,\n focusOverride: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n inputClassName: PropTypes.string,\n formClassName: PropTypes.string,\n border: PropTypes.bool\n};\n\nexport const Search = connect(mapStateToProps)(PlainSearch);\n","import ENDPOINTS from 'tradera/constants/endpoints';\nimport qs from 'qs';\n\n/**\n *\n * @param {string} searchTerm search term\n * @param {object} queryParams query paramters of the current page\n * @param {int} currentCategoryId id of the current selected category\n * @param {boolean} forceKeywordSearch force keyword search\n * @param {array} allCategories array with all the categories\n */\nexport const getNewSearchUrl = (\n searchTerm,\n queryParams,\n currentCategoryId,\n forceKeywordSearch,\n allCategories\n) => {\n // Search with search term\n if (searchTerm) {\n // Filter out params not to pass on in query reformulation\n const { q, categoryId, sortBy, paging, spage, ...filteredQueryParams } =\n queryParams;\n\n // Query reformulation = First \"Nike\" and then \"Nike air\" or the other way around\n const isQueryReformulation =\n searchTerm.includes(q) || (q && q.includes(searchTerm));\n\n // Keep filters from before if query is reformulation or searching within category.\n const keepFilters = isQueryReformulation || !!currentCategoryId;\n\n return (\n ENDPOINTS.SEARCH +\n qs.stringify(\n {\n // Keep\n ...(keepFilters ? filteredQueryParams : {}),\n q: searchTerm,\n categoryId: currentCategoryId\n ? currentCategoryId\n : undefined,\n sortBy,\n forceKeywordSearch: forceKeywordSearch ? true : undefined\n },\n {\n addQueryPrefix: true\n }\n )\n );\n }\n\n if (currentCategoryId > 0) {\n // Search without search term, just category\n const currentCategory = allCategories.find(\n (category) => category.id === currentCategoryId\n );\n\n if (currentCategory) {\n // Filter out params not to pass to category page\n const { q, categoryId, paging, spage, ...queryParamsToKeep } =\n queryParams;\n\n return (\n currentCategory.href +\n qs.stringify(queryParamsToKeep, {\n addQueryPrefix: true\n })\n );\n }\n return;\n }\n\n // Fall back to categories page for empty search\n return '/categories';\n};\n\n/**\n *\n * @param {function} t translator function\n * @param {array} allCategories all categories\n * @param {array} categoryPath path to the current category. it's in the reverse order\n * @param {int} currentCategoryId id of the current category\n */\nexport const getSelectedCategory = (\n t,\n allCategories,\n categoryPath,\n currentCategoryId\n) => {\n const allCategoriesOption = {\n id: 0,\n name: t('searchSelect_allCategories')\n };\n\n if (currentCategoryId === 0) return allCategoriesOption;\n\n return (\n categoryPath.find((category) => category.id === currentCategoryId) ||\n allCategories.find((category) => category.id === currentCategoryId) ||\n allCategoriesOption\n );\n};\n\nexport const getNextIndex = (incrementBy, currentIndex, totalElements) => {\n if (currentIndex === null) {\n // eslint-disable-next-line better-mutation/no-mutation\n currentIndex = incrementBy > 0 ? -1 : 0;\n }\n\n const newIndex = currentIndex + incrementBy;\n if (newIndex < 0) {\n return totalElements - 1;\n }\n if (newIndex >= totalElements) {\n return 0;\n }\n return newIndex;\n};\n","import Analytics from 'packages/analytics';\n\nexport const trackSearchCategoryChanges = (evt) => {\n const selectBox = evt.target;\n const selectedOption =\n selectBox &&\n selectBox.selectedOptions &&\n selectBox.selectedOptions.length > 0 &&\n selectBox.selectedOptions[0];\n if (!selectedOption) {\n return;\n }\n Analytics.trackEvent({\n category: 'User search',\n action: 'Top search box Category dropdown',\n label: selectedOption.text\n });\n};\n\nexport const trackSearch = (label) => {\n Analytics.trackEvent({\n category: 'User search',\n action: 'Search Query',\n label: label\n });\n};\n\nexport const trackResetButton = () => {\n Analytics.trackEvent({\n category: 'User search',\n action: ' Top search box Reset'\n });\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"hover-localization-menu-footer\":\"hover-localization-menu-footer--kCm7S\",\"hoverLocalizationMenuFooter\":\"hover-localization-menu-footer--kCm7S\"};","import { useState } from 'react';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { selectShowRegionSelection } from 'tradera/state/shipping-region/selectors';\nimport { useTranslator } from 'tradera/lang/translate';\nimport DropdownIcon from '@tradera/blueprint/theme/icons2/dropdown.svg?jsx';\nimport { LocalizationMenu } from 'tradera/components/localization/localization-menu';\nimport HoverMenu from 'tradera/components/site-header/hover-menu/hover-menu';\nimport styles from './footer-localization-link.module.scss';\nimport TranslateIcon from '@tradera/blueprint/theme/icons2/translate.svg?jsx';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { Button } from '../atoms/button/button';\n\nconst trackAnalytics = (visible: boolean) => {\n const label = visible ? 'Open' : 'Close';\n GtmService.trackAction('Footer', 'Localization menu', label);\n};\n\ntype FooterLocalizationLinkProps = {\n className?: string;\n};\n\nexport const FooterLocalizationLink = ({\n className\n}: FooterLocalizationLinkProps) => {\n const { t } = useTranslator();\n const [isLocalizationSettingsVisible, setLocalizationSettingsVisible] =\n useState(false);\n const showRegionSelection = useAppSelector(selectShowRegionSelection);\n\n const onClick = () => {\n const shouldBeVisible = !isLocalizationSettingsVisible;\n trackAnalytics(shouldBeVisible);\n setLocalizationSettingsVisible(shouldBeVisible);\n };\n\n const title = showRegionSelection\n ? t('footer_localization_regionAndlanguage')\n : t('footer_localization_language');\n\n return (\n setLocalizationSettingsVisible(false)}>\n \n \n \n }\n onClick={onClick}>\n {title}\n \n \n \n );\n};\n","class ConsentService {\n openUi = () =>\n typeof window.__tcfapi === 'function' &&\n window.__tcfapi('displayConsentUi', 2, () => {});\n}\n\nexport default new ConsentService();\n","// extracted by mini-css-extract-plugin\nexport default {\"link-container\":\"link-container--DgaBv\",\"linkContainer\":\"link-container--DgaBv\",\"icon-row\":\"icon-row--JtOnp\",\"iconRow\":\"icon-row--JtOnp\"};","export default \"//static.tradera.net/touchweb/static/output/images/appstore.ebc98d68.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/googleplay.32c4c811.svg\";","import { useAppSelector } from 'tradera/state/hooks';\nimport {\n useTranslator,\n useCurrentLanguage,\n useUrlLocalizer\n} from 'tradera/lang/translate';\nimport {\n areLanguageCodesIso2Equal,\n isSwedishOrUndefined\n} from 'tradera/localization/languagecode';\nimport ConsentService from 'tradera/utils/consent-service';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\nimport styles from './footer-links.module.scss';\nimport { selectAvailableLanguageCodesIso2 } from 'tradera/state/language/selectors';\nimport ALink from 'tradera/components/alink/alink';\n\nimport AppstoreLogo from '@tradera/blueprint/theme/logos/appstore.svg?next-image';\nimport FacebookIcon from '@tradera/blueprint/theme/icons2/network-fb.svg?next-image';\nimport GooglePlayLogo from '@tradera/blueprint/theme/logos/googleplay.svg?next-image';\nimport InstagramIcon from '@tradera/blueprint/theme/icons2/network-ig.svg?next-image';\nimport LinkedInIcon from '@tradera/blueprint/theme/icons2/network-linkedin.svg?next-image';\nimport TikTokIcon from '@tradera/blueprint/theme/icons2/network-tt.svg?next-image';\nimport BankidIcon from '@tradera/blueprint/theme/icons2/bankid.svg?next-image';\nimport { MitIdLogo } from 'tradera/components/international-identification-modal/mit-id-logo';\nimport { useAppDownloadLink } from 'tradera/hooks/use-app-download-link';\n\ntype FooterLink = {\n href: string | { [key: string]: string | undefined };\n 'data-ga-category': string;\n 'data-ga-action': string;\n 'data-ga-label': string;\n text?: string;\n includedLanguages: string[];\n icon?: React.ReactNode;\n};\n\ntype FooterLinkProps = {\n links: FooterLink[];\n callerId: string;\n};\n\nconst FooterLinks = ({ links, callerId }: FooterLinkProps) => {\n const { language } = useCurrentLanguage();\n\n const linksToRender = links.filter((link) =>\n link.includedLanguages.find((lang) =>\n areLanguageCodesIso2Equal(lang, language)\n )\n );\n\n return (\n <>\n {linksToRender.map(\n ({ text, includedLanguages, href, icon, ...rest }, index) => {\n return (\n
  • \n \n {icon && icon}\n {text}\n \n
  • \n );\n }\n )}\n \n );\n};\n\nexport const BuyingLinks = () => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const availableLanguageCodesIso2 = useAppSelector(\n selectAvailableLanguageCodesIso2\n );\n\n const links: FooterLink[] = [\n {\n href: toLocalizedUrl('/how-to-buy'),\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Så handlar du på Tradera',\n text: t('footer_howToShop'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: {\n DA: 'https://www.tradera.com/support/dk/posts/traderas-koeparskydd/',\n DE: 'https://www.tradera.com/support/de/posts/traderas-koeparskydd/',\n EN: 'https://www.tradera.com/support/gb/posts/traderas-koeparskydd/',\n FR: 'https://www.tradera.com/support/fr/posts/traderas-koeparskydd/',\n NL: 'https://www.tradera.com/support/nl/posts/traderas-koeparskydd/',\n SV: 'https://www.tradera.com/support/se/posts/traderas-koeparskydd/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Köparskydd',\n text: t('footer_buyerProtection'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: toLocalizedUrl('/categories'),\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Kategorier',\n text: t('footer_categories'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: toLocalizedUrl('/brands'),\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Populära varumärken',\n text: t('footer_popularBrands'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: {\n SV: 'https://info.tradera.com/sv/inspiration/',\n DA: 'https://info.tradera.com/da/artikler/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Inspiration',\n text: t('footer_inspiration'),\n includedLanguages: ['SV', 'DA']\n },\n {\n href: 'https://www.tradera.com/giftcards',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Presentkort',\n text: t('footer_giftcard'),\n includedLanguages: ['SV']\n },\n {\n href: {\n DA: 'https://info.tradera.com/da/authenticated/',\n DE: 'https://www.tradera.com/info/de/tradera-authenticated/',\n EN: 'https://info.tradera.com/en/authenticated/',\n NL: 'https://www.tradera.com/info/nl/tradera-authenticated/',\n SV: 'https://info.tradera.com/authenticated/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Authenticated',\n text: t('footer_authenticated'),\n includedLanguages: ['DA', 'DE', 'EN', 'NL', 'SV']\n }\n ];\n\n return (\n
    \n

    {t('footer_buyHeading')}

    \n
      \n \n
    \n
    \n );\n};\n\nexport const SellingLinks = () => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const isPennybridgeCharitiesEnabled = useIsFeatureEnabled(\n 'pennybridge-charities'\n );\n const availableLanguageCodesIso2 = useAppSelector(\n selectAvailableLanguageCodesIso2\n );\n\n const links = [\n {\n href: toLocalizedUrl('/how-to-sell'),\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Så säljer du som privatperson',\n text: t('footer_howToSellPrivate'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: {\n SV: 'https://business.tradera.com/',\n DA: 'https://info.tradera.com/da/virksomhedskonto/',\n EN: 'https://info.tradera.com/en/foretag/',\n DE: 'https://info.tradera.com/en/foretag/',\n NL: 'https://info.tradera.com/en/foretag/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Sälj som företag',\n text: t('footer_howToSellCorporate'),\n includedLanguages: ['SV', 'DA', 'EN', 'DE', 'NL']\n },\n {\n href: {\n SV: 'https://prolister.tradera.com/',\n DA: 'https://prolister.tradera.com/',\n EN: 'https://prolister.tradera.com/',\n DE: 'https://prolister.tradera.com/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'ProLister',\n text: t('footer_prolister'),\n includedLanguages: ['SV', 'DA', 'EN', 'DE']\n },\n ...(isPennybridgeCharitiesEnabled\n ? [\n {\n href: toLocalizedUrl('/causes'),\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Donera med Tradera',\n text: t('footer_donateWithTradera'),\n includedLanguages: ['SV', 'DA', 'EN', 'DE', 'NL']\n }\n ]\n : []),\n {\n href: toLocalizedUrl('/frakt'),\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Fraktkalkylator',\n text: t('footer_shippingCalculator'),\n includedLanguages: ['SV', 'DA', 'EN', 'DE', 'NL']\n },\n {\n href: {\n SV: 'https://business.tradera.com/priser/',\n DA: 'https://business.tradera.com/da/priser/',\n EN: 'https://business.tradera.com/en/prices/',\n DE: 'https://business.tradera.com/en/prices/',\n NL: 'https://business.tradera.com/en/prices/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Butik',\n text: t('footer_store'),\n includedLanguages: ['SV', 'DA', 'EN', 'DE', 'NL']\n },\n {\n href: {\n SV: 'https://www.tradera.com/support/se/posts/vad-kostar-det-att-salja-pa-tradera/',\n DA: 'https://www.tradera.com/support/dk/posts/vad-kostar-det-att-salja-pa-tradera/',\n EN: 'https://www.tradera.com/support/gb/posts/vad-kostar-det-att-salja-pa-tradera/',\n DE: 'https://www.tradera.com/support/de/posts/vad-kostar-det-att-salja-pa-tradera/',\n NL: 'https://www.tradera.com/support/nl/posts/vad-kostar-det-att-salja-pa-tradera/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Priser',\n text: t('footer_prices'),\n includedLanguages: ['SV', 'DA', 'EN', 'DE', 'NL']\n }\n ];\n\n return (\n
    \n

    {t('footer_sellHeading')}

    \n
      \n \n
    \n
    \n );\n};\n\nexport const ContactAndHelpLinks = () => {\n const { t } = useTranslator();\n const isQuantcastConsentEnabled = useIsFeatureEnabled('quantcast-consent');\n const availableLanguageCodesIso2 = useAppSelector(\n selectAvailableLanguageCodesIso2\n );\n\n const links = [\n {\n href: {\n SV: 'https://www.tradera.com/support/se/categories/regler/',\n DA: 'https://www.tradera.com/support/dk/categories/regler/',\n EN: 'https://www.tradera.com/support/gb/categories/regler/',\n DE: 'https://www.tradera.com/support/de/categories/regler/',\n NL: 'https://www.tradera.com/support/nl/categories/regler/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Regler på Tradera',\n text: t('footer_traderaRules'),\n includedLanguages: ['SV', 'DA', 'EN', 'DE', 'NL']\n },\n {\n href: 'http://www.mynewsdesk.com/se/tradera',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Press',\n text: t('footer_press'),\n rel: 'nofollow',\n includedLanguages: ['SV']\n },\n {\n href: {\n SV: 'https://www.tradera.com/support/se/categories/safety/',\n DA: 'https://www.tradera.com/support/dk/categories/safety/',\n EN: 'https://www.tradera.com/support/gb/categories/safety/',\n DE: 'https://www.tradera.com/support/de/categories/safety/',\n NL: 'https://www.tradera.com/support/nl/categories/safety/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Säkerhet',\n text: t('footer_security'),\n includedLanguages: ['SV', 'DA', 'EN', 'DE', 'NL']\n },\n {\n href: {\n SV: 'https://www.tradera.com/support/se/',\n DA: 'https://www.tradera.com/support/dk/',\n DE: 'https://www.tradera.com/support/de/',\n EN: 'https://www.tradera.com/support/gb/',\n FR: 'https://www.tradera.com/support/fr/',\n NL: 'https://www.tradera.com/support/nl/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Vanliga frågor',\n text: t('footer_faq'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: 'https://info.tradera.com/nytt/',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Vad är nytt',\n text: t('footer_whatsUp'),\n includedLanguages: ['SV']\n },\n {\n href: {\n SV: 'https://www.tradera.com/support/se/',\n DA: 'https://www.tradera.com/support/dk/',\n EN: 'https://www.tradera.com/support/gb/',\n DE: 'https://www.tradera.com/support/de/',\n NL: 'https://www.tradera.com/support/nl/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Kontakta oss',\n text: t('footer_contactUs'),\n includedLanguages: ['SV', 'DA', 'EN', 'DE', 'NL']\n },\n {\n href: '#',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Open GDPR Settings',\n text: t('footer_gdpr_settings'),\n onClick: (event: MouseEvent) => {\n event.preventDefault();\n if (isQuantcastConsentEnabled) {\n ConsentService.openUi();\n }\n },\n includedLanguages: availableLanguageCodesIso2\n }\n ];\n\n return (\n
    \n

    {t('footer_contactHelpHeading')}

    \n
      \n \n
    \n
    \n );\n};\n\nexport const InformationLinks = () => {\n const { t } = useTranslator();\n const { language } = useCurrentLanguage();\n const availableLanguageCodesIso2 = useAppSelector(\n selectAvailableLanguageCodesIso2\n );\n\n const links = [\n {\n href: isSwedishOrUndefined(language)\n ? 'https://www.tradera.com/support/se/terms/terms-and-conditions/'\n : 'https://www.tradera.com/support/gb/terms/terms-and-conditions/',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Användaravtal',\n text: t('footer_userAgreement'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: isSwedishOrUndefined(language)\n ? 'https://www.tradera.com/support/se/terms/Privacy-Statement/'\n : 'https://www.tradera.com/support/gb/terms/Privacy-Statement/',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Integritetspolicy',\n text: t('footer_integrityPolicy'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: isSwedishOrUndefined(language)\n ? 'https://www.tradera.com/support/se/terms/cookie-policy/cookie-policy/'\n : 'https://www.tradera.com/support/gb/terms/cookie-policy/cookie-policy/',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Cookies',\n text: t('footer_cookies'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: {\n SV: '/info/om-oss',\n DE: '/info/uber-uns/',\n EN: '/info/about-us/',\n DA: '/info/om-os',\n FR: '/info/about-us/',\n NL: '/info/about-us/'\n },\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Om oss',\n text: t('footer_aboutTradera'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: 'https://careers.tradera.com/',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Jobb',\n text: t('footer_availableJobs'),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n href: 'https://info.tradera.com/hallbarhetsstrategi/',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Hållbarhetsstrategi',\n text: t('footer_sustainabilityStrategy'),\n includedLanguages: ['SV']\n },\n {\n href: 'https://info.tradera.com/frakt/',\n 'data-ga-category': 'Footer',\n 'data-ga-action': 'Navigation',\n 'data-ga-label': 'Grön frakt på Tradera',\n text: t('footer_greenShipping'),\n includedLanguages: ['SV']\n }\n ];\n\n return (\n
    \n

    {t('footer_informationHeading')}

    \n
      \n \n
    \n
    \n );\n};\n\nexport const SocialLinks = () => {\n const { t } = useTranslator();\n const availableLanguageCodesIso2 = useAppSelector(\n selectAvailableLanguageCodesIso2\n );\n\n const { appStore, googlePlay } = useAppDownloadLink();\n\n const links = [\n {\n ['aria-label']: 'Tradera Facebook',\n href: 'https://www.facebook.com/Tradera',\n ['data-ga-category']: 'Footer',\n ['data-ga-action']: 'Navigation',\n ['data-ga-label']: 'Sociala medier - Facebook',\n rel: 'nofollow',\n icon: (\n \n ),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n ['aria-label']: 'Tradera TikTok',\n href: 'https://www.tiktok.com/@tradera',\n ['data-ga-category']: 'Footer',\n ['data-ga-action']: 'Navigation',\n ['data-ga-label']: 'Sociala medier - TikTok',\n rel: 'nofollow',\n icon: (\n \n ),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n ['aria-label']: 'Tradera Instagram',\n href: {\n SV: 'https://www.instagram.com/tradera/',\n DE: 'https://www.instagram.com/tradera/',\n EN: 'https://www.instagram.com/tradera/',\n DA: 'https://www.instagram.com/tradera_dk/',\n FR: 'https://www.instagram.com/tradera/',\n NL: 'https://www.instagram.com/tradera/'\n },\n ['data-ga-category']: 'Footer',\n ['data-ga-action']: 'Navigation',\n ['data-ga-label']: 'Sociala medier - Instagram',\n rel: 'nofollow',\n icon: (\n \n ),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n ['aria-label']: 'Tradera LinkedIn',\n href: 'https://www.linkedin.com/company/tradera/',\n ['data-ga-category']: 'Footer',\n ['data-ga-action']: 'Navigation',\n ['data-ga-label']: 'Sociala medier - LinkedIn',\n rel: 'nofollow',\n icon: (\n \n ),\n includedLanguages: availableLanguageCodesIso2\n },\n {\n ['aria-label']: 'BankId',\n href: 'https://www.bankid.com/',\n ['data-ga-category']: 'Footer',\n ['data-ga-action']: 'Navigation',\n ['data-ga-label']: 'BankId',\n target: '_blank',\n rel: 'nofollow',\n icon: (\n \n ),\n includedLanguages: ['sv']\n },\n {\n ['aria-label']: 'MitId',\n href: 'https://www.mitid.dk/',\n ['data-ga-category']: 'Footer',\n ['data-ga-action']: 'Navigation',\n ['data-ga-label']: 'MitId',\n target: '_blank',\n rel: 'nofollow',\n icon: ,\n includedLanguages: ['DA']\n }\n ];\n\n return (\n
    \n {/* Social media */}\n
    \n
      \n \n
    \n
    \n \n {/* App download */}\n
    \n \n \n \n \n \n \n
    \n
    \n );\n};\n","export default \"//static.tradera.net/touchweb/static/output/images/network-fb.fb8fde4a.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/network-tt.fd12d63e.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/network-ig.9323cdfe.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/network-linkedin.a9ce5654.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/bankid.81f2e99a.svg\";","// extracted by mini-css-extract-plugin\nexport default {\"imageContainer\":\"imageContainer--dBDRd\",\"trustlyMargin\":\"trustlyMargin--NHAhI\"};","import PaypalLogo from '@tradera/blueprint/theme/logos/paypal.svg?next-image';\nimport DpdLogo from '@tradera/blueprint/theme/logos/dpd.svg?next-image';\nimport MastercardLogo from '@tradera/blueprint/theme/logos/mastercard_vertical.svg?next-image';\nimport VisaLogo from '@tradera/blueprint/theme/logos/visa.svg?next-image';\nimport GooglePayLogo from '@tradera/blueprint/theme/logos/google-pay.svg?next-image';\nimport ApplePayLogo from '@tradera/blueprint/theme/logos/apple-pay.svg?next-image';\nimport KlarnaLogo from '@tradera/blueprint/theme/logos/klarna.svg?next-image';\nimport SwishLogo from '@tradera/blueprint/theme/logos/swish_horizontal.svg?next-image';\nimport DhlLogo from './dhl.svg?next-image';\nimport TrustlyLogo from '@tradera/blueprint/theme/logos/trustly.svg?next-image';\nimport styles from './footer-partners.module.scss';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { useSelector } from 'react-redux';\nimport { classNames } from 'tradera/utils/class-names';\nimport { selectShippingRegionCountryCodeIso2 } from 'tradera/state/shipping-region/selectors';\nimport { areCountryCodesIso2Equal } from 'tradera/localization/countrycode';\n\ntype PartnerLogo = {\n src: string;\n alt: string;\n height: number;\n containerCss?: string;\n imgCss?: string;\n excludedCountries: string[];\n includedCountries: string[];\n};\n\nexport const FooterPartners = () => {\n const { t } = useTranslator();\n const shippingRegionCountryCodeIso2 = useSelector(\n selectShippingRegionCountryCodeIso2\n );\n\n const partners: Array = [\n {\n src: '/static/images/shipping/postnord.svg',\n alt: t('footer_partner_shipping', { shippingProvider: 'PostNord' }),\n height: 9,\n containerCss: styles.imageContainer,\n excludedCountries: ['NL'],\n includedCountries: []\n },\n {\n src: '/static/images/shipping/schenker.svg',\n alt: t('footer_partner_shipping', { shippingProvider: 'Schenker' }),\n height: 9,\n containerCss: styles.imageContainer,\n excludedCountries: ['DK', 'NL'],\n includedCountries: []\n },\n {\n src: DhlLogo,\n alt: t('footer_partner_shipping', { shippingProvider: 'DHL' }),\n height: 9,\n containerCss: styles.imageContainer,\n excludedCountries: ['DK'],\n includedCountries: []\n },\n {\n src: '/static/images/shipping/instabox_inverted.svg',\n alt: t('footer_partner_shipping', { shippingProvider: 'Instabox' }),\n height: 9,\n containerCss: styles.imageContainer,\n excludedCountries: [],\n includedCountries: ['SE']\n },\n {\n src: '/static/images/shipping/bring.svg',\n alt: t('footer_partner_shipping', { shippingProvider: 'Bring' }),\n height: 15,\n containerCss: styles.imageContainer,\n excludedCountries: [],\n includedCountries: ['DK']\n },\n {\n src: '/static/images/shipping/gls.svg',\n alt: t('footer_partner_shipping', { shippingProvider: 'GLS' }),\n height: 15,\n containerCss: styles.imageContainer,\n includedCountries: [],\n excludedCountries: ['SE']\n },\n {\n src: DpdLogo,\n alt: t('footer_partner_shipping', { shippingProvider: 'DPD' }),\n height: 15,\n containerCss: styles.imageContainer,\n includedCountries: ['NL'],\n excludedCountries: []\n },\n {\n src: VisaLogo,\n alt: t('footer_partner_payment', { paymentMethod: 'Visa' }),\n height: 10,\n containerCss: styles.imageContainer,\n includedCountries: [],\n excludedCountries: []\n },\n {\n src: MastercardLogo,\n alt: t('footer_partner_payment', { paymentMethod: 'Mastercard' }),\n height: 15,\n containerCss: styles.imageContainer,\n includedCountries: [],\n excludedCountries: []\n },\n {\n src: SwishLogo,\n alt: t('footer_partner_payment', { paymentMethod: 'Swish' }),\n height: 15,\n containerCss: styles.imageContainer,\n includedCountries: ['SE'],\n excludedCountries: []\n },\n {\n src: KlarnaLogo,\n alt: t('footer_partner_payment', { paymentMethod: 'Klarna' }),\n height: 15,\n containerCss: styles.imageContainer,\n includedCountries: ['SE'],\n excludedCountries: []\n },\n {\n src: PaypalLogo,\n alt: t('footer_partner_payment', { paymentMethod: 'PayPal' }),\n height: 12,\n containerCss: styles.imageContainer,\n excludedCountries: ['SE'],\n includedCountries: []\n },\n {\n src: TrustlyLogo,\n alt: t('footer_partner_payment', { paymentMethod: 'Trustly' }),\n height: 11,\n containerCss: styles.imageContainer,\n imgCss: styles.trustlyMargin,\n excludedCountries: ['DK', 'NL'],\n includedCountries: []\n },\n {\n src: GooglePayLogo,\n alt: t('footer_partner_payment', { paymentMethod: 'Google Pay' }),\n height: 21,\n includedCountries: [],\n excludedCountries: []\n },\n {\n src: ApplePayLogo,\n alt: t('footer_partner_payment', { paymentMethod: 'Apple Pay' }),\n height: 21,\n includedCountries: [],\n excludedCountries: []\n }\n ];\n\n const partnersToRender = partners.filter(\n (partner) =>\n (partner.includedCountries.length === 0 ||\n partner.includedCountries.find((country) =>\n areCountryCodesIso2Equal(\n shippingRegionCountryCodeIso2,\n country\n )\n )) &&\n !(\n partner.excludedCountries.length > 0 &&\n partner.excludedCountries.find((country) =>\n areCountryCodesIso2Equal(\n shippingRegionCountryCodeIso2,\n country\n )\n )\n )\n );\n\n return (\n <>\n {partnersToRender.map((partner: PartnerLogo, index: number) => (\n \n \n \n ))}\n \n );\n};\n","export default \"//static.tradera.net/touchweb/static/output/images/dhl.f1fde3d3.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/dpd.cbb66715.svg\";","// extracted by mini-css-extract-plugin\nexport default {\"site-footer\":\"site-footer--sM3Yn\",\"siteFooter\":\"site-footer--sM3Yn\",\"wrapper\":\"wrapper--llYYe\",\"symbol\":\"symbol--xpuG3\",\"logo\":\"logo--faUE0\",\"play-animation\":\"play-animation--ovB41\",\"playAnimation\":\"play-animation--ovB41\",\"counter-clockwise\":\"counter-clockwise--UOG9c\",\"counterClockwise\":\"counter-clockwise--UOG9c\",\"logos-row\":\"logos-row--j2mp3\",\"logosRow\":\"logos-row--j2mp3\"};","// extracted by mini-css-extract-plugin\nexport default {\"hover-currency-menu-footer\":\"hover-currency-menu-footer--bO1yZ\",\"hoverCurrencyMenuFooter\":\"hover-currency-menu-footer--bO1yZ\"};","import { useState } from 'react';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { useTranslator } from 'tradera/lang/translate';\nimport DropdownIcon from '@tradera/blueprint/theme/icons2/dropdown.svg?jsx';\nimport HoverMenu from 'tradera/components/site-header/hover-menu/hover-menu';\nimport styles from './footer-currency-link.module.scss';\nimport { CurrencySelect } from 'tradera/components/localization/currency-select';\nimport CurrencyIcon from '@tradera/blueprint/theme/icons2/currency.svg?jsx';\nimport { Button } from '../atoms/button/button';\n\nconst trackAnalytics = (visible) => {\n const label = visible ? 'Open' : 'Close';\n GtmService.trackAction('Footer', 'Currency menu', label);\n};\n\nexport const FooterCurrencyLink = ({ className }) => {\n const { t } = useTranslator();\n const [isCurrencySettingsVisible, setCurrencySettingsVisible] =\n useState(false);\n\n const onClick = () => {\n const shouldBeVisible = !isCurrencySettingsVisible;\n trackAnalytics(shouldBeVisible);\n setCurrencySettingsVisible(shouldBeVisible);\n };\n\n return (\n setCurrencySettingsVisible(false)}>\n \n setCurrencySettingsVisible(false)}\n inProfileMenu={false}\n title={t('siteHeader_currency')}\n />\n \n }\n onClick={onClick}>\n {t('footer_localization_currency')}\n \n \n \n );\n};\n","export default \"//static.tradera.net/touchweb/static/output/images/phone.7f9467cd.png\";","export default \"//static.tradera.net/touchweb/static/output/images/phone-3x.abb0511f.png\";","// extracted by mini-css-extract-plugin\nexport default {\"appDownloadBanner\":\"appDownloadBanner--PBQX0\",\"appDownloadWrapper\":\"appDownloadWrapper--GRGET\",\"appDownloadBannerContent\":\"appDownloadBannerContent--_PU1T\",\"appDownLoadBannerImage\":\"appDownLoadBannerImage--wFrZa\"};","import useIsDesktop from 'tradera/hooks/use-is-desktop';\nimport { Trans, useTranslator } from 'tradera/lang/translate';\nimport Phone from './phone.png';\nimport PhoneMd from './phone-2x.png';\nimport PhoneLg from './phone-3x.png';\nimport PhoneMobile from './phone-mobile.png';\nimport { Heading } from 'tradera/components/atoms/heading/heading';\nimport { RatingStars } from 'tradera/components/rating-stars/rating-stars';\nimport AppstoreLogo from '@tradera/blueprint/theme/logos/appstore.svg?next-image';\nimport GooglePlayLogo from '@tradera/blueprint/theme/logos/googleplay.svg?next-image';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { useAppDownloadLink } from 'tradera/hooks/use-app-download-link';\nimport {\n AppstoreBadge,\n GooglePlayBadge\n} from '../app-download-badge/app-download-badge';\nimport styles from './app-download-banner.module.scss';\n\nexport const AppDownloadBanner = () => {\n const { t } = useTranslator();\n const isDesktop = useIsDesktop();\n\n const trackClick = (store) => {\n GtmService.trackAction('StartPage', 'App download banner', store);\n };\n\n const { appStore, googlePlay } = useAppDownloadLink();\n\n return (\n
    \n
    \n
    \n
    \n {isDesktop ? (\n \n ) : (\n \"\"\n )}\n
    \n \n \n \n }}\n />\n \n
    \n trackClick('App Store')}>\n {isDesktop ? (\n \n ) : (\n \n )}\n \n trackClick('Google Play')}>\n {isDesktop ? (\n \n ) : (\n \n )}\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n );\n};\n","export default \"//static.tradera.net/touchweb/static/output/images/phone-mobile.766437b4.png\";","// extracted by mini-css-extract-plugin\nexport default {\"banner\":\"banner--Q9vKp\",\"bannerItem\":\"bannerItem--JJKu3\",\"bannerItemActive\":\"bannerItemActive--BQZYK\",\"bannerIconDark\":\"bannerIconDark--doSFS\"};","import { useEffect, useState } from 'react';\nimport useIsLoggedIn from 'tradera/hooks/use-is-loggedin';\nimport useIsDesktop from 'tradera/hooks/use-is-desktop';\nimport styles from './start-page-footer-banner.module.scss';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport type { BannerLinkIcon } from 'tradera/state/views/start-page/types';\nimport { classNames } from 'tradera/utils/class-names';\n\nexport const StartPageFooterBanner = () => {\n const isLoggedIn = useIsLoggedIn();\n const isDesktop = useIsDesktop();\n const [activeIndex, setActiveIndex] = useState(0);\n\n const { bannerLinks } = useAppSelector(\n (state) => state.views.startPage.config.header\n );\n\n const shouldRender = bannerLinks && bannerLinks.length > 0 && !isLoggedIn;\n\n useEffect(() => {\n if (!isDesktop && shouldRender) {\n const interval = setInterval(() => {\n setActiveIndex((activeIndex + 1) % bannerLinks.length);\n }, 4000);\n return () => clearInterval(interval);\n }\n }, [isDesktop, activeIndex, bannerLinks?.length, shouldRender]);\n\n const content = (text: string, icon?: BannerLinkIcon) => (\n <>\n {icon && icon.baseUrl && (\n \n )}\n {text}\n \n );\n\n return shouldRender ? (\n \n
    \n {bannerLinks.map(({ text, url, icon }, index) => (\n \n {url ? (\n \n {content(text, icon)}\n \n ) : (\n content(text, icon)\n )}\n
    \n ))}\n \n \n ) : null;\n};\n","import { connect } from 'react-redux';\nimport { useInView } from 'react-intersection-observer';\nimport { FooterLocalizationLink } from './footer-localization-link';\nimport TraderaSymbol from '@tradera/blueprint/theme/logos/tradera_symbol.svg?jsx';\n\nimport {\n BuyingLinks,\n SellingLinks,\n ContactAndHelpLinks,\n InformationLinks,\n SocialLinks\n} from './footer-links';\nimport { FooterPartners } from './footer-partners';\n\nimport styles from './site-footer.module.scss';\nimport { FooterCurrencyLink } from './footer-currency-link';\nimport { AppDownloadBanner } from 'tradera/apps/tradera/components/app-download-banner/app-download-banner';\nimport PAGE_TYPES from 'tradera/constants/page-types';\nimport { SiteWidth } from 'tradera/components/site-width/site-width';\nimport { StartPageFooterBanner } from 'tradera/components/site-footer/start-page-footer-banner';\n\nconst SiteFooter = ({ pageType }) => {\n const [symbolRef, inView] = useInView({\n threshold: 0\n });\n\n if (pageType === PAGE_TYPES.MY_MESSAGES_PAGE) {\n return null;\n }\n\n const showAppDownloadBanner = pageType === 'StartPage';\n\n return (\n \n {showAppDownloadBanner && }\n \n
    \n \n
    \n
    \n {/* Köp */}\n \n\n {/* Sälj */}\n \n {/* Kontakt & hjälp */}\n \n {/* Information */}\n \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n {/* Copyright */}\n
    \n

    \n © {new Date().getFullYear()} Tradera\n

    \n
    \n
    \n \n
    \n {/* Required to render inline with this ID for Item Card fallback referencing this SVG with */}\n \n
    \n \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n pageType: state.page.type\n});\n\nexport default connect(mapStateToProps)(SiteFooter);\n","import axios from 'axios';\nimport {\n utilizeCancelToken,\n finalizeResponse,\n handleError\n} from 'tradera/utils/api';\nimport cookieUtil from 'tradera/utils/cookie';\nimport { FORCE_GEO_DEV } from 'tradera/constants/cookies';\nimport { isServer } from 'tradera/utils/nextjs';\n\nexport const fetchGeolocation = (geoPublicBaseUrl) => {\n if (isServer) {\n return Promise.reject(\n 'Cannot fetch geo information from server as that would give the wrong result.'\n );\n }\n\n const { cancel, cancelToken } = utilizeCancelToken('fetchGeolocation');\n\n if (cancel) cancel();\n\n const search = (window && window.location && window.location.search) || '';\n return axios\n .get(getGeoPublicApiLocationUrl(geoPublicBaseUrl, search), {\n cancelToken\n })\n .then(finalizeResponse())\n .catch(handleError());\n};\n\nexport const getGeoPublicApiLocationUrl = (geoPublicBaseUrl, search) => {\n const originalUrl = `${geoPublicBaseUrl}/api/country`;\n const forceGeoDevMatch = search.match(/force-geo-(.*?)-dev/);\n\n if (forceGeoDevMatch) {\n cookieUtil.createCookie(FORCE_GEO_DEV, forceGeoDevMatch[1]);\n return `${originalUrl}/${forceGeoDevMatch[1]}`;\n }\n\n const forceGeoDevCookie = cookieUtil.readCookie(FORCE_GEO_DEV);\n if (forceGeoDevCookie) {\n return `${originalUrl}/${forceGeoDevCookie}`;\n }\n\n return originalUrl;\n};\n","import { fetchGeolocation } from './api';\nimport { setCurrencyIfNotChosen } from 'tradera/state/multi-currency/actions';\nimport { removeShippingCountryCookieIfSwedish } from 'tradera/state/shipping-region/actions';\nimport { API_ERRORS } from 'tradera/utils/api';\nimport { logger } from 'packages/logger';\nimport {\n setIsFetchingGeolocation,\n setGeolocation,\n failedLoadingGeolocation\n} from './reducer';\n\nexport const getGeolocation = () => async (dispatch, getState) => {\n dispatch(setIsFetchingGeolocation(true));\n const { PUBLIC_GEO_PUBLIC_API_BASE_URL } = getState().environment.variables;\n try {\n const response = await fetchGeolocation(PUBLIC_GEO_PUBLIC_API_BASE_URL);\n const { data } = response;\n dispatch(setGeolocation(data));\n dispatch(setCurrencyIfNotChosen(data.currency));\n dispatch(setIsFetchingGeolocation(false));\n dispatch(removeShippingCountryCookieIfSwedish(data));\n return data;\n } catch (error) {\n switch (error.message) {\n case API_ERRORS.ABORTED:\n case API_ERRORS.CANCELLED:\n case API_ERRORS.NETWORK:\n break;\n default:\n logger(error);\n break;\n }\n dispatch(failedLoadingGeolocation());\n }\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 1401 1401\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M700 50A646 646 0 0050 701c0 173 68 337 191 459a646 646 0 00919 0 646 646 0 00191-459c0-174-68-338-191-460A646 646 0 00700 50zm1 1351c-188 0-364-73-496-205A696 696 0 010 701c0-188 73-364 205-496A696 696 0 01701 0c187 0 363 73 495 205a696 696 0 01205 496c0 187-73 363-205 495a696 696 0 01-495 205z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M379 979l-79 24-13-19 49-66 43 61zm-98 85l231-70-32-45-52 15-62-87 32-43-32-46-144 193 59 83zm466 131h-65c-27 0-41-10-41-33 0-21 13-32 41-32h65v65zm-161-33c0 48 32 84 96 84h120v-229h-55v67h-87c-11 0-17-5-17-12v-55h-54v56c0 15 12 27 28 29a70 70 0 00-31 60zm425-347L889 973l41 31 89-115 33 25-75 97 38 29 75-97 28 23-89 114 41 31 122-157-181-139m48-202l-8-39 124-26 9 40c11 53-4 81-46 90-43 8-68-12-79-65zm175-34l-19-94-225 45 19 93c18 85 72 122 141 108 74-15 102-66 84-152zM849 312l56-60 22 10-10 81-68-31zm43-123L727 364l51 24 37-39 96 45-6 54 50 23 28-239-91-43zM410 298l57-34c24-14 41-13 53 7 10 18 6 35-19 49l-57 34-34-56zm158-55c-24-41-71-56-127-23l-104 62 117 196 48-28-35-57 77-45c9-6 17-5 20 2l29 47 47-28-29-48c-8-13-24-17-39-11 10-22 9-46-4-67zM192 721l19-89 175 37 11-54-175-37 19-89-50-11-50 232 51 11m35 221l-4-5-17 12-5-8-5 4 14 20 5-3-6-8 18-12m-45-17l13-2-6 11 5 8 22-16-3-4-18 12 8-14-3-4-15 3h-1l18-12-3-5-22 15 5 8\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.3 14.53a.8.8 0 100-1.6.8.8 0 000 1.6zm0 1a1.8 1.8 0 100-3.6 1.8 1.8 0 000 3.6zm6.4-1a.8.8 0 100-1.6.8.8 0 000 1.6zm0 1a1.8 1.8 0 100-3.6 1.8 1.8 0 000 3.6zM.5.53L.37.05a.5.5 0 00.25.97h.01L.7 1h.26c.2.02.45.1.66.35.11.13.22.4.29.7a4.74 4.74 0 01.09.49v.05l1 6.02.35 1.7c.14.7.75 1.21 1.47 1.21H13a.5.5 0 100-1H4.82a.5.5 0 01-.49-.4l-.22-1.1h8.75a.7.7 0 00.66-.48l1.87-5.6a.7.7 0 00-.67-.92H2.92A2.78 2.78 0 002.38.7 2 2 0 00.6.02a1.85 1.85 0 00-.2.02H.38l.12.5zm2.59 2.5l.83 5h8.72l1.67-5H3.09z\"\n})));","// extracted by mini-css-extract-plugin\nexport default {\"badge\":\"badge--Xmvmn\"};","import styles from './header-badge.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\n\ntype HeaderBadgeProps = {\n count: number;\n maxValue?: number;\n};\nexport const HeaderBadge = ({ count, maxValue = 99 }: HeaderBadgeProps) => (\n \n {count > maxValue ? `${maxValue}+` : count}\n \n);\n","import { memo } from 'react';\nimport CartIcon from '@tradera/blueprint/theme/icons2/cart.svg?jsx';\nimport { useUrlLocalizer } from 'tradera/lang/translate';\nimport { HeaderBadge } from 'tradera/components/site-header/header-badge';\nimport { Button } from 'tradera/components/atoms/button/button';\n\ntype CartLinkProps = { cartItemCount: number };\n\nconst CartLink = ({ cartItemCount }: CartLinkProps) => {\n const { toLocalizedUrl } = useUrlLocalizer();\n const cartUrl = toLocalizedUrl('/shopping/cart');\n return (\n \n \n \n \n );\n};\n\nexport default memo(CartLink);\n","import { useTranslator } from 'tradera/lang/translate';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport useIsLoggedIn from 'tradera/hooks/use-is-loggedin';\n\nconst DropDownMenuHamburger = ({\n active,\n className,\n onClick,\n onPointerDown,\n tabIndex\n}) => {\n const { t } = useTranslator();\n const isLoggedIn = useIsLoggedIn();\n return (\n \n \n \n \n {!isLoggedIn && (\n \n {t('siteHeader_dropDownMenuHamburger')}\n \n )}\n \n );\n};\n\nexport default DropDownMenuHamburger;\n","// extracted by mini-css-extract-plugin\nexport default {\"siteDropdown\":\"siteDropdown--BoyU3\",\"siteDropdownSeparator\":\"siteDropdownSeparator--l5xKh\",\"itemImage\":\"itemImage--BrX2I\",\"itemWithIcon\":\"itemWithIcon--KLKUn\",\"itemWithImage\":\"itemWithImage--FfpeR\",\"item\":\"item--pxwtj\",\"indent\":\"indent--ss_PT\",\"itemDefault\":\"itemDefault--f73yp\",\"siteDropdownSeparatorBottom\":\"siteDropdownSeparatorBottom--ffGQB\",\"ios\":\"ios--AK_4x\",\"areaMyTradera\":\"areaMyTradera--cF07y\",\"subMenu\":\"subMenu--WGNeJ\",\"slideIn\":\"slideIn--u7orD\",\"slideOut\":\"slideOut--AEf4A\"};","import { classNames } from 'tradera/utils/class-names';\nimport styles from './dropdown-menu.module.scss';\n\ntype Props = {\n label?: React.ReactNode;\n className?: string;\n};\nexport const MenuItemSeparator = ({ label, className = '' }: Props) => (\n \n {label}\n \n);\n","import PropTypes from 'prop-types';\n\nimport ALink from 'tradera/components/alink/alink';\nimport styles from './dropdown-menu.module.scss';\nimport ArrowRightIcon from '@tradera/blueprint/theme/icons2/arrow-right.svg?jsx';\nimport { classNames } from 'tradera/utils/class-names';\n\nconst MenuItemButton = ({\n className = '',\n containerClass = styles.itemDefault,\n follow = true,\n gaAttributes,\n inSPA,\n label,\n link,\n onClick\n}) => {\n return (\n
  • \n \n {label}\n \n \n
  • \n );\n};\n\nMenuItemButton.propTypes = {\n notify: PropTypes.number,\n link: PropTypes.string,\n bold: PropTypes.bool,\n border: PropTypes.bool,\n label: PropTypes.node,\n gaAttributes: PropTypes.object\n};\n\nexport default MenuItemButton;\n","import type { ReactNode } from 'react';\nimport { Button } from '../atoms/button/button';\nimport { classNames } from 'tradera/utils/class-names';\nimport styles from './dropdown-menu.module.scss';\nimport { useSekPriceFormatter } from 'tradera/localization/use-sek-price-formatter';\nimport type { SystemBadge } from 'tradera/state/services/types/webapi-mytradera-generated';\nimport { Badge as BadgeComponent } from 'tradera/components/badge/badge';\n\ntype MenuItemProps = {\n alerts?: ReactNode[];\n bold?: boolean;\n border?: boolean;\n className?: string;\n follow?: boolean;\n gaAttributes?: Record;\n highlight?: boolean;\n icon?: ReactNode;\n imageContainerClassName?: string;\n imageUrl?: string;\n inSPA?: boolean;\n label?: ReactNode;\n link?: string;\n badge?: SystemBadge;\n notify?: number;\n onClick?: () => void;\n};\nexport const MenuItem = ({\n alerts,\n bold,\n border,\n className,\n follow = true,\n gaAttributes,\n highlight,\n icon,\n imageContainerClassName,\n imageUrl,\n label,\n link,\n badge,\n notify,\n onClick\n}: MenuItemProps) => {\n const containerClass = classNames(\n 'd-flex flex-row align-items-center focus-visible-inner p-0',\n styles.item,\n icon ? styles.itemWithIcon : styles.itemDefault,\n className,\n {\n 'flex-wrap': alerts?.length\n }\n );\n\n return (\n
  • \n \n \n \n
  • \n );\n};\n\ntype MenuItemContentProps = {\n icon?: ReactNode;\n imageContainerClassName?: string;\n bold?: boolean;\n highlight?: boolean;\n imageUrl?: string;\n label?: ReactNode;\n badge?: SystemBadge;\n notify?: number;\n alerts?: ReactNode[];\n};\n\nconst MenuItemContent = ({\n icon,\n imageContainerClassName,\n bold,\n highlight,\n imageUrl,\n label,\n badge,\n notify,\n alerts\n}: MenuItemContentProps) => {\n return (\n <>\n {icon && (\n \n {highlight ? (\n \n {icon}\n \n ) : (\n icon\n )}\n \n )}\n \n {label}\n \n
    \n \n {notify ? (\n \n {notify}\n \n ) : null}\n
    \n {alerts}\n \n );\n};\n\ntype BadgeProps = {\n badge?: SystemBadge;\n};\n\nconst Badge = ({ badge }: BadgeProps) => {\n const formatPrice = useSekPriceFormatter();\n\n if (!badge?.value) return null;\n\n let displayValue = badge.value;\n if (badge.type === 'WalletBalance') {\n displayValue = formatPrice(badge.value);\n }\n\n return (\n \n {displayValue}\n \n );\n};\n","import type React from 'react';\nimport { useState } from 'react';\n\nimport ArrowUpIcon from '@tradera/blueprint/theme/icons2/arrow-up.svg?jsx';\nimport ArrowDownIcon from '@tradera/blueprint/theme/icons2/arrow-down.svg?jsx';\nimport { classNames } from 'tradera/utils/class-names';\nimport { Button } from '../atoms/button/button';\nimport styles from './dropdown-menu.module.scss';\n\ntype ExpandableMenuItemProps = {\n imageUrl?: string;\n icon: React.ReactNode;\n label: React.ReactNode;\n className?: string;\n imageContainerClassName?: string;\n border: boolean;\n indentItems?: boolean;\n defaultExpanded?: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n href?: string;\n disabled?: boolean;\n};\n\nexport const ExpandableMenuItem = ({\n border = true,\n imageUrl,\n icon,\n label,\n className,\n imageContainerClassName,\n indentItems,\n children,\n href,\n defaultExpanded,\n onClose,\n onOpen,\n disabled\n}: React.PropsWithChildren) => {\n const [expanded, setIsExpanded] = useState(defaultExpanded);\n\n const toggleOpen = () => {\n setIsExpanded((current) => !current);\n\n if (expanded) {\n onClose?.();\n } else {\n onOpen?.();\n }\n };\n\n return (\n \n {\n if (children) {\n e.preventDefault();\n toggleOpen();\n }\n }}\n aria-expanded={expanded}\n className={classNames(\n 'p-0 m-0 d-flex flex-row align-items-center focus-visible-inner',\n className\n )}\n brandedText>\n {icon && (\n \n {icon}\n \n )}\n {label}\n {disabled ? null : (\n \n {expanded ? (\n \n ) : (\n \n )}\n \n )}\n \n {expanded && (\n \n {children}\n \n )}\n \n );\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5.6c0-.3.3-.6.6-.6h5.1c.3 0 .6.3.6.6s-.3.6-.6.6h-2v1.4c1.6.1 3.1.8 4.1 1.9l1.8-1.8c.2-.2.6-.2.8 0 .2.2.2.6 0 .8l-1.8 1.8c.8 1.1 1.3 2.5 1.3 3.9 0 3.7-3 6.7-6.8 6.7S.8 12.9.8 9.2C.8 5.7 3.5 2.8 7 2.5V1.2H5c-.2 0-.5-.3-.5-.6zm3.1 3.1a5.6 5.6 0 100 11.2 5.6 5.6 0 100-11.2zm0 1c.4 0 .6.3.6.6v4c0 .3-.3.6-.6.6S7 9.6 7 9.3v-4c.1-.3.3-.6.6-.6z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.9 3.2c2.3 0 4 1.9 4 4.2 0 .4-.1.8-.2 1.2-.2.7-.6 1.4-.9 2.1-.1.1-.1.2-.2.4-.4.8-.7 1.5-.7 2.2v.7c0 1.1-.9 2.1-2.1 2.1-1.2 0-2.1-.9-2.1-2.1v-.7c-.1-.7-.4-1.4-.7-2.2 0-.2 0-.3-.1-.4-.3-.7-.6-1.4-.8-2.1-.1-.4-.2-.8-.2-1.2 0-2.3 1.8-4.2 4-4.2zm1 10.5H7v.1c0 .5.4 1 1 1s1-.4 1-1v-.1zm-1-9.4C6.4 4.3 5 5.7 5 7.4c0 .3 0 .6.1.9.2.6.5 1.2.8 1.8.1.2.1.3.2.4.3.6.6 1.3.8 2.1H9c.2-.7.5-1.4.8-2.1.1-.1.1-.3.2-.4.3-.6.6-1.2.8-1.8.1-.3.1-.6.1-.9 0-1.7-1.4-3.1-3-3.1zm7.2 2.6c.3 0 .6.2.6.6 0 .3-.2.6-.6.6h-1.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.4zm-12.5 0c.3 0 .6.2.6.6-.1.3-.3.5-.6.5H1.2c-.3 0-.6-.2-.6-.5s.2-.6.6-.6h1.4zm10.8-4.7c.2.2.2.6 0 .8l-1 1c-.2.2-.6.2-.8 0a.6.6 0 010-.8l1-1c.2-.2.6-.2.8 0zM3.1 2.1l1 1c.2.2.2.6 0 .8-.2.2-.6.2-.8 0l-1-1c-.3-.2-.3-.6 0-.8.2-.2.5-.2.8 0zM7.9-.1c.3 0 .6.2.6.6v1.4c0 .3-.2.6-.6.6s-.6-.3-.6-.6V.5c0-.3.3-.6.6-.6z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M8.04 0c.25 0 .45.2.45.45V3.1a.45.45 0 01-.9 0V.45c0-.25.2-.45.45-.45zm5.31 1.47a.45.45 0 01.23.6l-.82 1.79a.45.45 0 01-.82-.38l.81-1.78a.45.45 0 01.6-.23zm-10.4.07a.45.45 0 01.57.27l.61 1.7a.45.45 0 11-.85.31l-.61-1.7a.45.45 0 01.27-.58zm.93 3.13a.45.45 0 01.34-.15h7.64c.13 0 .26.06.34.16l2.56 2.99a.45.45 0 010 .59l-6.41 7.58a.45.45 0 01-.7 0L1.24 8.26a.45.45 0 010-.6zm.17 1.18l.6 1.66H2.59zM2.56 8.41h2.41l1.76 4.94zm6.74 4.9l4.14-4.9h-2.35zm2.12-5.8h2.01l-1.41-1.65-.6 1.65zm-.2-2.08H9.06L10.6 7.1l.61-1.68zM9.73 7.5h-.33a.45.45 0 100 .9h.71L8 14.22l-2.07-5.8h.8a.45.45 0 000-.9h-.4l1.7-1.86L9.75 7.5zM7.01 5.43L5.46 7.1l-.6-1.67z\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.67.29a.56.56 0 01.4-.17H15.3c.31 0 .56.26.56.57v12.95c.01 1.2-.89 2.24-2.1 2.24H2.38c-.54 0-1.1-.18-1.53-.56a2.15 2.15 0 01-.71-1.66V6.31c0-.3.25-.56.56-.56h1.69v1.13H1.25v6.78c0 .39.14.65.33.81.2.18.49.28.8.28.3 0 .58-.1.79-.28.19-.17.33-.42.33-.8V.68c0-.15.06-.3.17-.4zm.96.96v12.41c0 .42-.1.78-.27 1.09h9.42c.5 0 .98-.46.97-1.1V1.25H4.62zm1.12 8.44c0-.31.25-.57.56-.57h4.5a.56.56 0 010 1.13h-4.5a.56.56 0 01-.56-.56zm.56 1.68a.56.56 0 000 1.13h4.5a.56.56 0 000-1.13h-4.5zM5.75 3.5c0-.62.5-1.13 1.13-1.13h5.62c.62 0 1.13.5 1.13 1.13v3.38c0 .62-.5 1.12-1.13 1.12H6.87a1.13 1.13 0 01-1.12-1.13V3.5zm1.13 0v3.38h5.62V3.5H6.87z\"\n})));","import type { CategoryNode } from 'tradera/backend/data/category-data';\nimport type { SUPPORTED_LANGUAGES } from 'tradera/lang/constants.mjs';\nimport {\n useCurrentLanguage,\n useTranslator,\n useUrlLocalizer\n} from 'tradera/lang/translate';\nimport { useGetCategoriesQuery } from 'tradera/state/services/categories-api';\n\ntype TopLevelCategoriesProps = {\n topLevelCategories: CategoryNode[];\n};\n\nconst TopLevelCategories = ({\n topLevelCategories\n}: TopLevelCategoriesProps) => {\n const { toLocalizedUrl } = useUrlLocalizer();\n\n return (\n <>\n {topLevelCategories?.map((category) => (\n \n {category.name}\n \n ))}\n \n );\n};\n\nexport const inspirationLinks: Record<\n (typeof SUPPORTED_LANGUAGES)[number],\n string\n> = {\n sv: '/inspiration',\n da: '/info/da/inspiration'\n};\n\ntype SeoLinksProps = {\n isLoggedIn: boolean;\n};\n\nexport const SeoLinks = ({ isLoggedIn }: SeoLinksProps) => {\n const { t } = useTranslator();\n const { language } = useCurrentLanguage();\n const { data: topLevelCategories } = useGetCategoriesQuery({\n level: 1\n });\n\n const inspirationLink = inspirationLinks[language];\n\n return (\n
    \n {(topLevelCategories || []).length >= 0 && (\n \n )}\n {!isLoggedIn && inspirationLink && (\n {t('siteHeader_inspiration')}\n )}\n
    \n );\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 1.1c.2-.1.4-.1.5 0 1.2.6 1.9 1.7 2.4 2.8.2.6.4 1.2.5 1.8.1-.4.1-1-.1-1.5-.1-.2 0-.5.2-.6.2-.1.4-.1.6 0 2.3 1.4 3.5 3.7 3.5 6.1 0 2.4-1.5 4.3-3.6 5.1-.7.2-1.4.2-2 .2-.5 0-1.1 0-1.7-.2-2-.6-3.6-2.3-3.6-4.6 0-1.8.8-3 1.6-4.2.1-.1.1-.2.2-.2.8-1.2 1.5-2.4 1.3-4.2 0-.2 0-.4.2-.5zm.8 1.4C6.7 4.1 6 5.2 5.3 6.3c0 .1-.1.1-.1.2-.8 1.2-1.4 2.2-1.4 3.7 0 1.8 1.3 3.2 2.9 3.7.4.1.8.1 1.3.1.6 0 1.1 0 1.5-.2 1.7-.6 2.9-2.2 2.9-4.2 0-1.7-.7-3.4-2.1-4.6 0 1.1-.6 2-1.2 2.4-.2.1-.4.1-.5 0 0 .1-.1-.1-.1-.3 0-.8-.1-1.9-.5-2.9-.3-.6-.7-1.2-1.2-1.7z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n})));","import type { CategoryNode } from 'tradera/backend/data/category-data';\nimport { useEffect, useState, useCallback } from 'react';\nimport { filterCategories } from 'tradera/helpers/filter-categories-helper';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { useCategorySearchQuery } from 'tradera/state/services/touchweb-syi-api';\nimport { selectPreferredLanguageCode } from 'tradera/state/language/selectors';\nimport { useDebouncedState } from 'tradera/hooks/use-debounced-state';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\n\nexport const useCategorySearch = (categories: CategoryNode[]) => {\n const [filter, setFilter] = useState('');\n const filterDebounced = useDebouncedState(filter, 200);\n const languageCodeIso2 = useAppSelector(selectPreferredLanguageCode);\n const isCategorySearchEnabled = useIsFeatureEnabled(\n 'category-menu-page-search'\n );\n\n const [filteredCategories, setFilteredCategories] = useState<\n CategoryNode[]\n >(categories ? categories : []);\n\n const { data: categoryResults } = useCategorySearchQuery(\n {\n query: filterDebounced.trim(),\n searchLanguageCodeIso2: languageCodeIso2\n },\n { skip: !isCategorySearchEnabled || filterDebounced.trim().length <= 1 }\n );\n\n // Filter categories when changed\n useEffect(() => {\n setFilteredCategories(\n filterCategories(categories, filter.trim(), categoryResults)\n );\n // Prevent inifnite re-rendering loop as categories is re-created\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [categories?.[0]?.children, filter, categoryResults]);\n\n const handleFilterChange = useCallback(\n (event: React.ChangeEvent) => {\n setFilter(event.target.value);\n },\n []\n );\n\n const handleFilterKey = useCallback(\n (event: React.KeyboardEvent) => {\n const { key, target } = event;\n const inputElement = target as HTMLInputElement; // Cast event.target to HTMLInputElement\n switch (key) {\n case 'Escape':\n event.stopPropagation();\n if (filter.trim() === '') {\n inputElement.blur();\n }\n setFilter('');\n break;\n case 'Enter':\n event.stopPropagation();\n inputElement.blur();\n break;\n }\n },\n [filter]\n );\n\n return {\n filter,\n setFilter,\n filteredCategories,\n handleFilterChange,\n handleFilterKey\n };\n};\n","import type { CategoryNode } from 'tradera/backend/data/category-data';\nimport type { CategorySearchApiResponse } from 'tradera/state/services/types/webapi-discover-generated';\n\nexport function filterCategories(\n categories: CategoryNode[],\n filter: string,\n categoryResults?: CategorySearchApiResponse\n) {\n if (categories && filter.length > 0) {\n const matchingCategoryIds = (categoryResults?.categories || [])\n .map(({ leafCategories, parentCategories }) => [\n leafCategories?.map(({ categoryId }) => categoryId),\n parentCategories?.map(({ categoryId }) => categoryId)\n ])\n .flat()\n .flat();\n return categories\n .slice()\n .map((category) => {\n const children =\n category.children\n ?.slice()\n .filter(\n (child: CategoryNode) =>\n child.name\n .toLowerCase()\n .includes(filter.toLowerCase()) ||\n matchingCategoryIds.includes(child.id)\n ) || [];\n return {\n ...category,\n children\n };\n })\n .filter((category) => category.children.length > 0);\n }\n return categories;\n}\n","import { useEffect } from 'react';\nimport MediaQuery from 'react-responsive';\n\nimport { BREAKPOINT_SIZES, BREAKPOINTS } from 'tradera/constants/breakpoints';\nimport {\n useTranslator,\n useUrlLocalizer,\n useCurrentLanguage\n} from 'tradera/lang/translate';\nimport { MenuItemSeparator } from 'tradera/components/site-header/dropdown-menu-item-separator';\nimport MenuItemButton from 'tradera/components/site-header/dropdown-menu-item-button';\nimport { MenuItem } from 'tradera/components/site-header/dropdown-menu-item';\nimport { ExpandableMenuItem } from 'tradera/components/site-header/dropdown-menu-item-expandable';\nimport ALink from 'tradera/components/alink/alink';\nimport { RenderAsync } from 'tradera/components/suspense/render-async';\nimport EndingSoonIcon from '@tradera/blueprint/theme/icons2/branded-ending.svg?jsx';\nimport InfoIcon from '@tradera/blueprint/theme/icons2/info.svg?jsx';\nimport PenIcon from '@tradera/blueprint/theme/icons2/pen.svg?jsx';\nimport RecommendedIcon from '@tradera/blueprint/theme/icons2/branded-recommended.svg?jsx';\nimport BrandIcon from '@tradera/blueprint/theme/icons2/sale.svg?jsx';\nimport UserIcon from '@tradera/blueprint/theme/icons2/user.svg?jsx';\nimport CategoryCharityIcon from '@tradera/blueprint/theme/icons2/category-charity.svg?jsx';\nimport ValuationIcon from '@tradera/blueprint/theme/icons2/valuation.svg?jsx';\nimport InspirationIcon from '@tradera/blueprint/theme/icons2/inspiration.svg?jsx';\nimport { getCategoryIcon } from 'tradera/helpers/category-icon-helper';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\nimport { isSwedishOrUndefined } from 'tradera/localization/languagecode';\nimport { inspirationLinks } from './seo-links';\nimport { SearchInput } from 'tradera/components/form-controls/search-input/search-input';\nimport type { CategoryNode } from 'tradera/backend/data/category-data';\nimport { REDIRECT_TO_NEWDRAFT_QUERY } from 'tradera/apps/syi/constants';\nimport TrendingIcon from '@tradera/blueprint/theme/icons2/hot.svg?jsx';\nimport { useCategorySearch } from 'tradera/apps/tradera/hooks/use-category-search';\nimport { classNames } from 'tradera/utils/class-names';\nimport { useGetCategoriesQuery } from 'tradera/state/services/categories-api';\nimport styles from './dropdown-menu.module.scss';\n\ntype GaAttributes = {\n 'data-ga-category': string;\n 'data-ga-action': string;\n 'data-ga-label': string;\n};\n\ntype DropdownMenuContentProps = {\n categories?: { list: CategoryNode[]; topLevelCategories: CategoryNode[] };\n inSPA: boolean;\n isLoggedIn: boolean;\n onClick: () => void;\n};\n\ntype ExtendedCategory = CategoryNode & {\n open?: boolean;\n};\n\ntype CategoryMenuItemsProps = {\n inSPA: boolean;\n searchPlaceholder: string;\n onClick: () => void;\n isLoggedIn: boolean;\n};\n\ntype CategoryMenuItemProps = {\n category: ExtendedCategory;\n inSPA?: boolean;\n onClick: () => void;\n};\n\nconst getGaAttributes = (label: string): GaAttributes => ({\n 'data-ga-category': 'Top navigation',\n 'data-ga-action': 'Category menu',\n 'data-ga-label': `Link - ${label}`\n});\n\nexport const DropdownMenuContent = ({\n inSPA,\n isLoggedIn,\n onClick\n}: DropdownMenuContentProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const isPennybridgeCharitiesEnabled = useIsFeatureEnabled(\n 'pennybridge-charities'\n );\n\n const isTopListsEnabled = useIsFeatureEnabled('top-lists');\n\n const isValuationPageEnabled = useIsFeatureEnabled('valuation-page');\n const mediaProps = { maxWidth: BREAKPOINT_SIZES[BREAKPOINTS.MD].max };\n\n const { language } = useCurrentLanguage();\n\n const isSwedish = isSwedishOrUndefined(language);\n\n const inspirationLink =\n inspirationLinks[language as keyof typeof inspirationLinks] || '';\n\n return (\n
      \n {/* NOTE: Notifications are disabled for burger button for desktop due to hidden cart and messaging, see DropDownMenuHamburger */}\n \n {!isLoggedIn && (\n <>\n }\n border>\n \n \n {isSwedish && (\n \n )}\n \n }\n inSPA={false}\n label={t('siteHeader_register')}\n link=\"/register\"\n onClick={onClick}\n />\n }\n inSPA={false}\n label={t('siteHeader_createItem')}\n link={toLocalizedUrl(\n `/selling?${REDIRECT_TO_NEWDRAFT_QUERY}`\n )}\n onClick={onClick}\n />\n \n )}\n \n\n }\n inSPA={false}\n label={\n isLoggedIn\n ? t('siteHeader_recommendedForYou')\n : t('siteHeader_recommendedAnonymous')\n }\n link={toLocalizedUrl('/ma/endless-recommendation/selected')}\n onClick={onClick}\n />\n }\n inSPA={inSPA}\n label={t('siteHeader_lastChance')}\n link={toLocalizedUrl('/campaign/sista-chansen?sortBy=TimeLeft')}\n onClick={onClick}\n />\n }\n inSPA={false}\n label={t('siteHeader_brands')}\n link={toLocalizedUrl('/brands')}\n onClick={onClick}\n />\n {isPennybridgeCharitiesEnabled && (\n }\n inSPA={inSPA}\n label={t('siteHeader_donateWithTradera')}\n link={toLocalizedUrl('/causes')}\n onClick={onClick}\n />\n )}\n {isValuationPageEnabled && (\n }\n inSPA={inSPA}\n label={t('siteHeader_valuation')}\n link={toLocalizedUrl('/valuation')}\n onClick={onClick}\n />\n )}\n {isTopListsEnabled && (\n }\n inSPA={inSPA}\n label={t('siteHeader_trendingOnTradera')}\n link={toLocalizedUrl('/top-lists')}\n onClick={onClick}\n />\n )}\n \n \n \n {t('siteHeader_categoriesAll')}\n \n \n }\n />\n \n \n {!isLoggedIn && inspirationLink && (\n }\n inSPA={false}\n label={t('siteHeader_inspiration')}\n link={inspirationLink}\n onClick={onClick}\n />\n )}\n {/* NOTE: Fix for iPhone menu making bottom element unclickable */}\n \n \n \n \n
    \n );\n};\n\nconst CategoryMenuItems = ({\n inSPA,\n searchPlaceholder,\n onClick,\n isLoggedIn\n}: CategoryMenuItemsProps) => {\n const { data: categories } = useGetCategoriesQuery({\n level: 2\n });\n // topLevelCategories should have been fetched on the server, so use cache here until L2 categories have been fetched\n const { data: topLevelCategories } = useGetCategoriesQuery(\n { level: 1 },\n {\n // Categories list page will already have fetched L2 categories\n skip: Boolean(categories)\n }\n );\n\n const sourceCategories = categories ? categories : topLevelCategories;\n // Only show rebate codes for non logged in users.\n const categoryList = (sourceCategories || [])\n .map((category: CategoryNode) => ({ ...category, open: false }))\n .filter(\n (category: CategoryNode) =>\n !isLoggedIn || (isLoggedIn && category.id !== 0)\n );\n\n const {\n filter,\n setFilter,\n filteredCategories,\n handleFilterChange,\n handleFilterKey\n } = useCategorySearch(categoryList);\n\n useEffect(() => {\n if (categoryList[0]?.children !== filteredCategories[0]?.children) {\n setFilter(filter);\n }\n // We only want to run this when the categoryList changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [categoryList, filter]);\n\n return (\n <>\n \n \n \n }\n />\n {filteredCategories.map(\n (category) =>\n category && (\n \n )\n )}\n \n );\n};\n\nconst CategoryMenuItem = ({\n category: { id, name, children, open },\n inSPA = false,\n onClick\n}: CategoryMenuItemProps) => {\n const { t } = useTranslator();\n const href = `/category/${id}`;\n\n if (!children) {\n return (\n \n );\n }\n return (\n \n \n\n {children.map((child) => {\n const href = `/category/${child.id}`;\n\n return (\n ${child.name}`\n )}\n inSPA={inSPA}\n label={child.name}\n link={href}\n onClick={onClick}\n />\n );\n })}\n \n );\n};\n","import type { MouseEvent, TouchEvent, KeyboardEvent } from 'react';\n\nconst LEFT_MOUSE_BUTTON = 0;\nconst ENTER = 'Enter';\nconst SPACE = 'Space';\n\n/**\n * Enables detecting the beginning of a probable click in a mousedown,\n * touchstart or keydown event. There is no guarantee that the click event\n * will follow - it could be cancelled, but probable.\n *\n * Note: using a pointerdown events won't trigger click events on iOS.\n */\nexport const isButtonClickStarted = (\n event: MouseEvent | TouchEvent | KeyboardEvent\n): boolean => {\n const { type } = event;\n\n const isMouseClick =\n type === 'mousedown' &&\n (event as MouseEvent).button === LEFT_MOUSE_BUTTON;\n const isSingleTouch =\n type === 'touchstart' && (event as TouchEvent).touches.length === 1;\n const isKeyboardClick =\n type === 'keydown' &&\n [ENTER, SPACE].includes((event as KeyboardEvent).code);\n\n return isMouseClick || isSingleTouch || isKeyboardClick;\n};\n","import { useCallback, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport MediaQuery from 'react-responsive';\nimport { RemoveScroll } from 'react-remove-scroll';\n\nimport {\n closeCategoryDropdownMenu,\n closeProfileMenu,\n openCategoryDropdownMenu\n} from 'tradera/state/ui/reducer';\nimport { BREAKPOINTS, BREAKPOINT_SIZES } from 'tradera/constants/breakpoints';\nimport { logger } from 'packages/logger';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport {\n EnterFade,\n EnterFrom\n} from 'tradera/components/transitions/transitions';\nimport ApplicationErrorBoundary from 'tradera/components/application-error-boundary/application-error-boundary';\nimport { Overlay } from 'tradera/components/scrollable-modal/overlay';\nimport DropDownMenuHamburger from './dropdown-menu-burger';\nimport { DropdownMenuContent } from './dropdown-menu-content';\nimport { SeoLinks } from './seo-links';\nimport { MODAL_STATE } from 'tradera/constants/ui';\nimport { classNames } from 'tradera/utils/class-names';\nimport styles from './dropdown-menu.module.scss';\nimport {\n queueBackgroundTask,\n queueUserBlockingTask\n} from 'tradera/utils/scheduler';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { isButtonClickStarted } from 'tradera/utils/a11y';\n\nconst trackAnalytics = (label: string): void => {\n try {\n GtmService.trackAction('Top navigation', 'Category menu', label);\n } catch (error) {\n logger(error);\n }\n};\n\ntype DropdownMenuProps = {\n className?: string;\n inSPA?: boolean;\n isLoggedIn?: boolean;\n tabIndex?: number;\n};\n\nexport const DropdownMenu = ({\n className = '',\n inSPA = false,\n isLoggedIn = false,\n tabIndex\n}: DropdownMenuProps) => {\n const dropdownMenu = useAppSelector(\n (state) => state.ui.categoryDropdownMenu\n );\n\n const expanded = dropdownMenu.open === MODAL_STATE.OPEN;\n const [shouldRender, setShouldRender] = useState(false);\n const dispatch = useDispatch();\n\n const onExited = useCallback(() => {\n setShouldRender(false);\n }, []);\n\n const renderMenu = useCallback(\n (event: React.MouseEvent) => {\n if (isButtonClickStarted(event)) {\n setShouldRender(true);\n }\n },\n [setShouldRender]\n );\n\n const onClick = useCallback(() => {\n const shouldCloseMenu = expanded;\n if (shouldCloseMenu) {\n queueUserBlockingTask(() => {\n dispatch(closeCategoryDropdownMenu());\n });\n queueBackgroundTask(() => {\n trackAnalytics('Menu close');\n });\n } else {\n setShouldRender(true);\n queueUserBlockingTask(() => {\n dispatch(closeProfileMenu());\n dispatch(openCategoryDropdownMenu());\n });\n queueBackgroundTask(() => {\n trackAnalytics('Menu open');\n });\n }\n }, [dispatch, expanded]);\n\n const onItemClick = useCallback(() => {\n dispatch(closeCategoryDropdownMenu());\n }, [dispatch]);\n\n const sideMenuMediaProps = {\n maxWidth: BREAKPOINT_SIZES[BREAKPOINTS.LG].max\n };\n const dropdownMenuMediaProps = {\n minWidth: BREAKPOINT_SIZES[BREAKPOINTS.LG].max\n };\n\n // This function is used to get the offset of the site header caused by\n // extra banners like outage and product communication\n const getSiteHeaderOffset = (): number =>\n document.getElementById('site-header')?.getBoundingClientRect().top ??\n 0;\n\n // This function is used to get the height difference between the 100vh\n // and the actual viewport height. This is needed for mobile browsers\n // where the address bar can be hidden or shown depending on the scroll.\n const getViewHeightCorrection = (): number => {\n const measured100vh =\n document.getElementById('measure-100vh')?.offsetHeight ?? 0;\n return measured100vh ? measured100vh - window.innerHeight : 0;\n };\n\n const renderChild = (className?: string) => (\n \n \n \n \n \n );\n\n return (\n \n \n {shouldRender && (\n \n {\n onClick();\n }}\n />\n \n )}\n \n );\n};\n","import { memo } from 'react';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { useSelector } from 'react-redux';\nimport { selectIsSwedishVisitor } from 'tradera/state/shipping-region/selectors';\nimport { selectIsForeignLanguageActivated } from 'tradera/state/language/selectors';\nimport { selectIsOutsideSweden } from 'tradera/state/member/selectors';\nimport { classNames } from 'tradera/utils/class-names';\nimport { Button } from 'tradera/components/atoms/button/button';\n\nconst SignUpLink = ({ clickAction, hasLoggedIn }) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n\n const register = t('siteHeader_register');\n\n const isForeignVisitor = useSelector(\n (state) =>\n (!selectIsSwedishVisitor(state) ||\n selectIsForeignLanguageActivated(state)) &&\n selectIsOutsideSweden(state)\n );\n const url = isForeignVisitor\n ? toLocalizedUrl('/register/foreign-private')\n : toLocalizedUrl('/register');\n\n const buttonClass = classNames('slim-header__button', {\n 'd-none d-lg-flex': hasLoggedIn\n });\n\n return (\n \n {register}\n \n );\n};\n\nexport default memo(SignUpLink);\n","/* eslint-disable react/no-danger */\n\nimport IconPushSplashDefault from './push-splash-icon.svg';\nimport IconWishlist from './push-wishlist-icon.svg';\nimport IconSelling from './push-selling-icon.svg';\nimport * as pushNotificationActions from 'tradera/state/push-notifications/push-notifications-slice';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { useDispatch } from 'react-redux';\nimport { useTranslator } from 'tradera/lang/translate';\nimport CheckIcon from '@tradera/blueprint/theme/icons2/check.svg?jsx';\nimport { Button } from '../atoms/button/button';\nimport { ScrollableModal } from '../scrollable-modal/scrollable-modal';\nimport { Space } from '../atoms/space/space';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { MODAL_STATE } from 'tradera/constants/ui';\nimport { closeNotificationOptinModal } from 'tradera/state/ui/reducer';\n\nconst PushNotificationModal = () => {\n const dispatch = useDispatch();\n const { t } = useTranslator();\n const { open, modalType, gaLabel, title, description, tagGroups } =\n useAppSelector((state) => state.ui.notificationOptinModal);\n\n if (open !== MODAL_STATE.OPEN) {\n return null;\n }\n\n const trackGa = (gaLabel) => {\n GtmService.trackAction('Settings', 'Notifications', gaLabel);\n };\n\n const closeModal = () => dispatch(closeNotificationOptinModal());\n const handleAccept = async () => {\n trackGa(gaLabel);\n closeModal();\n try {\n dispatch(pushNotificationActions.addTagGroups(tagGroups));\n dispatch(pushNotificationActions.setShownModalTrue(modalType));\n } catch (error) {\n // error, do not do anything\n }\n };\n\n const handleReject = async () => {\n closeModal();\n trackGa('Decline - Opt-in alert');\n dispatch(pushNotificationActions.setShownModalTrue(modalType));\n };\n\n let icon = IconPushSplashDefault;\n\n if (modalType === 'wishlistReminders') {\n icon = IconWishlist;\n } else if (modalType === 'selling') {\n icon = IconSelling;\n }\n\n return (\n \n \n {t('pushModal_btn_no')}\n \n \n \n }>\n
    \n \"\"\n

    {t(title)}

    \n \n
    \n \n );\n};\n\nexport default PushNotificationModal;\n","export default \"//static.tradera.net/touchweb/static/output/images/push-splash-icon.71e29952.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/push-wishlist-icon.77df35d5.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/push-selling-icon.c1641681.svg\";","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M8 1a3 3 0 00-3 3v1H3.5c-.2 0-.5.2-.5.5l-1 9c0 .1 0 .3.1.4.1 0 .3.1.4.1h11c.1 0 .3-.1.4-.2s.1-.2.1-.4l-1.1-9c0-.3-.2-.4-.5-.4H11V4c0-1.7-1.3-3-3-3zm2 5v.9c0 .2.2.4.5.4.3.1.5-.1.5-.4V6h1l1 8H3l1-8h1v.9c0 .2.2.4.5.4.3.1.5-.1.5-.4V6zm0-1V4c0-1.1-.9-2-2-2s-2 .9-2 2v1z\",\n fillRule: \"evenodd\"\n})));","// extracted by mini-css-extract-plugin\nexport default {\"item\":\"item--k30s0\",\"link\":\"link--Covf2\",\"icon\":\"icon--fIvv_\"};","import PropTypes from 'prop-types';\nimport { useUrlLocalizer } from 'tradera/lang/translate';\nimport styles from './hover-menu-item.module.scss';\nimport ALink from 'tradera/components/alink/alink';\n\nconst HoverMenuItem = ({\n icon,\n label,\n link,\n border,\n follow,\n onClick,\n gaAttributes\n}) => {\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n
  • \n \n {icon && (\n \n {icon}\n \n )}\n {label}\n \n
  • \n );\n};\n\nHoverMenuItem.propTypes = {\n icon: PropTypes.node,\n label: PropTypes.node,\n link: PropTypes.string,\n border: PropTypes.bool,\n follow: PropTypes.bool,\n onClick: PropTypes.func,\n gaAttributes: PropTypes.object\n};\n\nexport default HoverMenuItem;\n","// extracted by mini-css-extract-plugin\nexport default {\"separator\":\"separator--S3psX\"};","import styles from './hover-menu-separator.module.scss';\n\nconst HoverMenuItemSeparator = () =>
  • ;\n\nexport default HoverMenuItemSeparator;\n","export const getMenuGaAttributes = (category, action, label) => ({\n 'data-ga-category': category,\n 'data-ga-action': action,\n 'data-ga-label': `Link - ${label}`\n});\n","import PropTypes from 'prop-types';\nimport HoverMenu from './hover-menu/hover-menu';\nimport hoverMenuStyles from './hover-menu/hover-menu.module.scss';\nimport HoverMenuItem from './hover-menu/hover-menu-item';\nimport HoverMenuItemSeparator from './hover-menu/hover-menu-separator';\nimport { getMenuGaAttributes } from './site-header.analytics.js';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\n\nimport AuctionIcon from '@tradera/blueprint/theme/icons2/auction.svg?jsx';\nimport AuctionLostIcon from '@tradera/blueprint/theme/icons2/bid-lost.svg?jsx';\nimport WinningIcon from '@tradera/blueprint/theme/icons2/winning.svg?jsx';\nimport RatingPositiveIcon from '@tradera/blueprint/theme/icons2/rating-positive.svg?jsx';\nimport { useBiddingPageOptIn } from 'tradera/apps/my-tradera/bidding/rollout/use-bidding-page-opt-in';\nimport { myTraderaUrls } from 'tradera/apps/my-tradera/app/pages/routes';\n\nconst getGaAttributes = (label) =>\n getMenuGaAttributes('Top navigation', 'Buying menu', label);\n\nconst BuyMenu = ({ showMenu }) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n\n const {\n isEnabledAndReady: isTryOutBiddingPageEnabled,\n optIn: isBiddingPageOptIn\n } = useBiddingPageOptIn();\n const isBiddingPageActive =\n isTryOutBiddingPageEnabled && isBiddingPageOptIn;\n\n return (\n \n }\n gaAttributes={getGaAttributes('Ongoing auctions')}\n />\n }\n gaAttributes={getGaAttributes('Won / Bought')}\n />\n {!isBiddingPageActive && (\n }\n gaAttributes={getGaAttributes('Lost')}\n />\n )}\n \n }\n gaAttributes={getGaAttributes('Rate seller')}\n />\n \n );\n};\n\nBuyMenu.propTypes = {\n showMenu: PropTypes.bool\n};\n\nexport default BuyMenu;\n","import { memo } from 'react';\nimport BuyIcon from '@tradera/blueprint/theme/icons2/buy.svg?jsx';\nimport BuyMenu from './buy-menu';\nimport { HOVER_MENUS } from './hover-menu/constants';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { myTraderaUrls } from 'tradera/apps/my-tradera/app/pages/routes';\nimport { useBiddingPageOptIn } from 'tradera/apps/my-tradera/bidding/rollout/use-bidding-page-opt-in';\nimport { Button } from 'tradera/components/atoms/button/button';\n\ntype BuyingLinkProps = {\n onClick: (e: React.MouseEvent, menu: string) => void;\n mouseOver: (menu: string) => void;\n mouseOut: () => void;\n showMenu: boolean;\n};\n\nconst BuyingLink = ({\n onClick,\n mouseOver,\n mouseOut,\n showMenu\n}: BuyingLinkProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const buyingText = t('siteHeader_buying');\n const {\n isEnabledAndReady: isTryOutBiddingPageEnabled,\n optIn: isBiddingPageOptIn\n } = useBiddingPageOptIn();\n const isBiddingPageActive =\n isTryOutBiddingPageEnabled && isBiddingPageOptIn;\n return (\n mouseOver(HOVER_MENUS.BUY)}\n onMouseLeave={mouseOut}>\n {\n onClick(e, HOVER_MENUS.BUY);\n }}>\n \n \n {buyingText}\n \n \n \n \n );\n};\n\nexport default memo(BuyingLink);\n","import {\n useTranslator,\n useUrlLocalizer,\n useCurrentLanguage\n} from 'tradera/lang/translate';\nimport { isSwedishOrUndefined } from 'tradera/localization/languagecode';\nimport { HOVER_MENUS } from './hover-menu/constants';\nimport HoverMenu from './hover-menu/hover-menu';\nimport HoverMenuItem from './hover-menu/hover-menu-item';\nimport InfoIcon from '@tradera/blueprint/theme/icons2/info.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\n\ntype HowTraderaWorksProps = {\n mouseOut: () => void;\n mouseOver: (menu: string) => void;\n showMenu: boolean;\n};\n\nexport const HowTraderaWorks = ({\n mouseOut,\n mouseOver,\n showMenu\n}: HowTraderaWorksProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const { language } = useCurrentLanguage();\n\n const isSwedish = isSwedishOrUndefined(language);\n\n return (\n mouseOver(HOVER_MENUS.HOW_TRADERA_WORKS)}>\n \n \n \n {t('siteHeader_howTo_v2')}\n \n \n \n \n \n {isSwedish && (\n \n )}\n \n \n );\n};\n","import PenIcon from '@tradera/blueprint/theme/icons2/pen.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\n\ntype NewListingLinkProps = {\n isLoggedIn: boolean;\n isDesktop: boolean;\n};\n\nexport const NewListingLink = ({\n isLoggedIn,\n isDesktop\n}: NewListingLinkProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const newListingLink = t('siteHeader_newListing');\n\n const trackClick = () => {\n GtmService.trackAction(\n 'Top navigation',\n 'New draft',\n 'Link - New draft'\n );\n };\n\n return (\n \n \n\n \n {newListingLink}\n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"noImage\":\"noImage--SIjsu\"};","import { Text } from 'tradera/components/atoms/text/text';\nimport { classNames } from 'tradera/utils/class-names';\nimport UserIcon from '@tradera/blueprint/theme/icons2/user.svg?jsx';\nimport styles from './profile.module.scss';\n\ntype ProfileProps = {\n isLoggedIn: boolean;\n facebookId: string | null;\n profilePicture: string | null;\n firstLetter?: string;\n};\n\nexport const Profile = ({\n isLoggedIn,\n facebookId,\n profilePicture,\n firstLetter\n}: ProfileProps) => {\n if (isLoggedIn && profilePicture) {\n return (\n \"Profile\"\n );\n }\n\n if (isLoggedIn && facebookId) {\n return (\n \n );\n }\n\n return (\n <>\n \n\n \n \n {firstLetter}\n \n \n \n );\n};\n","import { useTranslator } from 'tradera/lang/translate';\nimport MessageIcon from '@tradera/blueprint/theme/icons2/message.svg?jsx';\nimport { Profile } from 'tradera/components/site-header/profile';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { classNames } from 'tradera/utils/class-names';\nimport { useGetMessagingStatsQuery } from 'tradera/state/services/messaging-stats-api';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\nimport { Button } from 'tradera/components/atoms/button/button';\n\ntype ProfileLinkProps = {\n handleProfileClick: (e: React.MouseEvent) => void;\n menuExpanded: boolean;\n hasLoggedIn: boolean;\n};\n\nexport const ProfileLink = ({\n handleProfileClick,\n menuExpanded,\n hasLoggedIn\n}: ProfileLinkProps) => {\n const isMessagingEnabled = useIsFeatureEnabled('messaging');\n const { badges } = useAppSelector((state) => state.ui);\n const { memberAlias, isLoggedIn, facebookId, memberHeroImage } =\n useAppSelector((state) => state.member);\n\n const { messageNotificationCount, badgeNotificationCount } = badges;\n const notificationCount = messageNotificationCount + badgeNotificationCount;\n\n const { t } = useTranslator();\n\n const isUserLoggedInAndMessagingEnabled = isLoggedIn && isMessagingEnabled;\n\n const { data: messagingStatsData } = useGetMessagingStatsQuery(undefined, {\n refetchOnMountOrArgChange: 30,\n skip: !isUserLoggedInAndMessagingEnabled\n });\n const threadsUnread = messagingStatsData?.threadsUnread || 0;\n\n const logInText = t('siteHeader_logIn');\n const tooltip = isLoggedIn ? t('siteHeader_myTradera') : logInText;\n const text = isLoggedIn ? t('siteHeader_account') : logInText;\n\n let badgeClass = 'badge-primary';\n let borderColorClass = 'border-white';\n if (notificationCount > 0) {\n badgeClass = 'badge-dark';\n borderColorClass = 'border-dark';\n }\n const multipleBadges = threadsUnread > 0 && notificationCount > 0;\n\n const buttonClasses = classNames('z-modal', {\n 'slim-header__button': !hasLoggedIn || isLoggedIn,\n 'slim-header__sign-up-link': hasLoggedIn && !isLoggedIn,\n 'mr-n1 mr-md-0': isLoggedIn\n });\n\n const textClass = classNames('slim-header__link-text', {\n 'd-none d-lg-inline': !hasLoggedIn || isLoggedIn\n });\n\n return (\n \n \n {(!hasLoggedIn || isLoggedIn) && (\n \n )}\n {(threadsUnread > 0 || notificationCount > 0) && (\n \n {threadsUnread > 0 && (\n \n \n {threadsUnread < 100 ? threadsUnread : '99+'}\n \n )}\n {notificationCount > 0 && (\n 0\n ? `border-left ${borderColorClass} system-count--messaging`\n : 'system-count'\n }`}>\n {notificationCount}\n \n )}\n \n )}\n {text}\n \n \n );\n};\n","import { useTranslator } from 'tradera/lang/translate';\nimport SearchIcon from '@tradera/blueprint/theme/icons2/search.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\n\nexport const SearchButton = ({ showSearch, onClick }) => {\n const { t } = useTranslator();\n\n return (\n }\n />\n );\n};\n","import { Button } from 'tradera/components/atoms/button/button';\nimport type { SubmitHandler } from 'react-hook-form';\nimport { useForm } from 'react-hook-form';\nimport WarningIcon from '@tradera/blueprint/theme/icons2/alert.svg?jsx';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { TextBox } from 'tradera/components/form-controls/text-box/text-box';\n\ntype NewMessageFormProps = {\n onClose: () => void;\n onSubmit: SubmitHandler;\n isError: boolean;\n};\n\nexport type IFormInputs = {\n messageText: string;\n};\n\nexport const NewMessageForm = ({\n isError,\n onSubmit,\n onClose\n}: NewMessageFormProps) => {\n const { t } = useTranslator();\n\n const {\n register,\n handleSubmit: handleSubmitHook,\n formState: { isSubmitting, isValid }\n } = useForm({\n defaultValues: {\n messageText: ''\n },\n mode: 'onChange'\n });\n return (\n
    \n
    \n \n
    \n \n \n {t('messaging_new_message_modal_warningText')}\n \n
    \n {isError ? (\n \n \n {t('messaging_new_message_modal_genericErrorText')}\n \n

    \n ) : null}\n
    \n \n {t('messaging_new_message_modal_cancelButtonText')}\n \n \n {t('messaging_new_message_modal_submitButtonText')}\n \n
    \n \n
    \n );\n};\n","import { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { ImageLoader } from 'tradera/components/image-lazy-load/image-loader';\nimport { EmptyImage } from 'tradera/apps/tradera/messaging/components/empty-image/empty-image';\nimport ALink from 'tradera/components/alink/alink';\nimport InfoIcon from '@tradera/blueprint/theme/icons2/info.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\n\ntype NewMessageHeaderProps = {\n recipientId: number;\n recipientAlias: string;\n itemTitle: string;\n itemImageUrl: string;\n itemSellerId?: number;\n purchaseOrderId?: string;\n};\n\nexport const NewMessageHeader = ({\n recipientId,\n recipientAlias,\n itemTitle,\n itemImageUrl,\n itemSellerId,\n purchaseOrderId\n}: NewMessageHeaderProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n\n return (\n
    \n
    \n
    \n \n \n {recipientAlias}\n \n \n {purchaseOrderId && itemSellerId && (\n \n \n \n )}\n
    \n
    \n \n \n {t('messaging_regarding_short')}: \n {itemTitle}\n \n \n
    \n }\n alt={itemTitle}\n />\n
    \n
    \n
    \n
    \n );\n};\n","import { useEffect, useRef, useState } from 'react';\nimport { logger } from 'packages/logger';\nimport { ScrollableModal } from 'tradera/components/scrollable-modal/scrollable-modal';\nimport type { IFormInputs } from 'tradera/components/messaging/messaging-new-message-form';\nimport { NewMessageForm } from 'tradera/components/messaging/messaging-new-message-form';\nimport { NewMessageHeader } from 'tradera/components/messaging/messaging-new-message-header';\nimport { isSwedenCountryCodeOrUndefined } from 'tradera/localization/countrycode';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { selectMemberBirthdate } from 'tradera/state/member/selectors';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { InfoBox } from 'tradera/components/info-box/info-box';\nimport type { SubmitHandler } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n useAddMessageMutation,\n useGetProfileQuery,\n useInitiateThreadMutation\n} from 'tradera/components/messaging/firebase-api';\nimport { CONSTANTS } from 'tradera/apps/tradera/messaging/constants';\nimport { showErrorToast, showSuccessToast } from 'tradera/services/toasts';\nimport { BankIdModal } from 'tradera/components/bank-id/bank-id-modal';\nimport { startAuthAndOpenModal } from 'tradera/components/bank-id/state/bank-id/actions';\nimport type { AnyAction } from 'redux';\nimport { LocalLoader } from 'tradera/components/loader/loader';\nimport BankIdInfoModal from 'tradera/components/bank-id/bank-id-info-modal';\nimport type { InitiateThreadResponse } from 'tradera/components/messaging/firebase.types';\nimport {\n getRecipient,\n getThreadInteractivity\n} from 'tradera/apps/tradera/messaging/utils/thread';\nimport { selectShippingRegionCountryCodeIso2 } from 'tradera/state/shipping-region/selectors';\nimport { openModal } from 'tradera/state/ui/reducer';\nimport { headerInternationalIdentificationModalId } from 'tradera/components/international-identification-modal/header-international-identification-modal';\nimport { timestampToDate } from 'tradera/apps/tradera/messaging/utils/firebase-timestamp';\n\ntype NewMessageModalProps = {\n onModalClosed: () => void;\n title: string;\n itemId: number;\n senderId: number;\n recipientId: number;\n recipientAlias: string;\n itemTitle: string;\n itemImageUrl: string;\n itemSellerId?: number;\n purchaseOrderId?: string;\n};\n\nconst parseErrorMessageIntoTranslationKey = (\n errorMessage: string | null\n): string => {\n const defaultErrorKey = 'messaging_errors_not_allowed_start_conversation';\n if (!errorMessage) {\n return defaultErrorKey;\n }\n\n switch (errorMessage) {\n case CONSTANTS.ERRORS.MEMBER_BLOCKED:\n return 'messaging_error_member_blocked';\n case CONSTANTS.ERRORS.BLOCKED_BY_MEMBER:\n return 'messaging_error_blocked_by_member';\n case CONSTANTS.ERRORS.MEMBER_NOT_CONTACTABLE:\n return 'messaging_error_member_not_contactable';\n default:\n return 'messaging_errors_not_allowed_start_conversation';\n }\n};\n\nexport const NewMessageModal = ({\n onModalClosed,\n title,\n itemId,\n senderId,\n recipientId,\n recipientAlias,\n itemTitle,\n itemImageUrl,\n itemSellerId,\n purchaseOrderId\n}: NewMessageModalProps) => {\n const { t } = useTranslator();\n const dispatch = useDispatch();\n const memberBirthdate = useSelector(selectMemberBirthdate);\n const [isInitialLoadingOfModalDone, setIsInitialLoadingOfModalDone] =\n useState(false);\n const [isIdVerificationError, setIsIdVerificationError] = useState(false);\n const [isPossibleToAddMessage, setIsPossibleToAddMessage] = useState(true);\n const [\n notPossibleToAddMessageErrorText,\n setNotPossibleToAddMessageErrorText\n ] = useState('');\n\n const [\n initiateThread,\n { data: initiateThreadData, isError: isInitiateThreadError }\n ] = useInitiateThreadMutation();\n\n const {\n data: firebaseProfileQuery,\n isError: isGetProfileError,\n isFetching: isGetProfileFetching,\n isUninitialized: isGetProfileUninitialized\n } = useGetProfileQuery(undefined, {\n refetchOnMountOrArgChange: true,\n skip: !initiateThreadData?.result || !isPossibleToAddMessage\n });\n\n const [addMessage, { isError: isAddMessageError }] =\n useAddMessageMutation();\n\n //Needed because of an bug in RTK Query in current version where if skip is set to true the current data is cleared\n useEffect(() => {\n if (\n !isInitialLoadingOfModalDone &&\n (!isGetProfileUninitialized || !isPossibleToAddMessage)\n ) {\n setIsInitialLoadingOfModalDone(true);\n }\n }, [\n isAddMessageError,\n isGetProfileUninitialized,\n isInitialLoadingOfModalDone,\n isPossibleToAddMessage\n ]);\n\n useEffect(() => {\n if (firebaseProfileQuery?.result?.messageThrottledUntil) {\n if (\n timestampToDate(\n firebaseProfileQuery.result.messageThrottledUntil\n ) > new Date()\n ) {\n setIsPossibleToAddMessage(false);\n setNotPossibleToAddMessageErrorText(\n t('messaging_warnings_throttled')\n );\n }\n }\n }, [senderId, firebaseProfileQuery?.result, t]);\n\n // We initiate a thread without saving it to check if the user is allowed to start a thread or send a message in an existing thread,\n // some errors are thrown from the server and some needs to be checked in the response\n const isInitiateThreadVerificationDone = useRef(false);\n useEffect(() => {\n if (!isInitiateThreadVerificationDone.current) {\n isInitiateThreadVerificationDone.current = true;\n initiateThread({\n data: {\n listingId: itemId.toString(),\n senderId: senderId.toString(),\n receiverId: recipientId.toString(),\n persist: false\n }\n })\n .unwrap()\n .then((initiateThreadResponse) => {\n const thread = initiateThreadResponse.result;\n const recipient = getRecipient(\n thread,\n senderId.toString(),\n t\n );\n\n if (recipient === null) {\n setIsPossibleToAddMessage(false);\n setNotPossibleToAddMessageErrorText(\n t('messaging_errors_not_allowed_start_conversation')\n );\n\n return initiateThreadResponse;\n }\n\n const result = getThreadInteractivity(\n thread,\n recipient,\n senderId.toString(),\n null,\n t\n );\n\n setIsPossibleToAddMessage(result.isAddMessageAllowed);\n setNotPossibleToAddMessageErrorText(\n result.addMessageText || ''\n );\n\n return initiateThreadResponse;\n })\n .catch((ex) => {\n setIsPossibleToAddMessage(false);\n const translationKey = parseErrorMessageIntoTranslationKey(\n ex.data?.error?.message\n );\n setNotPossibleToAddMessageErrorText(t(translationKey));\n return null;\n });\n }\n }, [initiateThread, itemId, recipientId, senderId, t]);\n\n const handleSubmit: SubmitHandler = async (formData) => {\n const initiateThreadResult = (await initiateThread({\n data: {\n listingId: itemId.toString(),\n senderId: senderId.toString(),\n receiverId: recipientId.toString(),\n persist: true\n }\n })\n .unwrap()\n .catch((ex) => {\n console.log(ex);\n showErrorToast('messaging_new_message_modal_errorToastText');\n return null;\n })) as InitiateThreadResponse | null;\n\n if (initiateThreadResult) {\n await addMessage({\n data: {\n threadId: initiateThreadResult.result?.threadId ?? '',\n type: CONSTANTS.FIREBASE.MESSAGE_TYPE.TEXT,\n message: formData.messageText\n }\n })\n .unwrap()\n .then(() => {\n onModalClosed();\n return showSuccessToast(\n 'messaging_new_message_modal_successToastText'\n );\n })\n .catch((ex) => {\n console.log(ex);\n return showErrorToast(\n 'messaging_new_message_modal_errorToastText'\n );\n });\n }\n };\n\n //Check if Id verification is required\n const [showBankIdInfoModal, setShowBankIdInfoModal] = useState(false);\n const [bankIdFlowInProgress, setBankIdFlowInProgress] = useState(false);\n const [\n internationalVerificationInProgress,\n setInternationalVerificationInProgress\n ] = useState(false);\n const countryCodeIso2 = useAppSelector(selectShippingRegionCountryCodeIso2);\n useEffect(() => {\n if (\n !isGetProfileFetching &&\n firebaseProfileQuery?.result.requireIdentityVerification\n ) {\n if (isSwedenCountryCodeOrUndefined(countryCodeIso2)) {\n setShowBankIdInfoModal(true);\n } else {\n setShowBankIdInfoModal(false);\n setInternationalVerificationInProgress(true);\n dispatch(\n openModal({\n modalId: headerInternationalIdentificationModalId,\n data: { purpose: 'Messaging' }\n })\n );\n }\n } else {\n setShowBankIdInfoModal(false);\n setInternationalVerificationInProgress(false);\n }\n }, [\n firebaseProfileQuery?.result.requireIdentityVerification,\n countryCodeIso2,\n isGetProfileFetching,\n dispatch\n ]);\n\n //BankId identity verification for swedish users\n const verifyWithBankIdAction = () => {\n setShowBankIdInfoModal(false);\n setBankIdFlowInProgress(true);\n dispatch(\n startAuthAndOpenModal(\n () => {\n setIsIdVerificationError(false);\n setBankIdFlowInProgress(false);\n },\n () => {\n logger('problems with VIP add message bankid verify');\n setIsIdVerificationError(true);\n setBankIdFlowInProgress(false);\n },\n 'vip-add-message'\n ) as unknown as AnyAction\n );\n };\n\n const isIdVerificationNotRequiredOrDone =\n !showBankIdInfoModal &&\n !bankIdFlowInProgress &&\n !internationalVerificationInProgress &&\n !isIdVerificationError;\n\n return (\n <>\n {showBankIdInfoModal && (\n {\n setShowBankIdInfoModal(false);\n onModalClosed();\n }}\n onVerifyWithBankId={verifyWithBankIdAction}\n text={t('messaging_new_message_modal_bankIdText')}\n />\n )}\n {bankIdFlowInProgress && }\n\n {isIdVerificationNotRequiredOrDone && (\n \n \n {!isInitialLoadingOfModalDone && (\n \n )}\n {!isPossibleToAddMessage && (\n \n {notPossibleToAddMessageErrorText}\n \n )}\n {isPossibleToAddMessage && (\n \n )}\n \n )}\n \n );\n};\n","import PropTypes from 'prop-types';\nimport HoverMenu from './hover-menu/hover-menu';\nimport HoverMenuItem from './hover-menu/hover-menu-item';\nimport { getMenuGaAttributes } from './site-header.analytics.js';\nimport { useTranslator } from 'tradera/lang/translate';\n\nimport HeartIcon from '@tradera/blueprint/theme/icons2/heart.svg?jsx';\nimport BookmarkIcon from '@tradera/blueprint/theme/icons2/bookmark.svg?jsx';\nimport StarIcon from '@tradera/blueprint/theme/icons2/star.svg?jsx';\n\nconst getGaAttributes = (label) =>\n getMenuGaAttributes('Top navigation', 'Watchlist menu', label);\n\nconst WatchListMenu = ({ showMenu }) => {\n const { t } = useTranslator();\n\n return (\n \n }\n gaAttributes={getGaAttributes('Wishlist')}\n />\n }\n gaAttributes={getGaAttributes('Saved searches')}\n />\n }\n gaAttributes={getGaAttributes('Seller list')}\n />\n \n );\n};\n\nWatchListMenu.propTypes = {\n showMenu: PropTypes.bool\n};\n\nexport default WatchListMenu;\n","import React, { useEffect, useState } from 'react';\nimport HeartIcon from '@tradera/blueprint/theme/icons2/heart.svg?jsx';\nimport WatchlistMenu from './watch-list-menu';\nimport { HOVER_MENUS } from './hover-menu/constants';\nimport HeartFilledIcon from '@tradera/blueprint/theme/icons2/heart-fill.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport {\n closeCategoryDropdownMenu,\n closeProfileMenu,\n closeNotificationsSideSheet,\n closeWishListSideSheet,\n openWishListSideSheet\n} from 'tradera/state/ui/reducer';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { classNames } from 'tradera/utils/class-names';\n\ntype Props = {\n onClick: (e: React.MouseEvent, menu: string) => void;\n mouseOver: (menu: string) => void;\n mouseOut: () => void;\n showMenu: boolean;\n};\n\nconst WishlistLink = ({ onClick, mouseOver, mouseOut, showMenu }: Props) => {\n const dispatch = useAppDispatch();\n\n const { isOpen } = useAppSelector((state) => state.ui.wishListSideSheet);\n\n const wishListAddedCount = useAppSelector(\n (state) => state.items.wishListAddedCount\n );\n\n const [prevNumWishListItemIds, setPrevNumWishListItemIds] = useState<\n number | null\n >(null);\n const [heartBlink, setHeartBlink] = useState(false);\n\n useEffect(() => {\n if (\n prevNumWishListItemIds !== null &&\n prevNumWishListItemIds < wishListAddedCount\n ) {\n setHeartBlink(true);\n setTimeout(() => setHeartBlink(false), 600);\n }\n\n setPrevNumWishListItemIds(wishListAddedCount);\n }, [wishListAddedCount, prevNumWishListItemIds]);\n\n const handleOnClick = (e: React.MouseEvent) => {\n if (isOpen) {\n dispatch(closeWishListSideSheet());\n } else {\n dispatch(closeCategoryDropdownMenu());\n dispatch(closeProfileMenu());\n dispatch(closeNotificationsSideSheet());\n\n dispatch(openWishListSideSheet());\n }\n\n onClick(e, HOVER_MENUS.WISHLIST);\n };\n\n return (\n mouseOver(HOVER_MENUS.WISHLIST)}\n onMouseLeave={mouseOut}>\n \n
    \n \n {heartBlink && (\n \n )}\n
    \n \n \n \n );\n};\n\nexport default React.memo(WishlistLink);\n","import PropTypes from 'prop-types';\nimport HoverMenu from './hover-menu/hover-menu';\nimport hoverMenuStyles from './hover-menu/hover-menu.module.scss';\nimport HoverMenuItem from './hover-menu/hover-menu-item';\nimport HoverMenuItemSeparator from './hover-menu/hover-menu-separator';\nimport { getMenuGaAttributes } from './site-header.analytics.js';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport PenIcon from '@tradera/blueprint/theme/icons2/pen.svg?jsx';\nimport TemplateIcon from '@tradera/blueprint/theme/icons2/templates.svg?jsx';\nimport ListIcon from '@tradera/blueprint/theme/icons2/list.svg?jsx';\nimport ShippingBagIcon from '@tradera/blueprint/theme/icons2/shipping-bag.svg?jsx';\nimport RatingPositiveIcon from '@tradera/blueprint/theme/icons2/rating-positive.svg?jsx';\nimport SoldIcon from '@tradera/blueprint/theme/icons2/sold.svg?jsx';\nimport UnsoldIcon from '@tradera/blueprint/theme/icons2/unsold.svg?jsx';\nimport ListingsIcon from '@tradera/blueprint/theme/icons2/listings.svg?jsx';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\nimport { REDIRECT_TO_NEWDRAFT_QUERY } from 'tradera/apps/syi/constants';\nimport { myTraderaUrls } from 'tradera/apps/my-tradera/app/pages/routes';\n\nconst getGaAttributes = (label) =>\n getMenuGaAttributes('Top navigation', 'Selling menu', label);\n\nconst SellMenu = ({ showMenu }) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const isTraderaShopEnabled = useIsFeatureEnabled('tradera-shop');\n\n return (\n \n }\n gaAttributes={getGaAttributes('Create new listing')}\n />\n }\n gaAttributes={getGaAttributes('Listing templates')}\n />\n \n\n }\n gaAttributes={getGaAttributes('Active listings')}\n />\n }\n gaAttributes={getGaAttributes('Sold listings')}\n />\n }\n gaAttributes={getGaAttributes('Unsold listings')}\n />\n\n }\n gaAttributes={getGaAttributes('Picklist')}\n />\n \n }\n gaAttributes={getGaAttributes('Rate buyer')}\n />\n {isTraderaShopEnabled && (\n <>\n \n }\n gaAttributes={getGaAttributes('To Tradera Shop')}\n />\n \n )}\n \n );\n};\n\nSellMenu.propTypes = {\n showMenu: PropTypes.bool\n};\n\nexport default SellMenu;\n","import { ScrollableModal } from 'tradera/components/scrollable-modal/scrollable-modal';\nimport { Text } from 'tradera/components/atoms/text/text';\nimport { HeaderWithCloseButton } from 'tradera/components/scrollable-modal/header-with-close-button';\nimport { useSelector } from 'react-redux';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { selectMemberBirthdate } from 'tradera/state/member/selectors';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { Underage } from './underage';\n\ndayjs.extend(customParseFormat);\n\ntype UnderageModalProps = {\n onClose: () => void;\n show: boolean;\n};\n\nexport const UnderageModal = ({ show, onClose }: UnderageModalProps) => {\n const { t } = useTranslator();\n\n const memberBirthdate = useSelector(selectMemberBirthdate);\n\n const daysUntilEighteen = dayjs(memberBirthdate as string, 'YYMMDD')\n .add(18, 'year')\n .diff(dayjs(), 'day');\n\n return (\n }>\n
    \n \n {daysUntilEighteen <= 100 && (\n \n {t('underageModal_countdown', {\n days: daysUntilEighteen\n })}\n \n )}\n \n
    \n \n );\n};\n","import { useState, memo } from 'react';\nimport SaleIcon from '@tradera/blueprint/theme/icons2/sale.svg?jsx';\nimport SellMenu from './sell-menu';\nimport { HOVER_MENUS } from './hover-menu/constants';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { selectIsUnderage } from 'tradera/state/member/selectors';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { UnderageModal } from 'tradera/components/underage/underage-modal';\nimport { Button } from 'tradera/components/atoms/button/button';\n\ntype SellingLinkProps = {\n onClick: (e: React.MouseEvent, menu: string) => void;\n mouseOver: (menu: string) => void;\n mouseOut: () => void;\n showMenu: boolean;\n};\n\nconst SellingLink = ({\n onClick,\n mouseOver,\n mouseOut,\n showMenu\n}: SellingLinkProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const selling = t('siteHeader_selling');\n const isUnderage = useAppSelector(selectIsUnderage);\n const [showUnderageModal, setShowUnderageModal] = useState(false);\n\n return (\n <>\n {isUnderage && (\n setShowUnderageModal(false)}\n />\n )}\n mouseOver(HOVER_MENUS.SELL)}\n onMouseLeave={mouseOut}>\n {\n isUnderage\n ? setShowUnderageModal(true)\n : onClick(e, HOVER_MENUS.SELL);\n }}>\n \n \n {selling}\n \n \n {!isUnderage && }\n \n \n );\n};\n\nexport default memo(SellingLink);\n","import { cssTransition, ToastContainer } from 'react-toastify';\nimport AlertIcon from '@tradera/blueprint/theme/icons2/alert.svg?jsx';\nimport CheckIcon from '@tradera/blueprint/theme/icons2/check.svg?jsx';\nimport InfoIcon from '@tradera/blueprint/theme/icons2/info.svg?jsx';\nimport HotIcon from '@tradera/blueprint/theme/icons2/hot.svg?jsx';\nimport CloseIcon from '@tradera/blueprint/theme/icons2/close.svg?jsx';\n\nimport 'react-toastify/dist/ReactToastify.css';\n\nvar SlideFade = /*#__PURE__*/ cssTransition({\n enter: 'Toastify--animate Toastify__slideFade-enter',\n exit: 'Toastify--animate Toastify__slideFade-exit'\n});\n\nconst options = {\n className: 'bp',\n transition: SlideFade,\n hideProgressBar: true,\n theme: 'colored',\n closeOnClick: false,\n draggablePercent: 40,\n autoClose: 5000,\n pauseOnFocusLoss: false,\n icon: ({ type }) =>\n ({\n // default, - no icon.\n info: ,\n success: ,\n hot: ,\n warning: ,\n error: \n })[type],\n closeButton({ closeToast }) {\n return (\n
    \n \n
    \n );\n }\n};\n\nexport const TraderaToastContainer = () => {\n return ;\n};\n","import { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { HOVER_MENUS } from './hover-menu/constants';\nimport HoverMenu from './hover-menu/hover-menu';\nimport hoverMenuStyles from './hover-menu/hover-menu.module.scss';\nimport { CurrencySelect } from 'tradera/components/localization/currency-select';\nimport { selectPreferredCurrency } from 'tradera/state/multi-currency/selectors';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { classNames } from 'tradera/utils/class-names';\nimport { Button } from 'tradera/components/atoms/button/button';\n\ntype CurrencyLinkProps = {\n onClick: (e: React.MouseEvent, menu: string) => void;\n onClickMenuOption: () => void;\n mouseOver: (menu: string) => void;\n mouseOut: () => void;\n showMenu: boolean;\n};\n\nexport const CurrencyLink = ({\n onClick,\n onClickMenuOption,\n mouseOver,\n mouseOut,\n showMenu\n}: CurrencyLinkProps) => {\n const { t } = useTranslator();\n const preferredCurrency = useAppSelector(selectPreferredCurrency);\n\n return (\n mouseOver(HOVER_MENUS.CURRENCY)}\n onMouseLeave={mouseOut}>\n {\n GtmService.trackAction(\n 'Top navigation',\n 'Currency menu',\n 'Open/Close'\n );\n onClick(e, HOVER_MENUS.CURRENCY);\n }}>\n {preferredCurrency.shortName}\n \n \n
    \n \n
    \n \n \n );\n};\n","export const itemStates = {\n bidderAuctionRemoved: 'BidderAuctionRemoved',\n bidderBidRemoved: 'BidderBidRemoved',\n bidderEndedWon: 'BidderEndedWon',\n bidderEndedReservedPriceNotReached: 'BidderEndedReservedPriceNotReached',\n bidderEndedNotWon: 'BidderEndedNotWon',\n bidderActiveLeading: 'BidderActiveLeading',\n bidderActiveReservedPriceNotReached: 'BidderActiveReservedPriceNotReached',\n bidderActiveOverbidden: 'BidderActiveOverbidden',\n generalActive: 'GeneralActive',\n generalEnded: 'GeneralEnded',\n purchasedNotPaid: 'PurchasedNotPaid',\n purchasedPaid: 'PurchasedPaid',\n purchasedDone: 'PurchasedDone',\n shopItemActive: 'ShopItemActive',\n shopItemEnded: 'ShopItemEnded',\n shopItemEndedWon: 'ShopItemEndedWon',\n buyItNowEndedWon: 'BuyItNowEndedWon',\n buyItNowEnded: 'BuyItNowEnded',\n buyItNowActive: 'BuyItNowActive',\n sellerActiveBids: 'SellerActiveBids',\n sellerActiveNoBids: 'SellerActiveNoBids',\n sellerReservedPriceNotReached: 'SellerReservedPriceNotReached',\n sellerSoldNotPaid: 'SellerSoldNotPaid',\n sellerSoldDone: 'SellerSoldDone',\n sellerSoldShipped: 'SellerSoldShipped',\n sellerSoldPaid: 'SellerSoldPaid',\n sellerSoldShippingBooked: 'SellerSoldShippingBooked'\n};\n","import { useTranslator } from 'tradera/lang/translate';\nimport { itemStates } from './item-states';\nimport { Badge as BadgeComponent } from 'tradera/components/badge/badge';\nimport type { ItemState } from 'tradera/state/services/types/webapi-member-generated';\n\ntype BadgeProps = {\n itemState: ItemState;\n};\n\nexport const Badge = ({ itemState }: BadgeProps) => {\n const { t } = useTranslator();\n\n switch (itemState) {\n case itemStates.bidderAuctionRemoved:\n return (\n \n {t('myt_itemState_active_bidderAuctionRemoved')}\n \n );\n case itemStates.bidderBidRemoved:\n return (\n \n {t('myt_itemState_active_bidderBidRemoved')}\n \n );\n case itemStates.bidderEndedWon:\n return (\n \n {t('myt_itemState_active_bidderEndedWon')}\n \n );\n case itemStates.bidderEndedReservedPriceNotReached:\n return (\n \n {t(\n 'myt_itemState_active_bidderEndedReservedPriceNotReached'\n )}\n \n );\n case itemStates.bidderEndedNotWon:\n return (\n \n {t('myt_itemState_active_bidderEndedNotWon')}\n \n );\n case itemStates.bidderActiveLeading:\n return (\n \n {t('myt_itemState_active_bidderActiveLeading')}\n \n );\n case itemStates.bidderActiveReservedPriceNotReached:\n return (\n \n {t(\n 'myt_itemState_active_bidderActiveReservedPriceNotReached'\n )}\n \n );\n case itemStates.bidderActiveOverbidden:\n return (\n \n {t('myt_itemState_active_bidderActiveOverbidden')}\n \n );\n case itemStates.generalActive:\n case itemStates.buyItNowActive:\n case itemStates.shopItemActive:\n return null;\n case itemStates.generalEnded:\n return (\n \n {t('myt_itemState_active_generalEnded')}\n \n );\n case itemStates.shopItemEnded:\n return (\n \n {t('myt_itemState_active_shopItemEnded')}\n \n );\n case itemStates.buyItNowEndedWon:\n return (\n \n {t('myt_itemState_active_buyItNowEndedWon')}\n \n );\n case itemStates.buyItNowEnded:\n return (\n \n {t('myt_itemState_active_buyItNowEnded')}\n \n );\n case itemStates.shopItemEndedWon:\n return (\n \n {t('myt_itemState_active_shopItemEndedWon')}\n \n );\n default:\n throw new Error('Unknown item state');\n }\n};\n","import { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport * as itemActions from 'tradera/state/items/actions';\nimport { itemStates } from './item-states';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { Button } from '../../../../components/atoms/button/button';\nimport type { WishListItemCardViewModel } from 'tradera/state/services/types/webapi-member-generated';\nimport { useAppDispatch } from 'tradera/state/hooks';\nimport { SOURCE_SCREEN } from 'tradera/services/google-tagmanager/constants';\n\ntype Props = {\n item: WishListItemCardViewModel;\n grayedOut?: boolean;\n};\n\nexport const ActionButton = ({ item, grayedOut }: Props) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const dispatch = useAppDispatch();\n\n const handleClickToVip = () => {\n GtmService.trackAction('My Tradera', 'Wishlist', 'Go to VIP');\n };\n\n switch (item.itemState) {\n case itemStates.bidderActiveLeading:\n return (\n {\n handleClickToVip();\n }}>\n {t('myt_actions_listItemRaiseMaxBidAction')}\n \n );\n case itemStates.bidderActiveReservedPriceNotReached:\n case itemStates.bidderActiveOverbidden:\n case itemStates.generalActive:\n return (\n {\n handleClickToVip();\n }}>\n {t('myt_actions_listItemBidAction')}\n \n );\n case itemStates.buyItNowActive:\n case itemStates.shopItemActive:\n return (\n <>\n {\n handleClickToVip();\n }}>\n {t('myt_actions_listItemBuyAction')}\n \n {item.isAvailableForOffers && (\n {\n handleClickToVip();\n }}>\n {t('myt_actions_listItemPurchaseOfferAction')}\n \n )}\n \n );\n case itemStates.bidderAuctionRemoved:\n case itemStates.bidderBidRemoved:\n case itemStates.bidderEndedReservedPriceNotReached:\n case itemStates.bidderEndedNotWon:\n case itemStates.buyItNowEnded:\n case itemStates.generalEnded:\n case itemStates.shopItemEnded:\n return (\n \n dispatch(\n itemActions.wishlist(item.itemId, {\n sectionGaName: 'My Tradera',\n gaSourceScreen: SOURCE_SCREEN.WISHLIST,\n value: false\n })\n )\n }>\n {t('myt_actions_listItemWishListDeleteAction')}\n \n );\n case itemStates.bidderEndedWon:\n case itemStates.shopItemEndedWon:\n case itemStates.buyItNowEndedWon:\n return (\n \n {t('myt_actions_listGotoPurchasesAction')}\n \n );\n default:\n throw new Error('Unknown item state');\n }\n};\n","import { useUrlLocalizer } from 'tradera/lang/translate';\nimport { ListingItemWithActions } from 'tradera/apps/my-tradera/listing-item/listing-item-with-actions';\nimport { Badge } from 'tradera/apps/my-tradera/wish-list/components/badge';\nimport type { WishListItemCardViewModel } from 'tradera/state/services/types/webapi-member-generated';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { selectExistsInWishList } from 'tradera/state/items/selectors';\nimport { ActionButton } from 'tradera/apps/my-tradera/wish-list/components/action-button';\n\ntype WishListItemProps = {\n item: WishListItemCardViewModel;\n setBidHistoryItemId: (itemId: number | null) => void;\n handleWishlistClick: (itemId: number) => void;\n};\n\nexport const WishListItem = ({\n item,\n setBidHistoryItemId,\n handleWishlistClick\n}: WishListItemProps) => {\n const { toLocalizedUrl } = useUrlLocalizer();\n\n const existsInWishlist = useAppSelector(\n selectExistsInWishList(item.itemId)\n );\n\n // replace imageUrl containing \"medium\" with \"medium-fit\"\n const imageUrl = item?.imageUrl?.replace('medium', 'medium-fit');\n\n return (\n \n \n \n }\n shippingCost={item.preferredShipping.cost}\n maxBid={item.maxBidAmount || null}\n sellerAlias={item.sellerAlias}\n sellerId={item.sellerMemberId}\n bidCount={item.totalBids}\n itemPrice={item.price}\n itemType={item?.itemType}\n onShowBidHistory={setBidHistoryItemId}\n actions={}\n isTakeawayOnly={item.isTakeawayOnly}\n leadingBidder={null}\n onWishlistClick={handleWishlistClick}\n existsInWishlist={existsInWishlist}\n />\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"heart\":\"heart--PSUM3\"};","type Props = {\n opacity?: number;\n width?: string;\n className?: string;\n};\n\nexport const WishListEmpty = ({ opacity, width, className }: Props) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n","import { type DependencyList, useEffect, useRef } from 'react';\n\ntype ScrollOnChangeProps = { deps: DependencyList };\n\nexport const ScrollIntoViewOnChange = ({ deps }: ScrollOnChangeProps) => {\n const ref = useRef(null);\n\n useEffect(() => {\n ref.current?.scrollIntoView?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n return
    ;\n};\n","import { useState } from 'react';\n\nexport const useResetState = (\n initialValue: number\n): [number, React.Dispatch>] => {\n const [value, setValue] = useState(initialValue);\n const [init, setInit] = useState(initialValue);\n\n if (init !== initialValue) {\n setValue(initialValue);\n setInit(initialValue);\n\n return [initialValue, setValue];\n }\n\n return [value, setValue];\n};\n","import { Fragment, useCallback, useEffect, useMemo, useState } from 'react';\nimport Fuse from 'fuse.js';\nimport { WishListItem } from 'tradera/apps/my-tradera/wish-list/components/wish-list-item';\nimport { useInView } from 'react-intersection-observer';\nimport LoadingIcon from '@tradera/blueprint/theme/icons2/loading.svg?jsx';\nimport HeartFilledIcon from '@tradera/blueprint/theme/icons2/heart-fill.svg?jsx';\nimport styles from './wish-list-side-sheet.module.scss';\nimport { Trans, useTranslator } from 'tradera/lang/translate';\nimport { WishListEmpty } from 'tradera/apps/tradera/start-page/components/wish-list/wish-list-empty';\nimport {\n endpoints,\n useGetWishListEndlessQuery,\n useWishListParams\n} from 'tradera/state/services/wish-list-api';\nimport { ScrollIntoViewOnChange } from 'tradera/components/scroll-into-view-on-change/scroll-into-view-on-change';\nimport { SERVER_FETCHED_NUMBER_WISHLIST_ITEMS } from 'tradera/apps/tradera/start-page/components/wish-list/constants';\nimport { useResetState } from 'tradera/apps/tradera/components/use-reset-state';\nimport { Space } from 'tradera/components/atoms/space/space';\nimport { Divider } from 'tradera/components/divider/divider';\nimport { wishlist } from 'tradera/state/items/actions';\nimport { useAppDispatch } from 'tradera/state/hooks';\nimport { SOURCE_SCREEN } from 'tradera/services/google-tagmanager/constants';\nimport { BidHistoryModal } from 'tradera/components/bid-history/bid-history-modal';\n\nconst defaultPageSize = SERVER_FETCHED_NUMBER_WISHLIST_ITEMS;\n\ntype UseWishListDataProps = {\n statusFilter?: string;\n pageSize?: number;\n skip?: boolean;\n};\n\nexport const useWishListData = ({\n statusFilter,\n pageSize = defaultPageSize,\n skip = false\n}: UseWishListDataProps) => {\n // By using the data from endpoints we can utilize SSR:d data, but then we\n // need to call the hook below anyway to get in-client interactivity like pagination.\n const {\n currentData: {\n page: latestPageMaybe,\n items: wishListItems = [],\n totalCount = 0\n } = {}\n } = endpoints.getWishListEndless.useQueryState(\n useWishListParams({ statusFilter, pageSize })\n );\n const latestPage = latestPageMaybe ?? 1;\n const [page, setPage] = useResetState(latestPage);\n\n const { isLoading, isFetching } = useGetWishListEndlessQuery(\n useWishListParams({ page, statusFilter, pageSize }),\n { skip }\n );\n const nextPage = useCallback(() => {\n setPage((p) => p + 1);\n }, [setPage]);\n\n const isAllItemsFetched = latestPage * pageSize >= totalCount;\n\n return {\n wishListItems,\n isLoading,\n isFetching,\n isAllItemsFetched,\n page,\n nextPage\n };\n};\n\ntype WishListItemsProps = {\n filter: string;\n searchTerm: string;\n setShowMayBeMoreResultsText: (show: boolean) => void;\n setWishlistEmpty: (empty: boolean) => void;\n};\n\nexport const WishListItems = ({\n filter,\n searchTerm,\n setShowMayBeMoreResultsText,\n setWishlistEmpty\n}: WishListItemsProps) => {\n const { t } = useTranslator();\n const dispatch = useAppDispatch();\n const [bidHistoryItemId, setBidHistoryItemId] = useState(\n null\n );\n const {\n isLoading,\n isFetching,\n wishListItems,\n isAllItemsFetched,\n page,\n nextPage\n } = useWishListData({ statusFilter: filter });\n\n const { ref: loadingMoreRef, inView } = useInView();\n\n const hasSearchTerm = searchTerm.trim() !== '';\n\n useEffect(() => {\n if (hasSearchTerm || isFetching || !inView || isAllItemsFetched) return;\n\n nextPage();\n }, [inView, isFetching, hasSearchTerm, isAllItemsFetched, nextPage]);\n\n useEffect(() => {\n if (!hasSearchTerm || isAllItemsFetched)\n setShowMayBeMoreResultsText(false);\n\n const timeoutCheck = setTimeout(() => {\n if (!hasSearchTerm || isAllItemsFetched)\n setShowMayBeMoreResultsText(false);\n else if (!isAllItemsFetched) setShowMayBeMoreResultsText(true);\n }, 1000);\n\n return () => clearTimeout(timeoutCheck);\n }, [hasSearchTerm, setShowMayBeMoreResultsText, isAllItemsFetched]);\n\n const visibleWishListItems = useMemo(() => {\n if (!hasSearchTerm) return wishListItems;\n\n const fuseOptions = {\n ignoreLocation: true,\n threshold: 0.4,\n keys: ['shortDescription', 'sellerAlias']\n };\n const fuse = new Fuse(wishListItems, fuseOptions);\n\n return fuse.search(searchTerm).map((results) => results.item);\n }, [hasSearchTerm, searchTerm, wishListItems]);\n\n useEffect(() => {\n if (!isFetching && wishListItems.length === 0) setWishlistEmpty(true);\n else setWishlistEmpty(false);\n }, [isFetching, wishListItems, setWishlistEmpty]);\n\n const handleWishlistClick = (itemId: number) => {\n dispatch(\n wishlist(itemId, {\n sectionGaName: 'Wish list item',\n gaSourceScreen: SOURCE_SCREEN.WISHLIST\n })\n );\n };\n\n return (\n <>\n \n {!isFetching && wishListItems.length === 0 && (\n
    \n {filter === 'all' ? (\n <>\n \n

    \n {t('wishlist_sidesheet_empty_title')}\n

    \n

    \n \n )\n }}\n />\n

    \n \n ) : (\n

    \n {t('wishlist_sidesheet_no_items_with_filter')}\n

    \n )}\n
    \n )}\n {isLoading && page === 1 ? (\n \n ) : (\n <>\n \n {visibleWishListItems?.map((item) => {\n return (\n \n \n \n \n );\n })}\n \n {isFetching && (\n
    \n \n
    \n )}\n
    \n setBidHistoryItemId(null)}\n isBuyer={true}\n />\n \n )}\n \n );\n};\n","export const SERVER_FETCHED_NUMBER_WISHLIST_ITEMS = 12;\n","// extracted by mini-css-extract-plugin\nexport default {\"wishListShare\":\"wishListShare--hlB4t\",\"wishListItem\":\"wishListItem--Oyalc\",\"wishListItemImage\":\"wishListItemImage--BkvbO\",\"wishListItemPrice\":\"wishListItemPrice--wZOyu\",\"wishListItemNotSelected\":\"wishListItemNotSelected--v6DPY\",\"wishListItemSelected\":\"wishListItemSelected--MyquW\"};","import { useLocalizedPriceFormatter } from 'tradera/localization/use-localized-price-formatter';\nimport { classNames } from 'tradera/utils/class-names';\nimport CheckFillIcon from 'tradera/blueprint/theme/icons2/check-fill.svg?jsx';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport type { WishListItemCardViewModel } from 'tradera/state/services/types/webapi-member-generated';\nimport styles from './wish-list-share.module.scss';\nimport { CurrencyRateType } from 'tradera/state/multi-currency/reducer';\nimport { selectMemberAlias } from 'tradera/state/member/selectors';\n\ntype WishListShareItemProps = {\n item: WishListItemCardViewModel;\n isSelected: boolean;\n toggleItem: (item: WishListItemCardViewModel) => void;\n};\n\nexport const WishListShareItem = ({\n item,\n isSelected,\n toggleItem\n}: WishListShareItemProps) => {\n const memberAlias = useAppSelector(selectMemberAlias);\n const localizedPriceFormatter = useLocalizedPriceFormatter(\n item.sellerAlias === memberAlias\n ? CurrencyRateType.Seller\n : CurrencyRateType.Buyer\n );\n\n return (\n toggleItem(item)}>\n \n {isSelected && (\n \n )}\n
    \n \n \n {localizedPriceFormatter(item.price)}\n \n \n );\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport { useInView } from 'react-intersection-observer';\nimport LoadingIcon from '@tradera/blueprint/theme/icons2/loading.svg?jsx';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { ScrollableModal } from 'tradera/components/scrollable-modal/scrollable-modal';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { showSuccessToast } from 'tradera/services/toasts';\nimport { buildShareObject } from './helper';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { SERVER_FETCHED_NUMBER_WISHLIST_ITEMS } from 'tradera/apps/tradera/start-page/components/wish-list/constants';\nimport type { WishListItemCardViewModel } from 'tradera/state/services/types/webapi-member-generated';\nimport { useWishListData } from 'tradera/apps/tradera/components/wish-list-side-sheet/wish-list-items';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { WishListShareItem } from './wish-list-share-item';\nimport styles from './wish-list-share.module.scss';\n\nexport const GA_EVENT_CATEGORY_WISHLIST_SHARE = 'Wishlist Share';\n\nconst useSelectable = () => {\n const [selectedItems, setSelectedItems] = useState<\n Array\n >([]);\n const toggleItem = useCallback(\n (item: WishListItemCardViewModel) => {\n setSelectedItems(() => {\n return selectedItems.includes(item)\n ? selectedItems.filter((x) => x.itemId !== item.itemId)\n : [...selectedItems, item];\n });\n },\n [selectedItems]\n );\n\n return {\n selectedItems,\n toggleItem\n };\n};\n\ntype WishListShareProps = {\n onClose: () => void;\n};\n\nexport const WishListShare = ({ onClose }: WishListShareProps) => {\n const { t } = useTranslator();\n const environment = useAppSelector((state) => state.environment);\n\n const { isMobileDevice } = environment;\n\n const { wishListItems, isFetching, isAllItemsFetched, page, nextPage } =\n useWishListData({ pageSize: SERVER_FETCHED_NUMBER_WISHLIST_ITEMS });\n\n const { ref: loadingMoreRef, inView } = useInView();\n\n const { selectedItems, toggleItem } = useSelectable();\n\n useEffect(() => {\n if (isFetching || !inView || isAllItemsFetched) return;\n\n nextPage();\n }, [inView, isFetching, isAllItemsFetched, nextPage]);\n\n const canShare =\n isMobileDevice &&\n navigator.canShare?.({\n text: 'test can share'\n });\n\n const handleShare = () => {\n const shareText = buildShareObject(\n selectedItems,\n t('shareModal_wishlist_message')\n );\n if (canShare) {\n return navigator\n .share({ text: shareText })\n .then(() => {\n GtmService.trackAction(\n GA_EVENT_CATEGORY_WISHLIST_SHARE,\n 'Native share'\n );\n return;\n })\n .catch(() => {\n // Do nothing\n });\n } else {\n return navigator.clipboard\n .writeText(shareText)\n .then(() => {\n GtmService.trackAction(\n GA_EVENT_CATEGORY_WISHLIST_SHARE,\n 'Copy links'\n );\n showSuccessToast('shareModal_wishlist_links_copied');\n onClose();\n return;\n })\n .catch(() => {\n // Do nothing\n });\n }\n };\n\n return (\n \n {canShare\n ? t('shareModal_wishlist_share_via')\n : t('shareModal_wishlist_copy_links')}\n \n }\n show>\n {isFetching && page === 1 ? (\n \n \n
    \n ) : (\n <>\n
    \n {wishListItems?.map((item) => (\n \n ))}\n {!isFetching &&
    }\n
    \n {isFetching && page > 1 && (\n
    \n \n
    \n )}\n \n )}\n \n );\n};\n","import type { WishListItemCardViewModel } from 'tradera/state/services/types/webapi-member-generated';\nimport { localStore } from 'tradera/utils/storage';\nimport { STORAGE_KEYS, STORAGE_VALUES } from 'tradera/constants/storage';\nimport GdprSettings from 'tradera/utils/gdpr-settings';\n\nexport const shouldShowShareWishlistTooltip = () =>\n localStore &&\n localStore.getItem(STORAGE_KEYS.SHARE_WISHLIST_TOOLTIP) !==\n STORAGE_VALUES.SHARE_WISHLIST_TOOLTIP_CLICKED &&\n GdprSettings.isFunctionalEnabled();\n\nexport const hideShareWishlistTooltip = () =>\n localStore &&\n localStore.setItem(\n STORAGE_KEYS.SHARE_WISHLIST_TOOLTIP,\n STORAGE_VALUES.SHARE_WISHLIST_TOOLTIP_CLICKED\n );\n\nexport const shouldShowShareWishlistSantaTooltip = () =>\n localStore &&\n localStore.getItem(STORAGE_KEYS.SHARE_WISHLIST_TOOLTIP_SANTA) !==\n STORAGE_VALUES.SHARE_WISHLIST_TOOLTIP_SANTA_CLICKED &&\n GdprSettings.isFunctionalEnabled();\n\nexport const hideShareWishlistSantaTooltip = () =>\n localStore &&\n localStore.setItem(\n STORAGE_KEYS.SHARE_WISHLIST_TOOLTIP_SANTA,\n STORAGE_VALUES.SHARE_WISHLIST_TOOLTIP_SANTA_CLICKED\n );\n\nexport const buildShareObject = (\n selectedItems: Array,\n text: string\n) => {\n const urlString = selectedItems\n .map((item) => `${location.origin}${item.itemUrl}`)\n .join('\\n \\n');\n\n const shareText = text + '\\n \\n' + urlString;\n\n return shareText;\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.97 12.3l3.09 3.13c.32.33.32.87 0 1.2a.82.82 0 01-1.18 0l-1.07-1.1v6.4c0 .47-.38.85-.84.85a.84.84 0 01-.83-.84v-6.4l-1.07 1.09a.82.82 0 01-1.18 0 .85.85 0 010-1.2l3.08-3.12z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.83 15.34c.46 0 .83.38.83.85v9.12H21.3v-6.75c0-.46.37-.84.83-.84.46 0 .83.38.83.84V26a1 1 0 01-1 1.01H4a1 1 0 01-1-1.01v-9.8c0-.47.37-.85.83-.85z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.6.86C10.58.7 6.48 1.49 5.37 4.2c-1.5 3.65 8.9 3.56 11.7 3.47.39-.01.74.25.84.64l.6 2.36c.03.15.1.28.2.4.27.36.88 1.3 1.5 3.17 1.4 4.26 2.14 4.38 2.38 4.26.07-.03.1-.1.12-.18.39-1.41 4.27-16.76-9.1-17.46z\",\n fill: \"#DA3530\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.88 2.25c-1.44.48-2.48 1.24-2.9 2.27-.12.29-.1.45-.05.55.06.13.2.31.52.51.66.41 1.77.72 3.13.93 2.69.4 5.92.37 7.3.32.78-.02 1.47.5 1.67 1.27l.6 2.36s0 .04.05.1c.34.43 1 1.46 1.64 3.42.49 1.5.88 2.43 1.19 3 .33-1.6.79-4.6.32-7.52A9.43 9.43 0 0020 4.27c-1.34-1.38-3.4-2.41-6.57-2.58-1.44-.07-3.12.08-4.54.56zM8.36.65C10.02.1 11.9-.05 13.5.03c3.51.19 5.98 1.34 7.66 3.08a11.1 11.1 0 012.82 6.1c.68 4.28-.43 8.62-.63 9.35-.03.1-.14.5-.54.7-.3.15-.65.16-1 0a2.2 2.2 0 01-.8-.74c-.46-.66-1.03-1.85-1.74-4a10.11 10.11 0 00-1.37-2.93 1.95 1.95 0 01-.35-.7l-.6-2.37h-.01c-1.4.04-4.76.09-7.6-.35a10.4 10.4 0 01-3.75-1.15c-.48-.3-.93-.71-1.17-1.28a2.35 2.35 0 01.04-1.85C5.14 2.2 6.7 1.21 8.36.66z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.4 9.22v.76a1.69 1.69 0 01-2.34 1.56c-1-.42-1.85-.76-3.42-1.48-1.54-.7-4.47-1.22-6.58-1.53A1.65 1.65 0 014.9 6.06a3.19 3.19 0 013.26-1.47h.04c4.32.77 10.2 1.8 10.2 4.63z\",\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.06 5.42A2.42 2.42 0 005.6 6.5a.8.8 0 00.57 1.2c1.07.16 2.35.37 3.56.63 1.2.26 2.4.58 3.24.96 1.28.59 2.06.92 2.86 1.25l.55.23c.58.24.95-.23 1.22-.79 0 0 .17-.37.14-.76-.04-.56-.34-.75-.84-1.16a7.63 7.63 0 00-2.25-1.14 44.31 44.31 0 00-6.59-1.5zm.24-1.65l.08.01c2.13.37 4.74.83 6.81 1.56a9.2 9.2 0 012.74 1.42c.74.6 1.3 1.42 1.3 2.46v.76a2.51 2.51 0 01-3.48 2.33l-.54-.22c-.8-.34-1.61-.68-2.91-1.27-.69-.31-1.73-.6-2.9-.86-1.17-.25-2.41-.45-3.46-.6A2.48 2.48 0 014.2 5.61a4 4 0 014.1-1.84z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 19.26a3.32 3.32 0 01-3.3 3.35c-1.82 0-3.3-1.5-3.3-3.35a3.32 3.32 0 013.3-3.34c1.82 0 3.3 1.5 3.3 3.34z\",\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.7 20.94c.91 0 1.65-.75 1.65-1.68 0-.92-.74-1.67-1.65-1.67-.9 0-1.65.75-1.65 1.67 0 .93.74 1.68 1.65 1.68zm0 1.67c1.82 0 3.3-1.5 3.3-3.35a3.32 3.32 0 00-3.3-3.34c-1.82 0-3.3 1.5-3.3 3.34a3.32 3.32 0 003.3 3.35z\",\n fill: \"#000\"\n})));","import { useEffect, useState } from 'react';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { Popover } from 'tradera/components/popover/popover';\nimport ShareIcon from 'tradera/blueprint/theme/icons2/share.svg?jsx';\nimport ShareSantaIcon from './share-santa.svg?jsx';\nimport {\n hideShareWishlistTooltip,\n shouldShowShareWishlistSantaTooltip,\n shouldShowShareWishlistTooltip,\n hideShareWishlistSantaTooltip\n} from './helper';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { GA_EVENT_CATEGORY_WISHLIST_SHARE } from 'tradera/apps/tradera/components/wish-list-share/wish-list-share';\nimport type { ButtonSize } from 'tradera/components/atoms/button/button';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\n\nexport type WishListShareButtonProps = {\n showText?: boolean;\n showTooltip?: boolean;\n size?: ButtonSize;\n gaEventLabel: string;\n onClick: () => void;\n};\n\nexport const WishListShareButton = ({\n showText,\n showTooltip,\n size = 'md',\n gaEventLabel,\n onClick\n}: WishListShareButtonProps) => {\n const { t } = useTranslator();\n\n const wishlistSantaEnabled = useIsFeatureEnabled('wish-list-share-santa');\n\n const [shouldShowTooltip, setShouldShowTooltip] = useState(false);\n useEffect(() => {\n setShouldShowTooltip(\n !!(\n showTooltip &&\n (wishlistSantaEnabled\n ? shouldShowShareWishlistSantaTooltip()\n : shouldShowShareWishlistTooltip())\n )\n );\n }, [showTooltip, wishlistSantaEnabled]);\n\n const handleTooltipClose = () => {\n if (wishlistSantaEnabled) {\n hideShareWishlistSantaTooltip();\n } else {\n hideShareWishlistTooltip();\n }\n setShouldShowTooltip(false);\n };\n\n const handleTooltipClick = () => {\n GtmService.trackAction(\n GA_EVENT_CATEGORY_WISHLIST_SHARE,\n 'Open share - tooltip',\n gaEventLabel\n );\n onClick();\n handleTooltipClose();\n };\n\n const handleClick = () => {\n onClick();\n GtmService.trackAction(\n GA_EVENT_CATEGORY_WISHLIST_SHARE,\n 'Open share',\n gaEventLabel\n );\n };\n\n return (\n \n \n ) : (\n \n )\n }\n size={size}\n round={!showText}\n className=\"px-2 px-md-0\"\n title={t('myt_wishList_share')}\n onClick={handleClick}>\n {showText && {t('myt_wishList_share')}}\n \n \n );\n};\n","import type React from 'react';\nimport { useEffect, useState } from 'react';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { SideMenu } from 'tradera/components/side-menu/side-menu';\nimport { ScrollableModalContent } from 'tradera/components/scrollable-modal/scrollable-modal-content';\nimport { RadioSwitch } from 'tradera/components/form-controls/radio-switch/radio-switch';\nimport { WishListItems } from './wish-list-items';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { closeWishListSideSheet } from 'tradera/state/ui/reducer';\nimport { HeaderWithCloseButton } from 'tradera/components/scrollable-modal/header-with-close-button';\nimport { SearchInput } from 'tradera/components/form-controls/search-input/search-input';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { WishListShare } from '../wish-list-share/wish-list-share';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\nimport { WishListShareButton } from '../wish-list-share/wish-list-share-button';\nimport { useOnNavigation } from 'tradera/hooks/use-on-navigation';\n\nexport const WishListSideSheet = () => {\n const { t } = useTranslator();\n\n const dispatch = useAppDispatch();\n const { isOpen } = useAppSelector((state) => state.ui.wishListSideSheet);\n\n const wishlistShareEnabled = useIsFeatureEnabled('wish-list-share');\n\n const [isShareOpen, setIsShareOpen] = useState(false);\n const [wishlistEmpty, setWishlistEmpty] = useState(false);\n const [showShareToolTip, setShowShareToolTip] = useState(false);\n\n const [showMayBeMoreResultsText, setShowMayBeMoreResultsText] =\n useState(false);\n\n const [searchTerm, setSearchTerm] = useState('');\n\n const filterOptions = [\n { value: 'all', name: t('wishlist_sidesheet_filter_all') },\n {\n value: 'active',\n name: t('wishlist_side_sheet_filter_ongoing')\n },\n {\n value: 'ended',\n name: t('wishlist_sidesheet_filter_ended')\n }\n ];\n\n const [selectedFilter, setSelectedFilter] = useState('all');\n\n const handleFilterChange = (filter: string) => setSelectedFilter(filter);\n\n const handleSearch = ({ target }: React.ChangeEvent) =>\n setSearchTerm(target.value);\n\n const handleSearchClear = () => setSearchTerm('');\n\n const handleDismiss = () => dispatch(closeWishListSideSheet());\n\n useOnNavigation(handleDismiss);\n\n useEffect(() => {\n if (wishlistShareEnabled && isOpen) {\n setTimeout(() => {\n setShowShareToolTip(true);\n }, 350);\n }\n }, [wishlistShareEnabled, isOpen]);\n\n useEffect(() => {\n if (isOpen) return;\n\n handleSearchClear();\n setSelectedFilter('all');\n }, [isOpen]);\n\n return (\n <>\n \n \n {\n handleDismiss();\n setIsShareOpen(true);\n }}\n gaEventLabel=\"Sidesheet\"\n />\n )\n }\n onClose={handleDismiss}\n title={t('wishlist_sidesheet_header')}\n border\n />\n
    \n \n \n
    \n \n }\n className=\"bg-white\"\n innerClassName=\"flex-grow-1\"\n footer={\n <>\n {showMayBeMoreResultsText && (\n \n {t(\n 'wishlist_sidesheet_may_be_more_resulsts'\n )}\n \n )}\n \n {t('wishlist_sidesheet_to_overview')}\n \n \n }>\n \n \n
    \n {isShareOpen && wishlistShareEnabled && (\n setIsShareOpen(false)} />\n )}\n \n );\n};\n","import { useContext, useEffect } from 'react';\nimport { isNextJs, isTouchwebInNextweb } from 'tradera/utils/nextjs';\nimport { RouterContext } from 'next/dist/shared/lib/router-context.shared-runtime';\nimport type { NextRouter } from 'next/router';\n\nexport const useOnNavigation = (onNavigation: () => void) => {\n const pagesRouter = useContext(RouterContext) as NextRouter;\n\n useEffect(() => {\n const handleRouteChange = () => {\n onNavigation();\n };\n\n // This only works for NextWeb\n if ((isNextJs || isTouchwebInNextweb) && pagesRouter?.events) {\n pagesRouter.events.on('routeChangeStart', handleRouteChange);\n return () => {\n pagesRouter.events.off('routeChangeStart', handleRouteChange);\n };\n }\n }, [onNavigation, pagesRouter]);\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 98 116\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: \"48\",\n cy: \"112.5\",\n rx: \"48\",\n ry: \"3.5\",\n fill: \"#E6E6E6\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.42 47.13l19.24.93c.16.01.3.1.39.24l19.98 33.83c.19.3-.02.7-.38.72L72 84.25 58.83 99.42a.48.48 0 01-.38.17l-22.16-1.12-16.72 12.23a.48.48 0 01-.73-.21L2.23 69.54a.48.48 0 01.2-.6L20.68 57.8l22.1 2.47 12.63-13.14z\",\n fill: \"#FEF880\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M55.03 46.15l19.67.96c.49.02.93.29 1.17.7l19.99 33.83c.54.92-.08 2.1-1.15 2.16L72.46 85.2l-12.9 14.86c-.3.34-.72.52-1.16.5l-21.82-1.1-16.45 12.02c-.75.55-1.82.25-2.18-.62L1.34 69.9c-.27-.66-.02-1.4.58-1.77L20.47 56.8l21.96 2.46 12.6-13.12zm.78 1.96L43.16 61.27 20.9 58.8 3.27 69.55l16.23 40.01L36 97.5l22.26 1.12 13.28-15.3 22.27-1.38-19.46-32.93-18.54-.9z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M72.35 84.73a.96.96 0 01-1.28-.46L59.65 60.06a.96.96 0 111.73-.82l11.43 24.21a.96.96 0 01-.46 1.28zm-49.47-17.4a.96.96 0 011.25.5l12.6 29.54a.96.96 0 01-1.77.75L22.37 68.58a.96.96 0 01.5-1.26z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.67 37.96l5.27 1.32-8.63 28.5-5.38 6.83v-8.98l8.74-27.67z\",\n fill: \"#C4C4C4\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.95 40.26l-8.1 25.66v3.17l1.74-2.21 7.93-26.23-1.57-.4zm-1.28-2.3l-8.74 27.67v8.98l5.38-6.83 8.63-28.5-5.27-1.32z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.1 36.9l.76-4.04 27.96 6.52a1 1 0 01.76 1.14l-.52 2.98a3.03 3.03 0 01-2.14 2.4c-2.9.84-6.3 1.54-14.11-.05a24.32 24.32 0 01-12.13-6.72 2.55 2.55 0 01-.58-2.23z\",\n fill: \"#003B29\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.07 31.65l28.98 6.76a2 2 0 011.51 2.28l-.51 2.98a4.03 4.03 0 01-2.85 3.19c-1.5.43-3.16.83-5.46.92-2.29.09-5.28-.47-9.24-1.28-5.79-1.18-10.8-5.15-13-7.5-.81-.87-.33-2.6-.13-3.65l.7-3.7zm1.58 2.42l-.57 3.01c-.1.56.03 1.05.33 1.37A23.33 23.33 0 0045 44.88c3.85.78 6.57.99 8.66.91a19.5 19.5 0 004.98-.85c.74-.21 1.3-.84 1.43-1.6l.52-2.99-26.95-6.28z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.54 40.69c-1.02 3.53-8.92 5.43-18.4 2.69-9.48-2.75-12.95-8.69-11.92-12.22 1.02-3.53 9.15-5.22 18.64-2.48 9.48 2.75 12.7 8.48 11.68 12z\",\n fill: \"#003B29\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M59.57 41.35c.78-.48 1.05-.92 1.13-1.2.28-.97.06-2.64-1.53-4.53-1.56-1.86-4.38-3.8-8.84-5.1-4.52-1.3-8.64-1.53-11.67-1.06-1.52.24-2.68.64-3.47 1.1-.8.46-1.06.88-1.13 1.13-.28.94-.03 2.66 1.64 4.63 1.63 1.93 4.52 3.93 8.97 5.22 4.51 1.3 8.56 1.47 11.51.96a9.82 9.82 0 003.39-1.15zm-15.43 2.03c9.48 2.74 17.38.84 18.4-2.7 1.02-3.52-2.2-9.25-11.68-12-9.49-2.74-17.62-1.05-18.64 2.48-1.03 3.53 2.44 9.47 11.92 12.22z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.58 5.75l13.89 5.03-6.16 22.77a4.71 4.71 0 01-2.34 3.08c-1.87.94-4.93 1.99-7.78.85-2.39-.95-4.16-3.3-5.19-5.04a4.93 4.93 0 01-.3-4.17l7.88-22.52z\",\n fill: \"#003B29\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.58 5.75L40.7 28.27a4.93 4.93 0 00.3 4.17c1.02 1.73 2.8 4.09 5.18 5.04 2.85 1.14 5.9.09 7.78-.85a4.71 4.71 0 002.34-3.08l6.16-22.77-13.9-5.03zm1.17 2.46L42.52 28.9c-.34.97-.27 1.89.13 2.56.99 1.66 2.48 3.53 4.25 4.24 2.05.82 4.45.1 6.21-.78.6-.3 1.1-.94 1.35-1.87l5.7-21.07-10.41-3.77z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \".5\",\n d: \"M50.08 11.71l1.68.71-5.45 17.04a1.23 1.23 0 11-2.33-.8l6.1-16.95z\",\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.31 9.98c-.67 2.34-5.67 2.95-11.15 1.36-5.49-1.59-9.39-4.77-8.7-7.1.67-2.35 5.66-2.95 11.15-1.37 5.48 1.6 9.38 4.77 8.7 7.11z\",\n fill: \"#003B29\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M64.47 9.45v-.06a1.2 1.2 0 00-.14-.36c-.2-.37-.6-.85-1.27-1.4a17.38 17.38 0 00-5.99-2.91 17.38 17.38 0 00-6.61-.74c-.86.1-1.46.3-1.82.5a1.2 1.2 0 00-.35.28V4.83c.02.06.05.18.15.36.2.36.6.85 1.27 1.4a17.38 17.38 0 005.98 2.9c2.56.75 4.91.95 6.62.74.85-.1 1.45-.3 1.82-.5a1.2 1.2 0 00.34-.28zm-9.31 1.89c5.48 1.59 10.48.98 11.15-1.36.68-2.34-3.22-5.52-8.7-7.1-5.49-1.6-10.48-.99-11.16 1.35-.68 2.34 3.22 5.52 8.7 7.1zM36.4 73.4l-.95-.16.94.17v.02a9.72 9.72 0 00-.06.37l-.14 1.11a.96.96 0 11-1.9-.19 26.27 26.27 0 01.21-1.62v-.03l.95.17m-.36 3.8c.53 0 .96.42.97.95.02.97.09 2 .26 3.04a.96.96 0 01-1.9.3 22.92 22.92 0 01-.28-3.31c0-.53.42-.97.95-.97zm.75 6.33a.96.96 0 011.25.53c.18.46.4.9.64 1.3.2.33.56.87 1.05 1.57a.96.96 0 01-1.57 1.1c-.5-.7-.89-1.3-1.12-1.69-.3-.5-.56-1.02-.78-1.56a.96.96 0 01.53-1.25zm3.88 6.36a.96.96 0 011.34.21l2.32 3.16a.96.96 0 01-1.54 1.14l-2.33-3.17a.96.96 0 01.2-1.34zm4.66 6.32a.96.96 0 011.34.2l.86 1.13.23.32.08.1a.96.96 0 11-1.53 1.16l-.08-.1a771.64 771.64 0 01-1.1-1.47.96.96 0 01.2-1.34z\",\n fill: \"#000\"\n})));","export const mapCountryCodeToCurrencyCode = (countryCode) => {\n switch (countryCode.toLowerCase()) {\n // Euro countries\n case 'at':\n case 'ax':\n case 'be':\n case 'cy':\n case 'de':\n case 'es':\n case 'fi':\n case 'fr':\n case 'gr':\n case 'ie':\n case 'it':\n case 'lt':\n case 'lu':\n case 'lv':\n case 'mt':\n case 'nl':\n case 'pt':\n case 'si':\n case 'sk':\n return 'EUR';\n\n // Other selected countries\n case 'dk':\n return 'DKK';\n case 'gb':\n return 'GBP';\n case 'jp':\n return 'JPY';\n case 'no':\n return 'NOK';\n case 'se':\n return 'SEK';\n case 'us':\n return 'USD';\n\n // Default currency is SEK\n default:\n return 'SEK';\n }\n};\n","import { useEffect, useMemo, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useUrlLocalizer } from 'tradera/lang/translate';\nimport {\n selectAvailableShippingCountries,\n selectShowLocalizationRegionPicker\n} from 'tradera/state/shipping-region/selectors';\nimport { selectGeolocation } from 'tradera/state/member/selectors';\nimport { dismissLocalizationRegionPicker } from 'tradera/state/shipping-region/reducer';\nimport {\n getAvailableShippingCountries,\n onLocalizationShippingRegionSelected\n} from 'tradera/state/shipping-region/actions';\nimport ApplicationErrorBoundary from 'tradera/components/application-error-boundary/application-error-boundary';\nimport { useUserAgent } from 'tradera/hooks/use-user-agent';\nimport { ShippingCountrySelectDropdown } from 'tradera/components/localization/shipping-country-select-dropdown';\nimport LocalizationImage from './localization-region-picker-image.svg?jsx';\nimport useIsMobile from 'tradera/hooks/use-is-mobile';\nimport { mapCountryCodeToCurrencyCode } from 'tradera/localization/map-country-code-to-currency-code';\nimport { Button } from '../atoms/button/button';\nimport { isCrawlerBot } from 'tradera/utils/is-crawler-bot';\nimport GdprSettings from 'tradera/utils/gdpr-settings';\nimport { ScrollableModal } from '../scrollable-modal/scrollable-modal';\nimport { HeaderWithCloseButton } from '../scrollable-modal/header-with-close-button';\n\nexport const LocalizationRegionPicker = () => {\n const showLocalizationRegionPicker =\n useSelector(selectShowLocalizationRegionPicker) &&\n GdprSettings.isFunctionalEnabled();\n const geolocation = useSelector(selectGeolocation);\n const { toLocalizedUrl } = useUrlLocalizer();\n const userAgent = useUserAgent();\n\n const isCrawler = isCrawlerBot(userAgent);\n\n const onCloseModal = () => dispatch(dismissLocalizationRegionPicker());\n\n const shippingCountriesTmp = useSelector(selectAvailableShippingCountries);\n const shippingCountries = useMemo(\n () =>\n shippingCountriesTmp.map(({ countryCodeIso2, countryNameEng }) => ({\n countryCodeIso2,\n name: countryNameEng\n })),\n [shippingCountriesTmp]\n );\n const [shippingCountryCodeIso2, setShippingCountryCodeIso2] = useState(\n geolocation?.isoCode || 'se'\n );\n useEffect(() => {\n setShippingCountryCodeIso2(geolocation?.isoCode || 'se');\n }, [geolocation?.isoCode]);\n const dispatch = useDispatch();\n useEffect(() => {\n dispatch(getAvailableShippingCountries());\n }, [dispatch]);\n\n const isMobile = useIsMobile();\n\n const body = (\n <>\n
    \n \n

    \n We are happy that you found Tradera\n

    \n

    \n Choose the country where you live, to get the best\n experience browsing items on Tradera.\n

    \n
    \n \n setShippingCountryCodeIso2(countryCodeIso2)\n }\n itemsBeforeScrollCount={isMobile ? 3 : 5}\n shippingCountryPlaceholder=\"Search country\"\n englishCountryNames\n style={{\n left: '1.5rem',\n right: '1.5rem',\n width: 'auto'\n }}\n />\n \n );\n\n return showLocalizationRegionPicker && !isCrawler ? (\n \n }\n footer={\n {\n dispatch(\n onLocalizationShippingRegionSelected({\n countryCodeIso2: shippingCountryCodeIso2,\n currencyCode: mapCountryCodeToCurrencyCode(\n shippingCountryCodeIso2\n ),\n toLocalizedUrl\n })\n );\n onCloseModal();\n }}>\n Done\n \n }>\n {body}\n \n \n ) : null;\n};\n","export const isCrawlerBot = (userAgent) => {\n if (!userAgent) {\n return true;\n }\n\n const userAgentLowerCase = userAgent.toLowerCase();\n\n return (\n userAgentLowerCase.includes('bot') ||\n userAgentLowerCase === 'a10hm/1.0' ||\n userAgentLowerCase.includes('crawler') ||\n userAgentLowerCase.includes('sello') ||\n userAgentLowerCase === 'teracent-feed-processing' ||\n userAgentLowerCase === 'mediapartners-google' ||\n userAgentLowerCase.includes('spider')\n );\n};\n","import { useSelector } from 'react-redux';\nimport { isServer } from 'tradera/utils/nextjs';\n\nexport const useUserAgent = () => {\n const request = useSelector((state) => state.request);\n return isServer ? request.userAgent : navigator.userAgent;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"line\":\"line--gmSOr\",\"active\":\"active--zTIHL\",\"animation\":\"animation--TYBL4\",\"lineAnim\":\"lineAnim--RFQRD\"};","import { classNames } from 'tradera/utils/class-names';\nimport styles from './loader-line.module.scss';\n\nexport const LoaderLine = ({ isActive }) => (\n \n);\n","import { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { debounce } from 'packages/debounce';\nimport cookieUtil from 'tradera/utils/cookie';\nimport { useOnMount } from 'tradera/hooks/use-on-mount';\nimport { VIEWPORT_WIDTH } from 'tradera/constants/cookies';\nimport { isServer } from 'tradera/utils/nextjs';\nimport { getBreakpointFromWidth } from 'tradera/utils/breakpoint';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { setHasReportedViewportDiff } from 'tradera/state/status/reducer';\n\nconst setViewportCookie = (viewportWidth) => {\n const expires = new Date();\n expires.setMonth(expires.getMonth() + 12);\n cookieUtil.createCookie(VIEWPORT_WIDTH, viewportWidth, expires);\n};\n\nconst viewportChangeCallback = debounce(() => {\n if (document.visibilityState === 'visible') {\n const viewportWidth = String(isServer ? 0 : window.innerWidth);\n const viewportWidthCookie = cookieUtil.readCookie(VIEWPORT_WIDTH);\n\n const shouldUpdateCookie = viewportWidth !== viewportWidthCookie;\n if (shouldUpdateCookie) {\n setViewportCookie(viewportWidth);\n }\n }\n}, 300);\n\nexport const useViewportWidthCookie = (enabled = true) =>\n useOnMount(() => {\n if (!enabled) {\n return;\n }\n\n viewportChangeCallback();\n window.addEventListener('resize', viewportChangeCallback);\n document.addEventListener('visibilitychange', viewportChangeCallback);\n return () => {\n window.removeEventListener('resize', viewportChangeCallback);\n document.removeEventListener(\n 'visibilitychange',\n viewportChangeCallback\n );\n };\n });\n\nexport const useResponsiveDevice = (ssrViewportWidth) => {\n const [responsiveDevice, setResponsiveDevice] = useState({\n // Render with same viewport during hydration as on server\n // Prevents \"Warning: Expected server HTML to contain a matching...\"\n width: ssrViewportWidth\n });\n const dispatch = useDispatch();\n const hasReportedViewportDiff = useSelector(\n (state) => state.status.hasReportedViewportDiff\n );\n\n useOnMount(() => {\n const ssrBreakpoint = getBreakpointFromWidth(ssrViewportWidth);\n const clientBreakpoint = getBreakpointFromWidth(window.innerWidth);\n\n if (ssrBreakpoint !== clientBreakpoint && !hasReportedViewportDiff) {\n GtmService.trackAction(\n 'Viewport breakpoint',\n 'SSR and CSR diff',\n `${ssrBreakpoint} -> ${clientBreakpoint}`\n );\n }\n dispatch(setHasReportedViewportDiff(true));\n // Enables react-responsive to use window.mediaQuery after hydration\n setResponsiveDevice(undefined);\n });\n return responsiveDevice;\n};\n","export default \"//static.tradera.net/touchweb/static/output/images/appstore.ebc98d68.svg\";","// extracted by mini-css-extract-plugin\nexport default {\"appDownloadModal\":\"appDownloadModal--vgD8H\",\"modalContent\":\"modalContent--BCZt3\",\"appDownloadBackground\":\"appDownloadBackground--CZnLV\",\"appDownloadBackgroundImage\":\"appDownloadBackgroundImage--hFQEy\",\"appDownloadImageLoading\":\"appDownloadImageLoading--jOmrO\",\"appDownloadBackgroundImageLoaded\":\"appDownloadBackgroundImageLoaded--MiKNN\",\"closeButton\":\"closeButton--v9iGQ\"};","export default \"//static.tradera.net/touchweb/static/output/images/app-download-mobile-2x.37a2f211.png\";","export default \"//static.tradera.net/touchweb/static/output/images/app-download-mobile-2x.c2fbf303.png\";","export default \"//static.tradera.net/touchweb/static/output/images/app-download-mobile-2x.f6914584.png\";","export default \"//static.tradera.net/touchweb/static/output/images/app-download-mobile-2x.79e7a2ec.png\";","export default \"//static.tradera.net/touchweb/static/output/images/app-download-mobile-2x.c227bfa7.png\";","export default \"//static.tradera.net/touchweb/static/output/images/app-download-desktop-2x.f1e7ca8f.png\";","export default \"//static.tradera.net/touchweb/static/output/images/app-download-desktop-2x.740f55bf.png\";","export default \"//static.tradera.net/touchweb/static/output/images/app-download-desktop-2x.76efb739.png\";","export default \"//static.tradera.net/touchweb/static/output/images/app-download-desktop-2x.66a4538d.png\";","export default \"//static.tradera.net/touchweb/static/output/images/app-download-desktop-2x.6e1180d1.png\";","import AppDownloadMobile1x from './background-images/sv/app-download-mobile-1x.png';\nimport AppDownloadMobile2x from './background-images/sv/app-download-mobile-2x.png';\nimport AppDownloadMobile3x from './background-images/sv/app-download-mobile-3x.png';\n\nimport AppDownloadMobile1xDa from './background-images/da/app-download-mobile-1x.png';\nimport AppDownloadMobile2xDa from './background-images/da/app-download-mobile-2x.png';\nimport AppDownloadMobile3xDa from './background-images/da/app-download-mobile-3x.png';\n\nimport AppDownloadMobile1xDe from './background-images/de/app-download-mobile-1x.png';\nimport AppDownloadMobile2xDe from './background-images/de/app-download-mobile-2x.png';\nimport AppDownloadMobile3xDe from './background-images/de/app-download-mobile-3x.png';\n\nimport AppDownloadMobile1xFr from './background-images/fr/app-download-mobile-1x.png';\nimport AppDownloadMobile2xFr from './background-images/fr/app-download-mobile-2x.png';\nimport AppDownloadMobile3xFr from './background-images/fr/app-download-mobile-3x.png';\n\nimport AppDownloadMobile1xNl from './background-images/nl/app-download-mobile-1x.png';\nimport AppDownloadMobile2xNl from './background-images/nl/app-download-mobile-2x.png';\nimport AppDownloadMobile3xNl from './background-images/nl/app-download-mobile-3x.png';\n\nimport AppDownloadDesktop1x from './background-images/sv/app-download-desktop-1x.png';\nimport AppDownloadDesktop2x from './background-images/sv/app-download-desktop-2x.png';\nimport AppDownloadDesktop3x from './background-images/sv/app-download-desktop-3x.png';\n\nimport AppDownloadDesktop1xDa from './background-images/da/app-download-desktop-1x.png';\nimport AppDownloadDesktop2xDa from './background-images/da/app-download-desktop-2x.png';\nimport AppDownloadDesktop3xDa from './background-images/da/app-download-desktop-3x.png';\n\nimport AppDownloadDesktop1xDe from './background-images/de/app-download-desktop-1x.png';\nimport AppDownloadDesktop2xDe from './background-images/de/app-download-desktop-2x.png';\nimport AppDownloadDesktop3xDe from './background-images/de/app-download-desktop-3x.png';\n\nimport AppDownloadDesktop1xFr from './background-images/fr/app-download-desktop-1x.png';\nimport AppDownloadDesktop2xFr from './background-images/fr/app-download-desktop-2x.png';\nimport AppDownloadDesktop3xFr from './background-images/fr/app-download-desktop-3x.png';\n\nimport AppDownloadDesktop1xNl from './background-images/nl/app-download-desktop-1x.png';\nimport AppDownloadDesktop2xNl from './background-images/nl/app-download-desktop-2x.png';\nimport AppDownloadDesktop3xNl from './background-images/nl/app-download-desktop-3x.png';\n\nimport GooglePlayQrCode from './qr-codes/sv/qr-code-google-play.svg';\nimport GooglePlayQrCodeDa from './qr-codes/da/qr-code-google-play.svg';\nimport GooglePlayQrCodeDe from './qr-codes/de/qr-code-google-play.svg';\nimport GooglePlayQrCodeFr from './qr-codes/fr/qr-code-google-play.svg';\nimport GooglePlayQrCodeNl from './qr-codes/nl/qr-code-google-play.svg';\n\nimport AppstoreQrCode from './qr-codes/sv/qr-code-appstore.svg';\nimport AppstoreQrCodeDa from './qr-codes/da/qr-code-appstore.svg';\nimport AppstoreQrCodeDe from './qr-codes/de/qr-code-appstore.svg';\nimport AppstoreQrCodeFr from './qr-codes/fr/qr-code-appstore.svg';\nimport AppstoreQrCodeNl from './qr-codes/nl/qr-code-appstore.svg';\n\nexport const getMobileBackgroundImage = (language: string | null) => {\n let srcSet = `${AppDownloadMobile1x} 1x, ${AppDownloadMobile2x} 2x, ${AppDownloadMobile3x} 3x`;\n let src = AppDownloadMobile2x;\n\n switch (language) {\n case 'da':\n src = AppDownloadMobile2xDa;\n srcSet = `${AppDownloadMobile1xDa} 1x, ${AppDownloadMobile2xDa} 2x, ${AppDownloadMobile3xDa} 3x`;\n break;\n case 'de':\n src = AppDownloadMobile2xDe;\n srcSet = `${AppDownloadMobile1xDe} 1x, ${AppDownloadMobile2xDe} 2x, ${AppDownloadMobile3xDe} 3x`;\n break;\n case 'fr':\n src = AppDownloadMobile2xFr;\n srcSet = `${AppDownloadMobile1xFr} 1x, ${AppDownloadMobile2xFr} 2x, ${AppDownloadMobile3xFr} 3x`;\n break;\n case 'nl':\n src = AppDownloadMobile2xNl;\n srcSet = `${AppDownloadMobile1xNl} 1x, ${AppDownloadMobile2xNl} 2x, ${AppDownloadMobile3xNl} 3x`;\n break;\n }\n\n return {\n srcSet,\n src\n };\n};\n\nexport const getDesktopBackgroundImage = (language: string | null) => {\n let srcSet = `${AppDownloadDesktop1x} 1x, ${AppDownloadDesktop2x} 2x, ${AppDownloadDesktop3x} 3x`;\n let src = AppDownloadDesktop2x;\n\n switch (language) {\n case 'da':\n src = AppDownloadDesktop2xDa;\n srcSet = `${AppDownloadDesktop1xDa} 1x, ${AppDownloadDesktop2xDa} 2x, ${AppDownloadDesktop3xDa} 3x`;\n break;\n case 'de':\n src = AppDownloadDesktop2xDe;\n srcSet = `${AppDownloadDesktop1xDe} 1x, ${AppDownloadDesktop2xDe} 2x, ${AppDownloadDesktop3xDe} 3x`;\n break;\n case 'fr':\n src = AppDownloadDesktop2xFr;\n srcSet = `${AppDownloadDesktop1xFr} 1x, ${AppDownloadDesktop2xFr} 2x, ${AppDownloadDesktop3xFr} 3x`;\n break;\n case 'nl':\n src = AppDownloadDesktop2xNl;\n srcSet = `${AppDownloadDesktop1xNl} 1x, ${AppDownloadDesktop2xNl} 2x, ${AppDownloadDesktop3xNl} 3x`;\n break;\n }\n\n return {\n srcSet,\n src\n };\n};\n\nexport const getGooglePlayQrCode = (language: string | null) => {\n let src = GooglePlayQrCode;\n\n switch (language) {\n case 'da':\n src = GooglePlayQrCodeDa;\n break;\n case 'de':\n src = GooglePlayQrCodeDe;\n break;\n case 'fr':\n src = GooglePlayQrCodeFr;\n break;\n case 'nl':\n src = GooglePlayQrCodeNl;\n break;\n }\n\n return src;\n};\n\nexport const getAppstoreQrCode = (language: string | null) => {\n let src = AppstoreQrCode;\n\n switch (language) {\n case 'da':\n src = AppstoreQrCodeDa;\n break;\n case 'de':\n src = AppstoreQrCodeDe;\n break;\n case 'fr':\n src = AppstoreQrCodeFr;\n break;\n case 'nl':\n src = AppstoreQrCodeNl;\n break;\n }\n\n return src;\n};\n","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-google-play.15528124.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-google-play.aaf2484d.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-google-play.28fdacc0.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-google-play.1cf32d93.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-google-play.2e3e5249.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-appstore.481069fc.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-appstore.722775fa.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-appstore.3d68de35.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-appstore.0582b091.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/qr-code-appstore.754f2d62.svg\";","import { useEffect, useState } from 'react';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { ScrollableModal } from 'tradera/components/scrollable-modal/scrollable-modal';\nimport { Close } from '@radix-ui/react-dialog';\nimport { APP_DOWNLOAD_MODAL_DISMISSED } from 'tradera/constants/cookies';\nimport { Heading } from 'tradera/components/atoms/heading/heading';\nimport {\n Trans,\n useCurrentLanguage,\n useTranslator\n} from 'tradera/lang/translate';\nimport { useAppDownloadLink } from 'tradera/hooks/use-app-download-link';\nimport { RatingStars } from 'tradera/components/rating-stars/rating-stars';\nimport useIsDesktop from 'tradera/hooks/use-is-desktop';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport {\n AppstoreBadge,\n GooglePlayBadge\n} from '../app-download-badge/app-download-badge';\n\nimport CloseIcon from 'tradera/blueprint/theme/icons2/close.svg?jsx';\nimport AppstoreLogo from 'tradera/blueprint/theme/logos/appstore.svg';\nimport GooglePlayLogo from 'tradera/blueprint/theme/logos/googleplay.svg';\n\nimport styles from './app-download-modal.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\nimport {\n getAppstoreQrCode,\n getDesktopBackgroundImage,\n getGooglePlayQrCode,\n getMobileBackgroundImage\n} from './get-image';\nimport { useMemberServerStorageWithCookieFallbackBoolean } from 'tradera/state/member-storage/hooks';\n\nexport const APP_DOWNLOAD_GA_CATEGORY = 'App download modal';\n\nexport const AppDownloadModal = () => {\n const { t } = useTranslator();\n const { language } = useCurrentLanguage();\n\n const [backgroundLoaded, setBackgroundLoaded] = useState(false);\n const [backgroundError, setBackgroundError] = useState(false);\n\n const hasAddedToWishlist =\n useAppSelector((state) => state.items.wishListAddedCount) > 0;\n\n const isDesktop = useIsDesktop();\n const [modalDismissed, setModalDismissed, { isReady, isPersistant }] =\n useMemberServerStorageWithCookieFallbackBoolean(\n APP_DOWNLOAD_MODAL_DISMISSED,\n false\n );\n const showModal =\n hasAddedToWishlist && !modalDismissed && isReady && isPersistant;\n\n const { appStore, googlePlay } = useAppDownloadLink();\n\n useEffect(() => {\n if (showModal) {\n GtmService.trackAction(APP_DOWNLOAD_GA_CATEGORY, 'Show');\n }\n }, [showModal]);\n\n if (!showModal) {\n return null;\n }\n\n const handleCloseModal = () => {\n setModalDismissed(true);\n GtmService.trackAction(APP_DOWNLOAD_GA_CATEGORY, 'Dismiss');\n };\n\n const maxWidth = isDesktop ? '60rem' : '26rem';\n\n const handleImageLoaded = () => {\n setBackgroundLoaded(true);\n setBackgroundError(false);\n };\n\n const handleImageError = () => {\n setBackgroundLoaded(true);\n setBackgroundError(true);\n };\n\n const { srcSet: mobileSrcSet, src: mobileSrc } =\n getMobileBackgroundImage(language);\n const { srcSet: desktopSrcSet, src: desktopSrc } =\n getDesktopBackgroundImage(language);\n\n return (\n \n
    \n
    \n {isDesktop && !backgroundError ? (\n \n ) : !backgroundError ? (\n \n ) : null}\n
    \n \n \n : ,\n branded: \n }}\n />\n \n
      \n
    • \n \n {t('appDownloadModal_text_1')}\n \n
    • \n
    • \n \n {t('appDownloadModal_text_2')}\n \n
    • \n
    \n \n \n {isDesktop && (\n \n )}\n \n GtmService.trackAction(\n APP_DOWNLOAD_GA_CATEGORY,\n 'App Store'\n )\n }>\n {isDesktop ? (\n \n ) : (\n \n )}\n \n
    \n
    \n {isDesktop && (\n \n )}\n \n GtmService.trackAction(\n APP_DOWNLOAD_GA_CATEGORY,\n 'Google Play'\n )\n }>\n {isDesktop ? (\n \n ) : (\n \n )}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n );\n};\n","export default \"//static.tradera.net/touchweb/static/output/images/googleplay.32c4c811.svg\";","import PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport { ExpandableMenuItem } from 'tradera/components/site-header/dropdown-menu-item-expandable';\nimport { selectPreferredLanguage } from 'tradera/state/language/selectors';\n\nimport { LanguageSelect } from 'tradera/components/localization/language-select';\nimport TranslateIcon from '@tradera/blueprint/theme/icons2/translate.svg?jsx';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { mapLanguageCodeToLanguageKey } from 'tradera/localization/map-language-code-to-language-key';\n\nexport const PlainLocalizationMenuItem = ({ onToggle, preferredLanguage }) => {\n const { t } = useTranslator();\n\n return (\n }\n onOpen={onToggle}\n onClose={onToggle}>\n \n \n );\n};\n\nPlainLocalizationMenuItem.propTypes = {\n onToggle: PropTypes.func.isRequired,\n preferredLanguage: PropTypes.object\n};\n\nconst mapStateToProps = (state) => ({\n preferredLanguage: selectPreferredLanguage(state)\n});\n\nexport const LocalizationMenuItem = connect(mapStateToProps)(\n PlainLocalizationMenuItem\n);\n","import { connect } from 'react-redux';\nimport { ExpandableMenuItem } from 'tradera/components/site-header/dropdown-menu-item-expandable';\nimport { CurrencySelect } from 'tradera/components/localization/currency-select';\nimport CurrencyIcon from '@tradera/blueprint/theme/icons2/currency.svg?jsx';\nimport { useTranslator } from 'tradera/lang/translate';\nimport {\n selectShowCurrencySelection,\n selectPreferredCurrency\n} from 'tradera/state/multi-currency/selectors';\n\nexport const PlainCurrencyMenuItem = ({\n onToggle,\n showCurrencySelection,\n preferredCurrency\n}) => {\n const { t } = useTranslator();\n\n return showCurrencySelection ? (\n }\n onOpen={onToggle}\n onClose={onToggle}>\n \n \n ) : null;\n};\n\nconst mapStateToProps = (state) => ({\n showCurrencySelection: selectShowCurrencySelection(state),\n preferredCurrency: selectPreferredCurrency(state)\n});\n\nexport const CurrencyMenuItem = connect(mapStateToProps)(PlainCurrencyMenuItem);\n","import { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { Button } from '../atoms/button/button';\nimport { InfoBox } from 'tradera/components/info-box/info-box';\nimport ArrowRightIcon from 'tradera/blueprint/theme/icons2/arrow-full-right.svg?jsx';\n\nconst trackPaymentOnboarding = (action: string, label: string) => {\n GtmService.trackAction('Tradera Payment Onboarding', action, label);\n};\n\nconst className = 'd-flex mx-2 my-1 w-100';\n\nconst InvoiceUnpaidAlert = () => {\n const { t } = useTranslator();\n return (\n \n {t('siteheader_invoiceUnpaidDescription')}\n \n );\n};\n\nconst InvoiceOverdueAlert = () => {\n const { t } = useTranslator();\n return (\n \n {t('siteheader_invoiceOverdueDescription')}\n \n );\n};\n\nconst BankAccountMissingAlert = () => {\n const { t } = useTranslator();\n trackPaymentOnboarding(\n 'Bank account Onboarding Alert',\n 'Will add from - Account menu alert'\n );\n return (\n \n {t('siteheader_bankAccountMissingDescription')}\n \n );\n};\n\nconst PayoutFailedAlert = () => {\n const { t } = useTranslator();\n return (\n \n {t('siteheader_payoutFailedDescription')}\n \n );\n};\n\nconst PayoutReadyBankAccountMissingAlert = () => {\n const { t } = useTranslator();\n trackPaymentOnboarding(\n 'Bank account Onboarding Alert',\n 'Will add from - Account menu alert - Failed payment'\n );\n return (\n \n {t('siteheader_paymentReadBankAccountMissingDescription')}\n \n );\n};\n\nconst HyperwalletPayeeVerificationAlert = () => {\n const { t } = useTranslator();\n return (\n {\n e.preventDefault();\n window.location.href = '/my/PayeeVerification';\n }}>\n {t('siteheader_hyperwalletPayeeVerificationMoreInfo')}\n \n }>\n {t('siteheader_hyperwalletPayeeVerificationDescription')}\n \n );\n};\n\nconst HyperwalletPayeeVerificationReviewAlert = () => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n }\n className=\"mb-1\"\n onClick={(e) => {\n e.preventDefault();\n window.location.href = toLocalizedUrl(\n '/my/PayeeVerificationCompleted'\n );\n }}\n />\n }>\n {t('siteheader_hyperwalletPayeeVerificationReviewDescription')}\n \n );\n};\n\nconst KycQuestionnaireAlert = () => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n {\n e.preventDefault();\n window.location.href = toLocalizedUrl(\n '/verify/kyc-questionnaire'\n );\n }}>\n {t('siteheader_kycQuestionnaireMoreInfo')}\n \n }>\n {t('siteheader_kycQuestionnaireDescription')}\n \n );\n};\n\nconst PayoutReadyVerificationRequiredAlert = () => {\n const { t } = useTranslator();\n return (\n \n {t('siteheader_payoutReadyVerificationRequiredDescription')}\n \n );\n};\n\nconst OutstandingTraderaPayLicenseAlert = () => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n {\n e.preventDefault();\n window.location.href = toLocalizedUrl(\n '/my/settings/payouts'\n );\n }}>\n {t('siteheader_outstandingTraderaPayLicenseContinue')}\n \n }>\n {t('siteheader_outstandingTraderaPayLicenseDescription')}\n \n );\n};\n\nconst PayoutReadyOutstandingTraderaPayLicenseAlert = () => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n {\n e.preventDefault();\n window.location.href = toLocalizedUrl(\n '/my/settings/payouts'\n );\n }}>\n {t(\n 'siteheader_payoutReadyOutstandingTraderaPayLicenseContinue'\n )}\n \n }>\n {t('siteheader_payoutReadyOutstandingTraderaPayLicenseDescription')}\n \n );\n};\n\nconst CollectVatNumberAlert = () => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n {\n e.preventDefault();\n window.location.href = toLocalizedUrl(\n '/verify/collect-vat-number'\n );\n }}>\n {t('siteheader_collectVatNumberContinue')}\n \n }>\n {t('siteheader_collectVatNumberDescription')}\n \n );\n};\n\nconst CollectTinAlert = () => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n {\n e.preventDefault();\n window.location.href = toLocalizedUrl(\n '/verify/collect-tin'\n );\n }}>\n {t('siteheader_collectTinContinue')}\n \n }>\n {t('siteheader_collectTinDescription')}\n \n );\n};\n\nconst PayoutProviderOnboardingFailedAlert = () => {\n const { t } = useTranslator();\n return (\n \n {t('siteheader_payoutProviderOnboardingFailedDescription')}\n \n );\n};\n\nexport {\n InvoiceUnpaidAlert,\n InvoiceOverdueAlert,\n BankAccountMissingAlert,\n PayoutFailedAlert,\n PayoutReadyBankAccountMissingAlert,\n HyperwalletPayeeVerificationAlert,\n HyperwalletPayeeVerificationReviewAlert,\n KycQuestionnaireAlert,\n PayoutReadyVerificationRequiredAlert,\n OutstandingTraderaPayLicenseAlert,\n PayoutReadyOutstandingTraderaPayLicenseAlert,\n CollectVatNumberAlert,\n CollectTinAlert,\n PayoutProviderOnboardingFailedAlert\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"header--Af50n\",\"img\":\"img--N3lK1\",\"minWidth\":\"minWidth--Sq7dI\"};","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 44 46\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EDEAEA\",\n d: \"M43.4 36.93c0 5.01-9.44 9.07-21.07 9.07-11.64 0-21.07-4.06-21.07-9.07 0-5 9.43-9.06 21.07-9.06 11.63 0 21.07 4.06 21.07 9.06z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#003B29\",\n d: \"M35.12 34.26l-15.48 10.4-16.06-10.4a.34.34 0 01-.15-.26L2.35 18.47l-1.4-.6a.34.34 0 01-.2-.28l-.41-5.67 17.8-4.6a.34.34 0 01.16 0l19.98 4.94-.33 5.33c0 .13-.08.24-.2.29l-1.32.59L35.27 34c-.01.1-.06.2-.15.26z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18.05 7c.1-.03.22-.03.33 0l19.98 4.93c.16.04.26.18.25.35l-.32 5.33a.67.67 0 01-.4.58l-1.14.5-1.15 15.34a.63.63 0 01-.3.5l-15.47 10.4a.34.34 0 01-.37.01L3.4 34.54a.67.67 0 01-.3-.52L2.03 18.7l-1.21-.51a.67.67 0 01-.41-.58L0 11.94a.3.3 0 01.24-.34L18.05 7zM2.72 18.98l1.04 15 15.55 10.06V25.58l-16.59-6.6zm17.26 6.6l16.08-6.6-1.13 15-14.95 10.05V25.58zm16.32-7.42l-16.32 6.7v-4.9l17.93-7.2-.3 4.81-1.31.59zm.89-5.83L18.22 7.65 1.4 11.99l18.23 7.38 17.55-7.04zM19.3 19.95v4.9l-16.83-6.7-1.4-.58-.37-5.14 18.6 7.52z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FEF880\",\n d: \"M11.75 23.75c.49 2.34-6.39-6.7-9.09-8.98a.34.34 0 01-.01-.52 11.7 11.7 0 012.4-1.71l.14-.03h12.69l3.1.33 11.62 4.9c.09.03.16.1.19.2l1.46 4c.05.13.01.28-.1.37-1.84 1.57-5.7 4.3-7.7 3.71-1.7-.5-3.62-6.16-4.8-10.5l-2.6-1.62-3.32 1.63c-2.07 3.07-4.27 6.81-3.98 8.22z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M17.27 8.6a3.46 3.46 0 00-2.89-1.3.34.34 0 01-.05-.67c.73-.06 2.45.16 3.48 1.57l-.54.4zm4.76 1.14c-.22.06-.41.13-.55.16l-.15-.66.48-.14.19-.06c.3-.09.65-.2 1.02-.28.37-.08.76-.15 1.13-.15.36 0 .74.06 1.04.26a.34.34 0 01-.36.56c-.15-.1-.38-.15-.68-.15-.3 0-.64.06-.98.13-.34.08-.68.18-.97.27l-.17.06zM5.2 12.84a11.4 11.4 0 00-2.31 1.67c.7.59 1.64 1.6 2.66 2.73l1.9 2.15 1.21 1.38a37.34 37.34 0 002.75 2.86c-.04-.42.07-.9.24-1.43.2-.62.53-1.33.92-2.1a50.05 50.05 0 012.9-4.76 63 63 0 011.75-2.5H5.2zm12.44.57l-.9 1.26 1.63-.8-.73-.46zm1.4.88l-3.07 1.5a49 49 0 00-2.8 4.63c-.39.74-.7 1.42-.88 2-.2.58-.25 1-.2 1.27a.9.9 0 010 .5.47.47 0 01-.24.24.49.49 0 01-.3.03 3.08 3.08 0 01-.85-.55 37.77 37.77 0 01-2.54-2.7l-1.22-1.38-1.89-2.14a31.16 31.16 0 00-2.6-2.67.68.68 0 01-.02-1.02 12.2 12.2 0 012.49-1.76.6.6 0 01.28-.07h12.72l3.1.34.1.02 11.61 4.9c.17.07.3.21.37.39l1.47 4c.1.27.02.56-.2.75a25.3 25.3 0 01-3.84 2.7c-.74.4-1.5.76-2.2.96-.7.2-1.39.29-1.98.11a1.93 1.93 0 01-.79-.5 5.18 5.18 0 01-.7-.87c-.45-.7-.9-1.6-1.32-2.63-.83-2-1.59-4.45-2.17-6.6l-2.34-1.45zm2.09.5a72.6 72.6 0 01-.4-1.64l-2.69-.29 3.09 1.94zm.34-1.38l11.01 4.64 1.47 4c-.91.78-2.32 1.84-3.74 2.63a9.5 9.5 0 01-2.06.9c-.64.2-1.19.24-1.6.12a1.21 1.21 0 01-.5-.33 4.4 4.4 0 01-.61-.77c-.42-.64-.85-1.51-1.27-2.51-.83-2-1.6-4.49-2.18-6.65-.2-.72-.37-1.41-.52-2.03z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FEF880\",\n d: \"M8.21 37.35l-1.5-17.46a.34.34 0 01.6-.25l3.53 3.95c.05.05.08.12.08.2l1.2 15.44a.34.34 0 01-.5.31l-3.25-1.93a.34.34 0 01-.16-.26zm18.46 2.09l1.26-13.31a.34.34 0 01.2-.27l3.23-1.6c.24-.1.5.08.49.34l-1.11 12.76c-.01.1-.07.2-.16.25l-3.4 2.15a.34.34 0 01-.5-.32z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M6.38 19.92a.67.67 0 011.17-.5l3.54 3.94c.1.11.15.25.17.4l1.2 15.44c.04.54-.55.9-1.02.63L8.2 37.9a.67.67 0 01-.32-.52l-1.5-17.46zm4.2 3.9l-3.53-3.96 1.5 17.46 3.24 1.93-1.2-15.44zm20.64.15c.47-.23 1 .14.96.66l-1.1 12.75a.7.7 0 01-.32.51l-3.4 2.15a.67.67 0 01-1.02-.63L27.6 26.1a.67.67 0 01.37-.54l3.25-1.58zm.3.6l-3.25 1.59L27 39.47l3.4-2.14 1.1-12.76z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FEF880\",\n d: \"M22.39 7.93c2.19-2.59 7.18-5.3 10.77-3.98a7.26 7.26 0 013.19 2.1c1.67 2 .76 4.37.42 5.28-.6 1.68-2.25 5.34-4.2 6.55-1.94 1.2-5.44 0-7.7-1.83a9.9 9.9 0 01-3-3.88c-2.06 1.68-3.69.37-4.24-.5-.6.6-4.27 3.3-7.3 3.02-2.12-.2-4.12-.75-5.1-2.18l-.2-.34c-.87-1.68-.13-5.96.34-7.89C6.21 2.1 7.22.34 10.16.34c3.6 0 6.85 4.2 8.48 6.54.52-.26 1.02-.26 1.31-.1.22.12.55.32.8.31.61-.02 1.32.3 1.64.84z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M6.74 1.25A4.59 4.59 0 0110.16 0c1.93 0 3.72 1.12 5.2 2.48a24.72 24.72 0 013.4 3.99c.5-.19 1-.18 1.35.02l.06.03.3.16a.7.7 0 00.27.08 2.3 2.3 0 011.66.65 14.2 14.2 0 014.72-3.24c2-.85 4.25-1.24 6.15-.54a7.6 7.6 0 013.33 2.2c1.8 2.16.83 4.7.49 5.6v.02c-.3.85-.88 2.2-1.62 3.5-.74 1.28-1.67 2.56-2.72 3.21-1.09.68-2.56.66-4 .27a11.53 11.53 0 01-4.1-2.12l.22-.26-.21.26h-.01a7.24 7.24 0 01-1.5-1.44 10.8 10.8 0 01-1.42-2.18c-.98.67-1.88.74-2.65.5a3.27 3.27 0 01-1.5-1.03 15.8 15.8 0 01-2.54 1.65c-1.39.72-3.13 1.36-4.75 1.21-2.12-.2-4.27-.76-5.33-2.32a3.68 3.68 0 01-.22-.37 4.72 4.72 0 01-.42-1.8c-.05-.7-.02-1.47.04-2.24a28.88 28.88 0 01.7-4.13c.42-1.1.9-2.14 1.68-2.9zm10.5 9.92c-.04-.7-.04-1.53.07-2.3.06-.48.17-.95.35-1.35.13-.27.3-.53.5-.72-.8-1.14-1.92-2.6-3.25-3.82-1.44-1.33-3.08-2.3-4.75-2.3-1.4 0-2.3.4-2.95 1.05A7.36 7.36 0 005.7 4.38c-.23.96-.53 2.48-.66 3.97a13.91 13.91 0 000 2.53c.06-.18.14-.36.24-.53.43-.74 1.23-1.33 2.55-1.61 1.65-.36 3.63.14 5.41.79.9.32 1.77.7 2.54 1.02l.1.04c.5.22.97.42 1.38.58zM5.57 12.38c.9 1.25 2.72 1.78 4.8 1.98 1.41.13 3.02-.44 4.37-1.15a15.3 15.3 0 002.24-1.43c-.4-.16-.87-.35-1.35-.56l-.12-.05c-.77-.33-1.62-.7-2.5-1.01-1.77-.64-3.59-1.08-5.04-.77-1.18.26-1.8.76-2.11 1.3a2.73 2.73 0 00-.3 1.7zm12.4-.83c.25.37.72.82 1.32 1 .57.18 1.3.14 2.17-.49a5.37 5.37 0 01-.35-2.63c.16-.49.46-1 .87-1.5a1.62 1.62 0 00-1.2-.5c-.2 0-.41-.07-.57-.14a4.68 4.68 0 01-.36-.19l-.05-.02c-.17-.1-.54-.13-1 .1-.2.1-.37.3-.51.62-.15.32-.25.72-.3 1.17-.13.87-.1 1.85-.03 2.58zm4.42.95c.37.73.83 1.4 1.29 1.94a6.7 6.7 0 001.4 1.35c1.1.89 2.5 1.63 3.86 2 1.26.33 2.43.34 3.27-.1-.3-1.8-1.94-3.12-4.03-3.98a16.78 16.78 0 00-5.79-1.2zm10.43 4.8c.75-.62 1.46-1.61 2.08-2.69a21.68 21.68 0 001.56-3.39v-.01c.36-.92 1.18-3.1-.36-4.95a6.93 6.93 0 00-3.05-2c-1.68-.61-3.73-.3-5.66.53a13.23 13.23 0 00-4.73 3.36 4.84 4.84 0 00-.92 1.5c-.07.7.07 1.45.35 2.18 1.73-.02 4.2.37 6.35 1.26 2.05.85 3.9 2.2 4.38 4.2zM21.74 9.63z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#505050\",\n fillOpacity: \".4\",\n d: \"M24.98 16.03c2.2 1.78 5.55 2.96 7.52 1.93a.3.3 0 00.15-.31c-.34-2.06-2.21-3.47-4.42-4.35a16.84 16.84 0 00-6.26-1.15 9.9 9.9 0 003.01 3.88zm-7.24-4.38c-.6.6-4.27 3.3-7.3 3.02-2.12-.2-4.12-.75-5.09-2.18-.18-1.26.15-2.9 2.65-3.45 3.1-.67 7.59 1.88 9.74 2.6z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M19.78 7.01c-.2-.05-.52-.03-.88.15-.2.1-.37.3-.51.62-.14.31-.24.72-.3 1.17-.13.9-.1 1.92-.02 2.66.02.1-.02.2-.1.27-.32.34-1.42 1.18-2.82 1.9-1.38.73-3.13 1.37-4.74 1.22-2.13-.2-4.27-.76-5.34-2.32l.28-.2-.28.2a3.65 3.65 0 01-.22-.37l.14-.07c-.05-.6.03-1.3.39-1.91C5.8 9.59 6.6 9 7.93 8.72c1.66-.36 3.63.14 5.41.79a47.62 47.62 0 012.64 1.06l1.38.58c-.05-.7-.05-1.53.06-2.3.07-.48.18-.95.36-1.35.18-.4.44-.75.82-.94.47-.24.95-.3 1.34-.2.39.1.74.38.74.84H20c0-.05-.03-.14-.23-.19zm-2.7 4.75l-1.35-.56-.12-.05c-.77-.33-1.62-.7-2.5-1.01-1.77-.65-3.58-1.08-5.04-.77-1.18.26-1.8.76-2.11 1.3-.3.52-.36 1.13-.29 1.7.9 1.24 2.72 1.77 4.8 1.96 1.42.13 3.02-.43 4.37-1.14a15.3 15.3 0 002.25-1.43zm5.12.05a4.69 4.69 0 01-.35-2.22l-.67-.08c-.1.94.11 1.9.48 2.77a10.66 10.66 0 003.1 4l.18-.28-.18.29c1.14.92 2.57 1.68 3.97 2.08 1.4.4 2.83.46 3.92-.1a.64.64 0 00.33-.68c-.36-2.24-2.4-3.71-4.62-4.6a17.2 17.2 0 00-6.16-1.18zm.3.67c.36.73.83 1.4 1.28 1.94a6.7 6.7 0 001.41 1.35l-.21.26.21-.26a10.9 10.9 0 003.73 1.96c1.3.37 2.52.39 3.4-.05-.32-1.87-2.04-3.2-4.21-4.07a17.1 17.1 0 00-5.61-1.13z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M24.33 8.94c-1.1.3-2.14.72-2.75 1.01l-.35-.76c.65-.3 1.72-.74 2.88-1.06a8.8 8.8 0 013.4-.4.42.42 0 01-.12.83 8.04 8.04 0 00-3.06.38zM12 5.62c0-.23.2-.42.42-.42 1.43 0 2.67.6 3.61 1.34A7.62 7.62 0 0118 8.78l-.74.4a6.79 6.79 0 00-1.74-1.98 5.09 5.09 0 00-3.1-1.16.42.42 0 01-.42-.42z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillOpacity: \".1\",\n d: \"M4.28 33.17l-.75-12.1 2.27 13a.17.17 0 01-.27.16l-1.19-.94a.17.17 0 01-.06-.12z\"\n})));","// extracted by mini-css-extract-plugin\nexport default {\"greenBorder\":\"greenBorder--j04wE\"};","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.6 8L4.2 1.8c-.2-.2-.2-.5 0-.7s.5-.2.7 0L12 8l-7.2 6.9c-.2.2-.5.2-.7 0-.2-.2-.2-.5 0-.7L10.6 8z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n})));","import { useTranslator } from 'tradera/lang/translate';\nimport GiftIcon from 'tradera/blueprint/theme/icons-colored/gift.svg?jsx';\nimport styles from './referral-alert.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\nimport ForwardIcon from 'tradera/blueprint/theme/icons2/forward.svg?jsx';\nimport { useAppDispatch } from 'tradera/state/hooks';\nimport { openReferralModal } from 'tradera/state/ui/reducer';\n\nexport const ReferralAlert = () => {\n const { t } = useTranslator();\n const dispatch = useAppDispatch();\n\n return (\n <>\n dispatch(openReferralModal())}>\n \n
    \n \n {t('siteheader_referralAlert_line1')}\n \n
    \n {t('siteheader_referralAlert_line2')}\n \n
    \n
    \n \n
    \n \n );\n};\n","import { useTranslator } from 'tradera/lang/translate';\nimport VerificationIcon from 'tradera/blueprint/theme/icons-colored/verification.svg?jsx';\nimport styles from './referral-alert.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\nimport ForwardIcon from 'tradera/blueprint/theme/icons2/forward.svg?jsx';\n\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { selectMemberState } from 'tradera/state/member/selectors';\nimport { openModal } from 'tradera/state/ui/reducer';\nimport { headerInternationalIdentificationModalId } from 'tradera/components/international-identification-modal/header-international-identification-modal';\n\nexport const InternationalIdentificationAlert = () => {\n const dispatch = useAppDispatch();\n const { t } = useTranslator();\n const isInternationalBuyer = useAppSelector(selectMemberState) === 2006;\n\n if (!isInternationalBuyer) {\n return null;\n }\n\n return (\n <>\n \n dispatch(\n openModal({\n modalId: headerInternationalIdentificationModalId,\n data: { purpose: 'Identification' }\n })\n )\n }>\n \n
    \n \n {t('siteheader_verificationAlert_line1')}\n \n
    \n {t('siteheader_verificationAlert_line2')}\n \n
    \n
    \n
    \n
    \n \n );\n};\n","import { useState } from 'react';\n\nimport styles from './profile-header.module.scss';\nimport CloseIcon from '@tradera/blueprint/theme/icons2/close.svg?jsx';\nimport { RatingStars } from 'tradera/components/rating-stars/rating-stars';\nimport ALink from 'tradera/components/alink/alink';\n\nimport { useUrlLocalizer } from 'tradera/lang/translate';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { closeProfileMenu } from 'tradera/state/ui/reducer';\nimport { Button } from '../atoms/button/button';\nimport { classNames } from 'tradera/utils/class-names';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\nimport { ReferralAlert } from './referral-alert';\nimport { isSwedenCountryCodeOrUndefined } from 'tradera/localization/countrycode';\nimport { InternationalIdentificationAlert } from 'tradera/components/profile-menu/international-identification-alert';\nimport { Heading } from 'tradera/components/atoms/heading/heading';\n\nconst getGaLinkAttributes = (label: string) => ({\n 'data-ga-category': 'Top navigation',\n 'data-ga-action': 'Account menu',\n 'data-ga-label': `Link - ${label}`\n});\n\ntype Props = {\n onClose: () => void;\n};\n\nexport const ProfileHeader = ({ onClose }: Props) => {\n const [imageAvailable, setImageAvailable] = useState(true);\n const { toLocalizedUrl } = useUrlLocalizer();\n const dispatch = useAppDispatch();\n const handleCloseProfileMenu = () => dispatch(closeProfileMenu());\n const {\n memberAlias,\n cleanedMemberAlias,\n memberDetailedSellerRatingAverage: rating,\n memberHeroImage,\n memberId,\n memberCountryCodeIso2,\n memberIsBuyer,\n memberIsSeller\n } = useAppSelector((state) => state.member);\n const showReferralAlert =\n useIsFeatureEnabled('member-get-member') &&\n (memberIsBuyer || memberIsSeller) &&\n isSwedenCountryCodeOrUndefined(memberCountryCodeIso2);\n\n const imageUrl = memberHeroImage?.min;\n\n return (\n <>\n \n {imageUrl && imageAvailable && (\n {\n setImageAvailable(false);\n }}\n />\n )}\n \n \n \n \n {memberAlias}\n \n \n {!!rating && cleanedMemberAlias && (\n
    \n \n
    \n )}\n
    \n }\n />\n \n \n {showReferralAlert && }\n \n \n );\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 21 21\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.43 7.66c-.2 0-.35.17-.35.37V9.4c0 .2.16.37.35.37h5.65v-2.1H2.43zm6.72 0v2.1h9.42c.2 0 .35-.16.35-.36V8.03c0-.2-.16-.37-.35-.37H9.15zm-1.07 3.2H3.49v7.68c0 .2.16.36.36.36h4.23v-8.04zm1.07 8.04v-8.04h8.36v7.68c0 .2-.16.36-.36.36h-8zm9.43-8.04A1.45 1.45 0 0020 9.4V8.03c0-.8-.64-1.46-1.43-1.46H2.43C1.64 6.57 1 7.22 1 8.03V9.4c0 .8.63 1.45 1.42 1.46v7.68c0 .8.64 1.46 1.43 1.46h13.3c.8 0 1.43-.65 1.43-1.46v-7.68z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.75 19.45V7.12h1.08v12.33h-1.08zM4.86 2.49A3.22 3.22 0 003.7 5.04c0 1 .44 1.72 1.07 2.15.59.4 1.32.53 1.94.45l2.65.02c.9 0 1.67-.9 1.26-1.86a6.9 6.9 0 00-2.63-3.3c-1.2-.7-2.3-.63-3.12-.01zm.65.88c.4-.31 1.04-.44 1.93.08 1.1.65 1.8 1.86 2.19 2.78a.2.2 0 01-.02.21.3.3 0 01-.26.12l-2.72-.01H6.6c-.42.06-.9-.03-1.25-.27-.33-.22-.59-.6-.59-1.24 0-.69.3-1.33.75-1.67z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.69 2.49a3.22 3.22 0 011.17 2.55c0 1-.43 1.72-1.06 2.15-.6.4-1.32.53-1.95.45l-2.36.02c-.83 0-1.57-.74-1.32-1.67.27-1 .9-2.6 2.4-3.49 1.2-.7 2.3-.63 3.12-.01zm-.64.88c-.41-.31-1.05-.44-1.94.08a4.6 4.6 0 00-1.9 2.83.2.2 0 00.04.18c.04.06.12.1.23.1l2.44-.01h.03c.42.06.9-.03 1.25-.27.33-.22.59-.6.59-1.24 0-.69-.3-1.33-.74-1.67z\"\n})));","// extracted by mini-css-extract-plugin\nexport default {\"itemImage\":\"itemImage--GqU3C\",\"itemWithIcon\":\"itemWithIcon--EZ6fA\",\"itemWithImage\":\"itemWithImage--mD3M8\",\"item\":\"item--qPyEr\",\"itemDefault\":\"itemDefault--aXP4V\"};","import * as ToggleSwitch from 'tradera/components/form-controls/toggle-switch/toggle-switch';\nimport { classNames } from 'tradera/utils/class-names';\nimport styles from './menu-item-toggle.module.scss';\n\ntype MenuItemWithToggleProps = {\n label: string;\n checked: boolean;\n onChange: (checked: boolean) => void;\n id: string;\n name?: string;\n value?: string;\n disabled?: boolean;\n className?: string;\n icon?: React.ReactNode;\n border?: boolean;\n size?: 'small' | 'medium';\n};\n\nexport const MenuItemWithToggle = ({\n label,\n checked,\n onChange,\n id,\n name,\n value,\n disabled = false,\n className = '',\n icon,\n border = false,\n size = 'small'\n}: MenuItemWithToggleProps) => {\n const containerClass = classNames(\n 'd-flex flex-row align-items-center justify-content-between pr-2',\n styles.item,\n icon ? styles.itemWithIcon : styles.itemDefault,\n className\n );\n\n return (\n
  • \n \n {icon && (\n \n {icon}\n \n )}\n {label}\n \n \n
  • \n );\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 17\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.9 1.7c-.2.3-.28.66-.28.9a.6.6 0 01-1.2 0c0-.43.12-1.06.51-1.6.41-.57 1.1-1 2.09-1 .96 0 1.65.36 2.07.92.41.53.53 1.18.53 1.68a3 3 0 01-1.24 2.48c-.28.2-.55.35-.76.44v2.26a427.2 427.2 0 008.31 5.46c1.35.86.73 2.96-.87 2.96H1.61c-1.62 0-2.22-2.13-.84-2.98 2.4-1.47 5.78-3.58 8.65-5.44V4.63l.45-.11a1.33 1.33 0 00.23-.08c.15-.07.36-.17.56-.32.39-.3.76-.76.76-1.52 0-.35-.09-.7-.28-.96-.17-.22-.48-.44-1.12-.44-.6 0-.93.24-1.12.5zm1.11 7.12a418.22 418.22 0 01-8.62 5.42c-.34.22-.19.76.22.76h16.45c.4 0 .56-.53.22-.75a430.68 430.68 0 01-8.27-5.43z\"\n})));","import { MenuItemWithToggle } from 'tradera/components/site-header/menu-item-toggle';\nimport FashionIcon from '@tradera/blueprint/theme/icons2/fashion.svg?jsx';\nimport {\n useGetHomepageThemeQuery,\n useUpdateHomepageThemeMutation\n} from 'tradera/state/services/start-page-theme-api';\nimport { HomepageTheme } from 'tradera/state/services/types/webapi-member-generated';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { isOnStartPage } from 'tradera/components/profile-menu/helpers';\nimport { useNavigation } from 'tradera/hooks/use-navigation';\nimport { closeProfileMenu } from 'tradera/state/ui/reducer';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { ENTERED_FASHION_PAGE } from 'tradera/constants/cookies';\nimport { useCookieUtil } from 'tradera/hooks/use-cookie-util';\nimport { selectIsLoggedIn } from 'tradera/state/member/selectors';\n\nexport const FashionToggleMenuItem = () => {\n const { t } = useTranslator();\n const dispatch = useAppDispatch();\n const isLoggedIn = useAppSelector(selectIsLoggedIn);\n const { data } = useGetHomepageThemeQuery(undefined, {\n skip: !isLoggedIn\n });\n const [updateHomepageTheme] = useUpdateHomepageThemeMutation();\n const { push } = useNavigation();\n const { toLocalizedUrl } = useUrlLocalizer();\n const cookieUtil = useCookieUtil();\n const isFashionToggleOn = data?.theme === HomepageTheme.Fashion;\n\n const handleFashionToggleChange = async (shouldBeToggledOn: boolean) => {\n const newTheme = shouldBeToggledOn\n ? HomepageTheme.Fashion\n : HomepageTheme.Default;\n\n try {\n await updateHomepageTheme({ theme: newTheme }).unwrap();\n // if actively toggling fashion theme off, store value in cookie so that navigating\n // to /fashion in the future doesn't activate the fashion theme again\n if (!shouldBeToggledOn) {\n cookieUtil.createCookie(ENTERED_FASHION_PAGE, true, 365);\n }\n if (isOnStartPage(window.location.pathname)) {\n push(toLocalizedUrl(shouldBeToggledOn ? '/fashion' : '/'));\n dispatch(closeProfileMenu());\n }\n } catch (error) {\n console.error('Failed to update theme', error);\n }\n };\n\n return (\n }\n checked={isFashionToggleOn}\n onChange={() => handleFashionToggleChange(!isFashionToggleOn)}\n border\n />\n );\n};\n","import { URL_LANGUAGES } from 'tradera/lang/constants.mjs';\n\n/**\n * Note: this expects to be called with window.location.pathname, so it will not handle\n * query parameters.\n */\nexport const isOnStartPage = (pathname: string) => {\n const isRootPath = pathname === '/';\n const fashionPath = '/fashion';\n const pokemonPath = '/pokemon';\n const isFashionPath = pathname === fashionPath;\n const isPokemonPath = pathname === pokemonPath;\n const isLocalePath = URL_LANGUAGES.some((lang) => pathname === `/${lang}`);\n\n return isRootPath || isFashionPath || isPokemonPath || isLocalePath;\n};\n","import MediaQuery from 'react-responsive';\nimport { useCallback, useState } from 'react';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { BREAKPOINT_SIZES, BREAKPOINTS } from 'tradera/constants/breakpoints';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { getMenuGaAttributes } from 'tradera/components/site-header/site-header.analytics';\n\nimport { useQualtive } from 'tradera/hooks/use-qualtive';\nimport { SURVEYS } from 'tradera/constants/surveys';\nimport { closeProfileMenu } from 'tradera/state/ui/reducer';\nimport { MenuItemSeparator } from 'tradera/components/site-header/dropdown-menu-item-separator';\nimport { MenuItem } from 'tradera/components/site-header/dropdown-menu-item';\nimport { ExpandableMenuItem } from 'tradera/components/site-header/dropdown-menu-item-expandable';\nimport { LocalizationMenuItem } from './expandable-localization-menu-item';\nimport { CurrencyMenuItem } from './expandable-currency-menu-item';\nimport {\n InvoiceUnpaidAlert,\n InvoiceOverdueAlert,\n BankAccountMissingAlert,\n PayoutFailedAlert,\n PayoutReadyBankAccountMissingAlert,\n HyperwalletPayeeVerificationAlert,\n HyperwalletPayeeVerificationReviewAlert,\n KycQuestionnaireAlert,\n PayoutReadyVerificationRequiredAlert,\n OutstandingTraderaPayLicenseAlert,\n PayoutReadyOutstandingTraderaPayLicenseAlert,\n CollectVatNumberAlert,\n CollectTinAlert,\n PayoutProviderOnboardingFailedAlert\n} from './profile-menu-alerts';\nimport { ProfileHeader } from './profile-header';\nimport AuctionIcon from '@tradera/blueprint/theme/icons2/auction.svg?jsx';\nimport AuctionLostIcon from '@tradera/blueprint/theme/icons2/bid-lost.svg?jsx';\nimport BookmarkIcon from '@tradera/blueprint/theme/icons2/bookmark.svg?jsx';\nimport BuyIcon from '@tradera/blueprint/theme/icons2/buy.svg?jsx';\nimport ChatIcon from '@tradera/blueprint/theme/icons2/chat.svg?jsx';\nimport FeedbackIcon from 'tradera/blueprint/theme/icons2/feedback.svg?jsx';\nimport DocumentIcon from '@tradera/blueprint/theme/icons2/document.svg?jsx';\nimport HeartIcon from '@tradera/blueprint/theme/icons2/heart.svg?jsx';\nimport HomeIcon from '@tradera/blueprint/theme/icons2/home.svg?jsx';\nimport ListIcon from '@tradera/blueprint/theme/icons2/list.svg?jsx';\nimport LogoutIcon from '@tradera/blueprint/theme/icons2/logout.svg?jsx';\nimport ShippingBagIcon from '@tradera/blueprint/theme/icons2/shipping-bag.svg?jsx';\nimport PenIcon from '@tradera/blueprint/theme/icons2/pen.svg?jsx';\nimport RatingPositiveIcon from '@tradera/blueprint/theme/icons2/rating-positive.svg?jsx';\nimport SaleIcon from '@tradera/blueprint/theme/icons2/sale.svg?jsx';\nimport SettingsIcon from '@tradera/blueprint/theme/icons2/settings.svg?jsx';\nimport SoldIcon from '@tradera/blueprint/theme/icons2/sold.svg?jsx';\nimport ListingsIcon from '@tradera/blueprint/theme/icons2/listings.svg?jsx';\nimport StarIcon from '@tradera/blueprint/theme/icons2/star.svg?jsx';\nimport UnsoldIcon from '@tradera/blueprint/theme/icons2/unsold.svg?jsx';\nimport UserIcon from '@tradera/blueprint/theme/icons2/user.svg?jsx';\nimport WalletIcon from '@tradera/blueprint/theme/icons2/wallet.svg?jsx';\nimport WinningIcon from '@tradera/blueprint/theme/icons2/winning.svg?jsx';\nimport TemplateIcon from '@tradera/blueprint/theme/icons2/templates.svg?jsx';\nimport GiftCardIcon from '@tradera/blueprint/theme/icons2/gift-card.svg?jsx';\nimport { logOutAction } from 'tradera/state/ui/actions';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { REDIRECT_TO_NEWDRAFT_QUERY } from 'tradera/apps/syi/constants';\nimport { selectIsUnderage } from 'tradera/state/member/selectors';\nimport { UnderageModal } from 'tradera/components/underage/underage-modal';\nimport { useGetMessagingStatsQuery } from 'tradera/state/services/messaging-stats-api';\nimport { classNames } from 'tradera/utils/class-names';\nimport styles from 'tradera/components/site-header/dropdown-menu.module.scss';\nimport { FashionToggleMenuItem } from './fashion-toggle-menu-item';\nimport { useCookieUtil } from 'tradera/hooks/use-cookie-util';\nimport { ENTERED_FASHION_PAGE } from 'tradera/constants/cookies';\nimport { isSwedenCountryCodeOrUndefined } from 'tradera/localization/countrycode';\nimport { myTraderaUrls } from 'tradera/apps/my-tradera/app/pages/routes';\nimport { useBiddingPageOptIn } from 'tradera/apps/my-tradera/bidding/rollout/use-bidding-page-opt-in';\n\nconst mediaBelowLarge = { maxWidth: BREAKPOINT_SIZES[BREAKPOINTS.MD].max };\n\nconst getGaAttributes = (label: string) =>\n getMenuGaAttributes('Top navigation', 'Account menu', label);\n\nconst trackOnClick = (label: string) => {\n GtmService.trackAction('Top navigation', 'Account menu', `Link - ${label}`);\n};\n\nconst trackExpandItemClick = (label: string) => {\n GtmService.trackAction('Top navigation', 'Account menu', label);\n};\n\ntype ProfileMenuContentProps = {\n onClose: () => void;\n};\n\nexport const ProfileMenuContent = ({ onClose }: ProfileMenuContentProps) => {\n const { t } = useTranslator();\n const dispatch = useAppDispatch();\n const cookieUtil = useCookieUtil();\n const {\n cleanedMemberAlias,\n memberId,\n hasTraderaPay,\n memberCountryCodeIso2\n } = useAppSelector((state) => state.member);\n const isUnderage = useAppSelector(selectIsUnderage);\n const showMessagingLink = useIsFeatureEnabled('messaging');\n const hasEnteredFashionPage =\n cookieUtil.readCookie(ENTERED_FASHION_PAGE) === 'true';\n\n const { data: { threadsUnread } = {} } = useGetMessagingStatsQuery(\n undefined,\n { skip: !showMessagingLink }\n );\n\n const [showUnderageModal, setShowUnderageModal] = useState(false);\n\n const { systemMessages, systemBadges } = useAppSelector(\n (state) => state.ui\n );\n const { toLocalizedUrl } = useUrlLocalizer();\n const isTraderaShopEnabled = useIsFeatureEnabled('tradera-shop');\n const { isQualtiveEnabled, openQualtiveModal } = useQualtive();\n\n const isFashionToggleEnabled = useIsFeatureEnabled('fashion-toggle');\n const showGiftCardLink =\n useIsFeatureEnabled('gift-card-in-profile-menu') &&\n isSwedenCountryCodeOrUndefined(memberCountryCodeIso2);\n\n const closeProfileMenuCallback = useCallback(\n () => dispatch(closeProfileMenu()),\n [dispatch]\n );\n\n const {\n isEnabledAndReady: isTryOutBiddingPageEnabled,\n optIn: isBiddingPageOptIn\n } = useBiddingPageOptIn();\n const isBiddingPageActive =\n isTryOutBiddingPageEnabled && isBiddingPageOptIn;\n\n return (\n
    \n \n \n
    \n );\n};\n","import { isServer } from 'tradera/utils/nextjs';\n\nexport const openChatBot = () => {\n if (isServer) return;\n\n const protocol =\n document.location.protocol === 'https:' ? 'https://' : 'http://';\n\n const id = '62132ec40d7b5b0007d222c5';\n const src = `${protocol}cdn.chatbot.com/widget/plugin.js`;\n\n window.__be = window.__be || {};\n window.__be.id = id;\n window.BE_API = window.BE_API || {};\n\n if (window.BE_API.openChatWindow) {\n if (\n window.BE_API.isChatWindowOpened &&\n !window.BE_API.isChatWindowOpened()\n ) {\n window.BE_API.openChatWindow();\n }\n return;\n }\n\n window.BE_API.onLoad = () => {\n window.BE_API.openChatWindow();\n };\n\n if (!isExisting(src)) {\n const scriptEl = document.createElement('script');\n scriptEl.setAttribute('type', 'text/javascript');\n scriptEl.setAttribute('async', true);\n scriptEl.setAttribute('src', src);\n\n document.body.appendChild(scriptEl);\n }\n};\n\nconst isExisting = (src) => {\n return !!document.querySelector(`script[src=\"${src}\"]`);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"iframe\":\"iframe--iq2IR\",\"iframeNoRecaptcha\":\"iframeNoRecaptcha--SBBWe\"};","import { MenuItemSeparator } from 'tradera/components/site-header/dropdown-menu-item-separator';\nimport { MenuItem } from 'tradera/components/site-header/dropdown-menu-item';\nimport { ExpandableMenuItem } from 'tradera/components/site-header/dropdown-menu-item-expandable';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { getMenuGaAttributes } from 'tradera/components/site-header/site-header.analytics';\nimport { getReturnUrl } from 'tradera/utils/login';\nimport { logger } from 'packages/logger';\nimport {\n useTranslator,\n useUrlLocalizer,\n useCurrentLanguage\n} from 'tradera/lang/translate';\nimport { useQualtive } from 'tradera/hooks/use-qualtive';\nimport { SURVEYS } from 'tradera/constants/surveys';\nimport ChatIcon from '@tradera/blueprint/theme/icons2/chat.svg?jsx';\nimport InfoIcon from '@tradera/blueprint/theme/icons2/info.svg?jsx';\nimport { openChatBot } from './chat-bot-loader';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { Button } from '../atoms/button/button';\nimport CloseIcon from '@tradera/blueprint/theme/icons2/close.svg?jsx';\nimport { classNames } from 'tradera/utils/class-names';\nimport styles from './sign-in-menu-content.module.scss';\nimport dropdownMenuStyles from 'tradera/components/site-header/dropdown-menu.module.scss';\nimport { isSwedishOrUndefined } from 'tradera/localization/languagecode';\n\nconst onIframeLoad = (\n e: React.SyntheticEvent,\n closeMenu: () => void\n) => {\n const iframe = e.target as HTMLIFrameElement;\n if (iframe) {\n const iframeDocument =\n iframe.contentDocument || iframe.contentWindow?.document;\n if (iframeDocument) {\n iframeDocument.body.addEventListener('keydown', (e) => {\n if (e.keyCode === 27) {\n closeMenu();\n }\n });\n }\n }\n};\n\nconst getGaAttributes = (label: string) =>\n getMenuGaAttributes('Top navigation', 'Login menu', label);\n\nconst trackOnClick = (label: string) => {\n GtmService.trackAction('Top navigation', 'Login menu', `Link - ${label}`);\n};\n\ntype SignInMenuContentProps = {\n closeMenu: () => void;\n showCloseButton?: boolean;\n iframeClassName?: string;\n};\n\nexport const SignInMenuContent = ({\n closeMenu,\n showCloseButton = true,\n iframeClassName: iframeClassProp\n}: SignInMenuContentProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const { language } = useCurrentLanguage();\n const { isQualtiveEnabled, openQualtiveModal } = useQualtive();\n const { redirectUrl } = useAppSelector((state) => state.ui.profileMenu);\n const isNextWebLoginEnabled = useIsFeatureEnabled('next-web-login');\n\n const isLanguageSwedish = isSwedishOrUndefined(language);\n const isChatBotEnabled = isLanguageSwedish;\n\n const iframeClass = useIsFeatureEnabled('recaptcha-v3')\n ? styles.iframe\n : styles.iframeNoRecaptcha;\n\n return (\n
    \n {showCloseButton ? (\n
    \n }\n />\n
    \n ) : null}\n
    \n onIframeLoad(e, closeMenu)}>\n

    Din browser saknar stöd för iframes

    \n \n }\n border={false}>\n }\n gaAttributes={getGaAttributes('Forgot')}\n />\n }\n gaAttributes={getGaAttributes('Help pages')}\n />\n }\n gaAttributes={getGaAttributes('Customer service')}\n />\n {isChatBotEnabled && (\n }\n onClick={async () => {\n try {\n openChatBot();\n closeMenu();\n } catch (e) {\n logger(e);\n }\n\n trackOnClick('Chat with JUNO');\n }}\n />\n )}\n {isQualtiveEnabled && (\n }\n onClick={() => {\n openQualtiveModal(SURVEYS.general);\n trackOnClick('Leave feedback Qualtive');\n }}\n />\n )}\n {/* NOTE: Fix for iPhone menu making bottom element unclickable */}\n \n \n
    \n
    \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"profileMenu\":\"profileMenu--Zn3XU\",\"modalLogo\":\"modalLogo--UIaKk\",\"minHeight\":\"minHeight--p_UEM\"};","import ApplicationErrorBoundary from 'tradera/components/application-error-boundary/application-error-boundary';\nimport { ProfileMenuContent } from './profile-menu-content';\nimport { SignInMenuContent } from './sign-in-menu-content';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { SideMenu } from 'tradera/components/side-menu/side-menu';\nimport { closeProfileMenu } from 'tradera/state/ui/reducer';\nimport useIsMobile from 'tradera/hooks/use-is-mobile';\nimport styles from './profile-menu.module.scss';\nimport { ScrollableModal } from 'tradera/components/scrollable-modal/scrollable-modal';\nimport TraderaSymbol from '@tradera/blueprint/theme/logos/tradera_symbol.svg?jsx';\nimport { useGrowthBook } from '@growthbook/growthbook-react';\nimport { selectPreviousLoginMethod } from 'tradera/state/member/selectors';\n\ntype ProfileMenuProps = {\n show: boolean;\n};\n\nexport const ProfileMenu = ({ show }: ProfileMenuProps) => {\n const { isLoggedIn } = useAppSelector((state) => state.member);\n const dispatch = useAppDispatch();\n const isMobile = useIsMobile();\n\n // only activate experiment is user has a previous login method\n const previousLoginMethod = useAppSelector(selectPreviousLoginMethod);\n const growthBook = useGrowthBook();\n const experimentValue = previousLoginMethod\n ? growthBook?.getFeatureValue('tgl-620-show-latest-login-option', 0)\n : 0;\n const experimentIsOn = experimentValue === 2;\n\n const onClose = () => {\n dispatch(closeProfileMenu());\n };\n\n return (\n \n {!isLoggedIn && experimentIsOn ? (\n \n
    \n \n
    \n \n \n ) : (\n \n
    \n {isLoggedIn ? (\n \n ) : (\n \n )}\n
    \n \n )}\n
    \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"iconHero\":\"iconHero--OhvVS\"};","import { useTranslator } from 'tradera/lang/translate';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { ScrollableModal } from '../scrollable-modal/scrollable-modal';\nimport { closeReferralModal } from 'tradera/state/ui/reducer';\nimport GiftIcon from 'tradera/blueprint/theme/icons-colored/gift.svg?jsx';\nimport styles from './referral-modal.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\nimport { useGetReferralCodeQuery } from './services/referral-modal-api';\nimport { Button } from '../atoms/button/button';\nimport { AccordionItem } from '../accordion/accordion';\nimport { LocalLoader } from '../loader/loader';\nimport { getEmailShareLink, getSmsShareLink } from 'tradera/utils/share-link';\nimport { useLocalizedPriceFormatter } from 'tradera/localization/use-localized-price-formatter';\nimport useIsLoggedIn from 'tradera/hooks/use-is-loggedin';\nimport useIsMobile from 'tradera/hooks/use-is-mobile';\nimport ArrowRightIcon from 'tradera/blueprint/theme/icons2/arrow-right.svg?jsx';\nimport ShareIcon from 'tradera/blueprint/theme/icons2/share.svg?jsx';\nimport { HeaderWithCloseButton } from '../scrollable-modal/header-with-close-button';\nimport { useEffect, useState } from 'react';\nimport { isServer } from 'tradera/utils/nextjs';\nimport { showErrorToast } from 'tradera/services/toasts';\nimport { CurrencyRateType } from 'tradera/state/multi-currency/reducer';\n\nexport const ReferralModal = () => {\n const { t } = useTranslator();\n const dispatch = useAppDispatch();\n const localizedPriceFormatter = useLocalizedPriceFormatter(\n CurrencyRateType.Buyer\n );\n const isMobile = useIsMobile();\n const isLoggedIn = useIsLoggedIn();\n const [codeCopied, setCodeCopied] = useState(false);\n const canShare = !isServer && navigator?.canShare?.({ text: 'text' });\n const gaCategory = 'Referral';\n const isOpen =\n useAppSelector((state) => state.ui.referralModal?.isOpen) && isLoggedIn;\n const { data, isFetching } = useGetReferralCodeQuery({}, { skip: !isOpen });\n const referral = data?.referralCode;\n const isError = data?.responseStatus?.errorCode;\n const referralCode = referral\n ? `${referral.substring(0, 4)}_${referral.substring(4)}`\n : '-';\n const formattedAmount = localizedPriceFormatter(data?.amount || 0);\n\n const onClose = () => {\n dispatch(closeReferralModal());\n };\n\n const copyCode = () => {\n navigator.clipboard.writeText(\n t('referralModal_share_copyBody', {\n code: referralCode,\n amount: formattedAmount\n })\n );\n setCodeCopied(true);\n };\n\n const nativeShare = () => {\n navigator.share({\n text: t('referralModal_share_nativeBody', {\n code: referralCode,\n amount: formattedAmount\n })\n });\n };\n\n useEffect(() => {\n if (isError) {\n dispatch(closeReferralModal());\n showErrorToast(\n 'referralModal_error_generic',\n 'referralModal_error_header'\n );\n }\n }, [isError, dispatch]);\n\n return (\n }>\n
    \n \n

    \n {!isFetching &&\n t('referralModal_title', { amount: formattedAmount })}\n

    \n
    \n {!isFetching &&\n t('referralModal_description', {\n amount: formattedAmount\n })}\n
    \n
    \n {isFetching && }\n \n {referralCode}\n
    \n \n
    \n {isMobile &&\n (canShare ? (\n <>\n \n }\n iconRight={\n \n }\n onClick={nativeShare}\n data-ga-category={gaCategory}\n data-ga-action=\"Navigation\"\n data-ga-label=\"Sociala medier - Dela\"\n className=\"border-bottom py-2\">\n \n {t('referralModal_nativeShare')}\n \n \n \n ) : (\n <>\n \n }\n href={getSmsShareLink({\n number: undefined,\n body: t('referralModal_share_smsBody', {\n code: referralCode,\n amount: formattedAmount\n })\n })}\n data-ga-category={gaCategory}\n data-ga-action=\"Navigation\"\n data-ga-label=\"Sociala medier - SMS\"\n className=\"border-bottom py-2\">\n \n {t('referralModal_shareSms')}\n \n \n \n }\n href={getEmailShareLink({\n subject: undefined,\n body: t('referralModal_share_emailBody', {\n code: referralCode,\n amount: formattedAmount\n })\n })}\n data-ga-category={gaCategory}\n data-ga-action=\"Navigation\"\n data-ga-label=\"Sociala medier - Mail\"\n className=\"border-bottom py-2\">\n \n {t('referralModal_shareEmail')}\n \n \n \n ))}\n \n {t('referralModal_termsTitle')}\n \n }\n className=\"border-0\">\n {t('referralModal_termsDescription')}\n \n \n \n );\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n className: styles[\"st0\"] || \"st0\",\n d: \"M8 0c1.2 0 2.3 1 2.3 2.2 0 .1 0 .1.1.2 1.4.8 1.9 1.9 2.4 4.1l.1.6c.4 2 .7 2.7 1.4 2.9.4.1.6.4.7.8v1.1c0 .5-.4.9-.9 1l-.1.1h-3c0 1.6-1.4 3-3 3s-2.9-1.3-3-2.8V13H2c-.5 0-.9-.4-1-.9V11c0-.4.3-.8.7-1 .7-.2 1-.8 1.4-2.7l.1-.6c.5-2.4 1-3.6 2.4-4.4.1 0 .1-.1.1-.2V1.8C5.9.9 6.8 0 8 0zM6 13c0 1 .9 1.9 1.9 2h.2c.9-.1 1.8-.9 1.8-1.8V13H6zM8 1c-.6 0-1.1.4-1.2 1v.4c0 .3-.2.6-.5.8l-.2.1c-2.7 1.5-1.3 6.5-3.9 7.6L2 11v1h12v-1l-.2-.1c-2.5-1.1-1.2-5.8-3.7-7.5l-.2-.1c-.4-.2-.6-.5-.6-.9v-.1C9.3 1.5 8.7 1 8 1z\"\n})));","import { isServer } from 'tradera/utils/nextjs';\nimport { webApi } from 'tradera/state/services/webapi-api';\n\nimport type {\n GetNotificationsApiResponse,\n SetLastNotifiedApiResponse\n} from 'tradera/state/services/types/webapi-member-generated';\nimport qs from 'qs';\nimport { defaultSerializeQueryArgs } from '@reduxjs/toolkit/dist/query';\n\nexport const NOTIFICATIONS_ENDLESS_PAGESIZE = 50;\n\nexport const notificationsApi = webApi.injectEndpoints({\n endpoints: (builder) => ({\n getUnreadNotificationsCount: builder.query({\n query: () => {\n const baseUrl = isServer ? '' : '/api/webapi';\n return `${baseUrl}/member/unread-notifications-count`;\n },\n transformResponse: (result: GetNotificationsApiResponse) =>\n result.unreadCount\n }),\n getNotificationsEndless: builder.query<\n GetNotificationsApiResponse & { page: number },\n { page?: number }\n >({\n query: ({ page = 1 }) => {\n const baseUrl = isServer ? '' : '/api/webapi';\n const params = qs.stringify(\n {\n take: NOTIFICATIONS_ENDLESS_PAGESIZE,\n skip: (page - 1) * NOTIFICATIONS_ENDLESS_PAGESIZE\n },\n { addQueryPrefix: true }\n );\n return `${baseUrl}/member/notifications${params}`;\n },\n transformResponse: (\n response: GetNotificationsApiResponse,\n _,\n request\n ) => {\n return { ...response, page: request.page ?? 1 };\n },\n serializeQueryArgs: ({ endpointDefinition, endpointName }) => {\n // Exclude pageNumber from queryArgs to be ablue to use same cache for infiniteScroll\n return defaultSerializeQueryArgs({\n endpointName,\n queryArgs: {},\n endpointDefinition\n });\n },\n forceRefetch: ({ currentArg, previousArg }) => {\n return currentArg?.page !== previousArg?.page;\n },\n merge: (currentCacheData, response) => {\n return {\n ...currentCacheData,\n items: [\n ...(currentCacheData.items ?? []),\n ...(response.items ?? [])\n ],\n unreadCount: response.unreadCount,\n totalCount: response.totalCount,\n page: response.page\n };\n },\n // onQueryStarted is used here for automatically mark the notifications as read after loading data first page.\n onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {\n if (arg.page && arg.page > 1) return;\n const result = await queryFulfilled;\n if (result?.data?.unreadCount) {\n dispatch(endpoints.clearAllUnreadNotifications.initiate());\n }\n }\n }),\n clearAllUnreadNotifications: builder.mutation<\n SetLastNotifiedApiResponse,\n void\n >({\n query: () => {\n const baseUrl = isServer ? '' : '/api/webapi';\n return {\n url: `${baseUrl}/member/lastnotified`,\n method: 'POST'\n };\n },\n onQueryStarted: async (_, { dispatch }) => {\n dispatch(\n notificationsApi.util.upsertQueryData(\n 'getUnreadNotificationsCount',\n undefined,\n 0\n )\n );\n }\n })\n })\n});\n\nexport const {\n useGetUnreadNotificationsCountQuery,\n useGetNotificationsEndlessQuery,\n endpoints\n} = notificationsApi;\n","import { useGetUnreadNotificationsCountQuery } from 'tradera/apps/tradera/components/notifications-side-sheet/notifications-api';\nimport { HeaderBadge } from 'tradera/components/site-header/header-badge';\n\nexport const NotificationsBadge = () => {\n const { data: unreadNotificationsCount = 0 } =\n useGetUnreadNotificationsCountQuery();\n\n return unreadNotificationsCount > 0 ? (\n \n ) : null;\n};\n","import BellIcon from '@tradera/blueprint/theme/icons2/bell.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport {\n closeCategoryDropdownMenu,\n closeProfileMenu,\n closeWishListSideSheet,\n closeNotificationsSideSheet,\n openNotificationsSideSheet\n} from 'tradera/state/ui/reducer';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { classNames } from 'tradera/utils/class-names';\nimport { NotificationsBadge } from 'tradera/components/site-header/notifications-badge';\n\nexport const NotificationsLink = () => {\n const dispatch = useAppDispatch();\n\n const { isOpen } = useAppSelector(\n (state) => state.ui.notificationsSideSheet\n );\n\n const handleOnClick = () => {\n if (isOpen) {\n dispatch(closeNotificationsSideSheet());\n } else {\n dispatch(closeWishListSideSheet());\n dispatch(closeCategoryDropdownMenu());\n dispatch(closeProfileMenu());\n\n dispatch(openNotificationsSideSheet());\n }\n };\n\n return (\n \n \n \n \n );\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 12c2.2 0 4-1.8 4-4s-1.8-4-4-4-4 1.8-4 4 1.8 4 4 4z\"\n})));","import { memo } from 'react';\nimport PropTypes from 'prop-types';\n\nconst Shimmer = ({ width, height, classNames }) => (\n \n);\n\nShimmer.propTypes = {\n width: PropTypes.any.isRequired,\n height: PropTypes.number.isRequired,\n classNames: PropTypes.string\n};\n\nexport default memo(Shimmer);\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 96 123\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.27 2.04c3.84-3.7 9.4-1.84 13.58 1.4 6.03 4.66 8.76 15.32 9.22 17.26.04.2.15.38.3.52 1.48 1.3 9.39 8.32 9.95 9.18 1.1 1.66.4 3.3.4 3.3l3 .91a.95.95 0 01.26 1.7l-10.76 7.35a.95.95 0 01-1.49-.79v-2.59s-2.23.7-4-2.1c-1.2-2.67-4.58-9.48-5.33-10.98a.96.96 0 00-.46-.44C15.1 25.88 5.3 20.98 2.27 14.92c-2.36-4.72-3.63-9.4 0-12.88z\",\n fill: \"#003B29\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.35 72.53L85 54.21l9.47 3.28a.94.94 0 01.4 1.52c-3.17 3.6-13.97 15.58-23.24 22.81-10.22 7.97-29.48 18.42-34.77 21.24a.94.94 0 01-1.38-.84V94.1l21.87-21.57z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M93.15 58.65l-7.94-2.75-26.9 17.82-21.3 21.02v6.51c6.28-3.37 24.07-13.14 33.68-20.63 8.66-6.75 18.71-17.75 22.46-21.97zM35.48 94.1l21.87-21.57L85 54.21l9.47 3.28a.94.94 0 01.4 1.52c-3.17 3.6-13.97 15.58-23.24 22.81-10.22 7.97-29.48 18.42-34.77 21.24a.94.94 0 01-1.38-.84V94.1z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.85 89.64a10.88 10.88 0 0013.26 7.67A10.73 10.73 0 0070 84.28a10.88 10.88 0 00-13.26-7.67 10.73 10.73 0 00-7.89 13.03z\",\n fill: \"#FEF880\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M61.73 95.84a9.34 9.34 0 01-11.4-6.57 9.21 9.21 0 016.8-11.18 9.34 9.34 0 0111.39 6.57 9.21 9.21 0 01-6.79 11.18zm.38 1.47a10.88 10.88 0 01-13.26-7.67 10.73 10.73 0 017.89-13.03A10.88 10.88 0 0170 84.28a10.73 10.73 0 01-7.89 13.03zM35.84 33.3c.14-.57.25-1.73-.52-2.9-.56-.86-8.47-7.88-9.95-9.18a.99.99 0 01-.3-.52c-.46-1.94-3.19-12.6-9.22-17.27C11.67.2 6.1-1.66 2.27 2.03c-3.63 3.5-2.36 8.17 0 12.89 3.02 6.06 12.82 10.96 14.67 11.84.2.1.36.24.46.44.75 1.5 4.14 8.31 5.34 10.99.88 1.4 1.87 1.92 2.65 2.1.78.17 1.34 0 1.34 0v2.58a.95.95 0 001.5.79l10.75-7.35a.95.95 0 00-.26-1.7l-3-.92s.06-.14.12-.38zm-11.76 4.16c.66 1 1.3 1.26 1.65 1.34.2.04.38.04.48.03.28-.02.32-.05.52-.1a7.3 7.3 0 001.53-.69v3.75l8.88-6.07-3.49-1.07.66-1.54.03-.1a2.22 2.22 0 00-.3-1.78l-.01-.01-.32-.34c-.26-.26-.6-.6-1.02-.99a634.95 634.95 0 00-8.33-7.53c-.4-.35-.66-.81-.78-1.3a47.2 47.2 0 00-2.43-7.37c-1.47-3.42-3.53-6.96-6.23-9.05a14.75 14.75 0 00-6.24-3 5.87 5.87 0 00-5.35 1.5A5.64 5.64 0 001.55 7.9c.13 1.89.93 4.02 2.08 6.33 1.33 2.66 4.26 5.22 7.28 7.28a53.03 53.03 0 006.69 3.86c.49.24.9.62 1.16 1.14a473.6 473.6 0 015.32 10.94z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.59 36.68C35.4 31.45 42.37 31 46.77 32.5c8.88 3.03 12.02 7.93 19.87 13.08 6.69 4.4 18.01 8.58 24.37 10.75 1.65.56 1.81 2.92.26 3.7-6.85 3.44-20.1 10.4-28.53 16.9-8.2 6.35-18.6 17.52-23.67 23.18-1.14 1.27-3.31.55-3.47-1.15-.63-6.62-2.09-18.8-4.81-26.42-2.82-7.88-6.6-11.75-7.6-20.07-.9-7.59.98-10.9 6.4-15.78z\",\n fill: \"#003B29\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M46.27 33.93c-3.9-1.33-10.27-.96-15.66 3.89-2.67 2.4-4.29 4.27-5.19 6.34-.88 2.05-1.14 4.47-.7 8.12a29.46 29.46 0 002.96 9.73l1.1 2.23a69.33 69.33 0 013.44 7.78c2.8 7.82 4.27 20.19 4.9 26.78.01.17.12.32.32.39.21.07.38.02.5-.11C43 93.43 53.47 82.15 61.8 75.72c8.55-6.6 21.93-13.63 28.77-17.06a.45.45 0 00.24-.46c-.02-.24-.14-.38-.3-.44-6.34-2.16-17.84-6.4-24.72-10.91a82.53 82.53 0 01-7.21-5.45c-.84-.69-1.64-1.34-2.44-1.96a31.82 31.82 0 00-9.88-5.5zm.5-1.44c-4.4-1.5-11.36-1.04-17.18 4.2-5.42 4.87-7.3 8.18-6.4 15.77.63 5.23 2.35 8.7 4.25 12.52a67.01 67.01 0 013.35 7.55c2.72 7.62 4.18 19.8 4.8 26.42.17 1.7 2.34 2.42 3.48 1.15 5.08-5.66 15.46-16.83 23.67-23.17 8.43-6.5 21.68-13.47 28.53-16.9 1.55-.79 1.39-3.15-.26-3.7-6.36-2.18-17.68-6.36-24.37-10.76a79.75 79.75 0 01-7.03-5.3c-3.76-3.08-7.1-5.82-12.84-7.78z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.86 119.93c.01 1.7 15.64 2.98 34.91 2.87 19.28-.11 34.9-1.58 34.88-3.27-.01-1.7-15.64-2.98-34.91-2.87-19.27.11-34.89 1.58-34.88 3.27z\",\n fill: \"#B0B0B0\",\n fillOpacity: \".2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.1 40.38c-3.59-2.99-9.97-3.18-12.71-2.68 5.98-.6 12.46 5.42 14.96 8.66 0 0 1.1 1.06 1.84.3.75-.74.4-1.8.4-1.8-.75-1.04-.9-1.49-4.49-4.48z\",\n fill: \"#F5F5F5\",\n fillOpacity: \".1\"\n})));","// extracted by mini-css-extract-plugin\nexport default {\"notification\":\"notification--dMRq2\",\"notificationDescription\":\"notificationDescription--X1PCk\"};","import { HeaderWithCloseButton } from 'tradera/components/scrollable-modal/header-with-close-button';\nimport { ScrollableModalContent } from 'tradera/components/scrollable-modal/scrollable-modal-content';\nimport { SideMenu } from 'tradera/components/side-menu/side-menu';\nimport {\n type TranslationFunction,\n Trans,\n useTranslator,\n useUrlLocalizer\n} from 'tradera/lang/translate';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { closeNotificationsSideSheet } from 'tradera/state/ui/reducer';\nimport LoadingIcon from '@tradera/blueprint/theme/icons2/loading.svg?jsx';\nimport ArrowRightIcon from '@tradera/blueprint/theme/icons2/arrow-right.svg?jsx';\nimport DotIcon from '@tradera/blueprint/theme/icons2/radio-button.svg?jsx';\nimport {\n endpoints,\n useGetNotificationsEndlessQuery,\n NOTIFICATIONS_ENDLESS_PAGESIZE\n} from 'tradera/apps/tradera/components/notifications-side-sheet/notifications-api';\nimport type { NotificationApiDto } from 'tradera/state/services/types/webapi-member-generated';\nimport Shimmer from 'tradera/legacy/static/components/shimmer/shimmer';\nimport ALink from 'tradera/components/alink/alink';\nimport { classNames } from 'tradera/utils/class-names';\nimport { useLocalizedPriceFormatter } from 'tradera/localization/use-localized-price-formatter';\nimport { useResetState } from 'tradera/apps/tradera/components/use-reset-state';\nimport { useCallback, useEffect } from 'react';\nimport { useInView } from 'react-intersection-observer';\nimport useIsMobile from 'tradera/hooks/use-is-mobile';\nimport NotificationsBell from './notifications-bell.svg?jsx';\n\nimport styles from './notifications-side-sheet.module.scss';\nimport { Heading } from 'tradera/components/atoms/heading/heading';\nimport { Text } from 'tradera/components/atoms/text/text';\nimport { useTimeSinceShortFormat } from 'tradera/apps/tradera/components/notifications-side-sheet/use-time-since-short-format';\nimport { logger } from 'tradera/legacy/static/packages/logger';\nimport { CurrencyRateType } from 'tradera/state/multi-currency/reducer';\n\nexport const NotificationsSideSheet = () => {\n const { t } = useTranslator();\n\n const dispatch = useAppDispatch();\n\n const { isOpen } = useAppSelector(\n (state) => state.ui.notificationsSideSheet\n );\n\n const handleDismiss = () => {\n dispatch(closeNotificationsSideSheet());\n };\n\n return (\n \n \n }\n className=\"bg-white\">\n \n \n \n );\n};\n\ntype NotificationItemsProps = {\n handleDismiss: () => void;\n};\nconst NotificationItems = ({ handleDismiss }: NotificationItemsProps) => {\n const {\n isLoading,\n isFetching,\n notifications,\n isAllItemsFetched,\n nextPage\n } = useNotificationsData();\n const { ref: loadingMoreRef, inView } = useInView();\n\n useEffect(() => {\n if (isFetching || !inView || isAllItemsFetched) return;\n\n nextPage();\n }, [inView, isFetching, isAllItemsFetched, nextPage]);\n\n return (\n <>\n {isLoading ? (\n \n ) : notifications && notifications.length > 0 ? (\n <>\n
      \n {notifications.map((notification, i) => (\n \n \n \n ))}\n
    \n {isFetching && (\n
    \n \n
    \n )}\n
    \n \n ) : (\n \n )}\n \n );\n};\n\nconst NotificationsEmptyState = () => {\n const { t } = useTranslator();\n return (\n
    \n \n \n {t('notificationsSideSheet_emptyState_title')}\n \n \n {t('notificationsSideSheet_emptyState_description')}\n \n
    \n );\n};\n\nenum NotificationTypes {\n ItemClosedWithoutBuyer = 'ItemClosedWithoutBuyer',\n ItemNewLeadingBid = 'ItemNewLeadingBid',\n ItemSold = 'ItemSold',\n ItemWon = 'ItemWon',\n MemberOutbidded = 'MemberOutbidded',\n LeadingAutoBidPlaced = 'LeadingAutoBidPlaced',\n BuyerPaid = 'BuyerPaid',\n PurchaseOrderUnpaid = 'PurchaseOrderUnpaid',\n ShipmentSent = 'ShipmentSent',\n PurchaseOfferNoLongerHighestAmount = 'PurchaseOfferNoLongerHighestAmount',\n WishlistItemPriceLowered = 'WishlistItemPriceLowered',\n WishlistedShopItemReminder = 'WishlistedShopItemReminder',\n FeedbackReminder = 'FeedbackReminder',\n WishlistItemsEndingToday = 'WishlistItemsEndingToday',\n WishlistItemResell = 'WishlistItemResell'\n}\n\nconst NotificationsWithBuyerRate = new Set([\n NotificationTypes.ItemWon,\n NotificationTypes.MemberOutbidded,\n NotificationTypes.LeadingAutoBidPlaced,\n NotificationTypes.PurchaseOrderUnpaid,\n NotificationTypes.PurchaseOfferNoLongerHighestAmount,\n NotificationTypes.WishlistItemPriceLowered,\n NotificationTypes.WishlistedShopItemReminder,\n NotificationTypes.WishlistItemsEndingToday\n]);\n\ntype NotificationSwitchProps = {\n notification: NotificationApiDto;\n onNavigate: () => void;\n};\nconst NotificationSwitch = ({\n notification,\n onNavigate\n}: NotificationSwitchProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const localizedPriceFormatter = useLocalizedPriceFormatter(\n NotificationsWithBuyerRate.has(notification.type as NotificationTypes)\n ? CurrencyRateType.Buyer\n : CurrencyRateType.Seller\n );\n const isMobile = useIsMobile();\n try {\n const { title: titleFull, amount: amountSek } = notification;\n const title = truncate(titleFull, isMobile ? 20 : 40);\n const amount = localizedPriceFormatter(amountSek);\n switch (notification.type) {\n case NotificationTypes.ItemClosedWithoutBuyer:\n return (\n \n }}\n />\n \n );\n\n case NotificationTypes.ItemNewLeadingBid:\n return (\n \n }}\n />\n \n );\n\n case NotificationTypes.ItemSold:\n return (\n \n }}\n />\n \n );\n\n case NotificationTypes.ItemWon:\n return (\n \n }}\n />\n \n );\n\n case NotificationTypes.LeadingAutoBidPlaced:\n return (\n \n }}\n />\n \n );\n\n case NotificationTypes.MemberOutbidded:\n return (\n \n }}\n />\n \n );\n\n case NotificationTypes.BuyerPaid: {\n const notificationData = notification.buyerPaidData!;\n const { link: buyerPaidLink, key: buyerPaidKey } = (() => {\n switch (notificationData.shipmentBookingType) {\n case 'Takeaway':\n return {\n link: `/my/order/${notificationData.purchaseOrderId}`,\n key: 'notificationsSideSheet_buyerPaid_takeaway_Trans'\n };\n case 'Automatic':\n return {\n link: `/my/shipping?purchaseOrderId=${notificationData.purchaseOrderId}`,\n key: 'notificationsSideSheet_buyerPaid_automatic_Trans'\n };\n case 'Manual':\n default:\n return {\n link: `/my/shipping?purchaseOrderId=${notificationData.purchaseOrderId}`,\n key: 'notificationsSideSheet_buyerPaid_manual_Trans'\n };\n }\n })();\n return (\n \n }}\n />\n \n );\n }\n\n case NotificationTypes.PurchaseOrderUnpaid: {\n const notificationData = notification.purchaseOrderUnpaidData!;\n return (\n \n }}\n />\n \n );\n }\n\n case NotificationTypes.ShipmentSent: {\n const notificationData = notification.shipmentSentData!;\n return (\n \n }}\n />\n \n );\n }\n\n case NotificationTypes.PurchaseOfferNoLongerHighestAmount:\n return (\n \n }}\n />\n \n );\n\n case NotificationTypes.WishlistItemPriceLowered: {\n const notificationData =\n notification.wishlistItemPriceLoweredData!;\n return (\n \n }}\n />\n \n );\n }\n\n case NotificationTypes.WishlistedShopItemReminder:\n return (\n \n }}\n />\n \n );\n\n case NotificationTypes.FeedbackReminder: {\n const notificationData = notification.feedbackReminderData!;\n return notificationData.isSeller ? (\n \n }}\n />\n \n ) : (\n \n }}\n />\n \n );\n }\n\n case NotificationTypes.WishlistItemsEndingToday: {\n const notificationData =\n notification.wishListItemsEndingTodayData!;\n return (\n \n }}\n />\n \n );\n }\n\n case NotificationTypes.WishlistItemResell:\n return (\n \n }}\n />\n \n );\n\n default:\n logger(`Unkown NotificationType: ${notification.type}`);\n return null;\n }\n } catch (e) {\n logger(e);\n return null;\n }\n};\n\nconst getPlusAdditionalItemsText = (\n t: TranslationFunction,\n totalCount: number | undefined\n) => {\n if (totalCount && totalCount > 1) {\n return t('notificationsSideSheet_plusAdditionalItems', {\n count: totalCount - 1\n });\n }\n\n return '';\n};\n\ntype ItemNotificationProps = React.PropsWithChildren<{\n notification: NotificationApiDto;\n onNavigate: () => void;\n href?: string;\n}>;\nconst ItemNotification = ({\n notification,\n children,\n onNavigate,\n href\n}: ItemNotificationProps) => {\n const { toLocalizedUrl } = useUrlLocalizer();\n return (\n \n {children}\n \n );\n};\n\ntype BaseNotificationProps = React.PropsWithChildren<{\n onNavigate: () => void;\n href: string;\n timeStamp: string;\n isRead: boolean;\n imageSrc?: string;\n imageTitle?: string;\n}>;\nconst BaseNotification = ({\n children,\n onNavigate,\n href,\n timeStamp,\n isRead,\n imageSrc,\n imageTitle\n}: BaseNotificationProps) => {\n const dateText = useTimeSinceShortFormat(timeStamp);\n\n return (\n <>\n \n }\n className=\"flex-shrink-0 mr-2\"\n style={{\n width: '4.5rem',\n height: '4.5rem',\n objectFit: 'cover',\n filter: 'brightness(0.98)'\n }}\n src={imageSrc}\n title={imageTitle}\n alt={imageTitle}\n />\n \n {children}\n
    \n
    \n
    \n \n {dateText}\n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n );\n};\n\nconst truncate = (value: string | null | undefined, length: number) =>\n (value?.length ?? 0) > length\n ? value?.substring(0, length - 1) + '\\u2026'\n : value;\n\nexport const useNotificationsData = (skip: boolean = false) => {\n // By using the data from endpoints we can utilize SSR:d data, but then we\n // need to call the hook below anyway to get in-client interactivity like pagination.\n const {\n currentData: {\n page: latestPageMaybe,\n items: notifications = [],\n totalCount = 0\n } = {}\n } = endpoints.getNotificationsEndless.useQueryState({ page: 1 });\n const latestPage = latestPageMaybe ?? 1;\n const [page, setPage] = useResetState(latestPage);\n\n const { isLoading, isFetching } = useGetNotificationsEndlessQuery(\n { page },\n { skip }\n );\n const nextPage = useCallback(() => {\n setPage((p) => p + 1);\n }, [setPage]);\n\n const isAllItemsFetched =\n latestPage * NOTIFICATIONS_ENDLESS_PAGESIZE >= totalCount;\n\n return {\n notifications,\n isLoading,\n isFetching,\n isAllItemsFetched,\n page,\n nextPage\n };\n};\n","import { useCurrentLanguage, useTranslator } from 'tradera/lang/translate';\n\nexport const useTimeSinceShortFormat = (dateString: string) => {\n const { t } = useTranslator();\n const { language } = useCurrentLanguage();\n const date = new Date(dateString);\n const now = new Date();\n\n const secondsSinceDate = Math.round(\n (now.getTime() - date.getTime()) / 1000\n );\n if (secondsSinceDate < 45) return t('notificationsSideSheet_now');\n\n const minutesSinceDate = Math.round((secondsSinceDate - 15) / 60);\n if (minutesSinceDate < 45)\n return t('notificationsSideSheet_minutesShort', {\n count: minutesSinceDate\n });\n\n const hoursSinceDate = Math.round((minutesSinceDate - 15) / 60);\n if (hoursSinceDate < 24)\n return t('notificationsSideSheet_hoursShort', {\n count: hoursSinceDate\n });\n\n const daysSinceDate = Math.round((hoursSinceDate - 6) / 24);\n if (daysSinceDate <= 14)\n return t('notificationsSideSheet_daysShort', { count: daysSinceDate });\n\n return date.toLocaleDateString(language ?? 'sv-SE', {\n day: 'numeric',\n month: 'short'\n });\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport Sticky from 'react-stickynode';\nimport { selectShowCurrencySelection } from 'tradera/state/multi-currency/selectors';\nimport { HOVER_MENUS } from './hover-menu/constants';\nimport { onWindowLoad } from './on-ready';\nimport { getGeolocation } from 'tradera/state/member/actions';\nimport { signIn } from 'tradera/state/ui/actions';\nimport {\n closeNewMessageModal,\n closeSearchForm,\n openSearchForm,\n closeCategoryDropdownMenu,\n closeProfileMenu,\n openProfileMenu,\n openReferralModal\n} from 'tradera/state/ui/reducer';\nimport TraderaLogo from '@tradera/blueprint/theme/logos/tradera_new.svg?jsx';\nimport TraderaAppLogo from '@tradera/blueprint/theme/logos/tradera-app-logo.svg?jsx';\nimport CartLink from 'tradera/components/site-header/cart-link';\nimport { DropdownMenu } from 'tradera/components/site-header/dropdown-menu';\nimport SignUpLink from 'tradera/components/site-header/sign-up-link';\nimport ALink from 'tradera/components/alink/alink';\nimport { Search } from 'tradera/components/search/search';\nimport PushNotificationModal from 'tradera/components/push-notification-modal/push-notification-modal';\nimport { LocalizationLink } from './localization-link';\nimport BuyingLink from './buying-link';\nimport { HowTraderaWorks } from './how-tradera-works';\nimport { NewListingLink } from './new-listing-link';\nimport { ProfileLink } from './profile-link';\nimport { SearchButton } from './search-button';\nimport { NewMessageModal } from 'tradera/components/messaging/messaging-new-message-modal';\nimport WishlistLink from 'tradera/components/site-header/wishlist-link';\nimport SellingLink from 'tradera/components/site-header/selling-link';\nimport { TraderaToastContainer } from 'tradera/components/toasts/tradera-toast-container';\nimport { showSuccessToast } from 'tradera/services/toasts';\nimport { CurrencyLink } from 'tradera/components/site-header/currency-link';\nimport { WishListSideSheet } from 'tradera/apps/tradera/components/wish-list-side-sheet/wish-list-side-sheet';\nimport { LocalizationRegionPicker } from './localization-region-picker';\nimport { LoaderLine } from 'tradera/components/loader/loader-line';\nimport { SaveSearchButton } from 'tradera/apps/tradera/components/discover/components/search-results/save-search/save-search-button';\nimport { localStore } from 'tradera/utils/storage';\nimport { STORAGE_KEYS } from 'tradera/constants/storage';\nimport { useAppDispatch, useAppSelector } from 'tradera/state/hooks';\nimport { useIsTablet } from 'tradera/hooks/use-is-tablet';\nimport useIsDesktop from 'tradera/hooks/use-is-desktop';\nimport { useUrlLocalizer } from 'tradera/lang/translate';\nimport useIsMobile from 'tradera/hooks/use-is-mobile';\nimport {\n getCartSummaryParams,\n useGetCartSummaryQuery\n} from 'tradera/state/services/cart-api';\nimport { useCookieUtil } from 'tradera/hooks/use-cookie-util';\nimport { CART_ID } from 'tradera/constants/cookies';\nimport { MODAL_STATE } from 'tradera/constants/ui';\nimport { useViewportWidthCookie } from 'tradera/apps/nextweb/hooks/use-viewport-width';\nimport { classNames } from 'tradera/utils/class-names';\nimport { GtmService } from 'tradera/services/google-tagmanager/google-tagmanager-service';\nimport { AppDownloadModal } from 'tradera/apps/tradera/components/app-download-modal/app-download-modal';\nimport { ProfileMenu } from '../profile-menu/profile-menu';\nimport { selectIsUnderage } from 'tradera/state/member/selectors';\nimport {\n removeHashFromUrl,\n shouldOpenReferralModal\n} from 'tradera/apps/tradera/components/vip/helpers/navigation-helper';\nimport { ReferralModal } from '../referral-modal/referral-modal';\nimport { useOnHashUpdated } from 'tradera/hooks/use-on-hash-updated';\nimport { NotificationsLink } from 'tradera/components/site-header/notifications-link';\nimport { NotificationsSideSheet } from 'tradera/apps/tradera/components/notifications-side-sheet/notifications-side-sheet';\nimport { HeaderInternationalIdentificationModal } from 'tradera/components/international-identification-modal/header-international-identification-modal';\n\ntype SiteHeaderProps = {\n isPageLoading: boolean | undefined;\n inSPA: boolean;\n};\n\nexport const SiteHeader = ({ isPageLoading, inSPA }: SiteHeaderProps) => {\n useViewportWidthCookie();\n\n const dispatch = useAppDispatch();\n\n const showSearchForm = useAppSelector((state) => state.ui.showSearchForm);\n const showHeaderSearch = useAppSelector(\n (state) => state.ui.showHeaderSearch\n );\n const newMessageModal = useAppSelector((state) => state.ui.newMessageModal);\n const isLoggedIn = useAppSelector((state) => state.member.isLoggedIn);\n const hasLoggedIn = useAppSelector((state) => state.member.hasLoggedIn);\n const isUnderage = useAppSelector(selectIsUnderage);\n const showCurrencySelection = useAppSelector((state) =>\n selectShowCurrencySelection(state)\n );\n const pageName = useAppSelector((state) => state.page.type);\n\n const isTablet = useIsTablet();\n const isDesktop = useIsDesktop();\n const isMobile = useIsMobile();\n const { toLocalizedUrl } = useUrlLocalizer();\n\n const [isSticky, setIsSticky] = useState(false);\n const [activeHoverMenu, setActiveHoverMenu] = useState(null);\n\n const cookieUtil = useCookieUtil();\n const cartIdCookieValue = cookieUtil.readCookie(CART_ID) ?? '';\n\n const { data } = useGetCartSummaryQuery(\n getCartSummaryParams(cartIdCookieValue),\n { skip: !cartIdCookieValue }\n );\n\n const { profileMenu } = useAppSelector((state) => state.ui);\n\n const handleLoginClick = useCallback(async () => {\n // making a request to the backend to check if the user is logged in already\n try {\n const response = await fetch(\n '/api/webapi/member/session-data?pageName=header',\n {\n headers: {\n 'Content-Type': 'application/json'\n }\n }\n );\n\n if (response.ok) {\n const sessionData = await response.json();\n if (sessionData?.memberId) {\n window.location.reload();\n return;\n }\n }\n } catch (error) {\n console.error('Error checking session:', error);\n }\n\n dispatch(signIn());\n }, [dispatch]);\n\n // Profile menu: Prevent Default and show login, if not logged in\n const preventNavigationAndShowLogin = (\n event: React.MouseEvent\n ) => {\n if (!isLoggedIn) {\n event.preventDefault();\n GtmService.trackAction('Top navigation', 'Login', 'Click');\n handleLoginClick();\n }\n };\n\n const handleProfileClick = (evt: React.MouseEvent) => {\n if (profileMenu.open === MODAL_STATE.OPEN) {\n dispatch(closeProfileMenu());\n } else {\n dispatch(closeCategoryDropdownMenu());\n\n // not logged in\n if (!isLoggedIn) {\n preventNavigationAndShowLogin(evt);\n return;\n } else {\n dispatch(openProfileMenu());\n }\n }\n\n if (pageName?.includes('MyTradera')) {\n window.scrollTo(0, 0);\n }\n };\n\n const { open: profileMenuOpen = false } = profileMenu;\n\n const { totalCount: cartItemCount } = data || {};\n\n const showMfaVerifiedMessage = useCallback(() => {\n if (!isLoggedIn) {\n return;\n }\n\n if (\n !document.referrer ||\n !document.referrer.includes(\n '/login/multifactorauthentication/enterverificationcode'\n )\n ) {\n return;\n }\n\n if (!localStore || !localStore.enabledByGdprSettings()) {\n return;\n }\n\n if (\n localStore.hasValueForKey(\n STORAGE_KEYS.HAS_SHOWED_MFA_VERIFICATION_MESSAGE\n )\n ) {\n return;\n }\n\n showSuccessToast('mfa_verify_success');\n localStore.setItem(\n STORAGE_KEYS.HAS_SHOWED_MFA_VERIFICATION_MESSAGE,\n true\n );\n }, [isLoggedIn]);\n\n useEffect(() => {\n dispatch(getGeolocation());\n showMfaVerifiedMessage();\n // Scroll up one pixel to show fixed header on mobile\n onWindowLoad(() => {\n // Toggle on sticky behavior on window load to force reflow and show sticky header on mobile & Firefox\n setIsSticky(true);\n });\n }, [dispatch, showMfaVerifiedMessage]);\n\n useOnHashUpdated(() => {\n if (shouldOpenReferralModal()) {\n if (isLoggedIn) {\n dispatch(openReferralModal());\n removeHashFromUrl();\n } else {\n handleLoginClick();\n }\n }\n });\n\n const handleClickSearch = () => {\n if (showSearchForm) {\n dispatch(closeSearchForm());\n } else {\n dispatch(openSearchForm());\n }\n };\n\n const handleMouseOverMenu = (menu: string) => {\n setActiveHoverMenu(menu);\n };\n\n const handleMouseOutMenu = () => {\n setActiveHoverMenu(null);\n };\n\n // Event handler for menu button:\n // Mobile: link, no menu open\n // Tablet: not a link, menu open\n // Desktop: link, menu open\n const handleMenuClick = (\n event: React.MouseEvent,\n menu: string\n ) => {\n if (\n isMobile &&\n menu !== HOVER_MENUS.LOCALIZATION &&\n menu !== HOVER_MENUS.CURRENCY\n ) {\n return;\n }\n\n // Prevent click for tablet to allow tap to open\n if (isTablet) {\n event.preventDefault();\n }\n // Force focus so touch devices can get a blur event\n event.currentTarget.focus();\n\n setActiveHoverMenu((current) => (current === menu ? null : menu));\n };\n\n const closeHoverMenu = () => {\n setActiveHoverMenu(null);\n };\n\n const handleRegisterClick = () => {\n if (!isLoggedIn) {\n GtmService.trackAction('Top navigation', 'Sign up', 'Click');\n const cookieName = 'signup_referral_path';\n const expireDate = new Date();\n const value = window.location.href;\n expireDate.setTime(expireDate.getTime() + 10 * 60 * 1000);\n cookieUtil.createCookie(cookieName, value, expireDate);\n }\n };\n\n const hasCartItems = cartItemCount && cartItemCount > 0;\n\n const showAppLogoOnTinyScreen = hasCartItems;\n\n const showSaveSearch =\n (pageName?.includes('SearchResults') ||\n pageName?.includes('Category')) &&\n !isDesktop &&\n !isTablet;\n\n const profileLink = (\n
  • \n \n
  • \n );\n\n return (\n <>\n \n
    \n \n \n \n \n \n \n \n \n \n \n {showSaveSearch && (\n \n )}\n \n \n \n
    \n \n \n {\n // NewMessageModal can summon a BankIdModal. BankId is a bottom sheet on mobile\n // so we need to render it outside the sticky header to avoid issues with it not\n // being rendered at the bottom of the viewport\n newMessageModal.open === MODAL_STATE.OPEN && (\n dispatch(closeNewMessageModal())}\n {...newMessageModal}\n />\n )\n }\n \n \n {isLoggedIn && }\n {isLoggedIn && }\n {isLoggedIn && }\n \n \n \n \n \n \n );\n};\n","import { type EffectCallback } from 'react';\nimport { useOnMount } from 'tradera/hooks/use-on-mount';\n\nexport const useOnHashUpdated = (handleHashChanged: EffectCallback) => {\n useOnMount(() => {\n handleHashChanged();\n window.addEventListener('hashchange', handleHashChanged);\n return () =>\n window.removeEventListener('hashchange', handleHashChanged);\n });\n};\n","/**\n * Run callback when all window content has loaded\n *\n * @param {function} callback\n */\nexport function onWindowLoad(callback: () => void) {\n if (document.readyState === 'complete') {\n callback();\n } else {\n window.addEventListener('load', callback);\n }\n}\n","import type { ComponentType, PropsWithChildren, ReactElement } from 'react';\nimport type React from 'react';\nimport { Suspense, lazy } from 'react';\nimport { yieldToMain } from 'tradera/utils/scheduler';\n\nconst RenderChildren = ({ children }: PropsWithChildren): ReactElement => (\n <>{children}\n);\n\nconst Yield = lazy(\n async (): Promise<{ default: ComponentType }> => {\n await yieldToMain();\n\n return {\n default: RenderChildren\n };\n }\n);\n\nexport const RenderAsync = ({ children }: React.PropsWithChildren) => (\n \n {children}\n \n);\n","enum TransactionTypes {\n AUCTION = 'Auction',\n CART = 'Cart',\n BIN = 'Bin',\n PURCHASE_OFFER_ON_ACTIVE = 'PurchaseOfferOnActive',\n PURCHASE_OFFER_ON_ENDED = 'PurchaseOfferOnEnded'\n}\n\nexport default TransactionTypes;\n","export enum MODAL_STATE {\n OPEN = 'OPEN',\n CLOSED = 'CLOSED'\n}\n\nexport enum ITEM_LAYOUT {\n GRID = 'layout-grid',\n LIST = 'layout-list',\n GRID_MEDIUM = 'layout-grid-medium',\n GRID_LARGE = 'layout-grid-large'\n}\n\nexport enum SITE_LAYOUT {\n DEFAULT = 'site-width-default',\n FULL_WIDTH = 'site-width-full'\n}\n","export default \"//static.tradera.net/touchweb/static/output/images/category-accessories.19455a14.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-toys-childrens-items.3fd07688.svg\";","import AccessoriesIcon from '@tradera/blueprint/theme/icons2/category-accessories.svg?next-image';\nimport AntiquesDesignIcon from '@tradera/blueprint/theme/icons2/category-antiques-design.svg?next-image';\nimport ArtIcon from '@tradera/blueprint/theme/icons2/category-art.svg?next-image';\nimport BeautyCareIcon from '@tradera/blueprint/theme/icons2/category-beauty-care.svg?next-image';\nimport BooksMagazinesIcon from '@tradera/blueprint/theme/icons2/category-books-magazines.svg?next-image';\nimport CharityIcon from '@tradera/blueprint/theme/icons2/category-charity.svg?next-image';\nimport ChildrensClothingShoesIcon from '@tradera/blueprint/theme/icons2/category-childrens-clothing-shoes.svg?next-image';\nimport ChildrensItemsIcon from '@tradera/blueprint/theme/icons2/category-childrens-items.svg?next-image';\nimport ClothesIcon from '@tradera/blueprint/theme/icons2/category-clothes.svg?next-image';\nimport CollectiblesIcon from '@tradera/blueprint/theme/icons2/category-collectibles.svg?next-image';\nimport ComputersAccessoriesIcon from '@tradera/blueprint/theme/icons2/category-computers-accessories.svg?next-image';\nimport ConstructionToolsIcon from '@tradera/blueprint/theme/icons2/category-construction-tools.svg?next-image';\nimport ConsumerElectronicsIcon from '@tradera/blueprint/theme/icons2/category-consumer-electronics.svg?next-image';\nimport CurrencyIcon from '@tradera/blueprint/theme/icons2/category-currency.svg?next-image';\nimport DvdVideosIcon from '@tradera/blueprint/theme/icons2/category-dvd-videos.svg?next-image';\nimport GardenPlantsIcon from '@tradera/blueprint/theme/icons2/category-garden-plants.svg?next-image';\nimport HobbyIcon from '@tradera/blueprint/theme/icons2/category-hobby.svg?next-image';\nimport HomeHouseholdIcon from '@tradera/blueprint/theme/icons2/category-home-household.svg?next-image';\nimport JewlryGemstonesIcon from '@tradera/blueprint/theme/icons2/category-jewlry-gemstones.svg?next-image';\nimport MobilePhoneTelecommunicationsIcon from '@tradera/blueprint/theme/icons2/category-mobile-phone-telecommunications.svg?next-image';\nimport MusicIcon from '@tradera/blueprint/theme/icons2/category-music.svg?next-image';\nimport OtherIcon from '@tradera/blueprint/theme/icons2/category-other.svg?next-image';\nimport PhotoCamerasOpticsIcon from '@tradera/blueprint/theme/icons2/category-photo-cameras-optics.svg?next-image';\nimport PostcardsPicturesIcon from '@tradera/blueprint/theme/icons2/category-postcards-pictures.svg?next-image';\nimport ShoesIcon from '@tradera/blueprint/theme/icons2/category-shoes.svg?next-image';\nimport SportsLeisureIcon from '@tradera/blueprint/theme/icons2/category-sports-leisure.svg?next-image';\nimport StampIcon from '@tradera/blueprint/theme/icons2/category-stamp.svg?next-image';\nimport TicketsTravelIcon from '@tradera/blueprint/theme/icons2/category-tickets-travel.svg?next-image';\nimport ToysChildrensItemsIcon from '@tradera/blueprint/theme/icons2/category-toys-childrens-items.svg?next-image';\nimport WatchesIcon from '@tradera/blueprint/theme/icons2/category-watches.svg?next-image';\nimport VehiclesBoatsPartsIcon from '@tradera/blueprint/theme/icons2/category-vehicles-boats-parts.svg?next-image';\nimport VideoComputerGamesIcon from '@tradera/blueprint/theme/icons2/category-video-computer-games.svg?next-image';\nimport HandmadeAppliedArtsIcon from '@tradera/blueprint/theme/icons2/category-handmade-applied-arts.svg?next-image';\n\nconst categoryIcons = {\n 10: VehiclesBoatsPartsIcon,\n 11: BooksMagazinesIcon,\n 12: ComputersAccessoriesIcon,\n 13: DvdVideosIcon,\n 14: PhotoCamerasOpticsIcon,\n 15: StampIcon,\n 16: ClothesIcon,\n 17: ConsumerElectronicsIcon,\n 18: HobbyIcon,\n 19: WatchesIcon,\n 20: AntiquesDesignIcon,\n 21: MusicIcon,\n 22: CurrencyIcon,\n 23: ArtIcon,\n 24: JewlryGemstonesIcon,\n 25: SportsLeisureIcon,\n 26: MobilePhoneTelecommunicationsIcon,\n 27: PostcardsPicturesIcon,\n 28: OtherIcon,\n 29: CollectiblesIcon,\n 30: VideoComputerGamesIcon,\n 31: HomeHouseholdIcon,\n 32: ConstructionToolsIcon,\n 33: ChildrensClothingShoesIcon,\n 34: TicketsTravelIcon,\n 35: CharityIcon,\n 36: HandmadeAppliedArtsIcon,\n 1605: GardenPlantsIcon,\n 1611: ChildrensItemsIcon,\n 1612: AccessoriesIcon,\n 1623: ShoesIcon,\n 340736: BeautyCareIcon,\n 302571: ToysChildrensItemsIcon,\n 343319: ToysChildrensItemsIcon\n};\n\nexport const getCategoryIcon = (\n categoryId,\n label,\n iconSizeClass = 'icon-md'\n) => {\n const IconComponent = categoryIcons[categoryId];\n if (!IconComponent) {\n return null;\n }\n return (\n \n );\n};\n","export default \"//static.tradera.net/touchweb/static/output/images/category-vehicles-boats-parts.bd498b6e.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-books-magazines.7fd56e26.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-computers-accessories.5cdf89e0.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-dvd-videos.20e79eeb.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-photo-cameras-optics.f989457f.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-stamp.be4cf05d.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-clothes.0a7e4430.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-consumer-electronics.de55fd81.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-hobby.0dd05544.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-watches.ba27b33f.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-antiques-design.255734c4.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-music.a75eef88.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-currency.a71976ce.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-art.39f75c7b.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-jewlry-gemstones.f8ac5f7f.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-sports-leisure.ea16daa4.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-mobile-phone-telecommunications.9b71aad1.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-postcards-pictures.facbab97.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-other.1480a164.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-collectibles.e55311ca.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-video-computer-games.85def0f0.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-home-household.c0b69fbe.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-construction-tools.429736aa.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-childrens-clothing-shoes.c2f83146.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-tickets-travel.77048480.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-charity.3e080558.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-handmade-applied-arts.345eee95.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-garden-plants.6049ba01.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-childrens-items.9455a7a2.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-shoes.482858dd.svg\";","export default \"//static.tradera.net/touchweb/static/output/images/category-beauty-care.827c3dce.svg\";","import { useCurrentLanguage } from 'tradera/lang/translate';\n\ntype AppLinks = {\n [key: string]: {\n appStore: string;\n googlePlay: string;\n };\n};\n\nconst appLinks: AppLinks = {\n sv: {\n appStore:\n 'https://apps.apple.com/se/app/tradera-köp-och-sälj/id427984084',\n googlePlay:\n 'https://play.google.com/store/apps/details?id=com.tradera&hl=sv'\n },\n da: {\n appStore:\n 'https://apps.apple.com/dk/app/tradera-køb-og-sælg/id427984084?l=da',\n googlePlay:\n 'https://play.google.com/store/apps/details?id=com.tradera&hl=da&gl=DK'\n },\n en: {\n appStore: 'https://apps.apple.com/us/app/tradera-buy-sell/id427984084',\n googlePlay:\n 'https://play.google.com/store/apps/details?id=com.tradera&hl=en'\n },\n de: {\n appStore:\n 'https://apps.apple.com/de/app/tradera-kaufen-und-verkaufen/id427984084',\n googlePlay:\n 'https://play.google.com/store/apps/details?id=com.tradera&hl=de'\n },\n fr: {\n appStore:\n 'https://apps.apple.com/fr/app/tradera-k%C3%B6p-s%C3%A4lj-begagnat/id427984084',\n googlePlay:\n 'https://play.google.com/store/apps/details?id=com.tradera&hl=fr'\n },\n nl: {\n appStore:\n 'https://apps.apple.com/nl/app/tradera-k%C3%B6p-s%C3%A4lj-begagnat/id427984084',\n googlePlay:\n 'https://play.google.com/store/apps/details?id=com.tradera&hl=nl'\n }\n};\n\nexport const useAppDownloadLink = () => {\n const { language: preferredLanguage } = useCurrentLanguage();\n const language = preferredLanguage?.toLowerCase();\n\n if (appLinks[language]) {\n return appLinks[language];\n }\n\n return appLinks['sv'];\n};\n","import { SAVE_SEARCH_MODAL_ID } from 'tradera/apps/tradera/components/discover/components/search-results/save-search-modal';\nimport {\n stripPaginationFromQueryParameters,\n stripSaveSearchNameFromQueryParameters,\n toSearchString\n} from 'tradera/utils/url';\nimport { openModal, showSaveSearchBanner } from '../ui/reducer';\nimport {\n setRecentSearchLocalStorage,\n removeRecentSearchLocalStorage,\n setRecentBrandAttributesLocalStorage\n} from './helpers';\nimport {\n setRecentSearches,\n removeRecentSearch,\n setRecentBrandAttributes,\n setRecentSearchesFromCookie\n} from './reducer';\nimport * as searchGtm from 'tradera/apps/tradera/components/discover/helpers/search-gtm';\nimport type { AppDispatch, GetState } from 'tradera/state/configure-store';\nimport type { QueryParams } from 'tradera/apps/tradera/components/discover/components/filters/types';\nimport { syncLocalStorageToCookies } from 'tradera/state/personalisation/recent-searches-cookies';\n\nexport const addRecentSearches =\n (queryParams: QueryParams, isSavedSearch?: boolean) =>\n async (dispatch: AppDispatch, getState: GetState) => {\n const { q } = queryParams;\n\n const prettySearchTerm = q\n ?.toString()\n .replace(//g, ' ')\n .trim()\n .toLowerCase();\n\n const recentSearches = getState().personalisation.recentSearches;\n\n const existingSearch = recentSearches.find(\n (search) => search.text === prettySearchTerm\n );\n\n let count = 1;\n\n const searchQueryParams = stripPaginationFromQueryParameters(\n stripSaveSearchNameFromQueryParameters(queryParams)\n );\n\n if (existingSearch) {\n const isSameSearch =\n toSearchString(existingSearch.queryParams).toLowerCase() ===\n toSearchString(queryParams).toLowerCase();\n\n if (isSameSearch) {\n count = existingSearch.count + 1;\n\n if (!isSavedSearch && count == 3) {\n dispatch(\n openModal({\n modalId: SAVE_SEARCH_MODAL_ID,\n data: {\n queryParams: searchQueryParams\n }\n })\n );\n } else if (!isSavedSearch) {\n if (count % 2 == 0) {\n dispatch(showSaveSearchBanner());\n searchGtm.trackAction(\n 'Save search bottom banner',\n 'Show'\n );\n } else {\n dispatch(showSaveSearchBanner(false));\n }\n }\n } else {\n count = existingSearch.count;\n }\n }\n\n setRecentSearchLocalStorage(\n prettySearchTerm ?? '',\n searchQueryParams,\n count\n );\n\n const newCookieValue = syncLocalStorageToCookies();\n dispatch(setRecentSearchesFromCookie(newCookieValue));\n\n dispatch(\n setRecentSearches({\n text: prettySearchTerm,\n count,\n queryParams: searchQueryParams\n })\n );\n };\n\nexport const removeRecentSearches =\n (searchTerm: string) => async (dispatch: AppDispatch) => {\n removeRecentSearchLocalStorage(searchTerm);\n const newCookieValue = syncLocalStorageToCookies();\n dispatch(setRecentSearchesFromCookie(newCookieValue));\n dispatch(removeRecentSearch(searchTerm));\n };\n\nexport const addRecentBrandAttribute =\n (filter: string, value: string | undefined) =>\n async (dispatch: AppDispatch) => {\n if (!filter || !value || !filter.includes('brand')) return;\n setRecentBrandAttributesLocalStorage(filter, value);\n dispatch(setRecentBrandAttributes({ filter, value }));\n };\n","import {\n API_ERRORS,\n axiosConfigs,\n finalizeResponse,\n handleError,\n logError\n} from 'tradera/utils/api';\nimport { touchWebClient, webApiClient } from 'tradera/utils/http';\n\nfunction getSystemMessages() {\n return webApiClient\n .get('/member/system-messages')\n .then(finalizeResponse())\n .catch(\n handleError({\n // Ignore 400 & 401 errors that slip through token refresh\n 400: API_ERRORS.IGNORE_ME,\n 401: API_ERRORS.IGNORE_ME\n })\n )\n .catch((error) => {\n logError(error);\n throw error;\n });\n}\n\nfunction getSystemBadges() {\n return webApiClient\n .get('/mytradera/system-badges')\n .then(finalizeResponse())\n .catch(\n handleError({\n // Ignore 400 & 401 errors that slip through token refresh\n 400: API_ERRORS.IGNORE_ME,\n 401: API_ERRORS.IGNORE_ME\n })\n )\n .catch((error) => {\n logError(error);\n throw error;\n });\n}\n\nfunction getMessagingNotifications() {\n return touchWebClient.get('/api/messaging/stats', {\n cancelTokenId: 'fetchMessagingNotifications',\n ...axiosConfigs.authenticated\n });\n}\n\nexport { getSystemMessages, getSystemBadges, getMessagingNotifications };\n","import { localStore } from 'tradera/utils/storage';\n\n// Remember to add prefix+key to STORAGE_KEYS in config/storage!\nconst CACHE_PREFIX = 'cache.';\nconst CACHE_KEYS = {\n SYSTEM_MESSAGES: 'systemMessages',\n SYSTEM_BADGES: 'systemBadges'\n};\nconst DEFAULT_TTL = 10 * 60 * 1000;\n\nclass CacheHandler {\n constructor(store, keyPrefix) {\n this.store = store;\n this.keyPrefix = keyPrefix;\n }\n\n /**\n * Read item from the cache, return null if expired or non existent\n *\n * @param {string} key\n * @returns {null|*}\n */\n read(key) {\n const cached = this.store.getItem(this.keyPrefix + key);\n if (cached) {\n if (cached.expires > Date.now()) {\n return cached.data;\n } else {\n this.store.removeItem(this.keyPrefix + key);\n }\n }\n return null;\n }\n\n /**\n * Write an item to the cache with expiry time\n *\n * @param {string} key\n * @param data\n * @param {int} [ttl]\n * @returns {CacheHandler}\n */\n write(key, data, ttl = DEFAULT_TTL) {\n this.store.setItem(this.keyPrefix + key, {\n expires: Date.now() + ttl,\n data\n });\n return this;\n }\n\n /**\n * Remove item regardless of expiry time\n *\n * @param {string} key\n * @returns {CacheHandler}\n */\n remove(key) {\n this.store.removeItem(this.keyPrefix + key);\n return this;\n }\n\n /**\n * Remove all items regardless of expiry time\n *\n * @returns {CacheHandler}\n */\n removeAll() {\n this.store.clearByPrefix(this.keyPrefix);\n return this;\n }\n\n /**\n * Remove item if expired, keep otherwise\n *\n * @param {string} key\n * @returns {CacheHandler}\n */\n expire(key) {\n const cached = this.store.getItem(this.keyPrefix + key);\n if (cached) {\n if (cached.expires <= Date.now()) {\n this.store.removeItem(this.keyPrefix + key);\n }\n }\n return null;\n }\n\n /**\n * Remove expired items\n *\n * @returns {CacheHandler}\n */\n expireAll() {\n const caches = this.store.getItemsByPrefix(this.keyPrefix);\n const now = Date.now();\n for (const [key, cached] of Object.entries(caches)) {\n if (cached.expires <= now) {\n this.store.removeItem(key);\n }\n }\n return this;\n }\n}\n\n// Standard cache with GDPR-compliant localStore and standard cache prefix\nconst cache = new CacheHandler(localStore, CACHE_PREFIX);\n\nexport { CACHE_KEYS, CacheHandler, cache };\n"],"names":["_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_ref","styles","props","_objectWithoutProperties","_excluded","React","viewBox","fill","xmlns","d","fillRule","clipRule","cx","cy","rx","ry","_ref$styles","className","googlePlayBadges","sv","da","de","fr","nl","en","GooglePlayBadge","_googlePlayBadges$lan","_ref$height","height","language","useCurrentLanguage","t","useTranslator","badge","_jsx","src","loading","title","appName","alt","appleStoreBadges","AppstoreBadge","_ref2","_appleStoreBadges$lan","_ref2$height","EmailNotificationTooltipPosition","EmailNotificationToolTip","searchName","searchId","isSavedSearchEmailEnabled","onClose","center","_ref$position","position","Bottom","_useState2","_slicedToArray","useState","isEmailChecked","setIsEmailChecked","_useState4","isPushChecked","setIsPushChecked","toggleEmailNotification","useToggleEmailNotificationMutation","boxClass","classNames","Left","Top","_jsxs","children","htmlFor","type","id","name","onChange","isEmailEnabled","savedSearchDto","sendMail","sendPush","unwrap","catch","showErrorToast","searchGtm","checked","isPushEnabled","onClick","CloseIcon","SaveSearchButton","_ref$type","_ref$successToast","successToast","_ref$showHint","showHint","saveText","_ref$emailDefaultOff","emailDefaultOff","onSaveClick","_ref$gaActionString","gaActionString","_ref$id","_ref$isVertical","isVertical","_ref$containerClassNa","containerClassName","_ref$iconColor","iconColor","_ref$emailTooltipPosi","emailTooltipPosition","dispatch","useAppDispatch","isSaved","setIsSaved","savedSearchId","setSavedSearchId","_useState6","showEmailTooltip","setShowEmailTooltip","_useState8","showHintTooltip","setShowHintTooltip","isLoggedIn","useIsLoggedIn","isMobile","useIsMobile","saveSearchData","useSelector","selectSaveSearchData","categoryId","queryParams","totalItems","useEffect","shouldShowHint","localStore","getItem","STORAGE_KEYS","SAVE_SEARCH_HINT","STORAGE_VALUES","SAVE_SEARCH_HINT_CLICKED","GdprSettings","isFunctionalEnabled","openSearchForm","_useSaveSearchMutatio2","useSaveSearchMutation","fixedCacheKey","saveSearch","saveSearchResponse","saveStatus","status","saveSearchResponseData","data","isSavePending","_useRemoveSavedSearch2","useRemoveSavedSearchesMutation","removeSavedSearches","_useRemoveSavedSearch3","isRemovePending","isLoading","removeSearchResponseData","hasPendingRequest","hideHint","setItem","handleSaveSearch","handleLogin","query","_objectSpread","redirectUrl","window","location","pathname","toSearchString","signIn","savedQueryName","then","storeSavedSearch","showSuccessToast","GtmService","trackGA4","saved_search_type","saved_search_id","buttonTheme","hideText","hideIcon","iconClassName","buttonClass","containerClass","centerTooltip","tooltipPosition","Popover","text","buttonText","defaultOpen","Button","theme","variant","fluid","size","handleClick","ids","removeSavedSearchFromStorage","icon","BookmarkFillIcon","BookmarkIcon","_Fragment","EmptyImage","CameraIcon","timestampToDate","firebaseTimestamp","_firebaseTimestamp$_s","_firebaseTimestamp$_n","seconds","_seconds","nanoseconds","_nanoseconds","Date","IdentityVerificationContent","style","maxHeight","birthdate","onVerifyWithBankId","onCloseAction","disabled","ScrollableModal","show","maxWidth","mobileBottomSheet","header","HeaderWithCloseButton","undefined","footer","BankidIcon","fixedIcon","Trans","i18nKey","components","csLink","pollSessionStatus","successAction","errorAction","command","abortController","AbortController","timeoutId","retries","poll","memberIdentificationClient","signal","response","Error","errors","isCompleted","setTimeout","ex","axios","abort","clearTimeout","headerInternationalIdentificationModalId","HeaderInternationalIdentificationModal","_useAppSelector","useAppSelector","state","ui","modals","currentModal","currentModalData","purposeQueryParam","URLSearchParams","useLocation","search","get","purpose","setErrors","clearModal","useCallback","setIsResponseLoading","onVerifyComplete","shouldSetMemberActive","closeModal","setMemberActive","setIsInternationalWacko","onCloseModal","closeNewMessageModal","trackAction","isResponseLoading","identifiedQueryParam","isStale","success","error","forEach","cleanup","errorText","getErrorText","InternationalIdentificationModal","onTop","introText","heading","method","includes","MitId","setSelectedIdentificationIsLoading","setError","preferredLanguageCode","selectPreferredLanguageCode","clientId","languageCodeIso2","href","PayPal","PayPalLogo","_ref$className","transform","clipPath","Idin","IdinLogo","points","x","y","width","r","states","CardVerification","onCardVerified","setIsHidden","preferredLanguage","selectPreferredLanguage","memberEmail","member","setState","submitButtonRef","useRef","useDispatch","webApiClient","async","_ref3","options","authorization","clientToken","container","locale","threeDSecure","create","instance","current","addEventListener","requestPaymentMethod","amount","email","requestPaymentMethodErr","payload","_braintreeWebError","code","nonce","post","isVerified","threeDSecureValidationFailed","liabilityShiftPossible","liabilityShifted","e","ref","restart","STATE","SignicatScanning","onVerifyCompleteIncoming","callback","callbackRef","useCallbackWrapper","verifyingState","setVerifyingState","currentTimeoutId","abortPolling","token","onfidoWebSdkUrl","sessionId","dossierId","webSdkUrl","Promise","resolve","reject","dataAttributeName","document","querySelector","js","createElement","setAttribute","onLoad","removeEventListener","body","appendChild","Onfido","init","containerId","steps","hideCountrySelection","documentTypes","passport","national_identity_card","driving_licence","onError","onComplete","_ref4","_await$poll","aborted","result","isComplete","isSuccessful","validationErrors","minHeight","LocalLoader","role","InfoIcon","rel","IDENTIFICATION_TYPES","validIdentifications","setValidIdentifications","isHidden","selectedIdentification","setSelectedIdentification","_useState10","isSelectedIdentificationLoading","_abortController$curr","onCancel","_abortController$curr2","selectedIdentificationGui","showGlobalLoader","showLocalLoader","bottomSheetFullHeight","padding","border","menu","round","ArrowLeftIcon","InfoBox","danger","VerificationIcon","map","identification","index","element","MitIdLogo","color","logger","_ref$alt","logoClassName","CurrencySelect","onCurrencySelected","inProfileMenu","currencies","selectCurrencies","preferredCurrency","selectPreferredCurrency","shortName","longName","setPreferredCurrencyThunk","handleOnClick","Flag","countryCodeIso2","mapCurrencyCodeToCountryCode","CheckIcon","matchAnchorWidth","scrollIntoView","side","noWrap","isOpen","setIsOpen","scroll","useScrollIntoView","isMounted","useIsMounted","block","handleClose","OptionalWrapper","wrap","RadixPopover","modal","open","onOpenChange","asChild","collisionPadding","Space","gap","align","Text","fontWeight","font","as","OverlayPortal","createPortal","RatingStars","memberAlias","memberId","rating","gaAttributes","link","_ref$dark","dark","toLocalizedUrl","useUrlLocalizer","displayRating","utils","getDisplayRating","Stars","RatingIcon","Fragment","ALink","useLink","toFixed","SearchInput","_selectedCategory$id","_ref$categoriesElemen","categoriesElement","formClassName","_ref$inputClassName","inputClassName","_ref$onBlur","onBlur","_ref$onClearSearchInp","onClearSearchInput","_ref$onFocus","onFocus","_ref$onFormSubmit","onFormSubmit","_ref$onUserInputChang","onUserInputChange","_ref$onUserKeyUp","onUserKeyUp","searchInputRef","searchTerm","selectedCategory","_ref$suggestionsEleme","suggestionsElement","placeholderText","focusOverride","_ref$border","placeHolderTranslation","categoryName","showClearButton","action","autoComplete","onSubmit","searchInputForm","searchInputFormBorder","preventDefault","stopPropagation","searchInputField","formControl","placeholder","maxLength","value","onKeyDown","searchInputFormButtons","event","_searchInputRef$curre","focus","CloseNarrowIcon","SearchIcon","_ref$query","split","beforeQuery","afterQuery","hasSplitQuery","evt","fixFlexHeightInIpadMini2Style","flexBasis","PreviousSearchesListItem","changeSearchTerm","inSPA","isSelected","onPreviousSearchRemoved","selectedCategoryId","searchString","q","search_type","search_term","onMouseDown","HighlightWord","TimeIcon","SearchesSuggestionsListItem","item","category","exactSearchEnabled","useMemberServerStorageWithCookieFallback","forceKeywordSearch","ShopsSuggestionsListItem","suggestionUrl","urlName","CharitiesSuggestionsListItem","slug","CampaignSuggestionsListItem","_ref5","campaignId","headline","getAdvancedSearchUrl","_ref6","encodeURIComponent","AdvancedSearchListItem","_ref7","FilterIcon","SellerSearchListItem","_ref8","searchUrl","StoreIcon","SearchSuggestionSection","suggestions","previousSearches","filter","entry","trendingSearchesItems","useGetTrendingSearchesQuery","trendingSearches","url","mapTrendingSearchesToTags","previousSearchesEmpty","trendingSearchesEmpty","sectionEmpty","removePreviousSearch","which","KEYCODE","ENTER","previousSearch","tabIndex","trendingSearch","KeywordSearchSwitch","_ref$size","_useMemberServerStora2","setChecked","ToggleSwitch","handleOnChange","newValue","exact_search","label","SearchSuggestions","visible","onChangeSearchTerm","selectedIndex","searchSuggestionsElementRef","setIsSearchInputFocused","keywordSearchSwitch","currentTarget","contains","relatedTarget","ESC","componentProps","JSON","stringify","propTypes","useGetSuggestions","automaticTranslationPreferred","selectAutomaticTranslationPreferred","params","getSuggestions","_ref$searchTerm","_ref$limitPrevious","limitPrevious","_ref$enablePrevious","enablePrevious","_ref$enableSuggestion","enableSuggestions","_ref$recentSearches","recentSearches","generateSuggestionId","term","suggestedResults","searches","shops","charities","campaigns","previousSearchResults","filteredRecentSearches","toLowerCase","slice","getSuggestionsFromBackend","withDuplicates","concat","categories","uniqueMap","Map","has","set","uniqueResults","Array","from","values","shopResults","charitiesResults","capaignId","normalizeSearches","reduce","acc","push","_response$data","_response$data$campai","_response$data$shops","_response$data$charit","logError","SearchCategory","handleCategoryChange","topLevelCategories","categoryPath","isCategorySelected","DropdownMenu","DropdownMenuTrigger","categoryLabel","categoryColor","DropdownIcon","DropdownMenuContent","option","DropdownMenuItem","onSelect","Divider","getCategoryIcon","UP","DOWN","PlainSearch","_props$categoryPath","_props$inputClassName","_props$formClassName","_props$placeholderTex","_props$discoverCurren","discoverCurrentCategoryId","_props$discoverSearch","discoverSearchTerm","navigation","useNavigation","currentCategoryId","setCurrentCategoryId","isSearchInputFocused","setSearchTerm","setSuggestions","selectedSuggestionIndex","setSelectedSuggestionIndex","exactSearchChecked","useGetCategoriesQuery","level","useOnHydration","_searchInputRef$curre2","loadSearchSuggestions","getSuggestionsWrapper","loadSuggestionsDebounce","debounce","enableSuggestionsFromBackend","handleUpDownArrowKeys","keyCode","incrementBy","newIndex","getNextIndex","currentIndex","totalElements","newSearchTerm","searchIsFocused","activeElement","changeWindowLocation","newQuery","trimmedSearchTerm","trim","newSearchUrl","getNewSearchUrl","allCategories","sortBy","filteredQueryParams","paging","spage","keepFilters","ENDPOINTS","SEARCH","qs","addQueryPrefix","currentCategory","find","queryParamsToKeep","_excluded2","Analytics","blur","getSelectedCategory","allCategoriesOption","setCurrentCategoryIdAction","selectBox","selectedOption","selectedOptions","trackSearchCategoryChanges","_evt$relatedTarget","_evt$relatedTarget$da","_evt$relatedTarget2","_evt$relatedTarget2$d","_evt$relatedTarget3","_evt$relatedTarget3$d","dataset","suggestionSectionButton","suggestionSectionButtonRemove","handleFocus","search_category","_searchSuggestionsEle","querySelectorAll","click","removeRecentSearches","Search","connect","pageType","page","_state$discover$query","PAGE_TYPES","SEARCH_RESULT_PAGE","CATEGORY_RESULT_PAGE","discover","personalisation","FooterLocalizationLink","isLocalizationSettingsVisible","setLocalizationSettingsVisible","showRegionSelection","selectShowRegionSelection","onMouseLeave","HoverMenu","showMenu","LocalizationMenu","TranslateIcon","shouldBeVisible","trackAnalytics","constructor","openUi","__tcfapi","FooterLinks","links","callerId","linksToRender","includedLanguages","lang","areLanguageCodesIso2Equal","rest","toUpperCase","BuyingLinks","availableLanguageCodesIso2","selectAvailableLanguageCodesIso2","DA","DE","EN","FR","NL","SV","SellingLinks","isPennybridgeCharitiesEnabled","useIsFeatureEnabled","ContactAndHelpLinks","isQuantcastConsentEnabled","ConsentService","InformationLinks","isSwedishOrUndefined","SocialLinks","_useAppDownloadLink","useAppDownloadLink","appStore","googlePlay","AppstoreLogo","GooglePlayLogo","FooterPartners","shippingRegionCountryCodeIso2","selectShippingRegionCountryCodeIso2","partnersToRender","shippingProvider","containerCss","excludedCountries","includedCountries","VisaLogo","paymentMethod","MastercardLogo","SwishLogo","KlarnaLogo","PaypalLogo","TrustlyLogo","imgCss","GooglePayLogo","ApplePayLogo","partner","country","areCountryCodesIso2Equal","FooterCurrencyLink","isCurrencySettingsVisible","setCurrencySettingsVisible","brandedText","CurrencyIcon","AppDownloadBanner","isDesktop","useIsDesktop","trackClick","store","srcSet","PhoneLg","Heading","branded","StartPageFooterBanner","activeIndex","setActiveIndex","bannerLinks","views","startPage","config","shouldRender","interval","setInterval","clearInterval","content","baseUrl","_useInView2","useInView","threshold","symbolRef","inView","MY_MESSAGES_PAGE","showAppDownloadBanner","SiteWidth","getFullYear","TraderaSymbol","getGeoPublicApiLocationUrl","geoPublicBaseUrl","originalUrl","forceGeoDevMatch","match","cookieUtil","createCookie","FORCE_GEO_DEV","forceGeoDevCookie","readCookie","getGeolocation","getState","setIsFetchingGeolocation","PUBLIC_GEO_PUBLIC_API_BASE_URL","environment","variables","isServer","_utilizeCancelToken","utilizeCancelToken","cancel","cancelToken","finalizeResponse","handleError","fetchGeolocation","setGeolocation","setCurrencyIfNotChosen","currency","removeShippingCountryCookieIfSwedish","message","API_ERRORS","ABORTED","CANCELLED","NETWORK","failedLoadingGeolocation","HeaderBadge","count","_ref$maxValue","maxValue","CartLink","cartItemCount","cartUrl","CartIcon","memo","active","onPointerDown","MenuItemSeparator","MenuItemButton","_ref$containerClass","_ref$follow","follow","ArrowRightIcon","MenuItem","alerts","bold","highlight","imageContainerClassName","imageUrl","notify","MenuItemContent","backgroundImage","Badge","BadgeComponent","formatPrice","useSekPriceFormatter","displayValue","ExpandableMenuItem","indentItems","defaultExpanded","onOpen","expanded","setIsExpanded","noTransform","ArrowUpIcon","ArrowDownIcon","TopLevelCategories","inspirationLinks","SeoLinks","inspirationLink","useCategorySearch","_categories$","setFilter","filterDebounced","useDebouncedState","isCategorySearchEnabled","filteredCategories","setFilteredCategories","categoryResults","useCategorySearchQuery","searchLanguageCodeIso2","skip","matchingCategoryIds","leafCategories","parentCategories","flat","_category$children","child","filterCategories","handleFilterChange","handleFilterKey","inputElement","getGaAttributes","isTopListsEnabled","isValuationPageEnabled","mediaProps","BREAKPOINT_SIZES","BREAKPOINTS","MD","max","isSwedish","MediaQuery","UserIcon","PenIcon","REDIRECT_TO_NEWDRAFT_QUERY","RecommendedIcon","EndingSoonIcon","BrandIcon","CategoryCharityIcon","ValuationIcon","TrendingIcon","RenderAsync","CategoryMenuItems","searchPlaceholder","InspirationIcon","Boolean","categoryList","_useCategorySearch","_categoryList$","_filteredCategories$","allowClear","CategoryMenuItem","_ref3$category","_ref3$inSPA","SPACE","_ref$inSPA","_ref$isLoggedIn","categoryDropdownMenu","MODAL_STATE","OPEN","setShouldRender","onExited","renderMenu","isMouseClick","button","isSingleTouch","touches","isKeyboardClick","isButtonClickStarted","queueUserBlockingTask","closeCategoryDropdownMenu","queueBackgroundTask","closeProfileMenu","openCategoryDropdownMenu","onItemClick","sideMenuMediaProps","LG","dropdownMenuMediaProps","minWidth","getViewHeightCorrection","_document$getElementB3","_document$getElementB4","measured100vh","getElementById","offsetHeight","innerHeight","renderChild","RemoveScroll","forwardProps","_document$getElementB","_document$getElementB2","getBoundingClientRect","top","getSiteHeaderOffset","ApplicationErrorBoundary","DropDownMenuHamburger","EnterFrom","in","unmountOnExit","EnterFade","Overlay","zIndex","closeModalCallback","SignUpLink","clickAction","hasLoggedIn","register","selectIsSwedishVisitor","selectIsForeignLanguageActivated","selectIsOutsideSweden","PushNotificationModal","notificationOptinModal","modalType","gaLabel","description","tagGroups","trackGa","closeNotificationOptinModal","direction","pushNotificationActions","dangerouslySetInnerHTML","__html","HoverMenuItem","HoverMenuItemSeparator","getMenuGaAttributes","BuyMenu","_useBiddingPageOptIn","useBiddingPageOptIn","isTryOutBiddingPageEnabled","isEnabledAndReady","isBiddingPageOptIn","optIn","isBiddingPageActive","hoverMenuStyles","alignSm43Lg50","myTraderaUrls","bidding","activeItems","AuctionIcon","WinningIcon","itemsLost","AuctionLostIcon","RatingPositiveIcon","BuyingLink","mouseOver","mouseOut","buyingText","onMouseEnter","HOVER_MENUS","BUY","BuyIcon","HowTraderaWorks","HOW_TRADERA_WORKS","NewListingLink","newListingLink","Profile","facebookId","profilePicture","firstLetter","ProfileLink","handleProfileClick","menuExpanded","isMessagingEnabled","badges","_useAppSelector2","memberHeroImage","notificationCount","messageNotificationCount","badgeNotificationCount","isUserLoggedInAndMessagingEnabled","messagingStatsData","useGetMessagingStatsQuery","refetchOnMountOrArgChange","threadsUnread","logInText","tooltip","badgeClass","borderColorClass","multipleBadges","buttonClasses","textClass","min","charAt","MessageIcon","SearchButton","showSearch","NewMessageForm","isError","_useForm","useForm","defaultValues","messageText","mode","handleSubmitHook","handleSubmit","_useForm$formState","formState","isSubmitting","isValid","TextBox","required","WarningIcon","NewMessageHeader","recipientId","recipientAlias","itemTitle","itemImageUrl","itemSellerId","purchaseOrderId","ImageLoader","fallback","NewMessageModal","onModalClosed","itemId","senderId","memberBirthdate","selectMemberBirthdate","isInitialLoadingOfModalDone","setIsInitialLoadingOfModalDone","isIdVerificationError","setIsIdVerificationError","isPossibleToAddMessage","setIsPossibleToAddMessage","notPossibleToAddMessageErrorText","setNotPossibleToAddMessageErrorText","_useInitiateThreadMut2","useInitiateThreadMutation","initiateThread","_useInitiateThreadMut3","initiateThreadData","isInitiateThreadError","_useGetProfileQuery","useGetProfileQuery","firebaseProfileQuery","isGetProfileError","isGetProfileFetching","isFetching","isGetProfileUninitialized","isUninitialized","_useAddMessageMutatio2","useAddMessageMutation","addMessage","isAddMessageError","_firebaseProfileQuery","messageThrottledUntil","isInitiateThreadVerificationDone","listingId","toString","receiverId","persist","initiateThreadResponse","thread","recipient","getRecipient","getThreadInteractivity","isAddMessageAllowed","addMessageText","_ex$data","_ex$data$error","translationKey","errorMessage","CONSTANTS","ERRORS","MEMBER_BLOCKED","BLOCKED_BY_MEMBER","MEMBER_NOT_CONTACTABLE","parseErrorMessageIntoTranslationKey","showBankIdInfoModal","setShowBankIdInfoModal","_useState12","bankIdFlowInProgress","setBankIdFlowInProgress","_useState14","internationalVerificationInProgress","setInternationalVerificationInProgress","requireIdentityVerification","isSwedenCountryCodeOrUndefined","openModal","modalId","isIdVerificationNotRequiredOrDone","BankIdInfoModal","verifyWithBankIdAction","startAuthAndOpenModal","BankIdModal","info","initiateThreadResult","console","log","_initiateThreadResult","_initiateThreadResult2","threadId","FIREBASE","MESSAGE_TYPE","TEXT","formData","WatchListMenu","HeartIcon","StarIcon","WishlistLink","wishListSideSheet","wishListAddedCount","items","prevNumWishListItemIds","setPrevNumWishListItemIds","heartBlink","setHeartBlink","WISHLIST","closeWishListSideSheet","closeNotificationsSideSheet","openWishListSideSheet","HeartFilledIcon","WatchlistMenu","SellMenu","isTraderaShopEnabled","alignSm25Lg50","TemplateIcon","listings","ListingsIcon","SoldIcon","listingsUnsold","UnsoldIcon","ListIcon","ShippingBagIcon","dayjs","customParseFormat","UnderageModal","daysUntilEighteen","add","diff","Underage","onLinkClick","days","SellingLink","selling","isUnderage","selectIsUnderage","showUnderageModal","setShowUnderageModal","SELL","SaleIcon","transition","cssTransition","enter","exit","hideProgressBar","closeOnClick","draggablePercent","autoClose","pauseOnFocusLoss","hot","HotIcon","warning","AlertIcon","closeButton","closeToast","marginTop","TraderaToastContainer","ToastContainer","CurrencyLink","onClickMenuOption","CURRENCY","alignRight","itemStates","itemState","compact","ActionButton","grayedOut","handleClickToVip","itemUrl","isAvailableForOffers","itemActions","sectionGaName","gaSourceScreen","SOURCE_SCREEN","WishListItem","_item$imageUrl","_item$shortDescriptio","setBidHistoryItemId","handleWishlistClick","existsInWishlist","selectExistsInWishList","replace","ListingItemWithActions","shortDescription","imageTemplate","isActive","endDate","statusBadge","bottom","left","shippingCost","preferredShipping","cost","maxBid","maxBidAmount","sellerAlias","sellerId","sellerMemberId","bidCount","totalBids","itemPrice","price","itemType","onShowBidHistory","actions","isTakeawayOnly","leadingBidder","onWishlistClick","WishListEmpty","opacity","fillOpacity","ScrollIntoViewOnChange","deps","_ref$current","_ref$current$scrollIn","useResetState","initialValue","setValue","setInit","useWishListData","statusFilter","_ref$pageSize","pageSize","_ref$skip","_endpoints$getWishLis2","endpoints","getWishListEndless","useQueryState","useWishListParams","currentData","_endpoints$getWishLis3","latestPageMaybe","_endpoints$getWishLis4","wishListItems","_endpoints$getWishLis5","totalCount","latestPage","_useResetState2","setPage","_useGetWishListEndles","useGetWishListEndlessQuery","isAllItemsFetched","nextPage","p","WishListItems","setShowMayBeMoreResultsText","setWishlistEmpty","bidHistoryItemId","_useWishListData","_useInView","loadingMoreRef","hasSearchTerm","timeoutCheck","visibleWishListItems","useMemo","Fuse","ignoreLocation","keys","results","wishlist","LoadingIcon","BidHistoryModal","isBuyer","WishListShareItem","toggleItem","selectMemberAlias","localizedPriceFormatter","useLocalizedPriceFormatter","CurrencyRateType","Seller","Buyer","CheckFillIcon","GA_EVENT_CATEGORY_WISHLIST_SHARE","WishListShare","_navigator$canShare","_navigator","isMobileDevice","_useSelectable","useSelectable","selectedItems","setSelectedItems","canShare","navigator","handleShare","shareText","buildShareObject","origin","join","share","clipboard","writeText","WishListShareButton","showText","showTooltip","gaEventLabel","wishlistSantaEnabled","shouldShowTooltip","setShouldShowTooltip","SHARE_WISHLIST_TOOLTIP_SANTA","SHARE_WISHLIST_TOOLTIP_SANTA_CLICKED","SHARE_WISHLIST_TOOLTIP","SHARE_WISHLIST_TOOLTIP_CLICKED","handleTooltipClose","handleTooltipClick","ShareSantaIcon","ShareIcon","WishListSideSheet","wishlistShareEnabled","isShareOpen","setIsShareOpen","wishlistEmpty","showShareToolTip","setShowShareToolTip","showMayBeMoreResultsText","filterOptions","selectedFilter","setSelectedFilter","handleDismiss","onNavigation","pagesRouter","useContext","RouterContext","handleRouteChange","isNextJs","isTouchwebInNextweb","events","on","off","useOnNavigation","SideMenu","onDismiss","ScrollableModalContent","RadioSwitch","defaultChecked","innerClassName","mapCountryCodeToCurrencyCode","countryCode","LocalizationRegionPicker","showLocalizationRegionPicker","selectShowLocalizationRegionPicker","geolocation","selectGeolocation","isCrawler","userAgent","userAgentLowerCase","isCrawlerBot","useUserAgent","request","dismissLocalizationRegionPicker","shippingCountriesTmp","selectAvailableShippingCountries","shippingCountries","countryNameEng","isoCode","shippingCountryCodeIso2","setShippingCountryCodeIso2","getAvailableShippingCountries","LocalizationImage","ShippingCountrySelectDropdown","selectedShippingCountryCodeIso2","itemsBeforeScrollCount","shippingCountryPlaceholder","englishCountryNames","right","forceZIndex","onLocalizationShippingRegionSelected","currencyCode","LoaderLine","viewportChangeCallback","visibilityState","viewportWidth","String","innerWidth","VIEWPORT_WIDTH","expires","setMonth","getMonth","setViewportCookie","getGooglePlayQrCode","getAppstoreQrCode","APP_DOWNLOAD_GA_CATEGORY","AppDownloadModal","backgroundLoaded","setBackgroundLoaded","backgroundError","setBackgroundError","hasAddedToWishlist","useMemberServerStorageWithCookieFallbackBoolean","APP_DOWNLOAD_MODAL_DISMISSED","modalDismissed","setModalDismissed","_useMemberServerStora3","isReady","isPersistant","showModal","handleImageLoaded","handleImageError","_getMobileBackgroundI","AppDownloadMobile2x","AppDownloadMobile2xDa","AppDownloadMobile2xDe","AppDownloadMobile2xFr","AppDownloadMobile2xNl","getMobileBackgroundImage","mobileSrcSet","mobileSrc","_getDesktopBackground","AppDownloadDesktop2x","AppDownloadDesktop2xDa","AppDownloadDesktop2xDe","AppDownloadDesktop2xFr","AppDownloadDesktop2xNl","getDesktopBackgroundImage","desktopSrcSet","desktopSrc","handleCloseModal","break","Close","PlainLocalizationMenuItem","onToggle","mapLanguageCodeToLanguageKey","LanguageSelect","LocalizationMenuItem","CurrencyMenuItem","showCurrencySelection","selectShowCurrencySelection","currencyShortName","trackPaymentOnboarding","InvoiceUnpaidAlert","alert","InvoiceOverdueAlert","headerClassName","BankAccountMissingAlert","PayoutFailedAlert","PayoutReadyBankAccountMissingAlert","HyperwalletPayeeVerificationAlert","HyperwalletPayeeVerificationReviewAlert","KycQuestionnaireAlert","PayoutReadyVerificationRequiredAlert","OutstandingTraderaPayLicenseAlert","PayoutReadyOutstandingTraderaPayLicenseAlert","CollectVatNumberAlert","CollectTinAlert","PayoutProviderOnboardingFailedAlert","ReferralAlert","openReferralModal","GiftIcon","ForwardIcon","InternationalIdentificationAlert","selectMemberState","getGaLinkAttributes","ProfileHeader","imageAvailable","setImageAvailable","cleanedMemberAlias","memberDetailedSellerRatingAverage","memberCountryCodeIso2","memberIsBuyer","memberIsSeller","showReferralAlert","handleCloseProfileMenu","MenuItemWithToggle","_ref$disabled","FashionToggleMenuItem","selectIsLoggedIn","useGetHomepageThemeQuery","updateHomepageTheme","useUpdateHomepageThemeMutation","useCookieUtil","isFashionToggleOn","HomepageTheme","Fashion","handleFashionToggleChange","newTheme","shouldBeToggledOn","Default","ENTERED_FASHION_PAGE","isRootPath","isFashionPath","isPokemonPath","isLocalePath","URL_LANGUAGES","some","isOnStartPage","FashionIcon","mediaBelowLarge","trackExpandItemClick","ProfileMenuContent","_systemBadges$Payouts","hasTraderaPay","showMessagingLink","hasEnteredFashionPage","_useGetMessagingStats2","systemMessages","systemBadges","_useQualtive","useQualtive","isQualtiveEnabled","openQualtiveModal","isFashionToggleEnabled","showGiftCardLink","closeProfileMenuCallback","GiftCardIcon","HomeIcon","ChatIcon","DocumentIcon","InvoiceUnpaid","InvoiceOverdue","WalletIcon","BankAccountMissing","PayoutReadyBankAccountMissing","PayoutFailed","HyperwalletPayeeVerificationRequired","HyperwalletPayeeVerificationUnderReview","PayoutReadyVerificationRequired","OutstandingTraderaPayLicense","PayoutReadyOutstandingTraderaPayLicense","PayoutProviderOnboardingFailed","WalletBalance","PayoutsActivity","SettingsIcon","KycQuestionnaire","CollectVatNumber","CollectTin","FeedbackIcon","SURVEYS","general","logOutAction","LogoutIcon","isExisting","trackOnClick","SignInMenuContent","closeMenu","_ref$showCloseButton","showCloseButton","iframeClassProp","iframeClassName","profileMenu","isNextWebLoginEnabled","isChatBotEnabled","iframeClass","getReturnUrl","onIframeLoad","iframe","_iframe$contentWindow","iframeDocument","contentDocument","contentWindow","openChatBot","protocol","__be","BE_API","openChatWindow","isChatWindowOpened","scriptEl","dropdownMenuStyles","ProfileMenu","previousLoginMethod","selectPreviousLoginMethod","growthBook","useGrowthBook","experimentIsOn","getFeatureValue","dismissOnOverlayClick","ReferralModal","_data$responseStatus","codeCopied","setCodeCopied","gaCategory","_state$ui$referralMod","referralModal","_useGetReferralCodeQu","useGetReferralCodeQuery","referral","referralCode","responseStatus","errorCode","substring","formattedAmount","closeReferralModal","fontVariantLigatures","copyCode","iconLeft","iconRight","nativeShare","getSmsShareLink","number","getEmailShareLink","subject","AccordionItem","notificationsApi","webApi","injectEndpoints","builder","getUnreadNotificationsCount","transformResponse","unreadCount","getNotificationsEndless","_ref$page","take","_","_request$page","serializeQueryArgs","endpointDefinition","endpointName","defaultSerializeQueryArgs","queryArgs","forceRefetch","currentArg","previousArg","merge","currentCacheData","_currentCacheData$ite","_response$items","onQueryStarted","arg","_result$data","queryFulfilled","clearAllUnreadNotifications","initiate","mutation","util","upsertQueryData","useGetUnreadNotificationsCountQuery","useGetNotificationsEndlessQuery","NotificationsBadge","_useGetUnreadNotifica2","unreadNotificationsCount","NotificationsLink","notificationsSideSheet","openNotificationsSideSheet","BellIcon","Shimmer","NotificationsSideSheet","NotificationItems","_useNotificationsData","useNotificationsData","notifications","notification","NotificationSwitch","onNavigate","NotificationsEmptyState","NotificationsBell","NotificationTypes","NotificationsWithBuyerRate","Set","ItemWon","MemberOutbidded","LeadingAutoBidPlaced","PurchaseOrderUnpaid","PurchaseOfferNoLongerHighestAmount","WishlistItemPriceLowered","WishlistedShopItemReminder","WishlistItemsEndingToday","titleFull","amountSek","truncate","ItemClosedWithoutBuyer","ItemNotification","strong","ItemNewLeadingBid","ItemSold","BuyerPaid","notificationData","buyerPaidData","shipmentBookingType","buyerPaidLink","buyerPaidKey","plusAdditionalItems","getPlusAdditionalItemsText","numberOfItems","purchaseOrderUnpaidData","ShipmentSent","shipmentSentData","wishlistItemPriceLoweredData","newPrice","FeedbackReminder","feedbackReminderData","isSeller","wishListItemsEndingTodayData","WishlistItemResell","_notification$mainIma","_notification$title","BaseNotification","timeStamp","isRead","imageSrc","mainImageTemplate","imageTitle","dateText","dateString","date","now","secondsSinceDate","Math","getTime","minutesSinceDate","hoursSinceDate","daysSinceDate","toLocaleDateString","day","month","useTimeSinceShortFormat","objectFit","DotIcon","_value$length","_endpoints$getNotific2","_endpoints$getNotific3","_endpoints$getNotific4","_endpoints$getNotific5","_useGetNotificationsE","SiteHeader","_cookieUtil$readCooki","isPageLoading","enabled","useOnMount","useViewportWidthCookie","showSearchForm","showHeaderSearch","newMessageModal","pageName","isTablet","useIsTablet","isSticky","setIsSticky","activeHoverMenu","setActiveHoverMenu","cartIdCookieValue","CART_ID","useGetCartSummaryQuery","getCartSummaryParams","handleLoginClick","fetch","headers","ok","sessionData","json","reload","_profileMenu$open","profileMenuOpen","showMfaVerifiedMessage","referrer","enabledByGdprSettings","hasValueForKey","HAS_SHOWED_MFA_VERIFICATION_MESSAGE","handleHashChanged","readyState","shouldOpenReferralModal","removeHashFromUrl","handleMouseOverMenu","handleMouseOutMenu","handleMenuClick","LOCALIZATION","hasCartItems","showAppLogoOnTinyScreen","showSaveSearch","profileLink","preventNavigationAndShowLogin","openProfileMenu","scrollTo","Sticky","enableTransforms","activeClass","TraderaAppLogo","TraderaLogo","LocalizationLink","closeHoverMenu","handleClickSearch","closeSearchForm","handleRegisterClick","cookieName","expireDate","setTime","RenderChildren","Yield","lazy","yieldToMain","default","Suspense","TransactionTypes","ITEM_LAYOUT","SITE_LAYOUT","categoryIcons","ToysChildrensItemsIcon","iconSizeClass","IconComponent","decoding","appLinks","removeRecentSearchLocalStorage","newCookieValue","syncLocalStorageToCookies","setRecentSearchesFromCookie","removeRecentSearch","getSystemMessages","IGNORE_ME","getSystemBadges","CACHE_KEYS","SYSTEM_MESSAGES","SYSTEM_BADGES","cache","keyPrefix","read","cached","removeItem","write","ttl","remove","removeAll","clearByPrefix","expire","expireAll","caches","getItemsByPrefix","entries"],"sourceRoot":""}