1import{_,r as w,f as c,b as t,h as P,A as k,L as f,G as y,D as x,z,C,u as i,w as s,t as v,m as D,l as E,k as A,s as j}from"../chunks/chunk-D6Oav43O.js";import{n as U}from"../chunks/chunk-lzWkO0SH.js";import"../chunks/chunk-D1JYe4Qp.js";import{a as m}from"../chunks/chunk-pJ2yq5Pf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"../chunks/chunk-BwNI8fUT.js";const V={class:"blog-edit"},B={class:"md3-card blog-form-card"},L={key:0,class:"md3-loading"},O=["innerHTML"],M={key:1,class:"form"},N={class:"field"},R={class:"ctr"},H={class:"field"},G={class:"ctr"},I={class:"field"},J={class:"ctr pinned-ctr"},F={class:"pinned-toggle"},W={class:"footer"},$=["disabled"],q=["disabled"],K={__name:"+Page",setup(Y){const g=C(),u=Number(g?.routeParams?.id||0),n=s(""),d=s(""),r=s(!1),l=s(!1),h=s(!0);function p(){U("/admin/blog")}async function b(){const o=await m(`/api/blog/detail?id=${u}`,{method:"GET"}),e=await o.json().catch(()=>({}));if(!o.ok){await i({type:"alert",title:"Error",content:e?.message||"Load failed"});return}const a=e?.data?.post||{};n.value=a.title||"",d.value=a.content||"",r.value=!!a.pinned}async function S(){l.value=!0;try{const o=await m("/api/blog/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:u,title:n.value,content:d.value,pinned:r.value})}),e=await o.json().catch(()=>({}));if(!o.ok)throw new Error(e?.message||"Save failed");await i({type:"alert",title:"Success",content:"Post updated"}),p()}catch(o){await i({type:"alert",title:"Error",content:String(o?.message||o)})}finally{l.value=!1}}async function T(){if(await i({type:"confirm",title:"Confirm",content:"Delete this post?",cancelText:"Cancel",okText:"Delete"})==="ok"){l.value=!0;try{const e=await m("/api/blog/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:u})}),a=await e.json().catch(()=>({}));if(!e.ok)throw new Error(a?.message||"Delete failed");await i({type:"alert",title:"Deleted",content:"Post removed"}),p()}catch(e){await i({type:"alert",title:"Error",content:String(e?.message||e)})}finally{l.value=!1}}}return w(async()=>{await b(),h.value=!1}),(o,e)=>(v(),c("div",V,[t("div",B,[t("header",{class:"header"},[e[3]||(e[3]=t("h1",{class:"title"},[t("span",{class:"material-icons-round"},"edit_note"),P(" Edit Post")],-1)),t("div",{class:"actions"},[t("button",{class:"md3-btn md3-btn--outlined",onClick:p},"Back")])]),h.value?(v(),c("div",L,[t("div",{class:"spinner",innerHTML:k(D)},null,8,O)])):(v(),c("div",M,[t("div",N,[e[4]||(e[4]=t("label",{class:"lab",for:"f-title"},"Title",-1)),t("div",R,[f(t("input",{class:"md3-input",id:"f-title","onUpdate:modelValue":e[0]||(e[0]=a=>n.value=a),placeholder:"Enter post title"},null,512),[[y,n.value,void 0,{trim:!0}]])])]),t("div",H,[e[5]||(e[5]=t("label",{class:"lab",for:"f-content"},"Content",-1)),t("div",G,[f(t("textarea",{class:"md3-input",id:"f-content","onUpdate:modelValue":e[1]||(e[1]=a=>d.value=a),placeholder:"Write your content here"},null,512),[[y,d.value,void 0,{trim:!0}]])])]),t("div",I,[e[7]||(e[7]=t("label",{class:"lab",for:"f-pinned"},"Pinned",-1)),t("div",J,[t("label",F,[f(t("input",{id:"f-pinned",type:"checkbox","onUpdate:modelValue":e[2]||(e[2]=a=>r.value=a)},null,512),[[x,r.value]]),e[6]||(e[6]=t("span",null,"Show this post at the top (homepage/blog)",-1))])])])])),t("footer",W,[t("button",{class:"md3-btn md3-btn--outlined",disabled:l.value,onClick:T},"Delete",8,$),t("button",{class:"md3-btn md3-btn--filled",disabled:l.value,onClick:S},z(l.value?"Savingâ¦":"Save"),9,q)])])]))}},Q=_(K,[["__scopeId","data-v-471136b7"]]),X=Object.freeze(Object.defineProperty({__proto__:null,default:Q},Symbol.toStringTag,{value:"Module"})),de={hasServerOnlyHook:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!1}},isClientRuntimeLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},onBeforeRenderEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},dataEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},guardEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"vike-vue/__internal/integration/onRenderClient",fileExportPathToShowToUser:[]},valueSerialized:{type:"pointer-import",value:j}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/src/pages/admin/blog/@id/+Page.vue",f
1ileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:X}},hydrationCanBeAborted:{type:"standard",definedAtData:{filePathToShowToUser:"vike-vue/config",fileExportPathToShowToUser:["default","hydrationCanBeAborted"]},valueSerialized:{type:"js-serialized",value:!0}},Layout:{type:"cumulative",definedAtData:[{filePathToShowToUser:"/src/pages/+Layout.vue",fileExportPathToShowToUser:[]}],valueSerialized:[{type:"plus-file",exportValues:A}]},title:{type:"standard",definedAtData:{filePathToShowToUser:"/src/pages/+config.js",fileExportPathToShowToUser:["default","title"]},valueSerialized:{type:"js-serialized",value:"AviumUI"}},onCreateApp:{type:"cumulative",definedAtData:[{filePathToShowToUser:"/src/pages/+onCreateApp.js",fileExportPathToShowToUser:[]}],valueSerialized:[{type:"plus-file",exportValues:E}]}};export{de as configValuesSerialized};
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.