xv-webcomponents 1.3.18-qa.0 → 1.3.20-qa.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/xv-accordion-v2_45.cjs.entry.js +3 -2
- package/dist/cjs/xv-accordion-v2_45.cjs.entry.js.map +1 -1
- package/dist/collection/components/xv-header/xv-header.js +1 -1
- package/dist/collection/components/xv-header/xv-header.js.map +1 -1
- package/dist/collection/components/xv-login-modal/xv-login-modal.js +2 -1
- package/dist/collection/components/xv-login-modal/xv-login-modal.js.map +1 -1
- package/dist/esm/xv-accordion-v2_45.entry.js +3 -2
- package/dist/esm/xv-accordion-v2_45.entry.js.map +1 -1
- package/dist/xv-webcomponents/{p-8b2f3dac.entry.js → p-9607a965.entry.js} +2 -2
- package/dist/xv-webcomponents/{p-8b2f3dac.entry.js.map → p-9607a965.entry.js.map} +1 -1
- package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
- package/package.json +1 -1
|
@@ -253,7 +253,7 @@ export class XvHeader {
|
|
|
253
253
|
const isMegaMenuEnabled = !!(((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.EnableMegaMenu) || this.megaMenu);
|
|
254
254
|
return (h("div", { key: '735539b7b7841fc639f09979e39b34b369498e26', id: "nav-container", class: "xv-header" }, h("nav", { key: 'b3f217e8b481c501859ab726135de285a8f4dd72', class: "navbar navbar-default navbar-fixed-top backend-force-relative" }, h("div", { key: '8e2a73969865acf3408583f19e4cb3009c4de3eb', class: "generic-wrapper" }, h("div", { key: '960542e72b6e5da213a5577b179d282e33842a8d', class: "container" }, h("div", { key: 'a9316a103496a56d805441fabc0755766f20eaa3', class: "xv-header-row" }, h("div", { key: 'b233f2c113c959f4e207fcb03a749f12d0a5535b', class: "xv-header-col xv-header-col--left" }, h("div", { key: 'bde7efe2eb800bdbaed796605338c684916dc845', class: "navbar-header" }, h("button", { key: '84b7880ff34567413401cb83f73a87dc13a62887', class: "btn btn-default navbar-toggle pull-left navbar-btn", onClick: this.toggleMobMenu }, h("i", { key: '76724c72648c5f5250e98dbf863b92e2e96b8222', class: "fa fa-bars fa-lg", "aria-hidden": "true" })), h("div", { key: 'de9ca95665cbb8675704083800021619a9af1d12', class: "visible-xs-inline visible-sm-inline" }, h("a", { key: '53ea1dc1ad3610727061a8de301e9cc70b3f9279', href: `${baseUrl}/`, class: "navbar-brand" }, h("img", { key: '1b8a5492e89faafd4cc5116d183ebe6e1650d69e', src: this.getSmallLogoUrl(), alt: "Crossvertise" }))), h("div", { key: '2585c58f6056b09b690ab21de3cd55534fe9dcf1', class: "hidden-xs hidden-sm" }, h("a", { key: '185f5f76e318cfc7a0ca9cc192c6674af95c425f', href: `${baseUrl}/`, class: "navbar-brand" }, h("img", { key: 'c04716d9e12797b2cddaf30a2d145a4f65278cd5', loading: "lazy", src: this.getLogoUrl(), alt: "Crossvertise" })))), this.orgUnit && (h("xv-link-v2", { key: '2e7e7fcc0bc7af4a5b1995cd2d3058afa93dc965', size: "lg", class: "xv-header--link-no-visited", variant: "standalone", href: "/de-de/mycrossvertise" }, this.orgUnit))), h("div", { key: '71db87880638cde5b3dee1e8c582ba76757e618a', class: "xv-header-col xv-header-col--right" }, h("ul", { key: '3c3e3534912bdac25085eb0b6541f956c40b78ff', class: "nav nav-pills nav-meta pull-right" }, ((_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.ImpersonationInfo) && (h("li", { key: '0d182c601988f683ddda5893415e9f635fc7d098' }, h("div", { key: '221251a01711698b73e7fc27c0fc23cb62555eb8', class: "btn btn-link navbar-btn navbar-btn-cust hidden-xs", onClick: this.togglePopover }, h("i", { key: '929c402231847c41a3ea8470cc0b114848f61b97', class: "fa fa-user" }), h("i", { key: '3fb8d7d37565df94d359661c07b1540f0263027d', class: "fa fa-exchange-alt" })), h("div", { key: '3a63906329c88ae96c0d54855ab51bc3499aa9f4', class: "popover popover-fixed fade bottom in", style: { "display": this.showPopover ? "block" : "none" } }, h("div", { key: '09933af1dd286e4fa95b21daf228cdfdf0b74e87', class: "arrow" }), h("h3", { key: '2f2012227c0904fef2cb53bd52c3defcf7b2dfaf', class: "popover-title" }, "Momentan ist die Kundenperspektive aktiviert f\u00FCr:"), h("div", { key: '658925515aef538e59001fa743cf8488cdbc7867', class: "popover-content" }, h("div", { key: '3e166144e7781ee5305ade28f434014833e74fc8', class: "row" }, h("div", { key: '922f0b325f6d3246a696acb0886e42df3e70cbdc', class: "col-xs-12" }, h("table", { key: 'aa887bba6c1e5465bc6a616957620a9b3483d0d8', class: "table-condensed" }, h("tbody", { key: '473b592562f5881bb12e261f178669509534dffc' }, h("tr", { key: '658a838724886976c5258f2743831a2b7bc12686' }, h("td", { key: '8397b56adb46084e04abb8341046b569f4d5142b' }, h("span", { key: 'aec660ca6b7e4b0057c0765bf7b6d92509e6c1c3' }, (_d = (_c = this.metaNav) === null || _c === void 0 ? void 0 : _c.ImpersonationInfo) === null || _d === void 0 ? void 0 : _d.NameAndTitle))), h("tr", { key: '7e15357f3c8e7211929c9b1282174dfbf6dc119b' }, h("td", { key: '3da32fa7af30830760068836adbad7a7c14dcd6a' }, h("span", { key: 'd0e806d4f7afa9012ba8da18465a6b8672d1a82f' }, (_f = (_e = this.metaNav) === null || _e === void 0 ? void 0 : _e.ImpersonationInfo) === null || _f === void 0 ? void 0 : _f.CompanyName))), h("tr", { key: '42ca27cb9272386d1a50168c1f84fba247f97a2a' }, h("td", { key: 'a6d82a869771d6be254ff7fc7ec24de1d1f6d74e' }, h("span", { key: 'e89de684f00033f3beec059310cc35f72d7847bb' }, (_h = (_g = this.metaNav) === null || _g === void 0 ? void 0 : _g.ImpersonationInfo) === null || _h === void 0 ? void 0 : _h.Email))), h("tr", { key: '26253dc54ec8df141c5f3f02da186ca01af4e147' }, h("td", { key: '627f683b90a51acabf35b33e4ebb17267d0af161' }, h("span", { key: '8dc7c296c2fe5db8d4ca0cf46f7f13643ed09b04' }, (_k = (_j = this.metaNav) === null || _j === void 0 ? void 0 : _j.ImpersonationInfo) === null || _k === void 0 ? void 0 : _k.PhoneOffice)))))))), h("div", { key: 'cc88fc6d9ac1ed975c798aae18e06b1462cc0a32', class: "row contact-contactform-container", id: "contact-contactform-container-nav" }, h("div", { key: '1c58936a938639af9d456e45c44709c14e27d9c6', class: "col-xs-12" }, h("a", { key: 'd38fb3a47dc6c3b2b42a63daf52bd60ba17e4e40', class: "btn btn-primary btn-block", href: "/de-de/mycrossvertise/account/clearimpersonation" }, "Kundenperspektive verlassen")))))), h("li", { key: 'c9e715a6264954d4a3bc996a4603fc0b5a52f19b' }, h("a", { key: 'f0b28980a03f3d41fb109d7317f1abc5b4d9bd5d', class: "btn btn-link navbar-btn hidden-xs", href: "https://www.crossvertise.com/ueber-uns/kontakt" }, "Kontakt"), h("a", { key: '7a72027a1ab99f110d89b0dc921bb9e9da0695fa', href: "/contact", class: "btn btn-link navbar-btn hidden-xs", style: { display: 'none' } }, "Kontakt"), h("a", { key: 'bd72133d2f2c554f22410beee73ed6d5095ad5ef', class: "btn btn-default btn-link navbar-btn visible-xs hidden-xxs", href: "#" }, h("i", { key: 'ae5a03b12dd7e005db652260099c962a787215a4', class: "fa fa-phone" }))), ((_l = this.metaNav) === null || _l === void 0 ? void 0 : _l.IsManager) && (h("li", { key: '5cfe7fed12ef7078a6cbba6e59852894b8ee0bf2', class: "dropdown", "data-bind": "visible: $root.isManager", id: "notifications-dropdown" }, h("a", { key: 'af43fa8cec0b8a7961b76794f9b63a73705c65af', id: "notifications-dropdown-toggle", "data-target": "#", class: "dropdown-toggle btn navbar-btn btn-link", "data-toggle": "dropdown", role: "button", "data-container": "body", "aria-haspopup": "true", "aria-expanded": "false" }, h("i", { key: '70c0be85cdf60cadee9109777f22696ae026462c', class: "fas fa-bell fa-lg" }), this.notificationsCount > 0 && (h("span", { key: '8ddab069e1ca3e9b686fa272c499220b6af0ea4e', id: "notifications-count", class: "badge badge-success badge-top-right" }, this.notificationsCount))), h("ul", { key: 'd8f72672ddfaf9f7f0e8d654c626d1dbebeb0dc3', id: "notifications-menu", class: "dropdown-menu dropdown-menu-left notification-panel" }, h("div", { key: 'be83859dc85fcf0521396f134b1c28fbe6a8448e', class: "notification-body", id: "notification-body" }, h("div", { key: '4a07babe5acb75d361b681f47a1e2c72daa008d6', class: "notifications", innerHTML: this.notificationsHtml }))))), ((_m = this.metaNav) === null || _m === void 0 ? void 0 : _m.IsAuthenticated) && (h("li", { key: '69ab30e0319f5d5984df6889d8847d8f3be5806c', class: "dropdown", id: "my-xv-menu" }, h("a", { key: '811070692b0f7fc3ebae3caedfc27a519fdf5ab4', class: "dropdown-toggle btn navbar-btn btn-link", "data-toggle": "dropdown", role: "button", "data-container": "body", "aria-haspopup": "true", "aria-expanded": "false" }, h("i", { key: '6e27e60a596ae7bc850199a6ec0608a2c14cb3c3', class: "fa fa-user fa-lg text-success", "aria-hidden": "true" }), "\u00A0", h("span", { key: '00612bd6de34119478dc14170caf6b50fe5cff89', class: "hidden-xs" }, (_o = this.metaNav) === null || _o === void 0 ? void 0 : _o.UserMenuText), "\u00A0", h("span", { key: 'cd68b3373fb4b78d541b012af8a54e99da7b17e0', class: "caret" })), h("ul", { key: '73dc26ce9c813ddae6f7c8b09df732dab6239138', class: "dropdown-menu-left dropdown-menu navbar-myxv" }, ((_p = this.metaNav) === null || _p === void 0 ? void 0 : _p.IsManager) && (h("li", { key: '299ed2a2a3979545df9ce3bf2008f1fc680bc2a5' }, h("a", { key: 'fcdcb2942ab361faafb92d763e7496722de5c070', onClick: () => this.toggleCockpitMenu() }, h("i", { key: 'f577b49b69c85e1c46b692ad51d8f682e1d8d560', class: "fa fa-tachometer-alt fa-fw" }), "\u00A0Cockpitfunktionen \u00A0", h("i", { key: '025296398309240fc9e3afb432e9adf22ebcaf2e', class: "fa fa-caret-down" })))), this.isCockpitMenuExpanded && ((_r = (_q = this.metaNav) === null || _q === void 0 ? void 0 : _q.ManagerCockpitMenu) === null || _r === void 0 ? void 0 : _r.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0\u00A0", item.Text))))), ((_s = this.metaNav) === null || _s === void 0 ? void 0 : _s.IsManager) && (h("li", { key: 'd8e6ec612f1e483f0bf2ec5be7eb18bdaf40b407' }, h("a", { key: '08cf9de905ee429fe7333c5b5bd598d440cbb871', onClick: () => this.toggleEntitiesMenu() }, h("i", { key: '5d88df730e14ed4b0050e50d5467a32a5e459b0f', class: "fa fa-cubes" }), "\u00A0Entit\u00E4ten \u00A0", h("i", { key: '7720cfb7ddf79add881a60de786f0d6e0ecfe50a', class: "fa fa-caret-down" })))), this.isEntitiesMenuExpanded && ((_u = (_t = this.metaNav) === null || _t === void 0 ? void 0 : _t.ManagerEntitiesMenu) === null || _u === void 0 ? void 0 : _u.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text))))), (_w = (_v = this.metaNav) === null || _v === void 0 ? void 0 : _v.ManagerMenu) === null || _w === void 0 ? void 0 :
|
|
255
255
|
_w.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0", item.Text)))), ((_x = this.metaNav) === null || _x === void 0 ? void 0 : _x.IsManager) && (h("li", { key: 'fa3cfd5c9064017db1a61af59c3e1c6b32cd9e05', role: "separator", class: "divider" })), ((_y = this.metaNav) === null || _y === void 0 ? void 0 : _y.IsManager) && (h("li", { key: '773b8d34a17b0be5bff324ff68e8b49b486c8fb2' }, h("a", { key: '87cadda00c9d039a1d3e8ce0a1a57902135529cb', onClick: () => this.toggleUserMenu() }, h("i", { key: '94d9dca3d39c3ee8f9ce77484dfa4ce3b419130f', class: "fa fa-user" }), "\u00A0Mein Crossvertise \u00A0", h("span", { key: '5a1d22162e6da0b84fa4d43b54f03783dd4e3feb', class: "badge" }, (_z = this.metaNav) === null || _z === void 0 ? void 0 : _z.PendingItems), h("i", { key: '0f279cf465808f947a6a7e5acbfc765c36b82922', class: "fa fa-caret-down" })))), this.isUserMenuExpanded && ((_1 = (_0 = this.metaNav) === null || _0 === void 0 ? void 0 : _0.UserMenu) === null || _1 === void 0 ? void 0 : _1.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self', class: "user-menu-item-link" }, h("i", { class: item.CssClass }), item.Text, "\u00A0", item.BadgeText && (h("span", { class: "badge" }, item.BadgeText))))))), ((_3 = (_2 = this.metaNav) === null || _2 === void 0 ? void 0 : _2.ImpersonationInfo) === null || _3 === void 0 ? void 0 : _3.isImpersonated) && (h("li", { key: '4f50cde60dd4c667f2a86b0418d1d07fd0c1a841', class: 'user-menu-item' }, h("a", { key: '121249516ba796fe0aba3f1e4cc914ba2fc3f8b0', href: (_5 = (_4 = this.metaNav) === null || _4 === void 0 ? void 0 : _4.ImpersonationInfo) === null || _5 === void 0 ? void 0 : _5.ClearImpersonationUrl }, h("i", { key: '09965baf4d359e738c2b54049eb59280c7c1cb47', class: "fa fa-exchange-alt" }), "Kundenperspektive verlassen"))), ((_6 = this.metaNav) === null || _6 === void 0 ? void 0 : _6.IsManager) && (h("li", { key: 'cd315fd75f7edc05255033da43d193fd3dba7a12', role: "separator", class: "divider" })), (_8 = (_7 = this.metaNav) === null || _7 === void 0 ? void 0 : _7.ActionsMenu) === null || _8 === void 0 ? void 0 :
|
|
256
|
-
_8.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text)))), h("li", { key: '141e4f6f82c91fed088c30044ea7d43beb7704ae' }, h("a", { key: '
|
|
256
|
+
_8.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text)))), h("li", { key: '141e4f6f82c91fed088c30044ea7d43beb7704ae' }, h("a", { key: 'f578dd232f9da3e60d134162651ab59538452709', href: `${this.getBaseUrl()}/de-de/mycrossvertise/account/logoff?returnUrl=${window.location.hostname}` }, h("i", { key: 'f5ce528da4dcb621c2f668ee0e6fbf9c712144c8', class: "fa fa-sign-out-alt fa-fw", "aria-hidden": "true" }), "Logout"))))), !((_9 = this.metaNav) === null || _9 === void 0 ? void 0 : _9.IsAuthenticated) && (h("li", { key: 'eb9403e765b029f690ef9be0a2e82c9a9d9253c1', class: "hidden-md hidden-lg" }, h("a", { key: '49e8cc81d4669761247497bc05fe893aa966a6cf', class: "btn btn-default navbar-btn btn-link mob-login", href: "/de-de/mycrossvertise/account/logon" }, h("i", { key: 'd7d08564b532ad714ee3f4146969e4b49584f28c', class: "fa fa-user fa-lg", "aria-hidden": "true" })))), h("xv-login-modal", { key: '5143e53a54ea75215f0fdcf1896ff0edba4bced4', visible: this.showLoginModal, onClose: this.closeLoginModal }), !((_10 = this.metaNav) === null || _10 === void 0 ? void 0 : _10.IsAuthenticated) && (h("li", { key: 'aecc4527923685f55e0e5cc584e0170cce3455a1', class: "hidden-xs hidden-sm" }, h("a", { key: '0d6f3279c18a7c2a30a13ac4a59c8b52604cbb21', role: "button", onClick: this.openLoginModal, class: "btn btn-default navbar-btn btn-link" }, h("i", { key: '1205410cad49d30521babb93a0b6cd13ff430d75', class: "fa fa-user fa-lg", "aria-hidden": "true" }), h("span", { key: 'bf54d4de2a6a82801518e38cd26f4f201198cbf1', class: "padding-sm-left" }, "Login")))), !((_11 = this.metaNav) === null || _11 === void 0 ? void 0 : _11.IsAuthenticated) && (h("li", { key: '7222a57c61dc55af47403cb5fde95a198e3b5d79', class: "hidden-xs" }, h("a", { key: 'a320a19ee4733e747d83fc4e17bae989399a650d', class: "btn btn-default navbar-btn btn-link", href: "/de-de/mycrossvertise/account/register" }, h("span", { key: '9a9edf5093852449430cc56a77c2605f23133c81' }, "Registrieren")))), h("li", { key: '3162952c82de493981449eefbd2a4d641f1465c5', class: "navbar-divider hidden-xs" }), h("li", { key: '3dfb654082edaaeb3b864da1a067b2eb2d054058' }, h("xv-button-v2", { key: 'c7cc1573f59520311bfe224745ce18da1906d0a0', class: "navbar-btn", variant: 'accent', onClick: () => window.location.href = '/de-de/mycrossvertise/shoppingcart/activecart' }, h("span", { key: '93dc26938a4187a045f0e6242dc9d2372aad2cc7', class: "xv-font-icon-warenkorb fa-lg fa-fw", "aria-hidden": "true" }), h("span", { key: '61641f8c13b70ceaa95bfa39d1b5410db8334634', class: "hidden-xs hidden-sm" }, "\u00A0Warenkorb\u00A0"), h("xv-tag-v2", { key: '7ebe91d384b7723e39fad6538f651d1fea68997f', id: "shopping-cart-items-badge", size: 'sm', bg: "var(--background)", color: "var(--icon-interactive)" }, ((_13 = (_12 = this.metaNav) === null || _12 === void 0 ? void 0 : _12.Cart) === null || _13 === void 0 ? void 0 : _13.NumberOfItems) || 0)))))))), h("div", { key: 'bb077f9949d24bded226fb73df3f2ef6e0eee023', class: "collapse hidden-md hidden-lg", id: "search-collapse" }, h("div", { key: 'a5e4eb5c37bff9ca8a337cd3a7a2954589bb15bb', class: "container" }, h("form", { key: '5a8a54ac50d75e127a152ad7beb0717a1ca35816', action: "/de-de/media/search", class: "navbar-form", method: "get", role: "search" }, h("div", { key: 'a007b515b65701c8d6766920f28649edd09cf10a', class: "input-group" }, h("input", { key: '4ecb86cb39cc3a31997f397f16a727b4ab8d65ec', class: "form-control", name: "Q", placeholder: "Suche", type: "text", autocomplete: "off" }), h("span", { key: 'a53f86ef7dfc801350a23b04b71f3e31854a6eae', class: "input-group-btn force-full-width" }, h("button", { key: 'd1acc45a0fe88ae7f8ccc5d530ddf9b1ab0fd251', class: "btn btn-default search-addon", type: "submit" }, h("i", { key: '605d8aa2044b586b6b30573cee39b5eff78be9c9', class: "fa fa-search", "aria-hidden": "true" }))))))), isMegaMenuEnabled && (h("div", { key: 'fda831dc1e6d4710e8666a2f62da1a4d0622126e', class: "xv-header-nav xv-header-nav--shadow" }, h("div", { key: 'd37b46339e49957ac7f555cfefa619f1f02e491c', class: "container" }, h("xv-mega-menu", { key: 'a2e50d6776b720b4e6940f4645e854cc37192dc3', open: this.mobMenuOpen, onOpenChange: this.closeMobMenu }, ((_14 = this.metaNav) === null || _14 === void 0 ? void 0 : _14.EnableMegaMenuSearch) || isMegaMenuEnabled && (h("div", { key: '9e74f0309324570f16409333d9b770f618288f12', slot: "menu-right", innerHTML: this.htmlSearchForm }))))))), !isMegaMenuEnabled && (h("div", { key: '178492327fb6b0a3b1fc8c49ad3be172333298a7', innerHTML: this.htmlContent })), ((_15 = this.metaNav) === null || _15 === void 0 ? void 0 : _15.EnableMegaMenuSearch) || isMegaMenuEnabled && (h("ul", { key: 'b26c4df405f1f69887d18cb739797703888be49c', class: "ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all", id: "xv-search-suggestions", style: {
|
|
257
257
|
width: `${(_16 = this.listPosition) === null || _16 === void 0 ? void 0 : _16.width}px`,
|
|
258
258
|
top: `${(_17 = this.listPosition) === null || _17 === void 0 ? void 0 : _17.top}px`,
|
|
259
259
|
left: `${(_18 = this.listPosition) === null || _18 === void 0 ? void 0 : _18.left}px`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xv-header.js","sourceRoot":"","sources":["../../../src/components/xv-header/xv-header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, State, Listen, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-header',\n styleUrl: 'xv-header.scss',\n})\nexport class XvHeader {\n @State() htmlContent: string = '';\n @State() htmlSearchForm: string = '';\n @State() showLoginModal = false;\n @State() isCockpitMenuExpanded: boolean = true;\n @State() isEntitiesMenuExpanded: boolean = true;\n @State() isUserMenuExpanded: boolean = true;\n @Element() el: HTMLElement;\n @State() suggestions: { title_de: string; page_link: string; source: string }[] = [];\n @State() searchQuery: string = '';\n @State() listPosition: { width: number; top: number; left: number } = { width: 0, top: 0, left: 0 };\n @State() showPopover = false;\n @State() metaNav: any;\n @State() mobMenuOpen: boolean = false;\n @State() orgUnit: string = '';\n @State() notificationsHtml: string = '';\n @State() notificationsCount = 0;\n @Prop() megaMenu: boolean = false;\n\n\n private readonly onMetaNavUpdated = () => this.loadMetaNav();\n\n\n private currentSuggestion: string | null = null;\n private searchInput?: HTMLInputElement;\n private searchInputs: HTMLInputElement[] = [];\n private inputHandlers: { input: HTMLInputElement; listeners: [string, EventListener][] }[] = [];\n\n @Listen('xv:orgUnitChange', { target: 'window'})\n handleOrgUnitChange({ detail: orgUnit }: CustomEvent<string | undefined>) {\n this.orgUnit = orgUnit || '';\n }\n\n private readonly handleClickOutside = (ev: MouseEvent) => {\n if (!this.suggestions.length) return;\n\n const suggestionsEl = this.el.querySelector('#xv-search-suggestions');\n const target = ev.target as Node;\n\n if (this.searchInputs.some(input => input.contains(target))) return;\n if (suggestionsEl && suggestionsEl.contains(target)) return;\n\n this.suggestions = [];\n this.currentSuggestion = null;\n };\n\n private readonly openLoginModal = () => {\n this.showLoginModal = true;\n };\n\n private readonly togglePopover = () => {\n this.showPopover = !this.showPopover;\n };\n\n private readonly closeLoginModal = async () => {\n this.showLoginModal = false;\n };\n\n private readonly handleSearchInput = async (e: Event) => {\n const target = e.target as HTMLInputElement;\n const query = target.value.trim();\n this.searchQuery = query;\n if (query.length < 2) {\n this.suggestions = [];\n this.currentSuggestion = null;\n return;\n }\n const rect = target.getBoundingClientRect();\n this.listPosition = { width: rect.width, top: rect.bottom + window.scrollY, left: rect.left + window.scrollX };\n const url =\n 'https://xv-search.search.windows.net/indexes/xv-shared-index-live/docs/suggest?fuzzy=true&suggesterName=xv-shared-index-live-suggester&api-version=2020-06-30&search=' +\n encodeURIComponent(query) +\n '&$top=10&$select=title_de,page_link,source&$orderby=source desc';\n try {\n const resp = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n 'api-key': '7315DEF1FA0C8B12109B12BA28E517E7',\n },\n });\n const data = await resp.json();\n this.suggestions = Array.isArray(data.value) ? data.value : [];\n this.currentSuggestion = this.suggestions.length > 0 ? this.suggestions[0].title_de : null;\n } catch (err) {\n console.error('Failed to fetch suggestions', err);\n }\n };\n\n private readonly navigateToSuggestion = (s: { title_de: string; page_link: string; source: string }) => {\n window.location.href = \"https://www.crossvertise.com\" + s.page_link;\n };\n\n private escapeRegExp(text: string) {\n return text.replace(/[.*+?^${}()|[\\\\]\\\\]/g, '\\\\$&');\n }\n\n private readonly handleKeyDown = (e: KeyboardEvent) => {\n const input = e.target as HTMLInputElement;\n if (e.key === 'Tab' && this.currentSuggestion) {\n input.value = this.currentSuggestion;\n e.preventDefault();\n } else if (e.key === 'Escape') {\n this.currentSuggestion = null;\n input.value = '';\n this.suggestions = [];\n }\n };\n\n private getLogoUrl() {\n // Logic to determine logo URL based on some condition\n\n const logoUrl = this.metaNav?.LogoUrl;\n\n if (logoUrl) {\n return logoUrl;\n }\n\n return 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg';\n }\n\n private getSmallLogoUrl() {\n const logoSmallUrl = this.metaNav?.LogoSmallUrl;\n\n if (logoSmallUrl) {\n return logoSmallUrl;\n }\n\n return 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg';\n }\n\n componentDidLoad() {\n window.addEventListener('xv:metaNav-update', this.onMetaNavUpdated);\n const inputs = Array.from(this.el.querySelectorAll('input[name=\"Q\"]')) as HTMLInputElement[];\n this.searchInputs = inputs;\n inputs.forEach(input => {\n const handleInput = this.handleSearchInput.bind(this);\n const handleKeyDown = this.handleKeyDown.bind(this);\n input.addEventListener('input', handleInput);\n input.addEventListener('keydown', handleKeyDown);\n this.inputHandlers.push({\n input: input as HTMLInputElement,\n listeners: [\n ['input', handleInput],\n ['keydown', handleKeyDown],\n ],\n });\n if (!this.searchInput) {\n this.searchInput = input as HTMLInputElement;\n }\n });\n document.body.addEventListener('click', this.handleClickOutside);\n }\n private getBaseUrl(): string {\n const hostname = window.location.hostname;\n \n if (hostname.includes('sitefinity-qa.crossvertise.com')) {\n return 'https://qa.crossvertise.com';\n } else if (hostname.includes('www.crossvertise.com')) {\n return 'https://market.crossvertise.com';\n } else if (hostname.includes('sitefinity-staging.crossvertise.com')) {\n return 'https://staging.crossvertise.com';\n } else {\n return '';\n }\n }\n private async fetchMetaNav() {\n try {\n const response = await fetch(`${this.getBaseUrl()}/de-de/home/getpersonalareajson`, {\n method: 'POST',\n credentials:\"include\",\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n const metaNav = await response.json();\n localStorage.setItem('metaNav', JSON.stringify(metaNav));\n this.metaNav = metaNav;\n this.updateNotificationsState();\n } catch (e) {\n console.warn('Could not fetch metaNav:', e);\n }\n }\n\n private loadMetaNav() {\n try {\n const metaNavRaw = localStorage.getItem('metaNav');\n if (metaNavRaw) {\n this.metaNav = JSON.parse(metaNavRaw);\n this.orgUnit = this.metaNav?.User?.SelectedOrgUnitName || '';\n this.updateNotificationsState();\n }\n } catch (e) {\n console.warn('Could not parse metaNav from localStorage:', e);\n }\n }\n\n private updateNotificationsState() {\n if (this.metaNav?.IsManager) {\n void this.initializeNotifications();\n } else {\n this.resetNotificationsState();\n }\n }\n\n\n private toggleCockpitMenu() {\n this.isCockpitMenuExpanded = !this.isCockpitMenuExpanded;\n }\n\n private toggleEntitiesMenu() {\n this.isEntitiesMenuExpanded = !this.isEntitiesMenuExpanded;\n }\n\n private toggleUserMenu() {\n this.isUserMenuExpanded = !this.isUserMenuExpanded;\n }\n\n private readonly toggleMobMenu = () => {\n this.mobMenuOpen = !this.mobMenuOpen;\n }\n\n private readonly closeMobMenu = ({ detail }: CustomEvent<boolean>) => {\n this.mobMenuOpen = !!detail;\n }\n\n disconnectedCallback() {\n window.removeEventListener('xv:metaNav-update', this.onMetaNavUpdated);\n this.inputHandlers.forEach(({ input, listeners }) => {\n listeners.forEach(([event, handler]) => {\n input.removeEventListener(event, handler);\n });\n });\n this.inputHandlers = [];\n this.searchInputs = [];\n document.body.removeEventListener('click', this.handleClickOutside);\n }\n\n async componentWillLoad() {\n await this.fetchMetaNav();\n this.loadMetaNav();\n\n const envMap = {\n 'qa.crossvertise.com': 'qa',\n 'komsa-test.crossvertise.com': 'qa',\n 'staging.crossvertise.com': 'staging',\n 'market.crossvertise.com': 'release',\n 'allianz.crossvertise.com': 'release',\n 'philips.crossvertise.com': 'release',\n 'komsa.crossvertise.com': 'release',\n };\n\n const env = Object.keys(envMap).find(h => window.location.hostname.includes(h))\n ? envMap[Object.keys(envMap).find(h => window.location.hostname.includes(h))]\n : 'qa';\n try {\n const response = await fetch(`https://crossvertise.blob.core.windows.net/nav-sync-${env}/nav.html`);\n const text = await response.text();\n const parser = new DOMParser();\n const doc = parser.parseFromString(text, 'text/html');\n\n const mixedMenu = doc.querySelector('.alle-kategorien-menu');\n const allCategoriesGenerals = doc.querySelector('.alle-kategorien-allgemines');\n const allCategoriesContainer = doc.querySelector('#media-menu-item-alle-kategorien > .dropdown-menu');\n\n if (mixedMenu && allCategoriesGenerals && allCategoriesContainer) {\n allCategoriesContainer.appendChild(mixedMenu);\n allCategoriesContainer.appendChild(allCategoriesGenerals);\n }\n\n this.htmlSearchForm = doc.querySelector('form.navbar-form[role=\"search\"]').innerHTML;\n this.htmlContent = doc.body.innerHTML;\n } catch (error) {\n console.error('Failed to fetch header HTML:', error?.message, error);\n }\n }\n\n render() {\n\n const baseUrl = window.location.origin;\n const isMegaMenuEnabled = !!(this.metaNav?.EnableMegaMenu || this.megaMenu);\n return (\n <div id=\"nav-container\" class=\"xv-header\">\n <nav class=\"navbar navbar-default navbar-fixed-top backend-force-relative\">\n <div class=\"generic-wrapper\">\n <div class=\"container\">\n <div class=\"xv-header-row\">\n <div class=\"xv-header-col xv-header-col--left\">\n <div class=\"navbar-header\">\n <button class=\"btn btn-default navbar-toggle pull-left navbar-btn\" onClick={this.toggleMobMenu}>\n <i class=\"fa fa-bars fa-lg\" aria-hidden=\"true\"></i>\n </button>\n <div class=\"visible-xs-inline visible-sm-inline\">\n <a href={`${baseUrl}/`} class=\"navbar-brand\">\n <img\n src={this.getSmallLogoUrl()}\n alt=\"Crossvertise\" />\n </a>\n </div>\n <div class=\"hidden-xs hidden-sm\">\n <a href={`${baseUrl}/`} class=\"navbar-brand\">\n <img loading=\"lazy\"\n src={this.getLogoUrl()}\n alt=\"Crossvertise\" />\n </a>\n </div>\n </div>\n {this.orgUnit && (\n <xv-link-v2\n size=\"lg\"\n class=\"xv-header--link-no-visited\"\n variant=\"standalone\"\n href=\"/de-de/mycrossvertise\">{this.orgUnit}</xv-link-v2>\n )}\n </div>\n <div class=\"xv-header-col xv-header-col--right\">\n <ul class=\"nav nav-pills nav-meta pull-right\">\n\n\n {this.metaNav?.ImpersonationInfo && (\n <li>\n <div class=\"btn btn-link navbar-btn navbar-btn-cust hidden-xs\" onClick={this.togglePopover}>\n <i class=\"fa fa-user\"></i>\n <i class=\"fa fa-exchange-alt\"></i>\n </div>\n <div class=\"popover popover-fixed fade bottom in\" style={{ \"display\": this.showPopover ? \"block\" : \"none\" }}>\n <div class=\"arrow\"></div>\n <h3 class=\"popover-title\">Momentan ist die Kundenperspektive aktiviert für:</h3>\n <div class=\"popover-content\">\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <table class=\"table-condensed\">\n <tbody>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.NameAndTitle}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.CompanyName}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.Email}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.PhoneOffice}</span></td></tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n <div class=\"row contact-contactform-container\" id=\"contact-contactform-container-nav\">\n <div class=\"col-xs-12\">\n <a class=\"btn btn-primary btn-block\" href=\"/de-de/mycrossvertise/account/clearimpersonation\">\n Kundenperspektive verlassen\n </a>\n </div>\n </div>\n </div>\n </li>\n )}\n <li>\n <a class=\"btn btn-link navbar-btn hidden-xs\" href=\"https://www.crossvertise.com/ueber-uns/kontakt\">Kontakt</a>\n <a href=\"/contact\" class=\"btn btn-link navbar-btn hidden-xs\" style={{ display: 'none' }}>Kontakt</a>\n <a class=\"btn btn-default btn-link navbar-btn visible-xs hidden-xxs\" href=\"#\">\n <i class=\"fa fa-phone\"></i>\n </a>\n </li>\n {this.metaNav?.IsManager && (\n <li class=\"dropdown\" data-bind=\"visible: $root.isManager\" id=\"notifications-dropdown\">\n <a\n id=\"notifications-dropdown-toggle\"\n data-target=\"#\"\n class=\"dropdown-toggle btn navbar-btn btn-link\"\n data-toggle=\"dropdown\"\n role=\"button\"\n data-container=\"body\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <i class=\"fas fa-bell fa-lg\"></i>\n {this.notificationsCount > 0 && (\n <span id=\"notifications-count\" class=\"badge badge-success badge-top-right\">\n {this.notificationsCount}\n </span>\n )}\n </a>\n <ul id=\"notifications-menu\" class=\"dropdown-menu dropdown-menu-left notification-panel\">\n <div class=\"notification-body\" id=\"notification-body\">\n <div class=\"notifications\" innerHTML={this.notificationsHtml}></div>\n </div>\n </ul>\n </li>\n )}\n \n {/* User Menu Dropdown */}\n {this.metaNav?.IsAuthenticated && (\n <li class=\"dropdown\" id=\"my-xv-menu\">\n <a class=\"dropdown-toggle btn navbar-btn btn-link\"\n data-toggle=\"dropdown\"\n role=\"button\"\n data-container=\"body\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fa fa-user fa-lg text-success\" aria-hidden=\"true\"></i>\n \n <span class=\"hidden-xs\">{this.metaNav?.UserMenuText}</span>\n \n <span class=\"caret\"></span>\n </a>\n <ul class=\"dropdown-menu-left dropdown-menu navbar-myxv\">\n\n {/* Manager Menu Section */}\n {this.metaNav?.IsManager && (\n <li>\n <a onClick={() => this.toggleCockpitMenu()}>\n <i class=\"fa fa-tachometer-alt fa-fw\"></i>\n Cockpitfunktionen \n <i class=\"fa fa-caret-down\"></i>\n </a>\n </li>\n )}\n {this.isCockpitMenuExpanded && this.metaNav?.ManagerCockpitMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i> {item.Text}\n </a>\n </li>\n ))}\n\n {/* Manager Entities Menu */}\n {this.metaNav?.IsManager && (\n <li>\n <a onClick={() => this.toggleEntitiesMenu()}><i class=\"fa fa-cubes\"></i> Entitäten <i class=\"fa fa-caret-down\"></i></a>\n </li>\n )}\n {this.isEntitiesMenuExpanded && this.metaNav?.ManagerEntitiesMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>\n {item.Text}\n </a>\n </li>\n ))}\n\n {/* Administration */}\n {this.metaNav?.ManagerMenu?.map(item => (\n <li>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i> \n {item.Text}\n </a>\n </li>\n ))}\n\n {this.metaNav?.IsManager && (\n <li role=\"separator\" class=\"divider\"></li>\n )}\n\n {/* User Menu */}\n {this.metaNav?.IsManager && (\n <li >\n <a onClick={() => this.toggleUserMenu()}>\n <i class=\"fa fa-user\"></i> Mein Crossvertise <span class=\"badge\">\n {this.metaNav?.PendingItems}</span><i class=\"fa fa-caret-down\">\n </i>\n </a>\n </li>\n )}\n {this.isUserMenuExpanded && this.metaNav?.UserMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'} class=\"user-menu-item-link\">\n <i class={item.CssClass}></i>{item.Text} {item.BadgeText && (<span class=\"badge\">{item.BadgeText}</span>)}\n </a>\n </li>\n ))}\n\n\n {/* Impersonation Info */}\n {this.metaNav?.ImpersonationInfo?.isImpersonated && (\n <li class='user-menu-item'>\n <a href={this.metaNav?.ImpersonationInfo?.ClearImpersonationUrl}>\n <i class=\"fa fa-exchange-alt\"></i>\n Kundenperspektive verlassen\n </a>\n </li>\n )}\n\n {this.metaNav?.IsManager && (\n <li role=\"separator\" class=\"divider\"></li>\n )}\n\n {/* Actions Menu */}\n {this.metaNav?.ActionsMenu?.map(item => (\n <li>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>\n {item.Text}\n </a>\n </li>\n ))}\n\n <li>\n <a href=\"/de-de/mycrossvertise/account/logoff?returnUrl=/\"><i class=\"fa fa-sign-out-alt fa-fw\" aria-hidden=\"true\"></i>Logout</a>\n </li>\n </ul>\n </li>\n )}\n\n {/* Login */}\n\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-md hidden-lg\">\n <a class=\"btn btn-default navbar-btn btn-link mob-login\" href=\"/de-de/mycrossvertise/account/logon\" >\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n </a>\n </li>\n )}\n\n <xv-login-modal visible={this.showLoginModal} onClose={this.closeLoginModal}></xv-login-modal>\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-xs hidden-sm\">\n <a role=\"button\" onClick={this.openLoginModal} class=\"btn btn-default navbar-btn btn-link\">\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n <span class=\"padding-sm-left\">Login</span>\n </a>\n </li>\n )}\n\n {/* Registrieren */}\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-xs\">\n <a class=\"btn btn-default navbar-btn btn-link\" href=\"/de-de/mycrossvertise/account/register\">\n <span>Registrieren</span>\n </a>\n </li>\n )}\n\n <li class=\"navbar-divider hidden-xs\"></li>\n <li>\n <xv-button-v2 class=\"navbar-btn\" variant='accent' onClick={() => window.location.href = '/de-de/mycrossvertise/shoppingcart/activecart'}>\n <span class=\"xv-font-icon-warenkorb fa-lg fa-fw\" aria-hidden=\"true\"></span>\n <span class=\"hidden-xs hidden-sm\"> Warenkorb </span>\n <xv-tag-v2 id=\"shopping-cart-items-badge\" size='sm' bg=\"var(--background)\" color=\"var(--icon-interactive)\">{this.metaNav?.Cart?.NumberOfItems || 0}</xv-tag-v2>\n </xv-button-v2>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <div class=\"collapse hidden-md hidden-lg\" id=\"search-collapse\">\n <div class=\"container\">\n <form action=\"/de-de/media/search\" class=\"navbar-form\" method=\"get\" role=\"search\">\n <div class=\"input-group\">\n <input class=\"form-control\" name=\"Q\" placeholder=\"Suche\" type=\"text\" autocomplete=\"off\" />\n <span class=\"input-group-btn force-full-width\">\n <button class=\"btn btn-default search-addon\" type=\"submit\">\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n </button>\n </span>\n </div>\n </form>\n </div>\n </div>\n\n {isMegaMenuEnabled && (\n <div class=\"xv-header-nav xv-header-nav--shadow\">\n <div class=\"container\">\n <xv-mega-menu open={this.mobMenuOpen} onOpenChange={this.closeMobMenu}>\n {this.metaNav?.EnableMegaMenuSearch || isMegaMenuEnabled && (<div slot=\"menu-right\" innerHTML={this.htmlSearchForm}></div>)}\n </xv-mega-menu>\n </div>\n </div>\n )}\n </nav>\n\n {!isMegaMenuEnabled && (\n <div innerHTML={this.htmlContent}></div>\n )}\n\n {this.metaNav?.EnableMegaMenuSearch || isMegaMenuEnabled && (\n <ul\n class=\"ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all\"\n id=\"xv-search-suggestions\"\n style={{\n width: `${this.listPosition?.width}px`,\n top: `${this.listPosition?.top}px`,\n left: `${this.listPosition?.left}px`,\n display: this.suggestions?.length ? 'block' : 'none',\n position: 'absolute',\n zIndex: '1000',\n }}\n >\n {this.suggestions.map(s => (\n <li class=\"ui-menu-item\" role=\"presentation\">\n <a\n href=\"#\"\n onClick={e => {\n e.preventDefault();\n this.navigateToSuggestion(s);\n }}\n >\n {s.title_de.split(new RegExp(`(${this.escapeRegExp(this.searchQuery)})`, 'gi')).map(part =>\n part.toLowerCase() === this.searchQuery?.toLowerCase() ? <b>{part}</b> : part\n )}\n </a>\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n }\n private async initializeNotifications() {\n if (!this.metaNav?.IsManager) {\n return;\n }\n\n await this.loadNotifications();\n }\n\n private getNotificationsApiUrl(): string {\n const defaultOrigin = 'https://www.crossvertise.com';\n const fallbackOrigin = 'https://market.crossvertise.com';\n const path = '/de-de/api/notifications/list';\n const normalizeOrigin = (value: string) => value.replace(/\\/+$/, '');\n\n try {\n const rawOrigin =\n typeof window !== 'undefined' && window.location?.origin\n ? window.location.origin\n : defaultOrigin;\n\n const normalizedOrigin = normalizeOrigin(rawOrigin);\n const effectiveOrigin =\n normalizedOrigin === normalizeOrigin(defaultOrigin) ? fallbackOrigin : normalizedOrigin;\n\n return new URL(path, `${effectiveOrigin}/`).toString();\n } catch (error) {\n console.warn('Falling back to notifications fallback origin:', error);\n return new URL(path, `${fallbackOrigin}/`).toString();\n }\n }\n\n private async loadNotifications() {\n try {\n const response = await fetch(this.getNotificationsApiUrl(), {\n credentials: 'include',\n });\n\n if (!response.ok) {\n throw new Error(`Request failed with status ${response.status}`);\n }\n\n const data = await response.json();\n\n if (Array.isArray(data) && data.length > 0) {\n const result = data.reduce((acc: string, notification: { template?: string }) => acc + (notification?.template || ''), '');\n this.notificationsHtml = result;\n this.notificationsCount = data.length;\n } else {\n this.notificationsHtml = '';\n this.notificationsCount = 0;\n }\n } catch (error) {\n console.error('Failed to load notifications:', error);\n this.notificationsHtml = '';\n this.notificationsCount = 0;\n }\n }\n\n private resetNotificationsState() {\n this.notificationsHtml = '';\n this.notificationsCount = 0;\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"xv-header.js","sourceRoot":"","sources":["../../../src/components/xv-header/xv-header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, State, Listen, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-header',\n styleUrl: 'xv-header.scss',\n})\nexport class XvHeader {\n @State() htmlContent: string = '';\n @State() htmlSearchForm: string = '';\n @State() showLoginModal = false;\n @State() isCockpitMenuExpanded: boolean = true;\n @State() isEntitiesMenuExpanded: boolean = true;\n @State() isUserMenuExpanded: boolean = true;\n @Element() el: HTMLElement;\n @State() suggestions: { title_de: string; page_link: string; source: string }[] = [];\n @State() searchQuery: string = '';\n @State() listPosition: { width: number; top: number; left: number } = { width: 0, top: 0, left: 0 };\n @State() showPopover = false;\n @State() metaNav: any;\n @State() mobMenuOpen: boolean = false;\n @State() orgUnit: string = '';\n @State() notificationsHtml: string = '';\n @State() notificationsCount = 0;\n @Prop() megaMenu: boolean = false;\n\n\n private readonly onMetaNavUpdated = () => this.loadMetaNav();\n\n\n private currentSuggestion: string | null = null;\n private searchInput?: HTMLInputElement;\n private searchInputs: HTMLInputElement[] = [];\n private inputHandlers: { input: HTMLInputElement; listeners: [string, EventListener][] }[] = [];\n\n @Listen('xv:orgUnitChange', { target: 'window'})\n handleOrgUnitChange({ detail: orgUnit }: CustomEvent<string | undefined>) {\n this.orgUnit = orgUnit || '';\n }\n\n private readonly handleClickOutside = (ev: MouseEvent) => {\n if (!this.suggestions.length) return;\n\n const suggestionsEl = this.el.querySelector('#xv-search-suggestions');\n const target = ev.target as Node;\n\n if (this.searchInputs.some(input => input.contains(target))) return;\n if (suggestionsEl && suggestionsEl.contains(target)) return;\n\n this.suggestions = [];\n this.currentSuggestion = null;\n };\n\n private readonly openLoginModal = () => {\n this.showLoginModal = true;\n };\n\n private readonly togglePopover = () => {\n this.showPopover = !this.showPopover;\n };\n\n private readonly closeLoginModal = async () => {\n this.showLoginModal = false;\n };\n\n private readonly handleSearchInput = async (e: Event) => {\n const target = e.target as HTMLInputElement;\n const query = target.value.trim();\n this.searchQuery = query;\n if (query.length < 2) {\n this.suggestions = [];\n this.currentSuggestion = null;\n return;\n }\n const rect = target.getBoundingClientRect();\n this.listPosition = { width: rect.width, top: rect.bottom + window.scrollY, left: rect.left + window.scrollX };\n const url =\n 'https://xv-search.search.windows.net/indexes/xv-shared-index-live/docs/suggest?fuzzy=true&suggesterName=xv-shared-index-live-suggester&api-version=2020-06-30&search=' +\n encodeURIComponent(query) +\n '&$top=10&$select=title_de,page_link,source&$orderby=source desc';\n try {\n const resp = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n 'api-key': '7315DEF1FA0C8B12109B12BA28E517E7',\n },\n });\n const data = await resp.json();\n this.suggestions = Array.isArray(data.value) ? data.value : [];\n this.currentSuggestion = this.suggestions.length > 0 ? this.suggestions[0].title_de : null;\n } catch (err) {\n console.error('Failed to fetch suggestions', err);\n }\n };\n\n private readonly navigateToSuggestion = (s: { title_de: string; page_link: string; source: string }) => {\n window.location.href = \"https://www.crossvertise.com\" + s.page_link;\n };\n\n private escapeRegExp(text: string) {\n return text.replace(/[.*+?^${}()|[\\\\]\\\\]/g, '\\\\$&');\n }\n\n private readonly handleKeyDown = (e: KeyboardEvent) => {\n const input = e.target as HTMLInputElement;\n if (e.key === 'Tab' && this.currentSuggestion) {\n input.value = this.currentSuggestion;\n e.preventDefault();\n } else if (e.key === 'Escape') {\n this.currentSuggestion = null;\n input.value = '';\n this.suggestions = [];\n }\n };\n\n private getLogoUrl() {\n // Logic to determine logo URL based on some condition\n\n const logoUrl = this.metaNav?.LogoUrl;\n\n if (logoUrl) {\n return logoUrl;\n }\n\n return 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg';\n }\n\n private getSmallLogoUrl() {\n const logoSmallUrl = this.metaNav?.LogoSmallUrl;\n\n if (logoSmallUrl) {\n return logoSmallUrl;\n }\n\n return 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg';\n }\n\n componentDidLoad() {\n window.addEventListener('xv:metaNav-update', this.onMetaNavUpdated);\n const inputs = Array.from(this.el.querySelectorAll('input[name=\"Q\"]')) as HTMLInputElement[];\n this.searchInputs = inputs;\n inputs.forEach(input => {\n const handleInput = this.handleSearchInput.bind(this);\n const handleKeyDown = this.handleKeyDown.bind(this);\n input.addEventListener('input', handleInput);\n input.addEventListener('keydown', handleKeyDown);\n this.inputHandlers.push({\n input: input as HTMLInputElement,\n listeners: [\n ['input', handleInput],\n ['keydown', handleKeyDown],\n ],\n });\n if (!this.searchInput) {\n this.searchInput = input as HTMLInputElement;\n }\n });\n document.body.addEventListener('click', this.handleClickOutside);\n }\n private getBaseUrl(): string {\n const hostname = window.location.hostname;\n \n if (hostname.includes('sitefinity-qa.crossvertise.com')) {\n return 'https://qa.crossvertise.com';\n } else if (hostname.includes('www.crossvertise.com')) {\n return 'https://market.crossvertise.com';\n } else if (hostname.includes('sitefinity-staging.crossvertise.com')) {\n return 'https://staging.crossvertise.com';\n } else {\n return '';\n }\n }\n private async fetchMetaNav() {\n try {\n const response = await fetch(`${this.getBaseUrl()}/de-de/home/getpersonalareajson`, {\n method: 'POST',\n credentials:\"include\",\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n const metaNav = await response.json();\n localStorage.setItem('metaNav', JSON.stringify(metaNav));\n this.metaNav = metaNav;\n this.updateNotificationsState();\n } catch (e) {\n console.warn('Could not fetch metaNav:', e);\n }\n }\n\n private loadMetaNav() {\n try {\n const metaNavRaw = localStorage.getItem('metaNav');\n if (metaNavRaw) {\n this.metaNav = JSON.parse(metaNavRaw);\n this.orgUnit = this.metaNav?.User?.SelectedOrgUnitName || '';\n this.updateNotificationsState();\n }\n } catch (e) {\n console.warn('Could not parse metaNav from localStorage:', e);\n }\n }\n\n private updateNotificationsState() {\n if (this.metaNav?.IsManager) {\n void this.initializeNotifications();\n } else {\n this.resetNotificationsState();\n }\n }\n\n\n private toggleCockpitMenu() {\n this.isCockpitMenuExpanded = !this.isCockpitMenuExpanded;\n }\n\n private toggleEntitiesMenu() {\n this.isEntitiesMenuExpanded = !this.isEntitiesMenuExpanded;\n }\n\n private toggleUserMenu() {\n this.isUserMenuExpanded = !this.isUserMenuExpanded;\n }\n\n private readonly toggleMobMenu = () => {\n this.mobMenuOpen = !this.mobMenuOpen;\n }\n\n private readonly closeMobMenu = ({ detail }: CustomEvent<boolean>) => {\n this.mobMenuOpen = !!detail;\n }\n\n disconnectedCallback() {\n window.removeEventListener('xv:metaNav-update', this.onMetaNavUpdated);\n this.inputHandlers.forEach(({ input, listeners }) => {\n listeners.forEach(([event, handler]) => {\n input.removeEventListener(event, handler);\n });\n });\n this.inputHandlers = [];\n this.searchInputs = [];\n document.body.removeEventListener('click', this.handleClickOutside);\n }\n\n async componentWillLoad() {\n await this.fetchMetaNav();\n this.loadMetaNav();\n\n const envMap = {\n 'qa.crossvertise.com': 'qa',\n 'komsa-test.crossvertise.com': 'qa',\n 'staging.crossvertise.com': 'staging',\n 'market.crossvertise.com': 'release',\n 'allianz.crossvertise.com': 'release',\n 'philips.crossvertise.com': 'release',\n 'komsa.crossvertise.com': 'release',\n };\n\n const env = Object.keys(envMap).find(h => window.location.hostname.includes(h))\n ? envMap[Object.keys(envMap).find(h => window.location.hostname.includes(h))]\n : 'qa';\n try {\n const response = await fetch(`https://crossvertise.blob.core.windows.net/nav-sync-${env}/nav.html`);\n const text = await response.text();\n const parser = new DOMParser();\n const doc = parser.parseFromString(text, 'text/html');\n\n const mixedMenu = doc.querySelector('.alle-kategorien-menu');\n const allCategoriesGenerals = doc.querySelector('.alle-kategorien-allgemines');\n const allCategoriesContainer = doc.querySelector('#media-menu-item-alle-kategorien > .dropdown-menu');\n\n if (mixedMenu && allCategoriesGenerals && allCategoriesContainer) {\n allCategoriesContainer.appendChild(mixedMenu);\n allCategoriesContainer.appendChild(allCategoriesGenerals);\n }\n\n this.htmlSearchForm = doc.querySelector('form.navbar-form[role=\"search\"]').innerHTML;\n this.htmlContent = doc.body.innerHTML;\n } catch (error) {\n console.error('Failed to fetch header HTML:', error?.message, error);\n }\n }\n\n render() {\n\n const baseUrl = window.location.origin;\n const isMegaMenuEnabled = !!(this.metaNav?.EnableMegaMenu || this.megaMenu);\n return (\n <div id=\"nav-container\" class=\"xv-header\">\n <nav class=\"navbar navbar-default navbar-fixed-top backend-force-relative\">\n <div class=\"generic-wrapper\">\n <div class=\"container\">\n <div class=\"xv-header-row\">\n <div class=\"xv-header-col xv-header-col--left\">\n <div class=\"navbar-header\">\n <button class=\"btn btn-default navbar-toggle pull-left navbar-btn\" onClick={this.toggleMobMenu}>\n <i class=\"fa fa-bars fa-lg\" aria-hidden=\"true\"></i>\n </button>\n <div class=\"visible-xs-inline visible-sm-inline\">\n <a href={`${baseUrl}/`} class=\"navbar-brand\">\n <img\n src={this.getSmallLogoUrl()}\n alt=\"Crossvertise\" />\n </a>\n </div>\n <div class=\"hidden-xs hidden-sm\">\n <a href={`${baseUrl}/`} class=\"navbar-brand\">\n <img loading=\"lazy\"\n src={this.getLogoUrl()}\n alt=\"Crossvertise\" />\n </a>\n </div>\n </div>\n {this.orgUnit && (\n <xv-link-v2\n size=\"lg\"\n class=\"xv-header--link-no-visited\"\n variant=\"standalone\"\n href=\"/de-de/mycrossvertise\">{this.orgUnit}</xv-link-v2>\n )}\n </div>\n <div class=\"xv-header-col xv-header-col--right\">\n <ul class=\"nav nav-pills nav-meta pull-right\">\n\n\n {this.metaNav?.ImpersonationInfo && (\n <li>\n <div class=\"btn btn-link navbar-btn navbar-btn-cust hidden-xs\" onClick={this.togglePopover}>\n <i class=\"fa fa-user\"></i>\n <i class=\"fa fa-exchange-alt\"></i>\n </div>\n <div class=\"popover popover-fixed fade bottom in\" style={{ \"display\": this.showPopover ? \"block\" : \"none\" }}>\n <div class=\"arrow\"></div>\n <h3 class=\"popover-title\">Momentan ist die Kundenperspektive aktiviert für:</h3>\n <div class=\"popover-content\">\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <table class=\"table-condensed\">\n <tbody>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.NameAndTitle}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.CompanyName}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.Email}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.PhoneOffice}</span></td></tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n <div class=\"row contact-contactform-container\" id=\"contact-contactform-container-nav\">\n <div class=\"col-xs-12\">\n <a class=\"btn btn-primary btn-block\" href=\"/de-de/mycrossvertise/account/clearimpersonation\">\n Kundenperspektive verlassen\n </a>\n </div>\n </div>\n </div>\n </li>\n )}\n <li>\n <a class=\"btn btn-link navbar-btn hidden-xs\" href=\"https://www.crossvertise.com/ueber-uns/kontakt\">Kontakt</a>\n <a href=\"/contact\" class=\"btn btn-link navbar-btn hidden-xs\" style={{ display: 'none' }}>Kontakt</a>\n <a class=\"btn btn-default btn-link navbar-btn visible-xs hidden-xxs\" href=\"#\">\n <i class=\"fa fa-phone\"></i>\n </a>\n </li>\n {this.metaNav?.IsManager && (\n <li class=\"dropdown\" data-bind=\"visible: $root.isManager\" id=\"notifications-dropdown\">\n <a\n id=\"notifications-dropdown-toggle\"\n data-target=\"#\"\n class=\"dropdown-toggle btn navbar-btn btn-link\"\n data-toggle=\"dropdown\"\n role=\"button\"\n data-container=\"body\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <i class=\"fas fa-bell fa-lg\"></i>\n {this.notificationsCount > 0 && (\n <span id=\"notifications-count\" class=\"badge badge-success badge-top-right\">\n {this.notificationsCount}\n </span>\n )}\n </a>\n <ul id=\"notifications-menu\" class=\"dropdown-menu dropdown-menu-left notification-panel\">\n <div class=\"notification-body\" id=\"notification-body\">\n <div class=\"notifications\" innerHTML={this.notificationsHtml}></div>\n </div>\n </ul>\n </li>\n )}\n \n {/* User Menu Dropdown */}\n {this.metaNav?.IsAuthenticated && (\n <li class=\"dropdown\" id=\"my-xv-menu\">\n <a class=\"dropdown-toggle btn navbar-btn btn-link\"\n data-toggle=\"dropdown\"\n role=\"button\"\n data-container=\"body\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fa fa-user fa-lg text-success\" aria-hidden=\"true\"></i>\n \n <span class=\"hidden-xs\">{this.metaNav?.UserMenuText}</span>\n \n <span class=\"caret\"></span>\n </a>\n <ul class=\"dropdown-menu-left dropdown-menu navbar-myxv\">\n\n {/* Manager Menu Section */}\n {this.metaNav?.IsManager && (\n <li>\n <a onClick={() => this.toggleCockpitMenu()}>\n <i class=\"fa fa-tachometer-alt fa-fw\"></i>\n Cockpitfunktionen \n <i class=\"fa fa-caret-down\"></i>\n </a>\n </li>\n )}\n {this.isCockpitMenuExpanded && this.metaNav?.ManagerCockpitMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i> {item.Text}\n </a>\n </li>\n ))}\n\n {/* Manager Entities Menu */}\n {this.metaNav?.IsManager && (\n <li>\n <a onClick={() => this.toggleEntitiesMenu()}><i class=\"fa fa-cubes\"></i> Entitäten <i class=\"fa fa-caret-down\"></i></a>\n </li>\n )}\n {this.isEntitiesMenuExpanded && this.metaNav?.ManagerEntitiesMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>\n {item.Text}\n </a>\n </li>\n ))}\n\n {/* Administration */}\n {this.metaNav?.ManagerMenu?.map(item => (\n <li>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i> \n {item.Text}\n </a>\n </li>\n ))}\n\n {this.metaNav?.IsManager && (\n <li role=\"separator\" class=\"divider\"></li>\n )}\n\n {/* User Menu */}\n {this.metaNav?.IsManager && (\n <li >\n <a onClick={() => this.toggleUserMenu()}>\n <i class=\"fa fa-user\"></i> Mein Crossvertise <span class=\"badge\">\n {this.metaNav?.PendingItems}</span><i class=\"fa fa-caret-down\">\n </i>\n </a>\n </li>\n )}\n {this.isUserMenuExpanded && this.metaNav?.UserMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'} class=\"user-menu-item-link\">\n <i class={item.CssClass}></i>{item.Text} {item.BadgeText && (<span class=\"badge\">{item.BadgeText}</span>)}\n </a>\n </li>\n ))}\n\n\n {/* Impersonation Info */}\n {this.metaNav?.ImpersonationInfo?.isImpersonated && (\n <li class='user-menu-item'>\n <a href={this.metaNav?.ImpersonationInfo?.ClearImpersonationUrl}>\n <i class=\"fa fa-exchange-alt\"></i>\n Kundenperspektive verlassen\n </a>\n </li>\n )}\n\n {this.metaNav?.IsManager && (\n <li role=\"separator\" class=\"divider\"></li>\n )}\n\n {/* Actions Menu */}\n {this.metaNav?.ActionsMenu?.map(item => (\n <li>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>\n {item.Text}\n </a>\n </li>\n ))}\n\n <li>\n <a href={`${this.getBaseUrl()}/de-de/mycrossvertise/account/logoff?returnUrl=${window.location.hostname}`}><i class=\"fa fa-sign-out-alt fa-fw\" aria-hidden=\"true\"></i>Logout</a>\n </li>\n </ul>\n </li>\n )}\n\n {/* Login */}\n\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-md hidden-lg\">\n <a class=\"btn btn-default navbar-btn btn-link mob-login\" href=\"/de-de/mycrossvertise/account/logon\" >\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n </a>\n </li>\n )}\n\n <xv-login-modal visible={this.showLoginModal} onClose={this.closeLoginModal}></xv-login-modal>\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-xs hidden-sm\">\n <a role=\"button\" onClick={this.openLoginModal} class=\"btn btn-default navbar-btn btn-link\">\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n <span class=\"padding-sm-left\">Login</span>\n </a>\n </li>\n )}\n\n {/* Registrieren */}\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-xs\">\n <a class=\"btn btn-default navbar-btn btn-link\" href=\"/de-de/mycrossvertise/account/register\">\n <span>Registrieren</span>\n </a>\n </li>\n )}\n\n <li class=\"navbar-divider hidden-xs\"></li>\n <li>\n <xv-button-v2 class=\"navbar-btn\" variant='accent' onClick={() => window.location.href = '/de-de/mycrossvertise/shoppingcart/activecart'}>\n <span class=\"xv-font-icon-warenkorb fa-lg fa-fw\" aria-hidden=\"true\"></span>\n <span class=\"hidden-xs hidden-sm\"> Warenkorb </span>\n <xv-tag-v2 id=\"shopping-cart-items-badge\" size='sm' bg=\"var(--background)\" color=\"var(--icon-interactive)\">{this.metaNav?.Cart?.NumberOfItems || 0}</xv-tag-v2>\n </xv-button-v2>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <div class=\"collapse hidden-md hidden-lg\" id=\"search-collapse\">\n <div class=\"container\">\n <form action=\"/de-de/media/search\" class=\"navbar-form\" method=\"get\" role=\"search\">\n <div class=\"input-group\">\n <input class=\"form-control\" name=\"Q\" placeholder=\"Suche\" type=\"text\" autocomplete=\"off\" />\n <span class=\"input-group-btn force-full-width\">\n <button class=\"btn btn-default search-addon\" type=\"submit\">\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n </button>\n </span>\n </div>\n </form>\n </div>\n </div>\n\n {isMegaMenuEnabled && (\n <div class=\"xv-header-nav xv-header-nav--shadow\">\n <div class=\"container\">\n <xv-mega-menu open={this.mobMenuOpen} onOpenChange={this.closeMobMenu}>\n {this.metaNav?.EnableMegaMenuSearch || isMegaMenuEnabled && (<div slot=\"menu-right\" innerHTML={this.htmlSearchForm}></div>)}\n </xv-mega-menu>\n </div>\n </div>\n )}\n </nav>\n\n {!isMegaMenuEnabled && (\n <div innerHTML={this.htmlContent}></div>\n )}\n\n {this.metaNav?.EnableMegaMenuSearch || isMegaMenuEnabled && (\n <ul\n class=\"ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all\"\n id=\"xv-search-suggestions\"\n style={{\n width: `${this.listPosition?.width}px`,\n top: `${this.listPosition?.top}px`,\n left: `${this.listPosition?.left}px`,\n display: this.suggestions?.length ? 'block' : 'none',\n position: 'absolute',\n zIndex: '1000',\n }}\n >\n {this.suggestions.map(s => (\n <li class=\"ui-menu-item\" role=\"presentation\">\n <a\n href=\"#\"\n onClick={e => {\n e.preventDefault();\n this.navigateToSuggestion(s);\n }}\n >\n {s.title_de.split(new RegExp(`(${this.escapeRegExp(this.searchQuery)})`, 'gi')).map(part =>\n part.toLowerCase() === this.searchQuery?.toLowerCase() ? <b>{part}</b> : part\n )}\n </a>\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n }\n private async initializeNotifications() {\n if (!this.metaNav?.IsManager) {\n return;\n }\n\n await this.loadNotifications();\n }\n\n private getNotificationsApiUrl(): string {\n const defaultOrigin = 'https://www.crossvertise.com';\n const fallbackOrigin = 'https://market.crossvertise.com';\n const path = '/de-de/api/notifications/list';\n const normalizeOrigin = (value: string) => value.replace(/\\/+$/, '');\n\n try {\n const rawOrigin =\n typeof window !== 'undefined' && window.location?.origin\n ? window.location.origin\n : defaultOrigin;\n\n const normalizedOrigin = normalizeOrigin(rawOrigin);\n const effectiveOrigin =\n normalizedOrigin === normalizeOrigin(defaultOrigin) ? fallbackOrigin : normalizedOrigin;\n\n return new URL(path, `${effectiveOrigin}/`).toString();\n } catch (error) {\n console.warn('Falling back to notifications fallback origin:', error);\n return new URL(path, `${fallbackOrigin}/`).toString();\n }\n }\n\n private async loadNotifications() {\n try {\n const response = await fetch(this.getNotificationsApiUrl(), {\n credentials: 'include',\n });\n\n if (!response.ok) {\n throw new Error(`Request failed with status ${response.status}`);\n }\n\n const data = await response.json();\n\n if (Array.isArray(data) && data.length > 0) {\n const result = data.reduce((acc: string, notification: { template?: string }) => acc + (notification?.template || ''), '');\n this.notificationsHtml = result;\n this.notificationsCount = data.length;\n } else {\n this.notificationsHtml = '';\n this.notificationsCount = 0;\n }\n } catch (error) {\n console.error('Failed to load notifications:', error);\n this.notificationsHtml = '';\n this.notificationsCount = 0;\n }\n }\n\n private resetNotificationsState() {\n this.notificationsHtml = '';\n this.notificationsCount = 0;\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xv-login-modal.js","sourceRoot":"","sources":["../../../src/components/xv-login-modal/xv-login-modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAc/E,MAAM,OAAO,YAAY;IALzB;QAMU,YAAO,GAAY,KAAK,CAAC;QAExB,mBAAc,GAAoB,EAAE,CAAC;QACrC,YAAO,GAAY,KAAK,CAAC;QACzB,cAAS,GAAW,GAAG,CAAC;QACxB,yBAAoB,GAAY,IAAI,CAAC;QACrC,sBAAiB,GAAY,IAAI,CAAC;QAClC,gCAA2B,GAAY,IAAI,CAAC;QAC5C,sBAAiB,GAAW,IAAI,CAAC;QACjC,oBAAe,GAAW,IAAI,CAAC;QAC/B,eAAU,GAAW,0DAA0D,CAAC;QAmCxE,gBAAW,GAAG,GAAG,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,CAAC;QA8Ee,iBAAY,GAAG,KAAK,EAAE,CAAQ,EAAE,EAAE;YACjD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAyB,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;oBACxC,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC;KAgGH;IAjOC,iBAAiB;QACf,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,YAAY;QAClB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAChD,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IAEO,iBAAiB;;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;QAEtF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAC9D,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC;YACxD,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC,UAAU,CAAC,2BAA2B,CAAC;YAC5E,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;YACtD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,GAAG,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC;QACtF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAMO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,CACL,aAAO,KAAK,EAAC,mBAAmB;YAC9B,SAAG,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,4CAA4C,0BAErE,CACE,CACT,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAE1B,OAAO,CACL,WAAK,KAAK,EAAC,KAAK;YACd,WAAK,KAAK,EAAC,WAAW;gBACpB,WAAK,KAAK,EAAC,WAAW;oBACpB,WAAK,KAAK,EAAC,0BAA0B;wBACnC,WAAK,KAAK,EAAC,UAAU;4BAAC,aAAM,CAAM;wBAClC,WAAK,KAAK,EAAC,kCAAkC,WAAW;wBACxD,WAAK,KAAK,EAAC,UAAU;4BAAC,aAAM,CAAM;wBAClC,WAAK,KAAK,EAAC,WAAW;4BACpB,yCAAmC,CAC/B,CACF,CACF;gBACN,WAAK,KAAK,EAAC,WAAW;oBACpB,WAAK,KAAK,EAAC,4BAA4B;wBACrC,YACE,MAAM,EAAC,MAAM,EACb,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,6CAA6C;4BAEzE,WAAK,KAAK,EAAC,KAAK;gCAEZ,WAAK,KAAK,EAAC,iEAAiE;oCAC1E,cACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC5B,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,qFAAqF,EAC5F,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,qBAAqB;wCAE5B,SAAG,KAAK,EAAE,yBAAyB,GAAM;wCACzC,YAAM,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAC,aAAe,CAC1C,CACL,CACJ;4BACN,aAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAI,CACjE,CACH,CACF;gBACN,WAAK,KAAK,EAAC,WAAW;oBAAC,aAAM,CAAM;gBACnC,WAAK,KAAK,EAAC,qBAAqB;oBAC9B,WAAK,KAAK,EAAC,EAAE;;wBAAc,SAAG,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,wCAAwC,oCAAmC,CAAM,CACrI,CACF,CACF,CACP,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,OAAO,CACL,WAAK,KAAK,EAAC,cAAc;YACvB,WAAK,KAAK,EAAC,qBAAqB;gBAC5B;oBACE,WAAK,KAAK,EAAC,QAAQ,2EAAsE;oBACzF;wBACE,SAAG,IAAI,EAAE,IAAI,CAAC,UAAU,2BAA0B;wDAC9C,CACF,CACJ,CACF,CACP,CAAC;IACJ,CAAC;IAqBO,UAAU;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAE1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;YACxD,OAAO,6BAA6B,CAAC;QACvC,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACrD,OAAO,iCAAiC,CAAC;QAC3C,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,qCAAqC,CAAC,EAAE,CAAC;YACpE,OAAO,kCAAkC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,CACL,WAAK,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAC,aAAa,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAC,QAAQ;YAC/F,WAAK,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,UAAU;gBACvC,WAAK,KAAK,EAAC,eAAe;oBACxB,WAAK,KAAK,EAAC,cAAc;wBACvB,WAAK,KAAK,EAAC,KAAK;4BACd,WAAK,KAAK,EAAC,WAAW;gCACpB,WAAK,KAAK,EAAC,WAAW;oCACpB,UAAI,KAAK,EAAC,aAAa,iBAAgB,CACnC,CACF;4BACN,WAAK,KAAK,EAAC,qBAAqB;gCAC9B,cAAQ,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,OAAO;oCAC5D,2BAAkB,MAAM,aAAe,CAChC,CACL,CACF,CACF;oBACN,WAAK,KAAK,EAAC,YAAY;wBACrB,WAAK,KAAK,EAAC,KAAK;4BACd,WAAK,KAAK,EAAC,WAAW;gCACpB,YACE,YAAY,EAAC,KAAK,EAClB,EAAE,EAAC,kBAAkB,EACrB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,iDAAiD,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EACjH,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,IAAI,CAAC,YAAY;oCAE3B,aAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,IAAI,CAAC,SAAS,GAAI;oCAC/D,WAAK,KAAK,EAAC,0BAA0B;wCACnC,WAAK,KAAK,EAAC,yBAAyB;4CAClC,aAAO,OAAO,EAAC,qBAAqB,aAAe;4CACnD,cAAQ,KAAK,EAAC,aAAa,QAAW,CAClC;wCACN,WAAK,KAAK,EAAC,WAAW;4CACpB,aAAO,KAAK,EAAC,cAAc,EAAC,EAAE,EAAC,UAAU,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,GAAI,CACjF,CACF;oCACN,WAAK,KAAK,EAAC,mBAAmB;wCAC5B,WAAK,KAAK,EAAC,wBAAwB;4CACjC,aAAO,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,qBAAqB,eAAiB;4CACpE,cAAQ,KAAK,EAAC,oBAAoB,QAAW,CACzC;wCACN,WAAK,KAAK,EAAC,UAAU,IAClB,IAAI,CAAC,mBAAmB,EAAE,CACvB;wCACN,WAAK,KAAK,EAAC,WAAW;4CACpB,aAAO,KAAK,EAAC,cAAc,EAAC,EAAE,EAAC,UAAU,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,UAAU,EAAC,QAAQ,EAAE,CAAC,GAAI,CACrF,CACF;oCACN,WAAK,KAAK,EAAC,mBAAmB;wCAC5B,WAAK,KAAK,EAAC,WAAW;4CACpB,cAAQ,KAAK,EAAC,yCAAyC,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,eAExE,CACL,CACF;oCACN,WAAK,KAAK,EAAC,YAAY;wCACrB,WAAK,KAAK,EAAC,oBAAoB;4CAC7B,aAAO,OAAO,EAAC,YAAY;gDACzB,aAAO,EAAE,EAAC,YAAY,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,GAAG;sEAElE,CACJ,CACF,CACD,CACH,CACF;wBACL,IAAI,CAAC,oBAAoB,EAAE,CACxB;oBACL,IAAI,CAAC,YAAY,EAAE,CAChB,CACF,CACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, State } from '@stencil/core';\n\ntype OAuthProvider = {\n displayName: string;\n providerName: string;\n icon: string;\n buttonClass: string;\n};\n\n@Component({\n tag: 'xv-login-modal',\n styleUrl: 'xv-login-modal.scss',\n shadow: true,\n})\nexport class XvLoginModal {\n @Prop() visible: boolean = false;\n @Event() close: EventEmitter<void>;\n @State() oauthProviders: OAuthProvider[] = [];\n @State() bookNow: boolean = false;\n @State() returnUrl: string = '/';\n @State() passwordLoginEnabled: boolean = true;\n @State() oauthLoginEnabled: boolean = true;\n @State() passwordRegistrationEnabled: boolean = true;\n @State() configurationName: string = 'Xv';\n @State() xvMvcConfigName: string = 'Xv';\n @State() contactUrl: string = 'https://sitefinity-qa.crossvertise.com/ueber-uns/kontakt';\n metaNav: any;\n\n componentWillLoad() {\n this.setReturnUrl();\n this.readMetaNavCookie();\n }\n\n private setReturnUrl() {\n const params = new URLSearchParams(window.location.search);\n let url = params.get('returnUrl') || window.location.href;\n if (url.toLowerCase().includes('resetpassword')) {\n url = '/';\n }\n this.returnUrl = url;\n }\n\n private readMetaNavCookie() {\n if (!this.metaNav) this.metaNav = JSON.parse(localStorage.getItem('metaNav') || '{}');\n\n if (!this.metaNav) return;\n\n try {\n const metaNavObj = this.metaNav;\n this.passwordLoginEnabled = !!metaNavObj.PasswordLoginEnabled;\n this.oauthLoginEnabled = !!metaNavObj.oauthLoginEnabled;\n this.passwordRegistrationEnabled = !!metaNavObj.PasswordRegistrationEnabled;\n this.configurationName = metaNavObj.ConfigurationName;\n this.xvMvcConfigName = metaNavObj.XvMvcConfigName;\n this.contactUrl = metaNavObj.ContactUrl ?? `${this.getBaseUrl()}/ueber-uns/kontakt`;\n } catch (e) {\n console.warn('Could not parse metaNav cookie:', e);\n }\n }\n\n private readonly handleClose = () => {\n this.close.emit();\n };\n\n private renderPasswordLogin() {\n if (!this.passwordLoginEnabled) return null;\n return (\n <label class=\"pull-right spacer\">\n <a href={`${this.getBaseUrl()}/de-de/mycrossvertise/account/lostpassword`}>\n Passwort vergessen?\n </a>\n </label>\n );\n }\n\n private renderOAuthProviders() {\n \n return (\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"col-xs-12\">\n <div class=\"row spacer spacer-bottom\">\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-2 text-center placeholder\">oder</div>\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-12\">\n <span>Alternative Anmeldung:</span>\n </div>\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div class=\"col-xs-12 no-padding-right\">\n <form\n method=\"POST\"\n action={`${this.getBaseUrl()}/de-de/mycrossvertise/account/externallogin`}\n >\n <div class=\"row\">\n \n <div class=\"col-xs-6 col-sm-3 no-padding-left padding-bottom-10 center-cell\">\n <button\n type=\"submit\"\n style={{ maxWidth: '125px' }}\n name=\"provider\"\n class={`cell-content btn btn-primary btn btn-block btn-google-primary btn-primary btn-block`}\n value={\"Google\"}\n title={`Mit Google anmelden`}\n >\n <i class={`fab fa-google pull-left`}></i>\n <span style={{ marginLeft :'5px;'}}>Google</span>\n </button>\n </div>\n </div>\n <input type=\"hidden\" name=\"BookNow\" value={this.bookNow.toString()} />\n </form>\n </div>\n </div>\n <div class=\"col-xs-12\"><hr /></div>\n <div class=\"col-sm-12 text-left\">\n <div class=\"\">Neuer Kunde? <a href={`${this.getBaseUrl()}/de-de/mycrossvertise/account/register`}>Jetzt kostenlos registrieren!</a></div>\n </div>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div class=\"modal-footer\">\n <div class=\"col-sm-12 text-left\">\n <div>\n <div class=\"spacer\">Sie sind bereits registriert, können sich aber nicht einloggen?</div>\n <div>\n <a href={this.contactUrl}>Kontaktieren Sie uns</a>, wir kümmern uns darum.\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n private readonly handleSubmit = async (e: Event) => {\n e.preventDefault();\n const form = e.target as HTMLFormElement;\n const formData = new FormData(form);\n \n try {\n const response = await fetch(form.action, {\n method: 'POST',\n body: formData\n });\n \n if (response.ok) {\n window.location.reload();\n }\n } catch (error) {\n console.error('Login failed:', error);\n }\n };\n\n private getBaseUrl(): string {\n const hostname = window.location.hostname;\n \n if (hostname.includes('sitefinity-qa.crossvertise.com')) {\n return 'https://qa.crossvertise.com';\n } else if (hostname.includes('www.crossvertise.com')) {\n return 'https://market.crossvertise.com';\n } else if (hostname.includes('sitefinity-staging.crossvertise.com')) {\n return 'https://staging.crossvertise.com';\n } else {\n // fallback for local dev or default prod\n return '';\n }\n }\n\n render() {\n if (!this.visible) return null;\n return (\n <div class=\"modal show\" style={{ display: 'block' }} id=\"login-modal\" tabIndex={-1} role=\"dialog\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <div class=\"row\">\n <div class=\"col-sm-10\">\n <div class=\"col-xs-12\">\n <h4 class=\"modal-title\">Logindaten</h4>\n </div>\n </div>\n <div class=\"col-xs-1 pull-right\">\n <button onClick={this.handleClose} type=\"button\" class=\"close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <form\n autoComplete=\"off\"\n id=\"logon-modal-form\"\n action={`${this.getBaseUrl()}/de-de/mycrossvertise/account/logon?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n method=\"post\"\n class=\"spacer\"\n onSubmit={this.handleSubmit}\n >\n <input type=\"hidden\" name=\"returnUrl\" value={this.returnUrl} />\n <div class=\"form-group spacer-bottom\">\n <div class=\"control-label col-xs-12\">\n <label htmlFor=\"LoginPopup.UserName\">E-Mail</label>\n <strong class=\"text-danger\">*</strong>\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"userName\" name=\"UserName\" type=\"text\" tabIndex={1} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"control-label col-xs-6\">\n <label class=\"spacer\" htmlFor=\"LoginPopup.Password\">Passwort</label>\n <strong class=\"text-danger spacer\">*</strong>\n </div>\n <div class=\"col-xs-6\">\n {this.renderPasswordLogin()}\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"password\" name=\"Password\" type=\"password\" tabIndex={2} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"col-xs-12\">\n <button class=\"btn btn-primary btn-lg btn-block spacer\" type=\"submit\" tabIndex={3}>\n Anmelden\n </button>\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"checkbox col-xs-12\">\n <label htmlFor=\"RememberMe\">\n <input id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" />\n Angemeldet bleiben?\n </label>\n </div>\n </div>\n </form>\n </div>\n </div>\n {this.renderOAuthProviders()}\n </div>\n {this.renderFooter()}\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"xv-login-modal.js","sourceRoot":"","sources":["../../../src/components/xv-login-modal/xv-login-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, State } from '@stencil/core';\n\ntype OAuthProvider = {\n displayName: string;\n providerName: string;\n icon: string;\n buttonClass: string;\n};\n\n@Component({\n tag: 'xv-login-modal',\n styleUrl: 'xv-login-modal.scss',\n shadow: true,\n})\nexport class XvLoginModal {\n @Prop() visible: boolean = false;\n @Event() close: EventEmitter<void>;\n @State() oauthProviders: OAuthProvider[] = [];\n @State() bookNow: boolean = false;\n @State() returnUrl: string = '/';\n @State() passwordLoginEnabled: boolean = true;\n @State() oauthLoginEnabled: boolean = true;\n @State() passwordRegistrationEnabled: boolean = true;\n @State() configurationName: string = 'Xv';\n @State() xvMvcConfigName: string = 'Xv';\n @State() contactUrl: string = 'https://sitefinity-qa.crossvertise.com/ueber-uns/kontakt';\n metaNav: any;\n\n componentWillLoad() {\n this.setReturnUrl();\n this.readMetaNavCookie();\n }\n\n private setReturnUrl() {\n const params = new URLSearchParams(window.location.search);\n let url = params.get('returnUrl') || window.location.href;\n if (url.toLowerCase().includes('resetpassword')) {\n url = '/';\n }\n this.returnUrl = url;\n }\n\n private readMetaNavCookie() {\n if (!this.metaNav) this.metaNav = JSON.parse(localStorage.getItem('metaNav') || '{}');\n\n if (!this.metaNav) return;\n\n try {\n const metaNavObj = this.metaNav;\n this.passwordLoginEnabled = !!metaNavObj.PasswordLoginEnabled;\n this.oauthLoginEnabled = !!metaNavObj.oauthLoginEnabled;\n this.passwordRegistrationEnabled = !!metaNavObj.PasswordRegistrationEnabled;\n this.configurationName = metaNavObj.ConfigurationName;\n this.xvMvcConfigName = metaNavObj.XvMvcConfigName;\n this.contactUrl = metaNavObj.ContactUrl ?? `${this.getBaseUrl()}/ueber-uns/kontakt`;\n } catch (e) {\n console.warn('Could not parse metaNav cookie:', e);\n }\n }\n\n private readonly handleClose = () => {\n this.close.emit();\n };\n\n private renderPasswordLogin() {\n if (!this.passwordLoginEnabled) return null;\n return (\n <label class=\"pull-right spacer\">\n <a href={`${this.getBaseUrl()}/de-de/mycrossvertise/account/lostpassword`}>\n Passwort vergessen?\n </a>\n </label>\n );\n }\n\n private renderOAuthProviders() {\n \n return (\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"col-xs-12\">\n <div class=\"row spacer spacer-bottom\">\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-2 text-center placeholder\">oder</div>\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-12\">\n <span>Alternative Anmeldung:</span>\n </div>\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div class=\"col-xs-12 no-padding-right\">\n <form\n method=\"POST\"\n action={`${this.getBaseUrl()}/de-de/mycrossvertise/account/externallogin`}\n >\n <div class=\"row\">\n \n <div class=\"col-xs-6 col-sm-3 no-padding-left padding-bottom-10 center-cell\">\n <button\n type=\"submit\"\n style={{ maxWidth: '125px' }}\n name=\"provider\"\n class={`cell-content btn btn-primary btn btn-block btn-google-primary btn-primary btn-block`}\n value={\"Google\"}\n title={`Mit Google anmelden`}\n >\n <i class={`fab fa-google pull-left`}></i>\n <span style={{ marginLeft :'5px;'}}>Google</span>\n </button>\n </div>\n </div>\n <input type=\"hidden\" name=\"BookNow\" value={this.bookNow.toString()} />\n </form>\n </div>\n </div>\n <div class=\"col-xs-12\"><hr /></div>\n <div class=\"col-sm-12 text-left\">\n <div class=\"\">Neuer Kunde? <a href={`${this.getBaseUrl()}/de-de/mycrossvertise/account/register`}>Jetzt kostenlos registrieren!</a></div>\n </div>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div class=\"modal-footer\">\n <div class=\"col-sm-12 text-left\">\n <div>\n <div class=\"spacer\">Sie sind bereits registriert, können sich aber nicht einloggen?</div>\n <div>\n <a href={this.contactUrl}>Kontaktieren Sie uns</a>, wir kümmern uns darum.\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n private readonly handleSubmit = async (e: Event) => {\n e.preventDefault();\n const form = e.target as HTMLFormElement;\n const formData = new FormData(form);\n \n try {\n const response = await fetch(form.action, {\n method: 'POST',\n body: formData,\n credentials: 'include',\n });\n \n if (response.ok) {\n window.location.reload();\n }\n } catch (error) {\n console.error('Login failed:', error);\n }\n };\n\n private getBaseUrl(): string {\n const hostname = window.location.hostname;\n \n if (hostname.includes('sitefinity-qa.crossvertise.com')) {\n return 'https://qa.crossvertise.com';\n } else if (hostname.includes('www.crossvertise.com')) {\n return 'https://market.crossvertise.com';\n } else if (hostname.includes('sitefinity-staging.crossvertise.com')) {\n return 'https://staging.crossvertise.com';\n } else {\n // fallback for local dev or default prod\n return '';\n }\n }\n\n render() {\n if (!this.visible) return null;\n return (\n <div class=\"modal show\" style={{ display: 'block' }} id=\"login-modal\" tabIndex={-1} role=\"dialog\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <div class=\"row\">\n <div class=\"col-sm-10\">\n <div class=\"col-xs-12\">\n <h4 class=\"modal-title\">Logindaten</h4>\n </div>\n </div>\n <div class=\"col-xs-1 pull-right\">\n <button onClick={this.handleClose} type=\"button\" class=\"close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <form\n autoComplete=\"off\"\n id=\"logon-modal-form\"\n action={`${this.getBaseUrl()}/de-de/mycrossvertise/account/logon?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n method=\"post\"\n class=\"spacer\"\n onSubmit={this.handleSubmit}\n >\n <input type=\"hidden\" name=\"returnUrl\" value={this.returnUrl} />\n <div class=\"form-group spacer-bottom\">\n <div class=\"control-label col-xs-12\">\n <label htmlFor=\"LoginPopup.UserName\">E-Mail</label>\n <strong class=\"text-danger\">*</strong>\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"userName\" name=\"UserName\" type=\"text\" tabIndex={1} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"control-label col-xs-6\">\n <label class=\"spacer\" htmlFor=\"LoginPopup.Password\">Passwort</label>\n <strong class=\"text-danger spacer\">*</strong>\n </div>\n <div class=\"col-xs-6\">\n {this.renderPasswordLogin()}\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"password\" name=\"Password\" type=\"password\" tabIndex={2} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"col-xs-12\">\n <button class=\"btn btn-primary btn-lg btn-block spacer\" type=\"submit\" tabIndex={3}>\n Anmelden\n </button>\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"checkbox col-xs-12\">\n <label htmlFor=\"RememberMe\">\n <input id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" />\n Angemeldet bleiben?\n </label>\n </div>\n </div>\n </form>\n </div>\n </div>\n {this.renderOAuthProviders()}\n </div>\n {this.renderFooter()}\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -78209,7 +78209,7 @@ const XvHeader = class {
|
|
|
78209
78209
|
const isMegaMenuEnabled = !!(((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.EnableMegaMenu) || this.megaMenu);
|
|
78210
78210
|
return (h("div", { key: '735539b7b7841fc639f09979e39b34b369498e26', id: "nav-container", class: "xv-header" }, h("nav", { key: 'b3f217e8b481c501859ab726135de285a8f4dd72', class: "navbar navbar-default navbar-fixed-top backend-force-relative" }, h("div", { key: '8e2a73969865acf3408583f19e4cb3009c4de3eb', class: "generic-wrapper" }, h("div", { key: '960542e72b6e5da213a5577b179d282e33842a8d', class: "container" }, h("div", { key: 'a9316a103496a56d805441fabc0755766f20eaa3', class: "xv-header-row" }, h("div", { key: 'b233f2c113c959f4e207fcb03a749f12d0a5535b', class: "xv-header-col xv-header-col--left" }, h("div", { key: 'bde7efe2eb800bdbaed796605338c684916dc845', class: "navbar-header" }, h("button", { key: '84b7880ff34567413401cb83f73a87dc13a62887', class: "btn btn-default navbar-toggle pull-left navbar-btn", onClick: this.toggleMobMenu }, h("i", { key: '76724c72648c5f5250e98dbf863b92e2e96b8222', class: "fa fa-bars fa-lg", "aria-hidden": "true" })), h("div", { key: 'de9ca95665cbb8675704083800021619a9af1d12', class: "visible-xs-inline visible-sm-inline" }, h("a", { key: '53ea1dc1ad3610727061a8de301e9cc70b3f9279', href: `${baseUrl}/`, class: "navbar-brand" }, h("img", { key: '1b8a5492e89faafd4cc5116d183ebe6e1650d69e', src: this.getSmallLogoUrl(), alt: "Crossvertise" }))), h("div", { key: '2585c58f6056b09b690ab21de3cd55534fe9dcf1', class: "hidden-xs hidden-sm" }, h("a", { key: '185f5f76e318cfc7a0ca9cc192c6674af95c425f', href: `${baseUrl}/`, class: "navbar-brand" }, h("img", { key: 'c04716d9e12797b2cddaf30a2d145a4f65278cd5', loading: "lazy", src: this.getLogoUrl(), alt: "Crossvertise" })))), this.orgUnit && (h("xv-link-v2", { key: '2e7e7fcc0bc7af4a5b1995cd2d3058afa93dc965', size: "lg", class: "xv-header--link-no-visited", variant: "standalone", href: "/de-de/mycrossvertise" }, this.orgUnit))), h("div", { key: '71db87880638cde5b3dee1e8c582ba76757e618a', class: "xv-header-col xv-header-col--right" }, h("ul", { key: '3c3e3534912bdac25085eb0b6541f956c40b78ff', class: "nav nav-pills nav-meta pull-right" }, ((_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.ImpersonationInfo) && (h("li", { key: '0d182c601988f683ddda5893415e9f635fc7d098' }, h("div", { key: '221251a01711698b73e7fc27c0fc23cb62555eb8', class: "btn btn-link navbar-btn navbar-btn-cust hidden-xs", onClick: this.togglePopover }, h("i", { key: '929c402231847c41a3ea8470cc0b114848f61b97', class: "fa fa-user" }), h("i", { key: '3fb8d7d37565df94d359661c07b1540f0263027d', class: "fa fa-exchange-alt" })), h("div", { key: '3a63906329c88ae96c0d54855ab51bc3499aa9f4', class: "popover popover-fixed fade bottom in", style: { "display": this.showPopover ? "block" : "none" } }, h("div", { key: '09933af1dd286e4fa95b21daf228cdfdf0b74e87', class: "arrow" }), h("h3", { key: '2f2012227c0904fef2cb53bd52c3defcf7b2dfaf', class: "popover-title" }, "Momentan ist die Kundenperspektive aktiviert f\u00FCr:"), h("div", { key: '658925515aef538e59001fa743cf8488cdbc7867', class: "popover-content" }, h("div", { key: '3e166144e7781ee5305ade28f434014833e74fc8', class: "row" }, h("div", { key: '922f0b325f6d3246a696acb0886e42df3e70cbdc', class: "col-xs-12" }, h("table", { key: 'aa887bba6c1e5465bc6a616957620a9b3483d0d8', class: "table-condensed" }, h("tbody", { key: '473b592562f5881bb12e261f178669509534dffc' }, h("tr", { key: '658a838724886976c5258f2743831a2b7bc12686' }, h("td", { key: '8397b56adb46084e04abb8341046b569f4d5142b' }, h("span", { key: 'aec660ca6b7e4b0057c0765bf7b6d92509e6c1c3' }, (_d = (_c = this.metaNav) === null || _c === void 0 ? void 0 : _c.ImpersonationInfo) === null || _d === void 0 ? void 0 : _d.NameAndTitle))), h("tr", { key: '7e15357f3c8e7211929c9b1282174dfbf6dc119b' }, h("td", { key: '3da32fa7af30830760068836adbad7a7c14dcd6a' }, h("span", { key: 'd0e806d4f7afa9012ba8da18465a6b8672d1a82f' }, (_f = (_e = this.metaNav) === null || _e === void 0 ? void 0 : _e.ImpersonationInfo) === null || _f === void 0 ? void 0 : _f.CompanyName))), h("tr", { key: '42ca27cb9272386d1a50168c1f84fba247f97a2a' }, h("td", { key: 'a6d82a869771d6be254ff7fc7ec24de1d1f6d74e' }, h("span", { key: 'e89de684f00033f3beec059310cc35f72d7847bb' }, (_h = (_g = this.metaNav) === null || _g === void 0 ? void 0 : _g.ImpersonationInfo) === null || _h === void 0 ? void 0 : _h.Email))), h("tr", { key: '26253dc54ec8df141c5f3f02da186ca01af4e147' }, h("td", { key: '627f683b90a51acabf35b33e4ebb17267d0af161' }, h("span", { key: '8dc7c296c2fe5db8d4ca0cf46f7f13643ed09b04' }, (_k = (_j = this.metaNav) === null || _j === void 0 ? void 0 : _j.ImpersonationInfo) === null || _k === void 0 ? void 0 : _k.PhoneOffice)))))))), h("div", { key: 'cc88fc6d9ac1ed975c798aae18e06b1462cc0a32', class: "row contact-contactform-container", id: "contact-contactform-container-nav" }, h("div", { key: '1c58936a938639af9d456e45c44709c14e27d9c6', class: "col-xs-12" }, h("a", { key: 'd38fb3a47dc6c3b2b42a63daf52bd60ba17e4e40', class: "btn btn-primary btn-block", href: "/de-de/mycrossvertise/account/clearimpersonation" }, "Kundenperspektive verlassen")))))), h("li", { key: 'c9e715a6264954d4a3bc996a4603fc0b5a52f19b' }, h("a", { key: 'f0b28980a03f3d41fb109d7317f1abc5b4d9bd5d', class: "btn btn-link navbar-btn hidden-xs", href: "https://www.crossvertise.com/ueber-uns/kontakt" }, "Kontakt"), h("a", { key: '7a72027a1ab99f110d89b0dc921bb9e9da0695fa', href: "/contact", class: "btn btn-link navbar-btn hidden-xs", style: { display: 'none' } }, "Kontakt"), h("a", { key: 'bd72133d2f2c554f22410beee73ed6d5095ad5ef', class: "btn btn-default btn-link navbar-btn visible-xs hidden-xxs", href: "#" }, h("i", { key: 'ae5a03b12dd7e005db652260099c962a787215a4', class: "fa fa-phone" }))), ((_l = this.metaNav) === null || _l === void 0 ? void 0 : _l.IsManager) && (h("li", { key: '5cfe7fed12ef7078a6cbba6e59852894b8ee0bf2', class: "dropdown", "data-bind": "visible: $root.isManager", id: "notifications-dropdown" }, h("a", { key: 'af43fa8cec0b8a7961b76794f9b63a73705c65af', id: "notifications-dropdown-toggle", "data-target": "#", class: "dropdown-toggle btn navbar-btn btn-link", "data-toggle": "dropdown", role: "button", "data-container": "body", "aria-haspopup": "true", "aria-expanded": "false" }, h("i", { key: '70c0be85cdf60cadee9109777f22696ae026462c', class: "fas fa-bell fa-lg" }), this.notificationsCount > 0 && (h("span", { key: '8ddab069e1ca3e9b686fa272c499220b6af0ea4e', id: "notifications-count", class: "badge badge-success badge-top-right" }, this.notificationsCount))), h("ul", { key: 'd8f72672ddfaf9f7f0e8d654c626d1dbebeb0dc3', id: "notifications-menu", class: "dropdown-menu dropdown-menu-left notification-panel" }, h("div", { key: 'be83859dc85fcf0521396f134b1c28fbe6a8448e', class: "notification-body", id: "notification-body" }, h("div", { key: '4a07babe5acb75d361b681f47a1e2c72daa008d6', class: "notifications", innerHTML: this.notificationsHtml }))))), ((_m = this.metaNav) === null || _m === void 0 ? void 0 : _m.IsAuthenticated) && (h("li", { key: '69ab30e0319f5d5984df6889d8847d8f3be5806c', class: "dropdown", id: "my-xv-menu" }, h("a", { key: '811070692b0f7fc3ebae3caedfc27a519fdf5ab4', class: "dropdown-toggle btn navbar-btn btn-link", "data-toggle": "dropdown", role: "button", "data-container": "body", "aria-haspopup": "true", "aria-expanded": "false" }, h("i", { key: '6e27e60a596ae7bc850199a6ec0608a2c14cb3c3', class: "fa fa-user fa-lg text-success", "aria-hidden": "true" }), "\u00A0", h("span", { key: '00612bd6de34119478dc14170caf6b50fe5cff89', class: "hidden-xs" }, (_o = this.metaNav) === null || _o === void 0 ? void 0 : _o.UserMenuText), "\u00A0", h("span", { key: 'cd68b3373fb4b78d541b012af8a54e99da7b17e0', class: "caret" })), h("ul", { key: '73dc26ce9c813ddae6f7c8b09df732dab6239138', class: "dropdown-menu-left dropdown-menu navbar-myxv" }, ((_p = this.metaNav) === null || _p === void 0 ? void 0 : _p.IsManager) && (h("li", { key: '299ed2a2a3979545df9ce3bf2008f1fc680bc2a5' }, h("a", { key: 'fcdcb2942ab361faafb92d763e7496722de5c070', onClick: () => this.toggleCockpitMenu() }, h("i", { key: 'f577b49b69c85e1c46b692ad51d8f682e1d8d560', class: "fa fa-tachometer-alt fa-fw" }), "\u00A0Cockpitfunktionen \u00A0", h("i", { key: '025296398309240fc9e3afb432e9adf22ebcaf2e', class: "fa fa-caret-down" })))), this.isCockpitMenuExpanded && ((_r = (_q = this.metaNav) === null || _q === void 0 ? void 0 : _q.ManagerCockpitMenu) === null || _r === void 0 ? void 0 : _r.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0\u00A0", item.Text))))), ((_s = this.metaNav) === null || _s === void 0 ? void 0 : _s.IsManager) && (h("li", { key: 'd8e6ec612f1e483f0bf2ec5be7eb18bdaf40b407' }, h("a", { key: '08cf9de905ee429fe7333c5b5bd598d440cbb871', onClick: () => this.toggleEntitiesMenu() }, h("i", { key: '5d88df730e14ed4b0050e50d5467a32a5e459b0f', class: "fa fa-cubes" }), "\u00A0Entit\u00E4ten \u00A0", h("i", { key: '7720cfb7ddf79add881a60de786f0d6e0ecfe50a', class: "fa fa-caret-down" })))), this.isEntitiesMenuExpanded && ((_u = (_t = this.metaNav) === null || _t === void 0 ? void 0 : _t.ManagerEntitiesMenu) === null || _u === void 0 ? void 0 : _u.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text))))), (_w = (_v = this.metaNav) === null || _v === void 0 ? void 0 : _v.ManagerMenu) === null || _w === void 0 ? void 0 :
|
|
78211
78211
|
_w.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0", item.Text)))), ((_x = this.metaNav) === null || _x === void 0 ? void 0 : _x.IsManager) && (h("li", { key: 'fa3cfd5c9064017db1a61af59c3e1c6b32cd9e05', role: "separator", class: "divider" })), ((_y = this.metaNav) === null || _y === void 0 ? void 0 : _y.IsManager) && (h("li", { key: '773b8d34a17b0be5bff324ff68e8b49b486c8fb2' }, h("a", { key: '87cadda00c9d039a1d3e8ce0a1a57902135529cb', onClick: () => this.toggleUserMenu() }, h("i", { key: '94d9dca3d39c3ee8f9ce77484dfa4ce3b419130f', class: "fa fa-user" }), "\u00A0Mein Crossvertise \u00A0", h("span", { key: '5a1d22162e6da0b84fa4d43b54f03783dd4e3feb', class: "badge" }, (_z = this.metaNav) === null || _z === void 0 ? void 0 : _z.PendingItems), h("i", { key: '0f279cf465808f947a6a7e5acbfc765c36b82922', class: "fa fa-caret-down" })))), this.isUserMenuExpanded && ((_1 = (_0 = this.metaNav) === null || _0 === void 0 ? void 0 : _0.UserMenu) === null || _1 === void 0 ? void 0 : _1.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self', class: "user-menu-item-link" }, h("i", { class: item.CssClass }), item.Text, "\u00A0", item.BadgeText && (h("span", { class: "badge" }, item.BadgeText))))))), ((_3 = (_2 = this.metaNav) === null || _2 === void 0 ? void 0 : _2.ImpersonationInfo) === null || _3 === void 0 ? void 0 : _3.isImpersonated) && (h("li", { key: '4f50cde60dd4c667f2a86b0418d1d07fd0c1a841', class: 'user-menu-item' }, h("a", { key: '121249516ba796fe0aba3f1e4cc914ba2fc3f8b0', href: (_5 = (_4 = this.metaNav) === null || _4 === void 0 ? void 0 : _4.ImpersonationInfo) === null || _5 === void 0 ? void 0 : _5.ClearImpersonationUrl }, h("i", { key: '09965baf4d359e738c2b54049eb59280c7c1cb47', class: "fa fa-exchange-alt" }), "Kundenperspektive verlassen"))), ((_6 = this.metaNav) === null || _6 === void 0 ? void 0 : _6.IsManager) && (h("li", { key: 'cd315fd75f7edc05255033da43d193fd3dba7a12', role: "separator", class: "divider" })), (_8 = (_7 = this.metaNav) === null || _7 === void 0 ? void 0 : _7.ActionsMenu) === null || _8 === void 0 ? void 0 :
|
|
78212
|
-
_8.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text)))), h("li", { key: '141e4f6f82c91fed088c30044ea7d43beb7704ae' }, h("a", { key: '
|
|
78212
|
+
_8.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text)))), h("li", { key: '141e4f6f82c91fed088c30044ea7d43beb7704ae' }, h("a", { key: 'f578dd232f9da3e60d134162651ab59538452709', href: `${this.getBaseUrl()}/de-de/mycrossvertise/account/logoff?returnUrl=${window.location.hostname}` }, h("i", { key: 'f5ce528da4dcb621c2f668ee0e6fbf9c712144c8', class: "fa fa-sign-out-alt fa-fw", "aria-hidden": "true" }), "Logout"))))), !((_9 = this.metaNav) === null || _9 === void 0 ? void 0 : _9.IsAuthenticated) && (h("li", { key: 'eb9403e765b029f690ef9be0a2e82c9a9d9253c1', class: "hidden-md hidden-lg" }, h("a", { key: '49e8cc81d4669761247497bc05fe893aa966a6cf', class: "btn btn-default navbar-btn btn-link mob-login", href: "/de-de/mycrossvertise/account/logon" }, h("i", { key: 'd7d08564b532ad714ee3f4146969e4b49584f28c', class: "fa fa-user fa-lg", "aria-hidden": "true" })))), h("xv-login-modal", { key: '5143e53a54ea75215f0fdcf1896ff0edba4bced4', visible: this.showLoginModal, onClose: this.closeLoginModal }), !((_10 = this.metaNav) === null || _10 === void 0 ? void 0 : _10.IsAuthenticated) && (h("li", { key: 'aecc4527923685f55e0e5cc584e0170cce3455a1', class: "hidden-xs hidden-sm" }, h("a", { key: '0d6f3279c18a7c2a30a13ac4a59c8b52604cbb21', role: "button", onClick: this.openLoginModal, class: "btn btn-default navbar-btn btn-link" }, h("i", { key: '1205410cad49d30521babb93a0b6cd13ff430d75', class: "fa fa-user fa-lg", "aria-hidden": "true" }), h("span", { key: 'bf54d4de2a6a82801518e38cd26f4f201198cbf1', class: "padding-sm-left" }, "Login")))), !((_11 = this.metaNav) === null || _11 === void 0 ? void 0 : _11.IsAuthenticated) && (h("li", { key: '7222a57c61dc55af47403cb5fde95a198e3b5d79', class: "hidden-xs" }, h("a", { key: 'a320a19ee4733e747d83fc4e17bae989399a650d', class: "btn btn-default navbar-btn btn-link", href: "/de-de/mycrossvertise/account/register" }, h("span", { key: '9a9edf5093852449430cc56a77c2605f23133c81' }, "Registrieren")))), h("li", { key: '3162952c82de493981449eefbd2a4d641f1465c5', class: "navbar-divider hidden-xs" }), h("li", { key: '3dfb654082edaaeb3b864da1a067b2eb2d054058' }, h("xv-button-v2", { key: 'c7cc1573f59520311bfe224745ce18da1906d0a0', class: "navbar-btn", variant: 'accent', onClick: () => window.location.href = '/de-de/mycrossvertise/shoppingcart/activecart' }, h("span", { key: '93dc26938a4187a045f0e6242dc9d2372aad2cc7', class: "xv-font-icon-warenkorb fa-lg fa-fw", "aria-hidden": "true" }), h("span", { key: '61641f8c13b70ceaa95bfa39d1b5410db8334634', class: "hidden-xs hidden-sm" }, "\u00A0Warenkorb\u00A0"), h("xv-tag-v2", { key: '7ebe91d384b7723e39fad6538f651d1fea68997f', id: "shopping-cart-items-badge", size: 'sm', bg: "var(--background)", color: "var(--icon-interactive)" }, ((_13 = (_12 = this.metaNav) === null || _12 === void 0 ? void 0 : _12.Cart) === null || _13 === void 0 ? void 0 : _13.NumberOfItems) || 0)))))))), h("div", { key: 'bb077f9949d24bded226fb73df3f2ef6e0eee023', class: "collapse hidden-md hidden-lg", id: "search-collapse" }, h("div", { key: 'a5e4eb5c37bff9ca8a337cd3a7a2954589bb15bb', class: "container" }, h("form", { key: '5a8a54ac50d75e127a152ad7beb0717a1ca35816', action: "/de-de/media/search", class: "navbar-form", method: "get", role: "search" }, h("div", { key: 'a007b515b65701c8d6766920f28649edd09cf10a', class: "input-group" }, h("input", { key: '4ecb86cb39cc3a31997f397f16a727b4ab8d65ec', class: "form-control", name: "Q", placeholder: "Suche", type: "text", autocomplete: "off" }), h("span", { key: 'a53f86ef7dfc801350a23b04b71f3e31854a6eae', class: "input-group-btn force-full-width" }, h("button", { key: 'd1acc45a0fe88ae7f8ccc5d530ddf9b1ab0fd251', class: "btn btn-default search-addon", type: "submit" }, h("i", { key: '605d8aa2044b586b6b30573cee39b5eff78be9c9', class: "fa fa-search", "aria-hidden": "true" }))))))), isMegaMenuEnabled && (h("div", { key: 'fda831dc1e6d4710e8666a2f62da1a4d0622126e', class: "xv-header-nav xv-header-nav--shadow" }, h("div", { key: 'd37b46339e49957ac7f555cfefa619f1f02e491c', class: "container" }, h("xv-mega-menu", { key: 'a2e50d6776b720b4e6940f4645e854cc37192dc3', open: this.mobMenuOpen, onOpenChange: this.closeMobMenu }, ((_14 = this.metaNav) === null || _14 === void 0 ? void 0 : _14.EnableMegaMenuSearch) || isMegaMenuEnabled && (h("div", { key: '9e74f0309324570f16409333d9b770f618288f12', slot: "menu-right", innerHTML: this.htmlSearchForm }))))))), !isMegaMenuEnabled && (h("div", { key: '178492327fb6b0a3b1fc8c49ad3be172333298a7', innerHTML: this.htmlContent })), ((_15 = this.metaNav) === null || _15 === void 0 ? void 0 : _15.EnableMegaMenuSearch) || isMegaMenuEnabled && (h("ul", { key: 'b26c4df405f1f69887d18cb739797703888be49c', class: "ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all", id: "xv-search-suggestions", style: {
|
|
78213
78213
|
width: `${(_16 = this.listPosition) === null || _16 === void 0 ? void 0 : _16.width}px`,
|
|
78214
78214
|
top: `${(_17 = this.listPosition) === null || _17 === void 0 ? void 0 : _17.top}px`,
|
|
78215
78215
|
left: `${(_18 = this.listPosition) === null || _18 === void 0 ? void 0 : _18.left}px`,
|
|
@@ -78401,7 +78401,8 @@ const XvLoginModal = class {
|
|
|
78401
78401
|
try {
|
|
78402
78402
|
const response = await fetch(form.action, {
|
|
78403
78403
|
method: 'POST',
|
|
78404
|
-
body: formData
|
|
78404
|
+
body: formData,
|
|
78405
|
+
credentials: 'include',
|
|
78405
78406
|
});
|
|
78406
78407
|
if (response.ok) {
|
|
78407
78408
|
window.location.reload();
|