(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,5628,e=>{"use strict";var t=e.i(71645);function a(s,l,r=.28){let[o,i]=(0,t.useState)([]),[n,d]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{if(!s||0===l)return void i([]);let t=!1;return d(!0),i(Array(l).fill(null)),(async()=>{let a=await e.A(25834);a.GlobalWorkerOptions.workerSrc="/pdf.worker.min.js";let o=await s.arrayBuffer(),n=await a.getDocument({data:o}).promise;for(let e=1;e<=l&&!t;e++){let a=await n.getPage(e),s=a.getViewport({scale:r}),l=document.createElement("canvas");l.width=Math.round(s.width),l.height=Math.round(s.height);let o=l.getContext("2d");o.fillStyle="#ffffff",o.fillRect(0,0,l.width,l.height),await a.render({canvasContext:o,canvas:l,viewport:s}).promise;let d=l.toDataURL("image/jpeg",.75);t||i(t=>{let a=[...t];return a[e-1]=d,a})}t||d(!1)})(),()=>{t=!0}},[s,l,r]),{thumbnails:o,loading:n}}e.s(["usePdfThumbnails",()=>a])},43110,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(38149),l=e.i(23975);e.i(89308);var r=e.i(75954),o=e.i(88477);async function i(e,t){let a=await e.arrayBuffer(),s=await r.PDFDocument.load(a),l=s.getPages();for(let[e,a]of Object.entries(t)){let t=parseInt(e,10);if(t<0||t>=l.length)continue;let s=l[t],r=s.getRotation().angle;s.setRotation((0,o.degrees)((r+a+360)%360))}return s.save()}async function n(e){let t=await e.arrayBuffer();return(await r.PDFDocument.load(t)).getPageCount()}var d=e.i(43682),c=e.i(5628),x=e.i(11110);let h={0:"",90:"90°",180:"180°",270:"270°"};function m(){let[e,r]=(0,a.useState)(null),[o,m]=(0,a.useState)(0),[b,g]=(0,a.useState)(new Set),[f,p]=(0,a.useState)({}),[v,j]=(0,a.useState)(!1),[k,w]=(0,a.useState)(!1),{tl:N}=(0,x.useLanguage)(),y=N.rotate.content,{thumbnails:S,loading:C}=(0,c.usePdfThumbnails)(e,o),L=(0,a.useCallback)(async e=>{let t=e[0];r(t),g(new Set),p({}),w(!1),m(await n(t))},[]),B=async()=>{if(!e)return;let t={};if(Object.entries(f).forEach(([e,a])=>{0!==a&&(t[parseInt(e)]=a)}),0===Object.keys(t).length)return void alert(N.rotate.noRotation);j(!0);try{let a=await i(e,t);(0,d.downloadBytes)(a,e.name.replace(/\.pdf$/i,"_rotated.pdf")),w(!0)}catch(e){console.error(e),alert(N.rotate.error)}finally{j(!1)}},P=Object.values(f).filter(e=>0!==e).length;return(0,t.jsxs)(s.default,{title:N.rotate.title,description:N.rotate.desc,color:"violet",icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-7 h-7 text-white",fill:"none",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),children:[e?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 bg-violet-50 dark:bg-violet-900/20 border border-violet-200 dark:border-violet-800 rounded-xl px-4 py-3",children:[(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-5 h-5 text-red-500 flex-shrink-0",fill:"currentColor",children:(0,t.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-slate-700 dark:text-slate-200 truncate",children:e.name}),(0,t.jsxs)("p",{className:"text-xs text-slate-400 dark:text-slate-500",children:[o," ",N.common.pages]})]}),(0,t.jsx)("button",{onClick:()=>{r(null),m(0),p({}),g(new Set),w(!1)},className:"text-slate-400 hover:text-red-500",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-4 h-4",fill:"none",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl p-4",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-slate-700 dark:text-slate-200 mb-3",children:b.size>0?N.rotate.applyToSelected.replace("{n}",String(b.size)):N.rotate.applyToAll}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[[{label:N.rotate.cw90,delta:90},{label:N.rotate.ccw90,delta:-90},{label:N.rotate.flip180,delta:180}].map(({label:e,delta:a})=>(0,t.jsx)("button",{onClick:()=>{let e;return e=b.size>0?b:new Set(Array.from({length:o},(e,t)=>t)),void(p(t=>{let s={...t};return e.forEach(e=>{s[e]=((s[e]??0)+a+360)%360}),s}),w(!1))},className:"px-4 py-2 bg-violet-600 text-white text-sm font-medium rounded-lg hover:bg-violet-700 transition-colors",children:e},a)),(0,t.jsx)("button",{onClick:()=>p({}),className:"px-4 py-2 border border-slate-200 dark:border-slate-600 text-slate-600 dark:text-slate-300 text-sm rounded-lg hover:bg-slate-50 dark:hover:bg-slate-700 transition-colors",children:N.rotate.resetRotations})]})]}),(0,t.jsxs)("div",{className:"bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-slate-700 dark:text-slate-200",children:C?(0,t.jsx)("span",{className:"text-slate-400 dark:text-slate-500",children:N.rotate.loadingPreview}):N.rotate.pageSelection}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("button",{onClick:()=>g(new Set(Array.from({length:o},(e,t)=>t))),className:"text-xs text-violet-600 dark:text-violet-400 hover:underline",children:N.rotate.selectAll}),(0,t.jsx)("button",{onClick:()=>g(new Set),className:"text-xs text-slate-400 dark:text-slate-500 hover:underline",children:N.rotate.clearAll})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-4 sm:grid-cols-5 md:grid-cols-6 gap-2 max-h-[480px] overflow-y-auto pr-1",children:Array.from({length:o},(e,a)=>{let s=S[a],l=b.has(a),r=f[a]??0;return(0,t.jsxs)("button",{onClick:()=>{g(e=>{let t=new Set(e);return t.has(a)?t.delete(a):t.add(a),t})},className:`relative flex flex-col items-center gap-1 rounded-lg p-1 border-2 transition-all ${l?"border-violet-500 bg-violet-50 dark:bg-violet-900/30":"border-transparent hover:border-slate-300 dark:hover:border-slate-500 bg-slate-50 dark:bg-slate-700"}`,children:[(0,t.jsxs)("div",{className:"w-full aspect-[3/4] rounded overflow-hidden bg-slate-200 dark:bg-slate-600 relative flex items-center justify-center",children:[s?(0,t.jsx)("img",{src:s,alt:`${a+1}`,className:"w-full h-full object-contain bg-white transition-transform duration-300",style:{transform:`rotate(${r}deg)`}}):(0,t.jsx)("div",{className:"w-full h-full animate-pulse bg-slate-200 dark:bg-slate-600"}),0!==r&&(0,t.jsx)("div",{className:"absolute bottom-1 right-1 bg-violet-600 text-white text-[9px] font-bold px-1 rounded",children:h[r]}),l&&(0,t.jsx)("div",{className:"absolute top-1 right-1 w-5 h-5 bg-violet-500 rounded-full flex items-center justify-center shadow",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-3 h-3 text-white",fill:"none",stroke:"currentColor",strokeWidth:3,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})})]}),(0,t.jsx)("span",{className:`text-xs font-medium ${l?"text-violet-600 dark:text-violet-400":"text-slate-500 dark:text-slate-400"}`,children:a+1})]},a)})})]}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("button",{onClick:B,disabled:v||0===P,className:"flex-1 py-3 bg-violet-600 text-white font-semibold rounded-xl hover:bg-violet-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center justify-center gap-2",children:v?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("svg",{className:"w-4 h-4 animate-spin",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 12a8 8 0 018-8v8z"})}),N.rotate.processing]}):k?N.rotate.doneDownload:N.rotate.downloadBtn.replace("{n}",String(P))}),(0,t.jsx)("button",{onClick:()=>{r(null),m(0),p({}),g(new Set),w(!1)},className:"px-4 py-3 border border-slate-200 dark:border-slate-700 text-slate-600 dark:text-slate-300 rounded-xl hover:bg-slate-50 dark:hover:bg-slate-800 transition-colors",children:N.rotate.reset})]})]}):(0,t.jsx)(l.default,{onFiles:L,label:N.rotate.dropLabel}),(0,t.jsxs)("div",{className:"space-y-12 mt-12",children:[(0,t.jsx)(u,{title:y.howTo.title,children:(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5",children:y.howTo.steps.map((e,a)=>(0,t.jsxs)("div",{className:"bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl p-5",children:[(0,t.jsxs)("div",{className:"font-bold text-lg text-slate-400 dark:text-slate-500 mb-2",children:["0",a+1]}),(0,t.jsx)("h3",{className:"font-semibold text-slate-800 dark:text-slate-100 mb-1",children:e.title}),(0,t.jsx)("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:e.desc})]},a))})}),(0,t.jsxs)(u,{title:y.about.title,children:[(0,t.jsx)("p",{className:"text-slate-500 dark:text-slate-400 mb-6",children:y.about.description}),(0,t.jsx)("div",{className:"space-y-5",children:y.about.methods.map((e,a)=>(0,t.jsxs)("div",{className:"bg-slate-50 dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 rounded-xl p-5",children:[(0,t.jsx)("h3",{className:"font-semibold text-slate-800 dark:text-slate-100 mb-1",children:e.title}),(0,t.jsx)("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:e.desc})]},a))})]}),(0,t.jsx)(u,{title:y.faq.title,children:(0,t.jsx)("div",{className:"space-y-4",children:y.faq.items.map((e,a)=>(0,t.jsxs)("details",{className:"bg-slate-50 dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 rounded-xl p-4 cursor-pointer",children:[(0,t.jsx)("summary",{className:"font-semibold text-slate-800 dark:text-slate-100",children:e.q}),(0,t.jsx)("p",{className:"text-sm text-slate-500 dark:text-slate-400 mt-2",children:e.a})]},a))})})]})]})}function u({title:e,children:a}){return(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold text-slate-800 dark:text-slate-100 text-center mb-6",children:e}),a]})}e.s(["default",()=>m],43110)},95004,e=>{e.v(t=>Promise.all(["static/chunks/46b334ca3410349e.js","static/chunks/b383336e3942b8bd.js"].map(t=>e.l(t))).then(()=>t(71315)))},25834,e=>{e.v(t=>Promise.all(["static/chunks/46b334ca3410349e.js","static/chunks/d125a3694ba40e5d.js"].map(t=>e.l(t))).then(()=>t(18657)))}]);