diff --git a/resources/views/rd/fire-shutter-drawing/index.blade.php b/resources/views/rd/fire-shutter-drawing/index.blade.php
index a3a03e03..4ce1f1af 100644
--- a/resources/views/rd/fire-shutter-drawing/index.blade.php
+++ b/resources/views/rd/fire-shutter-drawing/index.blade.php
@@ -507,6 +507,21 @@ function readSb() {
S.sb.motorSide = $('sbMotorSide').value;
}
+ // ============================
+ // SVG DISPLAY HELPER
+ // ============================
+ function displaySvg(svg) {
+ const c = $('svgContainer');
+ c.innerHTML = '';
+ const div = document.createElement('div');
+ div.style.cssText = 'width:100%;height:100%;display:flex;align-items:center;justify-content:center;';
+ div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`;
+ div.style.transformOrigin = 'center center';
+ div.innerHTML = svg;
+ c.appendChild(div);
+ $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`;
+ }
+
// ============================
// RENDER DISPATCHER
// ============================
@@ -569,7 +584,7 @@ function renderSettingsPreview() {
${S.productType === 'steel' ? '강판 슬랫' : '스크린 원단'}
`;
- $('svgContainer').innerHTML = svg;
+ displaySvg(svg);
}
// ============================
@@ -672,14 +687,7 @@ function renderGrCross() {
GUIDE RAIL BODY (C-CHANNEL) — ${S.productType === 'steel' ? '강판형' : '스크린형'}
`;
- const c = $('svgContainer');
- c.innerHTML = '';
- const div = document.createElement('div');
- div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`;
- div.style.transformOrigin = 'center center';
- div.innerHTML = svg;
- c.appendChild(div);
- $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`;
+ displaySvg(svg);
}
function renderGrFront() {
@@ -718,13 +726,7 @@ function renderGrFront() {
GUIDE RAIL — FRONT VIEW
`;
- const c = $('svgContainer');
- c.innerHTML = '';
- const div = document.createElement('div');
- div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`;
- div.innerHTML = svg;
- c.appendChild(div);
- $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`;
+ displaySvg(svg);
}
// ============================
@@ -810,13 +812,7 @@ function renderSbFront() {
HEAD BOX / CASE — t=${b.thickness}mm
`;
- const c = $('svgContainer');
- c.innerHTML = '';
- const div = document.createElement('div');
- div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`;
- div.innerHTML = svg;
- c.appendChild(div);
- $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`;
+ displaySvg(svg);
}
function renderSbSide() {
@@ -863,13 +859,7 @@ function renderSbSide() {
${b.height} mm
`;
- const c = $('svgContainer');
- c.innerHTML = '';
- const div = document.createElement('div');
- div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`;
- div.innerHTML = svg;
- c.appendChild(div);
- $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`;
+ displaySvg(svg);
}
// ============================