import re

with open('resources/views/surat-keluar-workflow/partials/modals.blade.php', 'r') as f:
    content = f.read()

# Fix Stamp Placement X/Y offset
content = re.sub(
    r'const xPoints = pagePosX \* mmToPoints;\s*const yPoints = pageHeight - \(pagePosY \* mmToPoints\) - fontSize;',
    r'const cropBox = targetPage.getCropBox() || targetPage.getMediaBox();\n                    const xPoints = (cropBox.x || 0) + (pagePosX * mmToPoints);\n                    const yPoints = (cropBox.y || 0) + cropBox.height - (pagePosY * mmToPoints) - fontSize;',
    content
)

# Fix Date Placement X/Y offset
content = re.sub(
    r'const dateXPoints = pagePosX \* mmToPoints;\s*const dateYPoints = pageHeight - \(pagePosY \* mmToPoints\) - fontSize;',
    r'const cropBox = targetPage.getCropBox() || targetPage.getMediaBox();\n                        const dateXPoints = (cropBox.x || 0) + (pagePosX * mmToPoints);\n                        const dateYPoints = (cropBox.y || 0) + cropBox.height - (pagePosY * mmToPoints) - fontSize;',
    content
)

# Fix QR Placement X/Y offset
content = re.sub(
    r'const qrX = qrPosXMM \* mmToPoints;\s*const qrY = height - \(qrPosYMM \* mmToPoints\) - scaledQrHeight;',
    r'const cropBox = targetPage.getCropBox() || targetPage.getMediaBox();\n                                const qrX = (cropBox.x || 0) + (qrPosXMM * mmToPoints);\n                                const qrY = (cropBox.y || 0) + cropBox.height - (qrPosYMM * mmToPoints) - scaledQrHeight;',
    content
)

# Fix Signature Placement X/Y offset
content = re.sub(
    r'const sigXPoints = pagePosX \* mmToPoints;\s*const sigYPoints = pageHeight - \(pagePosY \* mmToPoints\) - signatureHeight;',
    r'const cropBox = targetPage.getCropBox() || targetPage.getMediaBox();\n                                const sigXPoints = (cropBox.x || 0) + (pagePosX * mmToPoints);\n                                const sigYPoints = (cropBox.y || 0) + cropBox.height - (pagePosY * mmToPoints) - signatureHeight;',
    content
)

with open('resources/views/surat-keluar-workflow/partials/modals.blade.php', 'w') as f:
    f.write(content)
