import{V as N,a as C,d as n}from"./VAppBarTitle-t-AsYcTn.js";import{_ as x,F as f,D as o,k as s,E as i,J as d,W as r,S as h,A as k,T as V,X as g,ao as I,H as v,I as b,ap as A,aw as _,K as y,b7 as B,b8 as L,V as w,B as E,a0 as T,av as F,U as S}from"./index-r56lto60.js";import{V as D}from"./VTextField-BouO7WK9.js";import{V as K}from"./VContainer-DPc31oUN.js";import"./index-Cl3GR-i0.js";const U={data(){return{lists:[],newListName:"",studentList:[],deleteDialog:{show:!1,text:"",listId:null},editingListId:null,editListName:""}},async created(){await Promise.all([this.loadLists(),this.loadStudentList()])},methods:{async loadLists(){try{let e=await n.loadData("classworks-list-info");(!e||!Array.isArray(e))&&(e=[],await n.saveData("classworks-list-info",e)),this.lists=e}catch(e){console.error("Failed to load lists",e),this.lists=[],await n.saveData("classworks-list-info",[])}},async loadStudentList(){try{const e=await n.loadData("classworks-list-main");e&&Array.isArray(e)?this.studentList=e:this.studentList=[]}catch(e){console.error("Failed to load student list",e),this.studentList=[]}},async createNewList(){if(!this.newListName)return;const e=Date.now().toString(),t={id:e,name:this.newListName};this.lists.push(t),await n.saveData("classworks-list-info",this.lists);const u=[];this.studentList&&this.studentList.length>0&&this.studentList.forEach(p=>{u.push({id:p.id||Date.now()+Math.floor(Math.random()*1e3),name:p.name,completed:!1})}),await n.saveData(`classworks-list-${e}`,u),this.newListName="",this.$router.push(`/list/${e}`)},startEditing(e){const t=this.lists.find(u=>u.id===e);t&&(this.editingListId=e,this.editListName=t.name)},cancelEditing(){this.editingListId=null,this.editListName=""},async saveListName(){if(!(!this.editListName.trim()||!this.editingListId))try{const e=this.lists.findIndex(t=>t.id===this.editingListId);e!==-1&&(this.lists[e].name=this.editListName.trim(),await n.saveData("classworks-list-info",this.lists)),this.editingListId=null,this.editListName=""}catch(e){console.error("Failed to update list name",e)}},confirmDeleteList(e){const t=this.lists.find(u=>u.id===e);t&&(this.deleteDialog={show:!0,text:`确定要删除列表 "${t.name}" 吗?`,listId:e})},confirmDelete(){this.deleteDialog.listId&&this.deleteList(this.deleteDialog.listId),this.deleteDialog.show=!1},async deleteList(e){this.lists=this.lists.filter(t=>t.id!==e),await n.saveData("classworks-list-info",this.lists)}}},M={key:0},P={key:1,class:"d-flex align-center w-100"},H={key:0};function J(e,t,u,p,a,m){return o(),f(v,null,[s(C,{elevation:"1"},{prepend:i(()=>[s(r,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=l=>e.$router.push("/"))})]),default:i(()=>[s(N,{class:"text-h6"},{default:i(()=>t[5]||(t[5]=[d("列表")])),_:1})]),_:1}),s(K,null,{default:i(()=>[s(h,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(V,null,{default:i(()=>t[6]||(t[6]=[d("现有列表")])),_:1}),a.lists.length===0?(o(),k(g,{key:0},{default:i(()=>t[7]||(t[7]=[d(" 暂无列表,请创建新列表 ")])),_:1})):(o(),k(I,{key:1},{default:i(()=>[(o(!0),f(v,null,b(a.lists,l=>(o(),k(A,{key:l.id,to:l.id!==a.editingListId?`/list/${l.id}`:void 0,active:l.id===a.editingListId},{append:i(()=>[l.id!==a.editingListId?(o(),f("div",H,[s(r,{icon:"",onClick:L(c=>m.startEditing(l.id),["stop","prevent"]),class:"mr-2",border:""},{default:i(()=>[s(w,null,{default:i(()=>t[10]||(t[10]=[d("mdi-pencil")])),_:1})]),_:2},1032,["onClick"]),s(r,{icon:"",onClick:L(c=>m.confirmDeleteList(l.id),["stop","prevent"]),border:""},{default:i(()=>[s(w,null,{default:i(()=>t[11]||(t[11]=[d("mdi-delete")])),_:1})]),_:2},1032,["onClick"])])):E("",!0)]),default:i(()=>[l.id!==a.editingListId?(o(),f("div",M,[s(_,null,{default:i(()=>[d(y(l.name),1)]),_:2},1024)])):(o(),f("div",P,[s(D,{modelValue:a.editListName,"onUpdate:modelValue":t[1]||(t[1]=c=>a.editListName=c),label:"列表名称","hide-details":"",density:"compact",class:"mr-2",autofocus:"",onKeyup:B(m.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),s(r,{icon:"",color:"primary",onClick:L(m.saveListName,["stop","prevent"]),class:"mr-2",border:""},{default:i(()=>[s(w,null,{default:i(()=>t[8]||(t[8]=[d("mdi-check")])),_:1})]),_:1},8,["onClick"]),s(r,{icon:"",color:"error",onClick:L(m.cancelEditing,["stop","prevent"]),border:""},{default:i(()=>[s(w,null,{default:i(()=>t[9]||(t[9]=[d("mdi-close")])),_:1})]),_:1},8,["onClick"])]))]),_:2},1032,["to","active"]))),128))]),_:1}))]),_:1}),s(h,{class:"mb-5",border:"",rounded:"xl"},{default:i(()=>[s(V,null,{default:i(()=>t[12]||(t[12]=[d("创建新列表")])),_:1}),s(g,null,{default:i(()=>[s(D,{modelValue:a.newListName,"onUpdate:modelValue":t[2]||(t[2]=l=>a.newListName=l),label:"列表名称",rules:[l=>!!l||"名称不能为空"]},null,8,["modelValue","rules"]),s(r,{color:"primary",onClick:m.createNewList,disabled:!a.newListName},{default:i(()=>t[13]||(t[13]=[d(" 创建列表 ")])),_:1},8,["onClick","disabled"])]),_:1})]),_:1}),s(T,{modelValue:a.deleteDialog.show,"onUpdate:modelValue":t[4]||(t[4]=l=>a.deleteDialog.show=l),"max-width":"500"},{default:i(()=>[s(h,{border:""},{default:i(()=>[s(V,null,{default:i(()=>t[14]||(t[14]=[d("删除列表")])),_:1}),s(g,null,{default:i(()=>[d(y(a.deleteDialog.text),1)]),_:1}),s(F,null,{default:i(()=>[s(S),s(r,{color:"primary",variant:"text",onClick:t[3]||(t[3]=l=>a.deleteDialog.show=!1)},{default:i(()=>t[15]||(t[15]=[d(" 取消 ")])),_:1}),s(r,{color:"error",variant:"text",onClick:m.confirmDelete},{default:i(()=>t[16]||(t[16]=[d(" 确认删除 ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const G=x(U,[["render",J]]);export{G as default};