1import{d as M,k as x,x as O,a as n,o as d,b as a,u as l,g as Q,w as o,e as t,n as h,t as b,F as $,r as R,S as W,j as q,P as G,L as H,f as i,N as f,Q as _,O as J}from"./app-D6Z0QfqM.js";import{_ as X}from"./AppLayout.vue_vue_type_script_setup_true_lang-DZH8kkxg.js";import{g as z,_ as j,a as S,b as I,c as F,d as N,e as P,f as T}from"./AlertDialogTitle.vue_vue_type_script_setup_true_lang-CELDHhxN.js";import"./Primitive-BocIYmOS.js";import"./useForwardExpose-CJ58Ne1s.js";import"./useForwardPropsEmits-IQJC-XB-.js";import"./TooltipTrigger.vue_vue_type_script_setup_true_lang-BeeXy6SD.js";import"./SwitchLang.vue_vue_type_script_setup_true_lang-CpzNRh6X.js";import"./AppLogoIcon.vue_vue_type_script_setup_true_lang-_OmQKkcg.js";import"./useDirection-1rjEeOj7.js";import"./RovingFocusGroup-BVPIo6LO.js";import"./useArrowNavigation-B5rxJs06.js";const Y={class:"p-6 max-w-7xl mx-auto space-y-6"},ee={class:"bg-white dark:bg-gray-800 rounded-3xl p-6 border border-slate-200/80 dark:border-gray-700 shadow-sm flex flex-wrap items-center justify-between gap-4"},te={class:"space-y-1"},se={class:"text-2xl font-extrabold text-slate-900 dark:text-gray-100 flex items-center gap-3"},le={class:"px-3 py-0.5 rounded-full text-xs font-extrabold bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"},ae={class:"flex items-center gap-3"},oe={key:0,class:"bg-white dark:bg-gray-800 rounded-3xl p-12 border border-slate-200/80 dark:border-gray-700 text-center space-y-4"},re={key:1,class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"},ne={class:"space-y-3"},de={class:"flex items-start justify-between gap-2"},ie={class:"text-base font-extrabold text-slate-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors line-clamp-1"},ue={key:0,class:"px-2.5 py-0.5 rounded-full text-[11px] font-bold bg-emerald-100 text-emerald-800 dark:bg-emerald-950/50 dark:text-emerald-300 shrink-0 flex items-center gap-1"},pe={key:1,class:"px-2.5 py-0.5 rounded-full text-[11px] font-semibold bg-slate-100 text-slate-500 dark:bg-gray-700 dark:text-slate-400 shrink-0"},xe={class:"space-y-1 text-xs text-slate-500 dark:text-slate-400 font-mono"},be={class:"pt-4 border-t border-slate-100 dark:border-gray-700 flex items-center justify-between gap-2"},fe={class:"flex items-center gap-1.5"},me=["href"],ge=["onClick"],ve=["onClick"],ce={key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/60 backdrop-blur-sm p-4"},ke={class:"bg-white dark:bg-gray-800 rounded-3xl p-6 border border-slate-200 dark:border-gray-700 shadow-2xl max-w-md w-full space-y-5"},ye={class:"space-y-2"},_e={class:"flex items-center justify-end gap-3 pt-2"},he=["disabled"],Ve=M({__name:"Index",props:{projects:{}},setup(we){const V=[{title:"管çåå°",href:route("admin.dashboard")},{title:"ååºå®£ä¼ å¾è®¾è®¡æ¹æ¡",href:route("admin.promos.index")}],m=x(!1),p=O({name:""}),w=()=>{p.name&&p.post(route("admin.promos.store"),{onSuccess:()=>{m.value=!1,p.reset(),f.success("â¨ æ¹æ¡æ°å»ºæåï¼æ£å¨è¿å
¥ç¼è¾æ¨¡å¼...")}})},g=x(!1),v=x(null),B=r=>{v.value=r,g.value=!0},E=()=>{v.value&&_.delete(route("admin.promos.destroy",v.value.id),{onSuccess:()=>{g.value=!1,v.value=null,f.success("ðï¸ æ¹æ¡å·²å®å
¨å é¤ï¼")}})},c=x(!1),k=x(null),U=r=>{k.value=r,c.value=!0},A=()=>{k.value&&_.delete(route("admin.promos.delete-zip",k.value.id),{onSuccess:()=>{c.value=!1,k.value=null,f.success("ðï¸ Zip å缩å
å·²å®å
¨å é¤ï¼")}})},Z=x(null),K=()=>{var r;(r=Z.value)==null||r.click()},L=async r=>{var C,D;const e=r.target;if(!e.files||!e.files[0])return;const s=e.files[0],y=new FormData;y.append("zip_file",s);try{f.info("â³ æ£å¨è§£æå¹¶å¯¼å
¥ Zip æ¹æ¡å
...");const u=await J.post(route("admin.promos.import-zip"),y,{headers:{"Content-Type":"multipart/form-data"}});u.data.success&&(f.success(u.data.message||"ð æ¹æ¡ ZIP æå导å
¥ï¼"),u.data.redirect_url?_.visit(u.data.redirect_url):_.reload())}catch(u){f.error("导å
¥ Zip 失败: "+(((D=(C=u.response)==null?void 0:C.data)==null?void 0:D.message)||u.message||u))}finally{e.value=""}};return(r,e)=>(d(),n($,null,[a(l(Q),{title:"ååºå®£ä¼ å¾è®¾è®¡æ¹æ¡ - ExportyAI Admin"}),a(X,{breadcrumbs:V},{default:o(()=>[t("div",Y,[t("input",{type:"file",ref_key:"importZipInputRef",ref:Z,accept:".zip",class:"hidden",onChange:L},null,544),t("div",ee,[t("div",te,[t("h1",se,[e[8]||(e[8]=t("span",null,"ð¨ ååºå®£ä¼ å¾è®¾è®¡æ¹æ¡",-1)),t("span",le," å
± "+b(r.projects.length)+" ä¸ªæ¹æ¡ ",1)]),e[9]||(e[9]=t("p",{class:"text-xs text-slate-500 dark:text-slate-400"}," ç»ä¸ç®¡ç Chrome Web Store & Edge æä»¶ååºçå¤è¯è¨ç»å¹
åºå¾ãå¥å¾æç
1ä¸å¯¼åºç Zip å缩å
ã ",-1))]),t("div",ae,[t("button",{onClick:K,class:"px-4 py-2.5 rounded-2xl bg-purple-600 hover:bg-purple-700 text-white font-bold text-xs shadow-md transition-all flex items-center gap-2 hover:scale-[1.02] active:scale-95",title:"ä» Zip å缩å
导å
¥å¹¶å建/æ¢å¤å
¨å¥è®¾è®¡æ¹æ¡"},e[10]||(e[10]=[t("span",{class:"text-sm"},"ð¥",-1),t("span",null,"导å
¥ Zip æ¹æ¡",-1)])),t("button",{onClick:e[0]||(e[0]=s=>m.value=!0),class:"px-5 py-2.5 rounded-2xl bg-blue-600 hover:bg-blue-700 text-white font-bold text-xs shadow-md transition-all flex items-center gap-2 hover:scale-[1.02] active:scale-95"},e[11]||(e[11]=[t("span",{class:"text-sm"},"â",-1),t("span",null,"æ°å»ºè®¾è®¡æ¹æ¡",-1)]))])]),r.projects.length===0?(d(),n("div",oe,[e[12]||(e[12]=t("div",{class:"w-16 h-16 mx-auto rounded-3xl bg-blue-50 dark:bg-blue-950/40 text-blue-500 flex items-center justify-center text-2xl font-bold"}," ð¨ ",-1)),e[13]||(e[13]=t("div",{class:"space-y-1 max-w-md mx-auto"},[t("h3",{class:"text-base font-bold text-slate-800 dark:text-slate-200"},"å°æ å®£ä¼ å¾è®¾è®¡æ¹æ¡"),t("p",{class:"text-xs text-slate-500 dark:text-slate-400"}," ç¹å»ä¸æ¹âæ°å»ºè®¾è®¡æ¹æ¡âæé®ï¼å¼å§ä¸º Chrome Store å¶ä½ 9 è¯è¨åç´ çº§å®£ä¼ å¾ã ")],-1)),t("button",{onClick:e[1]||(e[1]=s=>m.value=!0),class:"px-5 py-2 rounded-xl bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold shadow-md"}," â å建第ä¸ä¸ªæ¹æ¡ ")])):(d(),n("div",re,[(d(!0),n($,null,R(r.projects,s=>(d(),n("div",{key:s.id,class:"bg-white dark:bg-gray-800 rounded-3xl p-6 border border-slate-200/80 dark:border-gray-700 shadow-sm hover:shadow-md transition-all flex flex-col justify-between space-y-5 group"},[t("div",ne,[t("div",de,[t("h3",ie,b(s.name),1),s.zip_path?(d(),n("span",ue,e[14]||(e[14]=[t("span",null,"ð¦",-1),t("span",null,"Zip 已就绪",-1)]))):(d(),n("span",pe," ææ Zi
1p "))]),t("div",xe,[t("p",null,"æ´æ°æ¶é´: "+b(s.updated_at),1),t("p",null,"å
³èæªå¾: "+b(Object.keys(s.screenshots||{}).length)+" å¼ æä»¶å·²é
ç½®",1)])]),t("div",be,[a(l(W),{href:r.route("admin.promos.edit",s.id),class:"px-3.5 py-1.5 rounded-xl bg-blue-50 text-blue-700 dark:bg-blue-950/50 dark:text-blue-300 hover:bg-blue-100 text-xs font-bold transition-all flex items-center gap-1"},{default:o(()=>e[15]||(e[15]=[t("span",null,"âï¸",-1),t("span",null,"ç¼è¾æ¹æ¡",-1)])),_:2,__:[15]},1032,["href"]),t("div",fe,[s.zip_path?(d(),n("a",{key:0,href:r.route("admin.promos.download-zip",s.id),class:"px-2.5 py-1.5 rounded-xl bg-amber-50 text-amber-700 dark:bg-amber-950/50 dark:text-amber-300 hover:bg-amber-100 text-xs font-bold transition-all flex items-center gap-1",title:"ä¸è½½æå¡å¨ä¸ç 9 è¯è¨ Zip å
"},e[16]||(e[16]=[t("span",null,"ð¥",-1),t("span",null,"ä¸è½½ Zip",-1)]),8,me)):h("",!0),s.zip_path?(d(),n("button",{key:1,onClick:y=>U(s),class:"px-2.5 py-1.5 rounded-xl bg-rose-50 text-rose-600 hover:bg-rose-100 dark:bg-rose-950/50 dark:text-rose-400 text-xs font-bold transition-all flex items-center gap-1",title:"仿å¡å¨å½»åºå é¤ Zip å缩å
"},e[17]||(e[17]=[t("span",null,"ðï¸ Zip",-1)]),8,ge)):h("",!0),t("button",{onClick:y=>B(s),class:"px-2.5 py-1.5 rounded-xl bg-slate-100 hover:bg-rose-100 text-slate-500 hover:text-rose-600 dar
1k:bg-gray-700 dark:hover:bg-rose-950/50 dark:hover:text-rose-400 text-xs font-bold transition-all",title:"å½»åºå 餿¤æ¹æ¡"}," ðï¸ æ¹æ¡ ",8,ve)])])]))),128))]))]),m.value?(d(),n("div",ce,[t("div",ke,[e[19]||(e[19]=t("h3",{class:"text-base font-bold text-slate-900 dark:text-gray-100 flex items-center gap-2"},[t("span",null,"⨠æ°å»ºè®¾è®¡æ¹æ¡")],-1)),t("div",ye,[e[18]||(e[18]=t("label",{class:"text-xs font-bold text-slate-700 dark:text-slate-300"},"æ¹æ¡åç§° (å¦: 2026 å¤å£ååºå®£ä¼ åçå¾)",-1)),q(t("input",{"onUpdate:modelValue":e[2]||(e[2]=s=>l(p).name=s),type:"text",placeholder:"è¾å
¥æ¹æ¡åç§°...",class:"w-full h-10 rounded-xl border border-slate-200 dark:border-gray-700 bg-slate-50 dark:bg-gray-900 px-3 text-xs font-medium focus:ring-2 focus:ring-blue-500",onKeyup:G(w,["enter"])},null,544),[[H,l(p).name]])]),t("div",_e,[t("button",{onClick:e[3]||(e[3]=s=>m.value=!1),class:"px-4 py-2 rounded-xl text-xs font-bold text-slate-600 dark:text-slate-300 hover:bg-slate-100 dark:hover:bg-gray-700"}," åæ¶ "),t("button",{onClick:w,disabled:l(p).processing||!l(p).name,class:"px-4 py-2 rounded-xl bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold shadow-md"}," ç«å³å建 ",8,he)])])])):h("",!0),a(l(z),{open:g.value,"onUpdate:open":e[5]||(e[5]=s=>g.value=s)},{default:o(()=>[a(l(j),null,{default:o(()=>[a(l(S),null,{default:o(()=>[a(l(I),null,{default:o(()=>e[20]||(e[20]=[i("确认å é¤è®¾è®¡æ¹æ¡ï¼")])),_:1,__:[20]}),a(l(F),null,{default:o(()=>{var s;return[e[21]||(e[21]=i(" ç¡®å®è¦å½»åºå é¤è®¾è®¡æ¹æ¡ã")),t("strong",null,b((s=v.value)==null?void 0:s.name),1),e[22]||(e[22]=i("ãåï¼ç¸å
³ç»å®çå®£ä¼ æªå¾ä¸å·²å¯¼åºç Zip å缩å
å°ä¸å¹¶æ¸
çï¼æ¤æä½ä¸å¯æ¤éã "))]}),_:1,__:[21,22]})]),_:1}),a(l(N),null,{default:o(()=>[a(l(P),{onClick:e[4]||(e[4]=s=>g.value=!1)},{default:o(()=>e[23]||(e[23]=[i("åæ¶")])),_:1,__:[23]}),a(l(T),{onClick:E,class:"bg-red-600 hover:bg-red-700 text-white font-semibold rounded-xl"},{default:o(()=>e[24]||(e[24]=[i(" 确认å 餿¹æ¡ ")])),_:1,__:[24]})]),_:1})]),_:1})]),_:1},8,["open"]),a(l(z),{open:c.value,"onUpdate:open":e[7]||(e[7]=s=>c.value=s)},{default:o(()=>[a(l(j),null,{default:o(()=>[a(l(S),null,{default:o(()=>[a(l(I),null,{default:o(()=>e[25]||(e[25]=[i("确认å é¤ Zip å缩å
ï¼")])),_:1,__:[25]}),a(l(F),null,{default:o(()=>{var s;return[e[26]||(e[26]=i(" ç¡®å®è¦ä»æå¡å¨å½»åºå 餿¹æ¡ã")),t("strong",null,b((s=k.value)==null?void 0:s.name),1),e[27]||(e[27]=i("ã已导åºç Zip å缩å
åï¼æ¹æ¡é
ç½®ä¸æªå¾æ°æ®å°ä¸åå½±åã "))]}),_:1,__:[26,27]})]),_:1}),a(l(N),null,{default:o(()=>[a(l(P),{onClick:e[6]||(e[6]=s=>c.value=!1)},{default:o(()=>e[28]||(e[28]=[i("åæ¶")])),_:1,__:[28]}),a(l(T),{onClick:A,class:"bg-rose-600 hover:bg-rose-700 text-white font-semibold rounded-xl"},{default:o(()=>e[29]||(e[29]=[i(" 确认å é¤ Zip ")])),_:1,__:[29]})]),_:1})]),_:1})]),_:1},8,["open"])]),_:1})],64))}});export{Ve as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.