(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,556898,e=>{"use strict";function t(e,t,a){return new Promise((r,l)=>{e.toBlob(e=>{e?r(e):l(Error("canvas.toBlob failed (out of memory or unsupported format)"))},t,a)})}e.s(["canvasToBlob",()=>t])},620746,205628,e=>{"use strict";e.i(989308);var t=e.i(575954);async function a(e){let a=await e.arrayBuffer();return(await t.PDFDocument.load(a)).getPageCount()}function r(e,t){let a=new Set;for(let r of e.split(",").map(e=>e.trim()).filter(Boolean))if(r.includes("-")){let[e,l]=r.split("-"),s=parseInt(e.trim(),10),o=parseInt(l.trim(),10);if(!isNaN(s)&&!isNaN(o))for(let e=Math.max(1,s);e<=Math.min(t,o);e++)a.add(e-1)}else{let e=parseInt(r,10);!isNaN(e)&&e>=1&&e<=t&&a.add(e-1)}return Array.from(a).sort((e,t)=>e-t)}e.s(["getPdfPageCount",()=>a,"parsePageRange",()=>r],620746);var l=e.i(271645),s=e.i(556898);function o(t,a,r=.28){let[i,n]=(0,l.useState)([]),[d,c]=(0,l.useState)(!1),x=(0,l.useRef)([]);return(0,l.useEffect)(()=>{if(x.current.forEach(e=>e&&URL.revokeObjectURL(e)),x.current=[],!t||0===a)return void n([]);let l=!1;return c(!0),x.current=Array(a).fill(null),n(Array(a).fill(null)),(async()=>{let o=await e.A(825834);o.GlobalWorkerOptions.workerSrc="/pdf.worker.min.js";let i=await t.arrayBuffer(),d=await o.getDocument({data:i}).promise;try{for(let e=1;e<=a&&!l;e++){let t=await d.getPage(e);try{let a=t.getViewport({scale:r}),o=document.createElement("canvas");o.width=Math.round(a.width),o.height=Math.round(a.height);let i=o.getContext("2d");try{i.fillStyle="#ffffff",i.fillRect(0,0,o.width,o.height),await t.render({canvasContext:i,canvas:o,viewport:a}).promise;let r=await (0,s.canvasToBlob)(o,"image/jpeg",.75),d=URL.createObjectURL(r);l?URL.revokeObjectURL(d):(x.current[e-1]=d,n(t=>{let a=[...t];return a[e-1]=d,a}))}finally{o.width=0,o.height=0}}finally{t.cleanup()}}}finally{d.destroy()}l||c(!1)})(),()=>{l=!0}},[t,a,r]),(0,l.useEffect)(()=>()=>{x.current.forEach(e=>e&&URL.revokeObjectURL(e))},[]),{thumbnails:i,loading:d}}e.s(["usePdfThumbnails",()=>o],205628)},343110,e=>{"use strict";var t=e.i(843476),a=e.i(271645),r=e.i(438149),l=e.i(623975),s=e.i(621274),o=e.i(185665);e.i(989308);var i=e.i(575954),n=e.i(788477),d=e.i(620746);async function c(e,t){let a=await e.arrayBuffer(),r=await i.PDFDocument.load(a),l=r.getPages();for(let[e,a]of Object.entries(t)){let t=parseInt(e,10);if(t<0||t>=l.length)continue;let r=l[t],s=r.getRotation().angle;r.setRotation((0,n.degrees)((s+a+360)%360))}return r.save()}var x=e.i(443682),u=e.i(205628),h=e.i(111110);let m={0:"",90:"90°",180:"180°",270:"270°"};function f(){let[e,i]=(0,a.useState)(null),[n,f]=(0,a.useState)(0),[b,p]=(0,a.useState)(new Set),[g,v]=(0,a.useState)({}),[j,k]=(0,a.useState)(!1),[w,N]=(0,a.useState)(!1),[y,S]=(0,a.useState)(null),{tl:C}=(0,h.useLanguage)(),L=C.rotate.content,{thumbnails:P,loading:B}=(0,u.usePdfThumbnails)(e,n),R=(0,a.useCallback)(async e=>{let t=e[0];i(t),p(new Set),v({}),N(!1),S(null);try{let e=await (0,d.getPdfPageCount)(t);f(e)}catch(e){console.error(e),S(C.rotate.error)}},[C.rotate.error]),A=async()=>{if(!e)return;let t={};if(Object.entries(g).forEach(([e,a])=>{0!==a&&(t[parseInt(e)]=a)}),0===Object.keys(t).length)return void S(C.rotate.noRotation);k(!0),S(null);try{let a=await c(e,t);(0,x.downloadBytes)(a,e.name.replace(/\.pdf$/i,"_rotated.pdf")),N(!0)}catch(e){console.error(e),S(C.rotate.error)}finally{k(!1)}},T=Object.values(g).filter(e=>0!==e).length;return(0,t.jsxs)(r.default,{title:C.rotate.title,description:C.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:[n," ",C.common.pages]})]}),(0,t.jsx)("button",{onClick:()=>{i(null),f(0),v({}),p(new Set),N(!1),S(null)},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?C.rotate.applyToSelected.replace("{n}",String(b.size)):C.rotate.applyToAll}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[[{label:C.rotate.cw90,delta:90},{label:C.rotate.ccw90,delta:-90},{label:C.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:n},(e,t)=>t)),void(v(t=>{let r={...t};return e.forEach(e=>{r[e]=((r[e]??0)+a+360)%360}),r}),N(!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:()=>{v({}),N(!1),S(null)},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:C.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:B?(0,t.jsx)("span",{className:"text-slate-400 dark:text-slate-500",children:C.rotate.loadingPreview}):C.rotate.pageSelection}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("button",{onClick:()=>{p(new Set(Array.from({length:n},(e,t)=>t))),N(!1)},className:"text-xs text-violet-600 dark:text-violet-400 hover:underline",children:C.rotate.selectAll}),(0,t.jsx)("button",{onClick:()=>{p(new Set),N(!1)},className:"text-xs text-slate-400 dark:text-slate-500 hover:underline",children:C.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:n},(e,a)=>{let r=P[a],l=b.has(a),s=g[a]??0;return(0,t.jsxs)("button",{onClick:()=>{p(e=>{let t=new Set(e);return t.has(a)?t.delete(a):t.add(a),t}),N(!1)},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:[r?(0,t.jsx)("img",{src:r,alt:`${a+1}`,className:"w-full h-full object-contain bg-white transition-transform duration-300",style:{transform:`rotate(${s}deg)`}}):(0,t.jsx)("div",{className:"w-full h-full animate-pulse bg-slate-200 dark:bg-slate-600"}),0!==s&&(0,t.jsx)("div",{className:"absolute bottom-1 right-1 bg-violet-600 text-white text-[9px] font-bold px-1 rounded",children:m[s]}),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)})})]}),y&&(0,t.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg px-3 py-2",children:y}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("button",{onClick:A,disabled:j||0===T,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 whitespace-nowrap",children:j?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("svg",{className:"w-4 h-4 animate-spin flex-shrink-0",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"})}),C.rotate.processing]}):w?C.rotate.doneDownload:C.rotate.downloadBtn.replace("{n}",String(T))}),(0,t.jsx)("button",{onClick:()=>{i(null),f(0),v({}),p(new Set),N(!1),S(null)},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:C.rotate.reset})]}),w&&(0,t.jsx)(s.default,{})]}):(0,t.jsx)(l.default,{onFiles:R,label:C.rotate.dropLabel,color:"violet"}),(0,t.jsxs)("div",{className:"space-y-12 mt-12",children:[(0,t.jsx)(o.default,{title:L.howTo.title,children:(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5",children:L.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)(o.default,{title:L.about.title,children:[(0,t.jsx)("p",{className:"text-slate-500 dark:text-slate-400 mb-6",children:L.about.description}),(0,t.jsx)("div",{className:"space-y-5",children:L.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)(o.default,{title:L.faq.title,children:(0,t.jsx)("div",{className:"space-y-4",children:L.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))})})]})]})}e.s(["default",()=>f],343110)},495004,e=>{e.v(t=>Promise.all(["static/chunks/6e8c2bde32d332ac.js","static/chunks/d77cd27b31cfaf9d.js"].map(t=>e.l(t))).then(()=>t(871315)))},825834,e=>{e.v(t=>Promise.all(["static/chunks/6e8c2bde32d332ac.js","static/chunks/ac6f6c9d391f0f8f.js"].map(t=>e.l(t))).then(()=>t(918657)))}]);