fix: Canvas füllt volle Breite (kein 1200px-Limit) + Resize-Listener
All checks were successful
Deploy bericht / deploy (push) Successful in 1s
All checks were successful
Deploy bericht / deploy (push) Successful in 1s
Auf Wide-Screens (>1200px mittlere Spalte) blieb rechts vom Bild ein großer leerer Streifen, weil getTargetCanvasWidth auf 1200px gedeckelt war. Jetzt nimmt der Canvas immer die volle Container-Breite ein. Bei Browser-Resize wird die aktuelle Seite neu gerendert. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> [deploy]
This commit is contained in:
parent
40fb738ccf
commit
532d8e0c98
2 changed files with 13 additions and 4 deletions
|
|
@ -62,8 +62,9 @@
|
|||
border: 1px solid var(--colorboxbordertitle1, transparent);
|
||||
border-radius: 6px;
|
||||
padding: 10px;
|
||||
min-height: 80vh;
|
||||
display: flex; flex-direction: column;
|
||||
/* keine min-height — Container so groß wie Inhalt */
|
||||
max-height: calc(100vh - 220px);
|
||||
}
|
||||
.bericht-toolbar {
|
||||
display: flex; flex-wrap: wrap; gap: 4px; align-items: center;
|
||||
|
|
|
|||
14
js/editor.js
14
js/editor.js
|
|
@ -60,6 +60,13 @@
|
|||
bindExtraUpload();
|
||||
bindActions();
|
||||
bindSortable();
|
||||
|
||||
// Window-Resize: Canvas neu skalieren (debounced)
|
||||
let resizeTimer = null;
|
||||
window.addEventListener('resize', () => {
|
||||
clearTimeout(resizeTimer);
|
||||
resizeTimer = setTimeout(() => { rerenderCurrent(); }, 200);
|
||||
});
|
||||
}
|
||||
|
||||
/* ---------- Seiten laden ---------- */
|
||||
|
|
@ -103,15 +110,16 @@
|
|||
|
||||
/**
|
||||
* Liefert die nutzbare Breite des Canvas-Containers (minus Padding).
|
||||
* Begrenzt auf 1200px, damit auch auf großen Screens nicht alles riesig wird.
|
||||
* KEINE harte Obergrenze — der Canvas füllt immer die volle verfügbare
|
||||
* Breite der mittleren Spalte aus.
|
||||
*/
|
||||
function getTargetCanvasWidth() {
|
||||
const wrap = document.querySelector('.bericht-canvas-wrap');
|
||||
if (!wrap) return 800;
|
||||
const cs = getComputedStyle(wrap);
|
||||
const padX = parseFloat(cs.paddingLeft) + parseFloat(cs.paddingRight);
|
||||
const avail = wrap.clientWidth - padX - 4; // 4px Sicherheitsabstand
|
||||
return Math.max(300, Math.min(1200, Math.floor(avail)));
|
||||
const avail = wrap.clientWidth - padX - 4;
|
||||
return Math.max(300, Math.floor(avail));
|
||||
}
|
||||
|
||||
async function renderPdf(arrayBuffer) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue