"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[282],{7282:function(n,o,e){async function t(n){if(!n||!n.scenes||0===n.scenes.length)throw Error("Storyboard tidak memiliki scene untuk di-export.");let o=function(n){var o,e;let t=n.scenes.map((n,o)=>'\n    <div class="scene">\n      <div class="scene-header">\n        <span class="scene-number">Scene '.concat(o+1,'</span>\n        <span class="scene-title">').concat(a(n.title),'</span>\n      </div>\n      <div class="scene-description">').concat(a(n.visualDescription),"</div>\n      ").concat(n.narration?'<div class="scene-note"><strong>Narasi:</strong> '.concat(a(n.narration),"</div>"):"","\n      ").concat(n.cameraAngle?'<div class="scene-note"><strong>Kamera:</strong> '.concat(a(n.cameraAngle),"</div>"):"","\n      ").concat(n.emotion?'<div class="scene-note"><strong>Emosi:</strong> '.concat(a(n.emotion),"</div>"):"","\n      ").concat(n.transition?'<div class="scene-note"><strong>Transisi:</strong> '.concat(a(n.transition),"</div>"):"",'\n      <div class="scene-duration">⏱ ').concat(a(n.duration),"</div>\n    </div>\n  ")).join("\n");return'<!DOCTYPE html>\n<html lang="id">\n<head>\n  <meta charset="UTF-8" />\n  <title>Storyboard — '.concat(a(null!==(o=n.sourceTitle)&&void 0!==o?o:"Storyboard"),"</title>\n  <style>\n    * { box-sizing: border-box; margin: 0; padding: 0; }\n    body { font-family: sans-serif; font-size: 12px; color: #111; padding: 24px; }\n    h1 { font-size: 20px; margin-bottom: 4px; }\n    .subtitle { color: #555; font-size: 12px; margin-bottom: 4px; }\n    .meta { color: #888; font-size: 11px; margin-bottom: 20px; }\n    .scenes { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }\n    .scene { border: 1px solid #ddd; border-radius: 6px; padding: 12px; page-break-inside: avoid; }\n    .scene-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }\n    .scene-number { background: #111; color: #fff; font-size: 10px; font-weight: bold;\n      padding: 2px 6px; border-radius: 3px; white-space: nowrap; }\n    .scene-title { font-weight: bold; font-size: 13px; }\n    .scene-description { font-size: 11px; line-height: 1.5; margin-bottom: 6px; }\n    .scene-note { font-size: 10px; color: #444; margin-top: 4px; }\n    .scene-duration { font-size: 10px; color: #888; margin-top: 6px; }\n    @media print {\n      body { padding: 0; }\n      .scenes { grid-template-columns: 1fr 1fr; }\n    }\n  </style>\n</head>\n<body>\n  <h1>").concat(a(null!==(e=n.sourceTitle)&&void 0!==e?e:"Storyboard"),"</h1>\n  ").concat(n.theme?'<div class="subtitle">'.concat(a(n.theme),"</div>"):"",'\n  <div class="meta">\n    ').concat(n.sourcePlatform?"Platform: ".concat(a(n.sourcePlatform)," \xb7 "):"","\n    ").concat(n.metadata.totalScenes," scene \xb7 ").concat(a(n.metadata.estimatedDuration),"\n  </div>\n  ").concat(n.hook?'<div class="subtitle"><strong>Hook:</strong> '.concat(a(n.hook),"</div>"):"",'\n  <br />\n  <div class="scenes">').concat(t,"</div>\n  ").concat(n.callToAction?'<div style="margin-top:16px;padding:12px;border:1px solid #ddd;border-radius:6px;"><strong>Call to Action:</strong> '.concat(a(n.callToAction),"</div>"):"","\n</body>\n</html>")}(n),e=window.open("","_blank");if(!e)throw Error("Popup diblokir browser. Izinkan popup untuk site ini agar dapat mendownload PDF.");e.document.write(o),e.document.close(),await new Promise(n=>{e.onload=()=>n(),setTimeout(n,1500)}),e.focus(),e.print()}function a(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}e.d(o,{exportStoryboardToPdf:function(){return t}})}}]);