import{t as e}from"./rolldown-runtime-CIDIeb-o.js";import{C as t,D as n,Dt as r,E as i,G as a,J as o,K as s,O as c,Ot as l,Q as u,R as d,S as f,St as p,T as m,X as h,Y as g,Z as _,jt as v,k as y,kt as b,n as x,pt as S,q as C,rt as w,st as T,ut as E,w as D}from"./vendor-ui-DBxeWLyT.js";import{t as O}from"./vendor-vue-Bqq1sBNf.js";import{t as k}from"./CardDescription-CRV0m8La.js";import{Bt as ee,G as A,Ht as j,K as te,Lt as M,Rt as N,Vt as ne,dt as P,ft as F,jt as I,lt as L,ut as R,zt as z}from"./index-Cch-Ig40.js";var B=I(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),V=I(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),H=I(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),U=I(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),W=I(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),G=_({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(e,{emit:n}){let i=d(e,n);return(e,n)=>(T(),s(r(t),w({"data-slot":`alert-dialog`},r(i)),{default:S(t=>[E(e.$slots,`default`,b(u(t)))]),_:3},16))}}),K=_({__name:`AlertDialogAction`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=x(t,`class`);return(e,i)=>(T(),s(r(y),w(r(n),{class:r(z)(r(M)(),t.class)}),{default:S(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),q=_({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,i=x(t,`class`);return(e,a)=>(T(),s(r(n),w(r(i),{class:r(z)(r(M)({variant:`outline`}),`mt-2 sm:mt-0`,t.class)}),{default:S(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),J=_({inheritAttrs:!1,__name:`AlertDialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=d(x(n,`class`),i);return(e,t)=>(T(),s(r(D),null,{default:S(()=>[h(r(m),{"data-slot":`alert-dialog-overlay`,class:`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`}),h(r(c),w({"data-slot":`alert-dialog-content`},{...e.$attrs,...r(a)},{class:r(z)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,n.class)}),{default:S(()=>[E(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),Y=_({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=x(t,`class`);return(e,a)=>(T(),s(r(i),w({"data-slot":`alert-dialog-description`},r(n),{class:r(z)(`text-muted-foreground text-sm`,t.class)}),{default:S(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),X=_({__name:`AlertDialogFooter`,props:{class:{}},setup(e){let t=e;return(e,n)=>(T(),o(`div`,{"data-slot":`alert-dialog-footer`,class:l(r(z)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,t.class))},[E(e.$slots,`default`)],2))}}),Z=_({__name:`AlertDialogHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(T(),o(`div`,{"data-slot":`alert-dialog-header`,class:l(r(z)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[E(e.$slots,`default`)],2))}}),re=_({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=x(t,`class`);return(e,i)=>(T(),s(r(f),w({"data-slot":`alert-dialog-title`},r(n),{class:r(z)(`text-lg font-semibold`,t.class)}),{default:S(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),ie=e(((e,t)=>{(function(t,n){typeof define==`function`&&define.amd?define([],n):e===void 0?(n(),t.FileSaver={exports:{}}.exports):n()})(e,function(){function e(e,t){return t===void 0?t={autoBom:!1}:typeof t!=`object`&&(console.warn(`Deprecated: Expected third argument to be a object`),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function n(e,t,n){var r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){s(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function r(e){var t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{var t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!=`object`||window!==a?function(){}:`download`in HTMLAnchorElement.prototype&&!o?function(e,t,o){var s=a.URL||a.webkitURL,c=document.createElement(`a`);t=t||e.name||`download`,c.download=t,c.rel=`noopener`,typeof e==`string`?(c.href=e,c.origin===location.origin?i(c):r(c.href)?n(e,t,o):i(c,c.target=`_blank`)):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){i(c)},0))}:`msSaveOrOpenBlob`in navigator?function(t,a,o){if(a=a||t.name||`download`,typeof t!=`string`)navigator.msSaveOrOpenBlob(e(t,o),a);else if(r(t))n(t,a,o);else{var s=document.createElement(`a`);s.href=t,s.target=`_blank`,setTimeout(function(){i(s)})}}:function(e,t,r,i){if(i||=open(``,`_blank`),i&&(i.document.title=i.document.body.innerText=`downloading...`),typeof e==`string`)return n(e,t,r);var s=e.type===`application/octet-stream`,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||o)&&typeof FileReader<`u`){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);i?i.location=f:location.href=f,i=null,setTimeout(function(){d.revokeObjectURL(f)},4e4)}});a.saveAs=s.saveAs=s,t!==void 0&&(t.exports=s)})}))(),ae={class:`container mx-auto p-4 sm:p-6 space-y-6`},oe={class:`flex items-center justify-between`},se={class:`text-2xl font-bold`},ce={class:`flex items-center justify-between p-4 border rounded-lg`},le={class:`space-y-1`},ue={class:`font-medium`},de={class:`text-sm text-muted-foreground`},fe={class:`flex items-center justify-between p-4 border rounded-lg`},pe={class:`space-y-1`},me={class:`font-medium`},he={class:`text-sm text-muted-foreground`},ge={class:`flex gap-2`},_e={class:`flex items-center justify-between p-4 border rounded-lg border-destructive/50`},ve={class:`space-y-1`},ye={class:`font-medium text-destructive`},be={class:`text-sm text-muted-foreground`},xe={class:`flex items-center justify-between`},Se={class:`flex items-center justify-between`},Ce={class:`space-y-1`},we={class:`text-sm text-muted-foreground`},Te={class:`space-y-2`},Ee={class:`flex items-center justify-between text-sm`},De={class:`text-muted-foreground`},Oe={class:`font-medium`},Q={class:`flex items-center justify-between text-sm`},ke={class:`text-muted-foreground`},Ae={class:`font-medium`},je={class:`pt-2 border-t space-y-2`},Me={class:`text-sm font-medium`},Ne={class:`flex flex-col gap-2`},Pe={class:`ml-auto text-xs text-muted-foreground`},$=_({__name:`SettingsView`,setup(e){let{t}=ee(),n=ne(),i=p(),c=p(!1),l=p(n.player.name),u=p(!1),d=p(``),f=p(``),m=null,_=()=>{window.open(`https://github.com/${j.author}/${j.name}`,`_blank`)},y=()=>{window.open(`https://qm.qq.com/q/${j.id}`,`_blank`)},b=async()=>{try{c.value=!0;let e=localStorage.getItem(j.name);if(!e){O.error(t(`settings.exportFailed`));return}let n=`${j.name}-${new Date().toISOString().slice(0,10)}-${Date.now()}.json`;(0,ie.saveAs)(new Blob([e],{type:`application/json`}),n),O.success(t(`settings.exportSuccess`))}catch(e){console.error(`Export failed:`,e),O.error(t(`settings.exportFailed`))}finally{c.value=!1}},x=()=>{i.value?.click()},w=e=>{let n=e.target.files?.[0];n&&(d.value=t(`settings.importConfirmTitle`),f.value=t(`settings.importConfirmMessage`),u.value=!0,m=()=>E(n))},E=async e=>{try{let n=new FileReader;n.onload=e=>{try{let n=e.target?.result;typeof n==`string`?(localStorage.setItem(j.name,n),O.success(t(`settings.importSuccess`)),setTimeout(()=>location.reload(),500)):O.error(t(`settings.importFailed`))}catch(e){let n=e instanceof Error?e.message:String(e);O.error(t(`settings.importFailed`)+`: `+n)}},n.readAsText(e)}catch(e){console.error(`Import failed:`,e),O.error(t(`settings.importFailed`))}},D=()=>{d.value=t(`settings.clearConfirmTitle`),f.value=t(`settings.clearConfirmMessage`),u.value=!0,m=M},M=()=>{localStorage.clear(),window.location.reload()},I=()=>{l.value.trim()&&(n.player.name=l.value.trim())},z=()=>{m&&=(m(),null),u.value=!1},$=()=>{m=null,u.value=!1,i.value&&(i.value.value=``)};return(e,p)=>(T(),o(`div`,ae,[a(`div`,oe,[a(`h1`,se,v(r(t)(`nav.settings`)),1)]),h(r(F),null,{default:S(()=>[h(r(R),null,{default:S(()=>[h(r(L),null,{default:S(()=>[g(v(r(t)(`settings.dataManagement`)),1)]),_:1}),h(r(k),null,{default:S(()=>[g(v(r(t)(`settings.dataManagementDesc`)),1)]),_:1})]),_:1}),h(r(P),{class:`space-y-4`},{default:S(()=>[a(`div`,ce,[a(`div`,le,[a(`h3`,ue,v(r(t)(`settings.exportData`)),1),a(`p`,de,v(r(t)(`settings.exportDataDesc`)),1)]),h(r(N),{onClick:b,disabled:c.value},{default:S(()=>[h(r(B),{class:`mr-2 h-4 w-4`}),g(` `+v(c.value?r(t)(`settings.exporting`):r(t)(`settings.export`)),1)]),_:1},8,[`disabled`])]),a(`div`,fe,[a(`div`,pe,[a(`h3`,me,v(r(t)(`settings.importData`)),1),a(`p`,he,v(r(t)(`settings.importDataDesc`)),1)]),a(`div`,ge,[a(`input`,{ref_key:`fileInputRef`,ref:i,type:`file`,accept:`.json`,class:`hidden`,onChange:w},null,544),h(r(N),{onClick:x,variant:`outline`},{default:S(()=>[h(r(W),{class:`mr-2 h-4 w-4`}),g(` `+v(r(t)(`settings.selectFile`)),1)]),_:1})])]),a(`div`,_e,[a(`div`,ve,[a(`h3`,ye,v(r(t)(`settings.clearData`)),1),a(`p`,be,v(r(t)(`settings.clearDataDesc`)),1)]),h(r(N),{onClick:D,variant:`destructive`},{default:S(()=>[h(r(U),{class:`mr-2 h-4 w-4`}),g(` `+v(r(t)(`settings.clear`)),1)]),_:1})])]),_:1})]),_:1}),h(r(F),null,{default:S(()=>[h(r(R),null,{default:S(()=>[h(r(L),null,{default:S(()=>[g(v(r(t)(`settings.gameSettings`)),1)]),_:1}),h(r(k),null,{default:S(()=>[g(v(r(t)(`settings.gameSettingsDesc`)),1)]),_:1})]),_:1}),h(r(P),{class:`space-y-4`},{default:S(()=>[a(`div`,xe,[h(r(A),{for:`player-name`},{default:S(()=>[g(v(r(t)(`settings.playerName`)),1)]),_:1}),h(r(te),{id:`player-name`,modelValue:l.value,"onUpdate:modelValue":p[0]||=e=>l.value=e,onBlur:I,class:`max-w-xs`},null,8,[`modelValue`])]),a(`div`,Se,[a(`div`,Ce,[h(r(A),null,{default:S(()=>[g(v(r(t)(`settings.gameSpeed`)),1)]),_:1}),a(`p`,we,v(r(t)(`settings.gameSpeedDesc`)),1)]),p[2]||=a(`div`,{class:`text-2xl font-bold`},`1x`,-1)])]),_:1})]),_:1}),h(r(F),null,{default:S(()=>[h(r(R),null,{default:S(()=>[h(r(L),null,{default:S(()=>[g(v(r(t)(`settings.about`)),1)]),_:1})]),_:1}),h(r(P),{class:`space-y-4`},{default:S(()=>[a(`div`,Te,[a(`div`,Ee,[a(`span`,De,v(r(t)(`settings.version`))+`:`,1),a(`span`,Oe,v(r(j).version),1)]),a(`div`,Q,[a(`span`,ke,v(r(t)(`settings.buildDate`))+`:`,1),a(`span`,Ae,v(new Date().toLocaleDateString()),1)])]),a(`div`,je,[a(`h3`,Me,v(r(t)(`settings.community`)),1),a(`div`,Ne,[h(r(N),{variant:`outline`,class:`w-full justify-start`,onClick:_},{default:S(()=>[h(r(V),{class:`mr-2 h-4 w-4`}),g(` `+v(r(t)(`settings.github`)),1)]),_:1}),r(n).locale===`zh-CN`||r(n).locale===`zh-TW`?(T(),s(r(N),{key:0,variant:`outline`,class:`w-full justify-start`,onClick:y},{default:S(()=>[h(r(H),{class:`mr-2 h-4 w-4`}),g(` `+v(r(t)(`settings.qqGroup`))+` `,1),a(`span`,Pe,v(r(j).qq),1)]),_:1})):C(``,!0)])])]),_:1})]),_:1}),h(r(G),{open:u.value,"onUpdate:open":p[1]||=e=>u.value=e},{default:S(()=>[h(r(J),null,{default:S(()=>[h(r(Z),null,{default:S(()=>[h(r(re),null,{default:S(()=>[g(v(d.value),1)]),_:1}),h(r(Y),null,{default:S(()=>[g(v(f.value),1)]),_:1})]),_:1}),h(r(X),null,{default:S(()=>[h(r(q),{onClick:$},{default:S(()=>[g(v(r(t)(`common.cancel`)),1)]),_:1}),h(r(K),{onClick:z},{default:S(()=>[g(v(r(t)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{$ as default};