fix: scale drakonwidget container to fit parent, center with flexbox

This commit is contained in:
neo committed 2026-06-23 18:19:32 +05:00
1 parent 35ebd2c687
commit 85d47d46b1
1 file changed
+17 -4
+17 -4
View File
@@ -871,6 +871,14 @@ button { font-family: inherit; cursor: pointer; border: none; background: none;
width: 100%;
height: 400px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
#drakon-canvas > div {
transform-origin: center center;
}
#drakon-canvas canvas {
@@ -1333,10 +1341,15 @@ window.addEventListener('load', function() {
// Append the widget's container (with canvas) to our #drakon-canvas element
if (widget.container) {
canvasContainer.appendChild(widget.container);
canvasContainer.style.display = 'flex';
canvasContainer.style.alignItems = 'center';
canvasContainer.style.justifyContent = 'center';
canvasContainer.style.overflow = 'hidden';
// Scale the container to fit the parent (560px canvas -> fit in ~486px container)
var containerWidth = canvasContainer.clientWidth;
var scaleX = containerWidth / 560;
var scaleY = (containerWidth / 560) * (420 / 400);
widget.container.style.transform = 'scale(' + scaleX + ')';
widget.container.style.transformOrigin = 'center center';
widget.container.style.width = (560 * scaleX) + 'px';
widget.container.style.height = (420 * scaleX) + 'px';
}
});