Fix: Ausweis als Fullscreen-Modal statt neuem Tab, UI.modal size-Parameter

This commit is contained in:
rene 2026-04-17 22:55:09 +02:00
parent 1af9bc0f7e
commit cb8ac8cffd
5 changed files with 38 additions and 5 deletions

View file

@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung.
============================================================ */
const APP_VER = '119'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VER = '120'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const App = (() => {

View file

@ -251,7 +251,7 @@ window.Page_dog_profile = (() => {
});
document.getElementById('dp-ausweis-btn')?.addEventListener('click', () => {
window.open(`/ausweis/${dog.id}`, '_blank');
_showAusweisModal(dog.id);
});
document.getElementById('dp-share-btn')?.addEventListener('click', () => {
@ -293,6 +293,19 @@ window.Page_dog_profile = (() => {
});
}
// ----------------------------------------------------------
// AUSWEIS
// ----------------------------------------------------------
function _showAusweisModal(dogId) {
UI.modal.open({
title: 'Heimtierausweis',
body: `<iframe src="/ausweis/${dogId}" class="ausweis-frame" title="Heimtierausweis"></iframe>`,
footer: `<button class="btn btn-secondary" onclick="UI.modal.close()">Schließen</button>
<a href="/ausweis/${dogId}" target="_blank" class="btn btn-ghost">${UI.icon('printer')} Drucken</a>`,
size: 'fullscreen',
});
}
// ----------------------------------------------------------
// TEILEN
// ----------------------------------------------------------

View file

@ -55,11 +55,11 @@ const UI = (() => {
const modal = (() => {
let _current = null;
function open({ title, body, footer, onClose } = {}) {
function open({ title, body, footer, onClose, size } = {}) {
close(); // vorheriges schließen
const overlay = document.createElement('div');
overlay.className = 'modal-overlay';
overlay.className = 'modal-overlay' + (size ? ` modal-overlay--${size}` : '');
overlay.innerHTML = `
<div class="modal" role="dialog" aria-modal="true">
<div class="modal-handle"></div>