diff --git a/modules/shared/auth/ui/home.php b/modules/shared/auth/ui/home.php index e2d9f1c..53f2729 100644 --- a/modules/shared/auth/ui/home.php +++ b/modules/shared/auth/ui/home.php @@ -643,6 +643,37 @@ function render_auth_home_page(array $user, array $otcProducts = [], array $best echo " const contentRoot = document.querySelector('[data-left-navigation-content-body]');"; echo " if (!contentRoot || !contentRoot.querySelector('[data-lager-content]')) { return; }"; echo " lagerBindingsInstalled = true;"; + echo " let lagerMobileDetailHost = null;"; + echo " let lagerMobileDetailOpen = false;"; + echo " const escapeLagerHtml = (value) => String(value ?? '').replace(/[&<>\"']/g, (character) => ({ '&': '&', '<': '<', '>': '>', '\"': '"', \"'\": ''' }[character] || character));"; + echo " const renderLagerMobileDetail = (trigger) => {"; + echo " const type = trigger.dataset.lagerDrawerType || 'Lager';"; + echo " const name = trigger.dataset.lagerDrawerName || '';"; + echo " const value = trigger.dataset.lagerDrawerValue || '';"; + echo " const isProduct = type === 'Produkt';"; + echo " const forecast = trigger.dataset.lagerDrawerForecast || 'Keine Prognose';"; + echo " const warning = trigger.dataset.lagerDrawerForecastWarning === 'true' || trigger.dataset.lagerDrawerForecastMhdWarning === 'true';"; + echo " const warningText = warning ? forecast : 'Keine akute Warnung.';"; + echo " const lotNumber = trigger.dataset.lagerDrawerLotNumber || 'Nicht hinterlegt';"; + echo " const supplierLotNumber = trigger.dataset.lagerDrawerSupplierLotNumber || 'Nicht hinterlegt';"; + echo " const expiryDate = trigger.dataset.lagerDrawerExpiryDate || 'Nicht hinterlegt';"; + echo " const virtualLot = trigger.dataset.lagerDrawerVirtualLotNumber || '';"; + echo " return ['
Name: ' + escapeLagerHtml(name) + '
' + (isProduct ? 'Anzahl im Lager:' : 'Artikelnummer:') + ' ' + escapeLagerHtml(value) + '
' + (isProduct ? 'Warnungen: ' + escapeLagerHtml(warningText) + '
Naurua-Chargennummer: ' + escapeLagerHtml(lotNumber) + '
Hersteller-Chargennummer: ' + escapeLagerHtml(supplierLotNumber) + '
MHD: ' + escapeLagerHtml(expiryDate) + '
Virtuelle Charge: ' + escapeLagerHtml(virtualLot || 'Keine virtuelle Fehlbestandscharge vorhanden.') + '
' : '') + '