{"version":3,"file":"script/bundle-20.fa84b4b415.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/heart-fill.svg","webpack://touchweb/./src/blueprint/theme/icons2/no-image.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/end-time-label/end-time-label.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/badge/badge.module.scss","webpack://touchweb/./src/components/badge/badge.tsx","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/site-header.analytics.js","webpack://touchweb/./src/components/menu-item/menu-item.module.scss","webpack://touchweb/./src/components/menu-item/menu-item.tsx","webpack://touchweb/./src/components/site-header/buy-menu.tsx","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/wishlist-link.tsx","webpack://touchweb/./src/components/site-header/sell-menu.tsx","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/sold/components/highlighter.tsx","webpack://touchweb/./src/components/atoms/text-split/text-split.module.scss","webpack://touchweb/./src/components/atoms/text-split/text-split.tsx","webpack://touchweb/./src/apps/my-tradera/listing-item/item-type/item-type.tsx","webpack://touchweb/./src/blueprint/theme/icons2/eye.svg","webpack://touchweb/./src/apps/my-tradera/listing-item/listing-item.module.scss","webpack://touchweb/./src/apps/my-tradera/listing-item/listing-item-with-actions.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/components/wish-list-button/wish-list-button.module.scss","webpack://touchweb/./src/components/wish-list-button/wish-list-button.tsx","webpack://touchweb/./src/constants/item-types.ts","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/hooks/use-ticker.js","webpack://touchweb/./src/hooks/use-countdown.js","webpack://touchweb/./src/hooks/use-format-utc-date-in-swedish-timezone.ts","webpack://touchweb/./src/hooks/use-is-mounted.ts","webpack://touchweb/./src/state/personalisation/actions.ts","webpack://touchweb/./src/state/ui/api.js","webpack://touchweb/./src/utils/cache.js","webpack://touchweb/./src/utils/format-time-left.ts"],"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: \"M15.5 5.6c0-2.6-1.6-4.2-3.5-4.5-1.5-.3-3.1.2-4 1.4C7.1 1.2 5.4.8 4 1.1 2.1 1.5.5 3 .5 5.6c0 2.7 2 6 7.2 9.3.2.1.4.1.5 0 5.3-3.3 7.3-6.6 7.3-9.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 xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 41 32\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.22 0l-5.3 5.29H4.65A2.64 2.64 0 002 7.93v18.5a2.64 2.64 0 002.64 2.64h7.93v-2.64H4.65V7.93h6.38l5.28-5.29h8.39l5.28 5.29h6.38v18.5h-7.93v2.64h7.93A2.64 2.64 0 0039 26.43V7.93a2.64 2.64 0 00-2.64-2.64h-5.29L25.8 0H15.22z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.08 18.5a10.57 10.57 0 10-21.14 0 10.57 10.57 0 0021.14 0zm-18.5 0a7.93 7.93 0 1115.86 0 7.93 7.93 0 01-15.86 0z\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"5.29\",\n height: \"2.64\",\n x: \"4.65\",\n rx: \".5\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.79 18.5a5.29 5.29 0 00-5.29-5.28h-.06.06v2.64a2.64 2.64 0 012.65 2.64h2.64zm-10.57.16v-.32a5.57 5.57 0 000 .32z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 29.65L39.55 4l1.36 2.1L1.36 31.75 0 29.65z\"\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 { useTranslator } from 'tradera/lang/translate';\nimport { useCountdown } from 'tradera/hooks/use-countdown';\nimport { formatItemCardTimeLeft } from 'tradera/utils/format-time-left';\nimport { useFormatUtcDateInSwedishTimeZone } from 'tradera/hooks/use-format-utc-date-in-swedish-timezone';\nimport {\n formatUtcTimeAsSwedishTimeZone,\n swedishTimeZoneDate\n} from 'tradera/utils/date';\nimport { useDayJs } from 'tradera/hooks/use-day-js';\nimport type { Dayjs } from 'dayjs';\n\ntype EndTimeLabelProps = {\n className?: string;\n endDate?: Date | string | null;\n isActive?: boolean | null;\n showDateOnEnded?: boolean;\n};\n\nconst isSameDay = (endDate: Date | string, dayjs: () => Dayjs): boolean => {\n const end = swedishTimeZoneDate(endDate, dayjs);\n const now = swedishTimeZoneDate(new Date(), dayjs);\n return end.diff(now, 'hour') < 24;\n};\n\nexport const EndTimeLabel = ({\n className,\n endDate,\n isActive,\n showDateOnEnded = false\n}: EndTimeLabelProps) => {\n if (!endDate) return null;\n\n return isActive ? (\n \n ) : (\n \n );\n};\n\nconst EndTimeLabelEnded = ({\n className,\n endDate,\n showDateOnEnded\n}: Pick) => {\n const { t } = useTranslator();\n const formatUtcDateInSwedishTimeZone = useFormatUtcDateInSwedishTimeZone();\n return (\n \n {showDateOnEnded\n ? formatUtcDateInSwedishTimeZone(endDate)\n : t('vip_ended')}\n \n );\n};\n\nconst EndTimeLabelWithCountDown = ({\n className,\n endDate\n}: Pick) => {\n const { t } = useTranslator();\n const dayjs = useDayJs();\n const formatUtcDateInSwedishTimeZone = useFormatUtcDateInSwedishTimeZone();\n const {\n timeLeftText,\n isCountdownDone,\n isCountdownEnabled,\n isTimeLeftBelowWarningLimit\n } = useCountdown(endDate, formatItemCardTimeLeft);\n\n const time = timeLeftText\n ? timeLeftText\n : endDate\n ? formatUtcDateInSwedishTimeZone(endDate)\n : '';\n\n const endingSameDay = endDate ? isSameDay(endDate, dayjs) : false;\n\n return (\n \n {isCountdownEnabled && isCountdownDone ? (\n {t('itemCard_ended')}\n ) : (\n <>\n {endingSameDay && (\n \n {formatUtcTimeAsSwedishTimeZone(endDate, dayjs)}{' '}\n \n )}\n \n {time}\n \n \n )}\n \n );\n};\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","// extracted by mini-css-extract-plugin\nexport default {\"badge\":\"badge--XSAZi\",\"compact\":\"compact--jJezX\",\"round\":\"round--uQbv7\",\"fluid\":\"fluid--h24_U\",\"rounded\":\"rounded--S3zh3\",\"branded\":\"branded--zI15Q\",\"primary\":\"primary--UIubD\",\"secondary\":\"secondary--d2fLl\",\"success\":\"success--k9Le2\",\"warning\":\"warning--SNZhd\",\"danger\":\"danger--O5qz1\",\"dark\":\"dark--sDbFN\",\"function\":\"function--FbYDr\",\"info\":\"info--Ba2Jk\",\"light\":\"light--snV1O\",\"white\":\"white--xXUYS\",\"gray-100\":\"gray-100--xW46r\",\"gray100\":\"gray-100--xW46r\",\"gray-200\":\"gray-200--Hd4pd\",\"gray200\":\"gray-200--Hd4pd\",\"gray-300\":\"gray-300--wG8EJ\",\"gray300\":\"gray-300--wG8EJ\",\"gray-400\":\"gray-400--dzfkG\",\"gray400\":\"gray-400--dzfkG\",\"gray-500\":\"gray-500--aAqe_\",\"gray500\":\"gray-500--aAqe_\",\"gray-600\":\"gray-600--vxwBH\",\"gray600\":\"gray-600--vxwBH\",\"gray-700\":\"gray-700--wTWOV\",\"gray700\":\"gray-700--wTWOV\",\"gray-800\":\"gray-800--q3IAb\",\"gray800\":\"gray-800--q3IAb\",\"gray-900\":\"gray-900--Z7beg\",\"gray900\":\"gray-900--Z7beg\"};","import { classNames } from 'tradera/utils/class-names';\nimport { type FontColor } from 'tradera/components/atoms/text/text';\n\nimport styles from './badge.module.scss';\n\ntype BadgeProps = React.PropsWithChildren<{\n theme?: FontColor;\n compact?: boolean;\n className?: string;\n fluid?: boolean;\n}> &\n (\n | {\n round?: boolean;\n rounded?: never;\n }\n | {\n round?: never;\n rounded?: boolean;\n }\n );\n\nexport const Badge = ({\n children,\n className,\n theme,\n compact,\n rounded,\n round,\n fluid\n}: BadgeProps) => {\n return (\n \n {children}\n \n );\n};\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})));","export const getMenuGaAttributes = (category, action, label) => ({\n 'data-ga-category': category,\n 'data-ga-action': action,\n 'data-ga-label': `Link - ${label}`\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"subMenu\":\"subMenu--asJfV\",\"slideIn\":\"slideIn--yZZ3C\",\"slideOut\":\"slideOut--PIgOP\",\"brandColorOnHover\":\"brandColorOnHover--toFDA\"};","import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useState\n} from 'react';\nimport { classNames } from 'tradera/utils/class-names';\nimport {\n Button as ButtonComponent,\n type ButtonProps\n} from 'tradera/components/atoms/button/button';\nimport { HeaderWithCloseButton } from 'tradera/components/scrollable-modal/header-with-close-button';\nimport ArrowRight from '@tradera/blueprint/theme/icons2/arrow-right.svg?jsx';\nimport ArrowLeftIcon from 'tradera/blueprint/theme/icons2/arrow-left.svg?jsx';\nimport styles from './menu-item.module.scss';\n\ntype MenuContextType = {\n isOpen: boolean;\n isSlidingOut: boolean;\n closeSubMenu: () => void;\n openSubMenu: () => void;\n};\n\nconst MenuContext = createContext(null);\n\nconst useMenuContext = () => {\n const context = useContext(MenuContext);\n if (!context) throw new Error('useMenuContext must be used within a Menu');\n return context;\n};\n\ntype MenuProps = {\n onOpen?: () => void;\n onClose?: () => void;\n /**\n * Menu defaults to being uncontrolled, but it can be controlled by passing this prop.\n */\n isSubMenuOpen?: boolean;\n};\n\n/**\n * A menu item is built up of a button and an optional sub menu.\n * If there is a sub menu, the button will open it.\n * A wrapper is needed to hold the state for the menu item.\n *\n * ```tsx\n * \n * \n * \n * {children}\n * Close\n * \n * \n * ```\n */\nexport const Wrapper = ({\n children,\n onClose,\n onOpen,\n isSubMenuOpen: isOpenProp\n}: React.PropsWithChildren) => {\n const [isOpen, setIsOpen] = useState(isOpenProp ?? false);\n const [isSlidingOut, setSlidingOut] = useState(false);\n\n const openSubMenu = () => {\n setIsOpen((current) => !current);\n onOpen?.();\n };\n\n const closeSubMenu = useCallback(() => {\n setSlidingOut(true);\n setTimeout(() => {\n setSlidingOut(false);\n setIsOpen(false);\n }, 400);\n onClose?.();\n }, [onClose]);\n\n useEffect(() => {\n if (isOpenProp) {\n setIsOpen(true);\n } else if (isOpenProp === false && isOpen) {\n // We need to check if the menu was actually open before closing it,\n // otherwise we may call onClose mehtod when isOpen transitions from undefined to false.\n closeSubMenu();\n }\n }, [isOpenProp, closeSubMenu, isOpen]);\n\n return (\n \n {children}\n \n );\n};\n\ntype SubMenuProps = React.PropsWithChildren<{\n title: string;\n}>;\n\nexport const SubMenu = ({ children, title }: SubMenuProps) => {\n const { isOpen, isSlidingOut, closeSubMenu } = useMenuContext();\n\n if (!isOpen) return null;\n\n return (\n \n closeSubMenu()}\n menu={\n closeSubMenu()}\n size=\"md\"\n icon={}\n round\n />\n }\n />\n
    {children}
    \n \n );\n};\n\ntype OpenSubMenuButtonProps = Pick &\n React.PropsWithChildren<{\n label?: string;\n title: string;\n icon?: React.ReactNode;\n border?: boolean;\n truncateTitle?: boolean;\n href?: string;\n className?: string;\n brandColorOnHover?: boolean;\n }>;\n\n/**\n * A button that opens a sub menu.\n *\n * If you pass title it will render a default menu item button with arrow.\n * If you want to customize the look you can pass children instead.\n */\nexport const Button = ({\n label,\n title,\n icon,\n brandedText = true,\n border = true,\n truncateTitle = false,\n children,\n onClick,\n href,\n className,\n brandColorOnHover,\n ...buttonProps\n}: OpenSubMenuButtonProps) => {\n const { openSubMenu, isOpen } = useMenuContext();\n\n return (\n \n {\n if (!href) {\n e.preventDefault();\n openSubMenu();\n }\n onClick?.(e);\n }}\n className={classNames(\n 'd-flex align-items-center gap-x-1 py-2',\n className,\n {\n 'text-decoration-none': brandColorOnHover\n }\n )}\n aria-expanded={isOpen}\n {...buttonProps}>\n {title ? (\n <>\n \n {title}\n \n {label ? (\n \n {label}\n \n ) : null}\n \n \n ) : (\n <>{children}\n )}\n \n \n );\n};\n\ntype CloseButtonProps = ButtonProps & {\n onClick?: () => void;\n};\n\nexport const CloseSubMenuButton = ({\n children,\n onClick,\n ...buttonProps\n}: CloseButtonProps) => {\n const { closeSubMenu } = useMenuContext();\n\n return (\n {\n onClick?.();\n closeSubMenu();\n }}\n {...buttonProps}>\n {children}\n \n );\n};\n","import HoverMenu from './hover-menu/hover-menu';\nimport hoverMenuStyles from './hover-menu/hover-menu.module.scss';\nimport { getMenuGaAttributes } from './site-header.analytics.js';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport * as MenuItem from 'tradera/components/menu-item/menu-item';\nimport AuctionIcon from '@tradera/blueprint/theme/icons2/auction.svg?jsx';\nimport WinningIcon from '@tradera/blueprint/theme/icons2/winning.svg?jsx';\nimport RatingPositiveIcon from '@tradera/blueprint/theme/icons2/rating-positive.svg?jsx';\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';\nimport { myTraderaUrls } from 'tradera/apps/my-tradera/app/pages/routes';\nimport { Divider } from 'tradera/components/divider/divider';\n\nconst getGaAttributes = (label: string) =>\n getMenuGaAttributes('Top navigation', 'Buying menu', label);\n\nexport const BuyMenu = ({ showMenu }: { showMenu: boolean }) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n\n return (\n \n \n }\n brandColorOnHover\n {...getGaAttributes('Wishlist')}\n />\n }\n brandColorOnHover\n {...getGaAttributes('Saved searches')}\n />\n }\n brandColorOnHover\n {...getGaAttributes('Seller list')}\n />\n \n }\n brandColorOnHover\n {...getGaAttributes('Won / Bought')}\n />\n }\n brandColorOnHover\n {...getGaAttributes('Ongoing auctions')}\n />\n }\n brandColorOnHover\n {...getGaAttributes('Rate seller')}\n />\n \n \n );\n};\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 { Button } from 'tradera/components/atoms/button/button';\nimport { classNames } from 'tradera/utils/class-names';\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 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 * as MenuItem from 'tradera/components/menu-item/menu-item';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { classNames } from 'tradera/utils/class-names';\nimport InfoIcon from '@tradera/blueprint/theme/icons2/info.svg?jsx';\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 \n {isSwedish && (\n \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 React, { useEffect, useState } from 'react';\nimport HeartIcon from '@tradera/blueprint/theme/icons2/heart.svg?jsx';\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\nconst WishlistLinkMemo = () => {\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 = () => {\n if (isOpen) {\n dispatch(closeWishListSideSheet());\n } else {\n dispatch(closeCategoryDropdownMenu());\n dispatch(closeProfileMenu());\n dispatch(closeNotificationsSideSheet());\n\n dispatch(openWishListSideSheet());\n }\n };\n\n return (\n
    \n \n
    \n \n {heartBlink && (\n \n )}\n
    \n \n
    \n );\n};\n\nexport const WishlistLink = React.memo(WishlistLinkMemo);\n","import * as MenuItem from 'tradera/components/menu-item/menu-item';\nimport HoverMenu from './hover-menu/hover-menu';\nimport { getMenuGaAttributes } from './site-header.analytics.js';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\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';\nimport { Divider } from 'tradera/components/divider/divider';\nimport PenIcon from '@tradera/blueprint/theme/icons2/pen.svg?jsx';\nimport WriteIcon from '@tradera/blueprint/theme/icons2/write.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 SaleIcon from '@tradera/blueprint/theme/icons2/sale.svg?jsx';\n\nconst getGaAttributes = (label: string) =>\n getMenuGaAttributes('Top navigation', 'Selling menu', label);\n\ntype SellMenuProps = {\n showMenu: boolean;\n};\n\nexport const SellMenu = ({ showMenu }: SellMenuProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const isTraderaShopEnabled = useIsFeatureEnabled('tradera-shop');\n\n return (\n \n \n }\n brandColorOnHover\n {...getGaAttributes('Create new listing')}\n />\n }\n brandColorOnHover\n {...getGaAttributes('Listing templates')}\n />\n }\n brandColorOnHover\n {...getGaAttributes('Active listings')}\n />\n }\n brandColorOnHover\n {...getGaAttributes('Sold listings')}\n />\n }\n brandColorOnHover\n {...getGaAttributes('Unsold listings')}\n />\n }\n brandColorOnHover\n {...getGaAttributes('Picklist')}\n />\n \n {isTraderaShopEnabled && (\n }\n brandColorOnHover\n {...getGaAttributes('To Tradera Shop')}\n />\n )}\n }\n brandColorOnHover\n {...getGaAttributes('Rate buyer')}\n />\n \n \n );\n};\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 { SellMenu } from 'tradera/components/site-header/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';\nimport { classNames } from 'tradera/utils/class-names';\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 SellingLinkMemo = ({\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 {selling}\n \n \n {!isUnderage && }\n \n \n );\n};\n\nexport const SellingLink = memo(SellingLinkMemo);\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","import type React from 'react';\nimport ReactHighlighter from 'react-highlight-words';\n\ntype HighlighterProps =\n | {\n highlight?: string;\n highlightAllWhenMatching?: never;\n children?:\n | string\n | number\n | null\n | (string | number | undefined | null)[];\n }\n | {\n highlight?: string;\n highlightAllWhenMatching?: string | number;\n children?: React.ReactNode;\n };\n\nexport const Highlighter = ({\n highlight,\n highlightAllWhenMatching,\n children\n}: HighlighterProps) => {\n if (!highlight) return <>{children};\n\n if (highlightAllWhenMatching) {\n if (\n highlight.split(' ').includes(highlightAllWhenMatching.toString())\n ) {\n return {children};\n } else {\n return <>{children};\n }\n }\n\n const textToHighlight =\n children instanceof Array\n ? children.join('')\n : (children?.toString() ?? '');\n return (\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"chunk\":\"chunk--_9GtF\"};","import styles from './text-split.module.scss';\n\ntype TextSplitProps = {\n grouping?: number;\n fromStart?: boolean;\n children:\n | string\n | number\n | null\n | undefined\n | (string | number | undefined | null)[];\n};\n\nexport const TextSplit = ({\n children,\n grouping = 3,\n fromStart = false\n}: TextSplitProps) => {\n const text =\n children instanceof Array\n ? children.join('')\n : (children?.toString() ?? '');\n\n const chunks =\n text.match(\n fromStart\n ? new RegExp(`.{1,${grouping}}`, 'g')\n : new RegExp(`.{1,${grouping}}(?=(.{${grouping}})*(?!.))`, 'g')\n ) ?? [];\n\n return (\n <>\n {chunks.map((chunk, index) => (\n \n {chunk}\n \n ))}\n \n );\n};\n","import { Button } from 'tradera/components/atoms/button/button';\nimport { Text } from 'tradera/components/atoms/text/text';\nimport ItemTypes from 'tradera/constants/item-types';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { type PublicMember } from 'tradera/state/services/types/webapi-mytradera-generated';\n\ntype ItemTypeProps = {\n itemType?: string;\n bidCount?: number;\n itemId?: number;\n onShowBidHistory?: (itemId: number) => void;\n leadingBidder?: PublicMember | null;\n};\n\nexport const ItemType = ({\n itemType,\n bidCount,\n itemId,\n onShowBidHistory,\n leadingBidder\n}: ItemTypeProps) => {\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const hasBids = bidCount && bidCount > 0;\n const highestBidderUrl = toLocalizedUrl(\n `/profile/items/${leadingBidder?.id}/${leadingBidder?.alias}`\n );\n\n return (\n
    \n {itemType === ItemTypes.PURE_BIN ||\n itemType === ItemTypes.SHOP_ITEM ? (\n {t('myt_columns_buyNow')}\n ) : null}\n {itemType === ItemTypes.AUCTION ||\n itemType === ItemTypes.AUCTION_BIN ? (\n onShowBidHistory && itemId && hasBids ? (\n
    \n {\n onShowBidHistory(itemId);\n }}>\n {t('myt_listItem_numberOfBidsWithCount', {\n count: bidCount\n })}\n \n {leadingBidder && (\n
    \n •\n \n {leadingBidder.alias}\n \n
    \n )}\n
    \n ) : (\n \n {t('myt_listItem_numberOfBidsWithCount', {\n count: bidCount\n })}\n \n )\n ) : null}\n {itemType === ItemTypes.AUCTION_BIN && !hasBids ? (\n /{t('myt_columns_buyNow')}\n ) : null}\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 17\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M.1 8.7c.3-.47 3.1-4.55 8.14-4.55 5.09 0 7.46 4.16 7.69 4.6.08.14.1.31.03.47a8.27 8.27 0 01-7.72 5.13C2.72 14.35.31 9.78.06 9.27a.57.57 0 01.03-.57zm.94.34c.53.95 2.72 4.34 7.2 4.34a7.28 7.28 0 006.74-4.34c-.48-.82-2.61-3.92-6.74-3.92-4.1 0-6.58 3.05-7.2 3.92z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.24 13.38a3.88 3.88 0 100-7.77 3.88 3.88 0 000 7.76zm0 .96a4.85 4.85 0 100-9.7 4.85 4.85 0 000 9.7z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.24 11.43a1.94 1.94 0 10-.57-3.8.97.97 0 11-1.29 1.29 1.94 1.94 0 001.86 2.51z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M.1 8.7c.3-.47 3.1-4.55 8.14-4.55 5.09 0 7.46 4.16 7.69 4.6.08.14.1.31.03.47a8.27 8.27 0 01-7.72 5.13C2.72 14.35.31 9.78.06 9.27a.57.57 0 01.03-.57zm.94.34c.53.95 2.72 4.34 7.2 4.34a7.28 7.28 0 006.74-4.34c-.48-.82-2.61-3.92-6.74-3.92-4.1 0-6.58 3.05-7.2 3.92z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.24 13.38a3.88 3.88 0 100-7.77 3.88 3.88 0 000 7.76zm0 .96a4.85 4.85 0 100-9.7 4.85 4.85 0 000 9.7z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.24 11.43a1.94 1.94 0 10-.57-3.8.97.97 0 11-1.29 1.29 1.94 1.94 0 001.86 2.51z\"\n})));","// extracted by mini-css-extract-plugin\nexport default {\"listingImage\":\"listingImage--VY7OT\",\"listingImageWithActions\":\"listingImageWithActions--gFKuf\",\"minWidthZero\":\"minWidthZero--E5KJa\",\"wishlistButton\":\"wishlistButton--EeCW7\"};","import { Space } from 'tradera/components/atoms/space/space';\nimport { Text } from 'tradera/components/atoms/text/text';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport {\n useLocalizedPriceFormatter,\n useLocalizedPriceFormatterNoSymbol\n} from 'tradera/localization/use-localized-price-formatter';\nimport NoImgIcon from '@tradera/blueprint/theme/icons2/no-image.svg?jsx';\nimport { classNames } from 'tradera/utils/class-names';\nimport { Highlighter } from 'tradera/apps/my-tradera/sold/components/highlighter';\nimport { TextSplit } from 'tradera/components/atoms/text-split/text-split';\nimport { MaybeLink } from 'tradera/components/maybe-link/maybe-link';\nimport { ItemType } from 'tradera/apps/my-tradera/listing-item/item-type/item-type';\nimport { type PublicMember } from 'tradera/state/services/types/webapi-mytradera-generated';\nimport EyeIcon from 'tradera/blueprint/theme/icons2/eye.svg?jsx';\nimport HeartIcon from 'tradera/blueprint/theme/icons2/heart.svg?jsx';\nimport { isNullOrUndefined } from 'tradera/utils/condition-check';\nimport { WishListButton } from 'tradera/components/wish-list-button/wish-list-button';\n\nimport styles from './listing-item.module.scss';\nimport Alink from 'tradera/components/alink/alink';\nimport { CurrencyRateType } from 'tradera/state/multi-currency/reducer';\nimport { useAppSelector } from 'tradera/state/hooks';\nimport { selectMemberId } from 'tradera/state/member/selectors';\nimport { EndTimeLabel } from 'tradera/components/end-time-label/end-time-label';\nimport { isMobile } from 'react-device-detect';\n\ntype ListingItemWithActionsProps = {\n shortDescription: string;\n itemId?: number;\n imageTemplate?: string;\n itemUrl?: string;\n itemPrice?: number;\n isActive?: boolean;\n shippingCost?: number;\n reservePrice?: number;\n endDate?: string;\n showDateOnEnded?: boolean;\n ownReference?: string;\n existsInWishlist?: boolean;\n itemType?: string;\n bidCount?: number;\n grayedOut?: boolean;\n highlight?: string;\n onShowBidHistory?: (itemId: number) => void;\n onWishlistClick?: (itemId: number) => void;\n actions?: React.ReactNode;\n statusBadge?: React.ReactNode;\n isTakeawayOnly?: boolean;\n leadingBidder?: PublicMember | null;\n maxBid?: number | null;\n viewsCount?: number | null;\n wishlistCount?: number | null;\n sellerAlias?: string | null;\n sellerId?: number | null;\n};\n\nexport const ListingItemWithActions = ({\n shortDescription,\n itemId,\n imageTemplate,\n itemUrl,\n itemPrice,\n isActive,\n reservePrice,\n shippingCost,\n endDate,\n showDateOnEnded,\n ownReference,\n itemType,\n bidCount,\n grayedOut,\n highlight,\n onShowBidHistory,\n onWishlistClick,\n existsInWishlist,\n actions,\n statusBadge,\n isTakeawayOnly,\n leadingBidder,\n maxBid,\n viewsCount,\n wishlistCount,\n sellerAlias,\n sellerId\n}: ListingItemWithActionsProps) => {\n const { t } = useTranslator();\n const memberId = useAppSelector(selectMemberId);\n const isBuyer = memberId !== sellerId;\n const formatPrice = useLocalizedPriceFormatter(\n isBuyer ? CurrencyRateType.Buyer : CurrencyRateType.Seller\n );\n const formatPriceNoSymbol = useLocalizedPriceFormatterNoSymbol(\n isBuyer ? CurrencyRateType.Buyer : CurrencyRateType.Seller\n );\n const { toLocalizedUrl } = useUrlLocalizer();\n\n const hasReservePrice = reservePrice && reservePrice > 0;\n const showSellerAlias = sellerAlias && sellerId;\n\n return (\n \n \n
    \n \n {imageTemplate ? (\n \n ) : (\n \n \n \n )}\n {statusBadge}\n \n {itemId && onWishlistClick && (\n onWishlistClick(itemId)}\n />\n )}\n
    \n \n \n {showSellerAlias ? (\n \n {sellerAlias}\n \n ) : (\n \n {t('myt_columns_objectNo')}{' '}\n \n {itemId}\n \n \n )}\n {typeof itemPrice !== 'undefined' ? (\n \n {formatPrice(itemPrice)}\n \n ) : null}\n
    \n \n \n \n \n {shortDescription}\n \n \n \n {shippingCost ? (\n \n {t('myt_shippingAmountCost', {\n cost: formatPrice(shippingCost)\n })}\n \n ) : isTakeawayOnly ? (\n \n {t('myt_takeawayOnly')}\n \n ) : null}\n
    \n \n \n \n {hasReservePrice && (\n \n  | \n {t('myt_columns_reservePrice')}{' '}\n {formatPrice(reservePrice)}\n \n )}\n {ownReference && (\n \n  | \n {t('myt_columns_ownReference')}{' '}\n \n {ownReference}\n \n \n )}\n {maxBid && (\n \n  | \n {t('myt_buyer_autobid')}{' '}\n \n {formatPrice(maxBid)}\n \n \n )}\n \n {typeof itemPrice !== 'undefined' ? (\n \n {maxBid && (\n \n ({formatPriceNoSymbol(maxBid)}){' '}\n \n )}\n {formatPrice(itemPrice)}\n \n ) : null}\n \n {hasReservePrice || ownReference ? (\n \n {hasReservePrice && (\n \n {t('myt_columns_reservePrice')}{' '}\n {formatPrice(reservePrice)}\n \n )}\n {ownReference && (\n \n {t('myt_columns_ownReference')}{' '}\n {ownReference}\n \n )}\n \n ) : null}\n \n \n \n {!isNullOrUndefined(viewsCount) && (\n \n |\n \n \n )}\n {!isNullOrUndefined(wishlistCount) && (\n \n |\n \n \n )}\n \n
    \n \n {actions}\n \n
    \n
    \n {shippingCost ? (\n \n {t('myt_shippingAmountCost', {\n cost: formatPrice(shippingCost)\n })}\n \n ) : isTakeawayOnly ? (\n \n {t('myt_takeawayOnly')}\n \n ) : null}\n
    \n
    \n \n \n
    \n \n {actions}\n \n {(!isNullOrUndefined(viewsCount) ||\n !isNullOrUndefined(wishlistCount)) && (\n
    \n {!isNullOrUndefined(viewsCount) && (\n \n )}\n {!isNullOrUndefined(viewsCount) &&\n !isNullOrUndefined(wishlistCount) && |}\n {!isNullOrUndefined(wishlistCount) && (\n \n )}\n
    \n )}\n
    \n \n );\n};\n\ntype IconProps = {\n count: number;\n};\n\nconst ViewsIcon = ({ count }: IconProps) => {\n const { t } = useTranslator();\n return (\n \n \n {t('myt_listings_viewsCount')}\n \n {count}\n \n );\n};\n\nconst WishlistIcon = ({ count }: IconProps) => {\n const { t } = useTranslator();\n return (\n \n \n {t('myt_listings_wishlistCount')}\n \n {count}\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 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';\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 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","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"button--A5_iG\",\"icon\":\"icon--crJK8\",\"icon-dark-50\":\"icon-dark-50--jI2AA\",\"iconDark50\":\"iconDark50--gb9Ke\",\"hoverShow\":\"hoverShow--QVsMO\",\"hoverHide\":\"hoverHide--qKlnX\"};","import HeartFilledIcon from '@tradera/blueprint/theme/icons2/heart-fill.svg?jsx';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { classNames } from 'tradera/utils/class-names';\nimport {\n Button,\n type ButtonProps\n} from 'tradera/components/atoms/button/button';\nimport styles from './wish-list-button.module.scss';\n\ntype WishListButtonProps = Pick<\n ButtonProps,\n 'theme' | 'variant' | 'className' | 'onClick'\n> & {\n showText?: boolean;\n toggled: boolean | undefined | null;\n};\n\nexport const WishListButton = ({\n className,\n onClick,\n showText,\n theme,\n variant,\n toggled\n}: WishListButtonProps) => {\n const { t } = useTranslator();\n const text = toggled\n ? t('itemCard_savedToWishlist')\n : t('itemCard_saveToWishlist');\n\n const iconClasses = classNames('icon icon-stroke-white', {\n 'icon-danger': toggled,\n 'icon-before': showText,\n 'icon-md': !showText\n });\n\n return (\n \n ) : (\n <>\n \n \n \n )\n }>\n {showText && {text}}\n \n );\n};\n","enum ItemTypes {\n AUCTION = 'Auction',\n AUCTION_BIN = 'AuctionBin',\n PURE_BIN = 'PureBin',\n SHOP_ITEM = 'ShopItem'\n}\n\nexport default ItemTypes;\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 { useCallback, useEffect } from 'react';\nimport { forEachYield } from 'tradera/utils/scheduler';\n\nconst intervals = {};\n\n/**\n * Set up an periodical call to a component callback.\n * Intervals with the same period time are reused.\n * The interval can be cancelled with the returned function. It also cancels itself when no component uses it.\n *\n * @param {function} callback\n * @param {int} period - Milliseconds\n * @returns {function}\n */\nexport function useTicker(callback, period) {\n // Remove callback from interval and cancel interval if no callbacks remain\n const cleanup = useCallback(() => {\n if (intervals[period]) {\n // eslint-disable-next-line better-mutation/no-mutation\n intervals[period].callbacks = intervals[period].callbacks.filter(\n (cb) => cb !== callback\n );\n if (intervals[period].callbacks.length === 0) {\n clearInterval(intervals[period].intervalId);\n // eslint-disable-next-line better-mutation/no-mutation\n intervals[period] = undefined;\n }\n }\n }, [callback, period]);\n\n useEffect(() => {\n if (period <= 0) {\n return;\n }\n // Reuse existing interval\n if (intervals[period]) {\n intervals[period].callbacks.push(callback);\n // Add callback to new interval and save interval id for cancellation\n } else {\n const intervalId = setInterval(async () => {\n forEachYield(intervals[period].callbacks, (callback) =>\n callback()\n );\n }, period);\n // eslint-disable-next-line better-mutation/no-mutation\n intervals[period] = { callbacks: [callback], intervalId };\n }\n\n // Return cancellation callback\n return cleanup;\n }, [callback, cleanup, period]);\n\n return cleanup;\n}\n","import { useCallback, useState, useEffect, useMemo, useRef } from 'react';\nimport { useTicker } from 'tradera/hooks/use-ticker';\nimport { syncServerTime } from 'tradera/utils/server-date';\nimport { useTranslator } from 'tradera/lang/translate';\nimport { useDayJs } from 'tradera/hooks/use-day-js';\nimport { useIsMounted } from 'tradera/hooks/use-is-mounted';\nimport {\n DAY_IN_SECONDS,\n HOUR_IN_SECONDS,\n MINUTE_IN_MILLISECONDS,\n SECOND_IN_MILLISECONDS\n} from 'tradera/constants/time';\n\nconst COUNTDOWN_DEFAULT_WARNING_LIMIT = 12 * 60 * 60;\n\nconst getCountdownTickInterval = (endDate) => {\n const now = new Date().getTime();\n const secondsLeft = (endDate.getTime() - now) / 1000;\n if (secondsLeft > DAY_IN_SECONDS) {\n return MINUTE_IN_MILLISECONDS * 5;\n } else if (secondsLeft > HOUR_IN_SECONDS) {\n return MINUTE_IN_MILLISECONDS;\n } else {\n return SECOND_IN_MILLISECONDS;\n }\n};\n\n/**\n *\n * @return {{timeLeftText: string, isCountdownEnabled: boolean, isCountdownDone: boolean, isTimeLeftBelowWarningLimit: boolean}}\n * isCountdownEnabled - True if client time is synched with server time.\n * isCountdownDone - True if there is no time left after counting down.\n * timeLeftText - The time left, formatted by the given formatter function.\n * isTimeLeftBelowWarningLimit - True if time is below the given warningLimit.\n */\nexport const useCountdown = (endDateStr, formatTimeLeft) => {\n const { t } = useTranslator();\n const warningLimit = COUNTDOWN_DEFAULT_WARNING_LIMIT;\n const [isCountdownDone, setIsCountdownDone] = useState(false);\n const [timeLeftText, setTimeLeftText] = useState('');\n const [isCountdownEnabled, setIsCountdownEnabled] = useState(false);\n const [isTimeLeftBelowWarningLimit, setIsTimeLeftBelowWarningLimit] =\n useState(false);\n const previousAdjustment = useRef(0);\n const [synchronizedEndDateStr, setSynchronizedDateStr] =\n useState(endDateStr);\n const endDate = useMemo(() => new Date(endDateStr), [endDateStr]);\n const isMounted = useIsMounted(true);\n const dayjs = useDayJs();\n\n const resetState = useCallback(() => {\n setIsCountdownEnabled(false);\n setIsCountdownDone(false);\n setTimeLeftText('');\n setIsTimeLeftBelowWarningLimit(false);\n }, []);\n\n useEffect(() => {\n setSynchronizedDateStr(endDateStr);\n resetState();\n }, [endDateStr, resetState]);\n\n const updateTimeLeft = useCallback(\n async (isInitialCall = false) => {\n const serverDate = await syncServerTime();\n if (!isMounted) {\n // Can't perform a React state update on an unmounted component.\n // This is a no-op, but it indicates a memory leak in your application.\n return;\n }\n if (!serverDate) {\n // In case server date is lost we need to\n // ensure everything looks OK.\n resetState();\n return;\n }\n setIsCountdownEnabled(true);\n\n const secondsLeftWithFractions = (endDate - serverDate) / 1000;\n const previousAdjustmentValue = isNaN(previousAdjustment.current)\n ? 0\n : previousAdjustment.current;\n const adjustedSecondsLeftWithFractions =\n secondsLeftWithFractions - previousAdjustmentValue;\n let secondsLeft = Math.round(adjustedSecondsLeftWithFractions);\n\n // The amount we adjusted the time at this tick.\n // We use this at the next tick to make adjustedSecondsLeftWithFractions\n // as close to whole seconds as possible.\n // In other words adjustedSecondsLeftWithFractions - secondsLeft should be as close to zero\n // as possible.\n let adjustment = secondsLeftWithFractions - secondsLeft;\n\n // Don't let the adjustment to drift over a second up or down.\n if (adjustment >= 1 || adjustment <= -1) {\n // Reset the adjustment\n secondsLeft = Math.round(secondsLeftWithFractions);\n adjustment = secondsLeftWithFractions - secondsLeft;\n }\n\n // The first time here we are not in a tick so\n // ignore adjustment.\n if (!isInitialCall) {\n previousAdjustment.current = adjustment;\n }\n\n const formattedTimeLeft =\n secondsLeft > 0\n ? formatTimeLeft(secondsLeft, t, endDate, serverDate, dayjs)\n : t('vip_ended');\n\n setTimeLeftText(formattedTimeLeft);\n setIsTimeLeftBelowWarningLimit(secondsLeft <= warningLimit);\n\n if (secondsLeft <= 0) {\n setIsCountdownDone(true);\n }\n },\n [endDate, formatTimeLeft, t, dayjs, warningLimit, resetState, isMounted]\n );\n\n useEffect(() => {\n updateTimeLeft(true);\n }, [updateTimeLeft]);\n\n useTicker(\n updateTimeLeft,\n isCountdownDone || !isMounted ? 0 : getCountdownTickInterval(endDate)\n );\n\n // Ensure countdown is not for previous date.\n if (endDateStr !== synchronizedEndDateStr) {\n return {\n timeLeftText: '',\n isCountdownDone: false,\n isCountdownEnabled: false,\n isTimeLeftBelowWarningLimit: false\n };\n }\n\n return {\n timeLeftText,\n isCountdownDone,\n isCountdownEnabled,\n isTimeLeftBelowWarningLimit\n };\n};\n","import type { ConfigType } from 'dayjs';\nimport { useCallback } from 'react';\nimport { useDayJs } from 'tradera/hooks/use-day-js';\nimport {\n type FormatOptions,\n formatUtcDateAsSwedishTimeZoneDate\n} from 'tradera/utils/date';\n\nexport const useFormatUtcDateInSwedishTimeZone = () => {\n const dayjs = useDayJs();\n\n const formatUtcDateInSwedishTimeZone = useCallback(\n (transactionDate: ConfigType, options?: FormatOptions) =>\n formatUtcDateAsSwedishTimeZoneDate(transactionDate, dayjs, options),\n [dayjs]\n );\n\n return formatUtcDateInSwedishTimeZone;\n};\n","import { useEffect, useRef } from 'react';\n\n/**\n * Determine the mounted state of the component it is used in\n * @param isMountedDirectly Set to `true` if only the unmount matters and the component is considered mounted before during first render. Set to `false` if component should not be considered mounted until the next render.\n * @returns {boolean} whether the component is mounted or not\n */\nexport const useIsMounted = (isMountedDirectly = false) => {\n const isMounted = useRef(isMountedDirectly);\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted.current;\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","import {\n getTimeSpanParts,\n swedishTimeZoneDate,\n TIME_SPAN_UNITS\n} from 'tradera/utils/date';\nimport {\n DAY_IN_SECONDS,\n HOUR_IN_SECONDS,\n MINUTE_IN_SECONDS\n} from 'tradera/constants/time';\nimport type { Dayjs } from 'dayjs';\nimport type { TranslationFunction } from 'tradera/lang/translate';\n\nconst hoursOrEmpty = (hours: number, t: TranslationFunction): string =>\n hours ? t('vip_hours', { count: hours }) : '';\n\nconst minutesOrEmpty = (minutes: number, t: TranslationFunction): string =>\n minutes ? t('vip_minutes', { count: minutes }) : '';\n\nexport const formatVipTimeLeft = (\n secondsLeft: number,\n t: TranslationFunction\n): string => {\n if (secondsLeft < 1) {\n return '';\n }\n let formattedTimeLeft: string;\n if (secondsLeft > DAY_IN_SECONDS) {\n const { days, hours } = getTimeSpanParts(secondsLeft, {\n endUnit: TIME_SPAN_UNITS.HOURS\n });\n formattedTimeLeft = (\n t('vip_days', { count: days }) +\n ' ' +\n hoursOrEmpty(hours, t)\n ).trim();\n } else if (secondsLeft > HOUR_IN_SECONDS) {\n const { hours, minutes } = getTimeSpanParts(secondsLeft, {\n startUnit: TIME_SPAN_UNITS.HOURS,\n endUnit: TIME_SPAN_UNITS.MINUTES\n });\n formattedTimeLeft = (\n t('vip_hours', { count: hours }) +\n ' ' +\n minutesOrEmpty(minutes, t)\n ).trim();\n } else if (secondsLeft > MINUTE_IN_SECONDS) {\n const { minutes, seconds } = getTimeSpanParts(secondsLeft, {\n startUnit: TIME_SPAN_UNITS.MINUTES,\n endUnit: TIME_SPAN_UNITS.SECONDS\n });\n formattedTimeLeft =\n t('vip_minutes', { count: minutes }) +\n ' ' +\n t('vip_seconds', { count: seconds || 0 });\n } else {\n formattedTimeLeft = t('vip_seconds', { count: secondsLeft });\n }\n return formattedTimeLeft;\n};\n\nexport const formatItemCardTimeLeft = (\n secondsLeft: number,\n t: TranslationFunction,\n endDateInput: string | Date,\n nowDateInput: string | Date,\n dayjs: () => Dayjs\n): string => {\n if (Number.isInteger(secondsLeft)) {\n const endDate = swedishTimeZoneDate(endDateInput, dayjs);\n const now = swedishTimeZoneDate(nowDateInput, dayjs);\n\n if (secondsLeft > DAY_IN_SECONDS) {\n if (endDate.isSameOrAfter(now.add(2, 'day'), 'day')) {\n return endDate.format('D MMM HH:mm');\n }\n if (endDate.isSameOrAfter(now.add(1, 'day'))) {\n return `${t('vip_tomorrow')} ${endDate.format('HH:mm')}`;\n }\n }\n if (secondsLeft > HOUR_IN_SECONDS) {\n const ifValueNotZeroShowLabel = (\n label: string,\n value: number\n ): string => (value > 0 ? ' ' + t(label, { count: value }) : '');\n const hours = Math.floor(secondsLeft / HOUR_IN_SECONDS);\n const minutes = Math.floor(\n Math.floor(secondsLeft % HOUR_IN_SECONDS) / MINUTE_IN_SECONDS\n );\n return (\n t('vip_hours', { count: hours }) +\n ifValueNotZeroShowLabel('vip_minutes', minutes)\n );\n }\n\n if (secondsLeft > 2 * MINUTE_IN_SECONDS) {\n const minutes = Math.floor(secondsLeft / MINUTE_IN_SECONDS);\n return t('vip_minutes', { count: minutes });\n }\n\n return t('vip_seconds', { count: secondsLeft });\n } else {\n return '';\n }\n};\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","width","height","x","_ref$styles","className","googlePlayBadges","sv","da","de","fr","nl","en","GooglePlayBadge","_googlePlayBadges$lan","_ref$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","EndTimeLabel","endDate","isActive","_ref$showDateOnEnded","showDateOnEnded","EndTimeLabelWithCountDown","EndTimeLabelEnded","formatUtcDateInSwedishTimeZone","useFormatUtcDateInSwedishTimeZone","_ref3","dayjs","useDayJs","_useCountdown","useCountdown","formatItemCardTimeLeft","timeLeftText","isCountdownDone","isCountdownEnabled","isTimeLeftBelowWarningLimit","time","endingSameDay","isSameDay","end","swedishTimeZoneDate","now","diff","formatUtcTimeAsSwedishTimeZone","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","y","r","states","CardVerification","onCardVerified","setIsHidden","preferredLanguage","selectPreferredLanguage","memberEmail","member","setState","submitButtonRef","useRef","useDispatch","webApiClient","async","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","Badge","compact","rounded","MenuItem","alerts","bold","highlight","imageContainerClassName","imageUrl","notify","MenuItemContent","backgroundImage","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","getMenuGaAttributes","MenuContext","createContext","useMenuContext","context","useContext","Wrapper","isOpenProp","isSubMenuOpen","isSlidingOut","setSlidingOut","closeSubMenu","Provider","openSubMenu","_ref3$brandedText","_ref3$border","_ref3$truncateTitle","truncateTitle","brandColorOnHover","buttonProps","_useMenuContext2","ButtonComponent","iconLeft","ArrowRight","BuyMenu","hoverMenuStyles","alignSm27Lg50","HeartIcon","StarIcon","thick","WinningIcon","myTraderaUrls","bidding","AuctionIcon","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","WishlistLinkMemo","wishListSideSheet","wishListAddedCount","items","prevNumWishListItemIds","setPrevNumWishListItemIds","heartBlink","setHeartBlink","closeWishListSideSheet","closeNotificationsSideSheet","openWishListSideSheet","HeartFilledIcon","WishlistLink","SellMenu","isTraderaShopEnabled","WriteIcon","listings","SaleIcon","SoldIcon","listingsUnsold","UnsoldIcon","ListIcon","ShippingBagIcon","customParseFormat","UnderageModal","daysUntilEighteen","add","Underage","onLinkClick","days","SellingLinkMemo","selling","isUnderage","selectIsUnderage","showUnderageModal","setShowUnderageModal","SELL","SellingLink","transition","cssTransition","enter","exit","hideProgressBar","closeOnClick","draggablePercent","autoClose","pauseOnFocusLoss","hot","HotIcon","warning","AlertIcon","closeButton","closeToast","marginTop","TraderaToastContainer","ToastContainer","CurrencyLink","onClickMenuOption","CURRENCY","alignRight","Highlighter","_children$toString","highlightAllWhenMatching","textToHighlight","join","ReactHighlighter","highlightClassName","autoEscape","searchWords","TextSplit","_text$match","_ref$grouping","grouping","_ref$fromStart","fromStart","chunks","RegExp","chunk","ItemType","itemType","bidCount","onShowBidHistory","leadingBidder","hasBids","highestBidderUrl","alias","ItemTypes","PURE_BIN","SHOP_ITEM","AUCTION","AUCTION_BIN","ListingItemWithActions","shortDescription","imageTemplate","itemUrl","itemPrice","reservePrice","shippingCost","ownReference","grayedOut","onWishlistClick","existsInWishlist","actions","statusBadge","isTakeawayOnly","maxBid","viewsCount","wishlistCount","sellerAlias","sellerId","isBuyer","selectMemberId","useLocalizedPriceFormatter","CurrencyRateType","Buyer","Seller","formatPriceNoSymbol","useLocalizedPriceFormatterNoSymbol","hasReservePrice","showSellerAlias","MaybeLink","replace","NoImgIcon","WishListButton","toggled","grow","justify","Alink","nowrap","cost","isNullOrUndefined","ViewsIcon","WishlistIcon","EyeIcon","itemStates","itemState","ActionButton","handleClickToVip","isAvailableForOffers","itemActions","sectionGaName","gaSourceScreen","SOURCE_SCREEN","WISHLIST","WishListItem","_item$imageUrl","_item$shortDescriptio","setBidHistoryItemId","handleWishlistClick","selectExistsInWishList","bottom","left","preferredShipping","maxBidAmount","sellerMemberId","totalBids","price","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","WishListShareItem","toggleItem","selectMemberAlias","localizedPriceFormatter","CheckFillIcon","GA_EVENT_CATEGORY_WISHLIST_SHARE","WishListShare","_navigator$canShare","_navigator","isMobileDevice","_useSelectable","useSelectable","selectedItems","setSelectedItems","canShare","navigator","handleShare","shareText","buildShareObject","origin","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","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","ListingsIcon","TemplateIcon","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","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","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","iconClasses","TransactionTypes","ITEM_LAYOUT","SITE_LAYOUT","categoryIcons","ToysChildrensItemsIcon","iconSizeClass","IconComponent","decoding","appLinks","intervals","endDateStr","formatTimeLeft","setIsCountdownDone","setTimeLeftText","setIsCountdownEnabled","setIsTimeLeftBelowWarningLimit","previousAdjustment","synchronizedEndDateStr","setSynchronizedDateStr","resetState","updateTimeLeft","isInitialCall","serverDate","syncServerTime","secondsLeftWithFractions","adjustedSecondsLeftWithFractions","isNaN","secondsLeft","adjustment","formattedTimeLeft","period","callbacks","cb","intervalId","forEachYield","useTicker","DAY_IN_SECONDS","MINUTE_IN_MILLISECONDS","HOUR_IN_SECONDS","SECOND_IN_MILLISECONDS","getCountdownTickInterval","transactionDate","formatUtcDateAsSwedishTimeZoneDate","isMountedDirectly","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","formatVipTimeLeft","_getTimeSpanParts","getTimeSpanParts","endUnit","TIME_SPAN_UNITS","HOURS","hours","hoursOrEmpty","_getTimeSpanParts2","startUnit","MINUTES","minutes","minutesOrEmpty","MINUTE_IN_SECONDS","_getTimeSpanParts3","SECONDS","endDateInput","nowDateInput","Number","isInteger","isSameOrAfter","format","ifValueNotZeroShowLabel","floor"],"sourceRoot":""}