Fix mobile bestellungen detail host
This commit is contained in:
@@ -553,7 +553,7 @@ function render_auth_home_page(array $user, array $otcProducts = [], array $best
|
|||||||
echo " };";
|
echo " };";
|
||||||
echo " const isMobileDetailMode = () => window.matchMedia('(max-width: 767px)').matches;";
|
echo " const isMobileDetailMode = () => window.matchMedia('(max-width: 767px)').matches;";
|
||||||
echo " const escapeHtml = (value) => String(value ?? '').replace(/[&<>\"']/g, (character) => ({ '&': '&', '<': '<', '>': '>', '\"': '"', \"'\": ''' }[character] || character));";
|
echo " const escapeHtml = (value) => String(value ?? '').replace(/[&<>\"']/g, (character) => ({ '&': '&', '<': '<', '>': '>', '\"': '"', \"'\": ''' }[character] || character));";
|
||||||
echo " let bestellungenListSnapshot = '';";
|
echo " let bestellungenMobileDetailHost = null;";
|
||||||
echo " let bestellungenDetailOpen = false;";
|
echo " let bestellungenDetailOpen = false;";
|
||||||
echo " const syncSearchState = () => {";
|
echo " const syncSearchState = () => {";
|
||||||
echo " const input = getSearchInput();";
|
echo " const input = getSearchInput();";
|
||||||
@@ -575,7 +575,7 @@ function render_auth_home_page(array $user, array $otcProducts = [], array $best
|
|||||||
echo " const streetLine = [street, houseNumber].filter((part) => part && part.length > 0).join(' ').trim();";
|
echo " const streetLine = [street, houseNumber].filter((part) => part && part.length > 0).join(' ').trim();";
|
||||||
echo " const cityLine = [zip, city].filter((part) => part && part.length > 0).join(' ').trim();";
|
echo " const cityLine = [zip, city].filter((part) => part && part.length > 0).join(' ').trim();";
|
||||||
echo " return [";
|
echo " return [";
|
||||||
echo " '<div data-bestellungen-mobile-detail=\"true\">',";
|
echo " '<div class=\"sg-bestellungen-mobile-detail-host\" data-bestellungen-mobile-detail-host=\"true\">',";
|
||||||
echo " '<div class=\"sg-navigation-card-layout\">',";
|
echo " '<div class=\"sg-navigation-card-layout\">',";
|
||||||
echo " '<div class=\"sg-navigation-card-block\">',";
|
echo " '<div class=\"sg-navigation-card-block\">',";
|
||||||
echo " '<article class=\"sg-card\" data-component=\"card\" data-pattern=\"navigation-card\" aria-label=\"Navigations-Card\">',";
|
echo " '<article class=\"sg-card\" data-component=\"card\" data-pattern=\"navigation-card\" aria-label=\"Navigations-Card\">',";
|
||||||
@@ -656,15 +656,23 @@ function render_auth_home_page(array $user, array $otcProducts = [], array $best
|
|||||||
echo " });";
|
echo " });";
|
||||||
echo " };";
|
echo " };";
|
||||||
echo " const restoreBestellungenList = () => {";
|
echo " const restoreBestellungenList = () => {";
|
||||||
echo " if (bestellungenListSnapshot === '') { return; }";
|
echo " if (bestellungenMobileDetailHost && bestellungenMobileDetailHost.parentNode) {";
|
||||||
echo " contentRoot.innerHTML = bestellungenListSnapshot;";
|
echo " bestellungenMobileDetailHost.parentNode.removeChild(bestellungenMobileDetailHost);";
|
||||||
echo " bestellungenListSnapshot = '';";
|
echo " }";
|
||||||
|
echo " bestellungenMobileDetailHost = null;";
|
||||||
|
echo " document.body.classList.remove('sg-bestellungen-mobile-detail-open');";
|
||||||
echo " bestellungenDetailOpen = false;";
|
echo " bestellungenDetailOpen = false;";
|
||||||
echo " bindTable();";
|
echo " bindTable();";
|
||||||
echo " };";
|
echo " };";
|
||||||
echo " const openMobileDetail = (trigger) => {";
|
echo " const openMobileDetail = (trigger) => {";
|
||||||
echo " bestellungenListSnapshot = contentRoot.innerHTML;";
|
echo " restoreBestellungenList();";
|
||||||
echo " contentRoot.innerHTML = renderMobileDetail(trigger);";
|
echo " const host = document.createElement('div');";
|
||||||
|
echo " host.innerHTML = renderMobileDetail(trigger);";
|
||||||
|
echo " bestellungenMobileDetailHost = host.firstElementChild;";
|
||||||
|
echo " if (bestellungenMobileDetailHost) {";
|
||||||
|
echo " document.body.appendChild(bestellungenMobileDetailHost);";
|
||||||
|
echo " document.body.classList.add('sg-bestellungen-mobile-detail-open');";
|
||||||
|
echo " }";
|
||||||
echo " bestellungenDetailOpen = true;";
|
echo " bestellungenDetailOpen = true;";
|
||||||
echo " window.history.pushState({ bestellungenView: 'detail', orderId: trigger.dataset.orderId || '' }, '', window.location.href);";
|
echo " window.history.pushState({ bestellungenView: 'detail', orderId: trigger.dataset.orderId || '' }, '', window.location.href);";
|
||||||
echo " };";
|
echo " };";
|
||||||
@@ -699,7 +707,11 @@ function render_auth_home_page(array $user, array $otcProducts = [], array $best
|
|||||||
echo " return false;";
|
echo " return false;";
|
||||||
echo " }";
|
echo " }";
|
||||||
echo " contentRoot.innerHTML = fragment.innerHTML;";
|
echo " contentRoot.innerHTML = fragment.innerHTML;";
|
||||||
echo " bestellungenListSnapshot = '';";
|
echo " if (bestellungenMobileDetailHost && bestellungenMobileDetailHost.parentNode) {";
|
||||||
|
echo " bestellungenMobileDetailHost.parentNode.removeChild(bestellungenMobileDetailHost);";
|
||||||
|
echo " }";
|
||||||
|
echo " bestellungenMobileDetailHost = null;";
|
||||||
|
echo " document.body.classList.remove('sg-bestellungen-mobile-detail-open');";
|
||||||
echo " bestellungenDetailOpen = false;";
|
echo " bestellungenDetailOpen = false;";
|
||||||
echo " table = getTable();";
|
echo " table = getTable();";
|
||||||
echo " return !!table;";
|
echo " return !!table;";
|
||||||
|
|||||||
@@ -31,6 +31,31 @@ body.sg-otc-order-overlay-open {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.sg-bestellungen-mobile-detail-open {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.sg-bestellungen-mobile-detail-open > :not([data-bestellungen-mobile-detail-host]) {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-bestellungen-mobile-detail-host {
|
||||||
|
position: fixed;
|
||||||
|
inset: 0;
|
||||||
|
z-index: 1500;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: var(--spacing-large);
|
||||||
|
padding: var(--spacing-large);
|
||||||
|
box-sizing: border-box;
|
||||||
|
overflow: auto;
|
||||||
|
background: var(--color-white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-bestellungen-mobile-detail-host .sg-vsf-drawer-card {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.sg-otc-order-overlay {
|
.sg-otc-order-overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user