PageSourceSearch

https://firewolf.netlify.app/_nuxt/xeB_6zfI.js

js firewolf.netlify.app collected 2026-10-03 10:44:42 UTC 10,317 bytes, 4 lines download raw bytes

1import{M as se}from"./DIpSCz-v.js";import{F as ne}from"./BI8w7J0G.js";import{U as L}from"./DJwvPUyS.js";import{n as K}from"#entry";import{A as D,r as A,aa as f,ab as p,aj as r,H as V,ae as O,am as z,ah as H,ai as M,ag as _,as as N,ac as B,u as b,a as le,c as T,w as ie,a9 as J,i as ce}from"./Cqga2mdz.js";import{V as ue}from"./C1omvcmS.js";import{u as de}from"./DCWHEqtW.js";import{a as j}from"./CoP9UDNJ.js";import"./CdasQrlT.js";import"./DwH2E4Yy.js";import"./Bh4YzkF1.js";import"./CZw8qzHT.js";import"./NBAthv48.js";import"./35TM4mrt.js";const me=["_","非","占","霊","狩","狼","狂","白","黒","偽","灰"],I=()=>{const v=o=>`village-matome-${o}`,C=o=>{const e=v(o),t=localStorage.getItem(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}},$=(o,e)=>{const t=v(o);localStorage.setItem(t,JSON.stringify(e))};return{getMatome:C,saveMatome:$,initializeMatome:(o,e)=>{const t=C(o);if(t)return t;const i={charaNames:[...e],matomes:[]};return $(o,i),i},addLine:o=>{const e={contents:o.charaNames.map(()=>"_")};return{...o,matomes:[...o.matomes,e]}},removeLine:(o,e)=>({...o,matomes:o.matomes.filter((t,i)=>i!==e)}),toLeft:(o,e)=>{if(e<=0||e>=o.charaNames.length)return o;const t=o.charaNames.map((a,s)=>s===e-1?o.charaNames[e]??a:s===e?o.charaNames[e-1]??a:a),i=o.matomes.map(a=>({contents:a.contents.map((n,c)=>c===e-1?a.contents[e]??n:c===e?a.contents[e-1]??n:n)}));return{charaNames:t,matomes:i}},toRight:(o,e)=>{if(e<0||e>=o.charaNames.length-1)return o;const t=o.charaNames.map((a,s)=>s===e?o.charaNames[e+1]??a:s===e+1?o.charaNames[e]??a:a),i=o.matomes.map(a=>({contents:a.contents.map((n,c)=>c===e?a.contents[e+1]??n:c===e+1?a.contents[e]??n:n)}));return{charaNames:t,matomes:i}},changeContent:(o,e,t,i)=>{const a=o.matomes.map((s,n)=>{if(n!==e)return s;const c=[...s.contents];return c[t]=i,{contents:c}});return{...o,matomes:a}},outputText:o=>{const e=o.charaNames.join(""),t=o.matomes.map(i=>i.contents.join("")).join(`
2`);return t?`${e}
3${t}`:e}}},ge={class:"space-y-4"},pe={class:"overflow-x-auto"},ve={class:"min-w-full border-collapse text-sm"},ye={class:"border-b border-gray-300 dark:border-gray-600"},be={class:"border-b border-gray-200 dark:border-gray-700"},fe={class:"px-2 py-1"},he=["onClick"],ke={key:0,class:"bg-gray-50 dark:bg-gray-800/50"},Ce=["colspan"],xe={class:"flex flex-wrap gap-1"},Me=["onClick"],we={class:"border-t border-gray-300 dark:border-gray-600"},_e=["colspan"],Ne={class:"flex flex-col gap-1"},Le={class:"border-t border-gray-300 dark:border-gray-600"},$e=["colspan"],Te=D({__name:"MemoMatome",props:{matomes:{}},emits:["add-line","remove-line","to-left","to-right","change-content"],setup(v,{emit:C}){const $=v,x=C,{outputText:h}=I(),u=K(),m=A(null),y=A(null),w=(e,t)=>{m.value=e,y.value=t},S=e=>{m.value!==null&&y.value!==null&&(x("change-content",{lineIndex:m.value,contentIndex:y.value,content:e}),m.value=null,y.value=null)},o=async()=>{const e=h($.matomes);try{await navigator.clipboard.writeText(e),u.add({message:"表をクリップボードにコピーしました",type:"success"})}catch(t){console.error("クリップボードへのコピーに失敗しました:",t),u.add({message:"クリップボードへのコピーに失敗しました",type:"error"})}};return(e,t)=>(p(),f("div",ge,[r("div",pe,[r("table",ve,[r("thead",null,[r("tr",ye,[t[1]||(t[1]=r("th",{class:"px-2 py-1"},null,-1)),(p(!0),f(V,null,O(v.matomes.charaNames,i=>(p(),f("th",{key:i,class:"px-2 py-1 text-center font-medium text-gray-700 dark:text-gray-300"},z(i),1))),128))])]),r("tbody",null,[(p(!0),f(V,null,O(v.matomes.matomes,(i,a)=>(p(),f(V,{key:a},[r("tr",be,[r("td",fe,[M(L,{color:"error",size:"xs",icon:"i-heroicons-trash-20-solid",onClick:s=>x("remove-line",{lineIndex:a})},{default:_(()=>[...t[2]||(t[2]=[N(" 削除 ",-1)])]),_:1},8,["onClick"])]),(p(!0),f(V,null,O(i.contents,(s,n)=>(p(),f("td",{key:`${a}-${n}`,class:"px-1 py-1 text-center"},[r("button",{type:"button",class:B(["min-w-8 rounded border px-2 py-1 text-sm transition-colors",b(m)===a&&b(y)===n?"border-(--ui-primary) bg-(--ui-primary)/10 text-(--ui-primary)":"border-gray-300 bg-white text-gray-700 hover:bg-gray-100 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700"]),onClick:c=>w(a,n)},z(s),11,he)]))),128))]),b(m)===a?(p(),f("tr",ke,[t[3]||(t[3]=r("td",null,null,-1)),r("td",{colspan:i.contents.length,class:"px-2 py-2"},[r("div",xe,[(p(!0),f(V,null,O(b(me),s=>(p(),f("button",{key:s,type:"button",class:"min-w-8 rounded border border-gray-300 bg-white px-2 py-1 text-sm text-gray-700 transition-colors hover:bg-gray-100 dark:border-gray-600 dark:bg-gray-700 dark:text-gray-300 dark:hover:bg-gray-600",onClick:n=>S(s)},z(s),9,Me))),128))])],8,Ce)])):H("",!0)],64))),128))]),r("tfoot",null,[r("tr",we,[t[5]||(t[5]=r("td",null,null,-1)),r("td",{colspan:v.matomes.charaNames.length,class:"px-2 py-2"},[M(L,{color:"primary",size:"sm",icon:"i-heroicons-plus-20-solid",onClick:t[0]||(t[0]=i=>x("add-line"))},{default:_(()=>[...t[4]||(t[4]=[N(" 行を追加する ",-1)])]),_:1})],8,_e)]),r("tr",null,[t[6]||(t[6]=r("td",null,null,-1)),(p(!0),f(V,null,O(v.matomes.charaNames,(i,a)=>(p(),f("td",{key:a,class:"px-1 py-1 text-center"},[r("div",Ne,[M(L,{color:"secondary",variant:"outline",size:"xs",icon:"i-heroicons-arrow-left-20-solid",disabled:a===0,onClick:s=>x("to-left",{index:a})},null,8,["disabled","onClick"]),M(L,{color:"secondary",variant:"outline",size:"xs",icon:"i-heroicons-arrow-right-20-solid",disabled:a===v.matomes.charaNames.length-1,onClick:s=>x("to-right",{index:a})},null,8,["disabled","onClick"])])]))),128))]),r("tr",Le,[t[8]||(t[8]=r("td",null,null,-1)),r("td",{colspan:v.matomes.charaNames.length,class:"px-2 py-2"},[M(L,{color:"primary",size:"sm",icon:"i-heroicons-clipboard-document-20-solid",onClick:o},{default:_(()=>[...t[7]||(t[7]=[N(" 表を出力してクリップボードにコピー ",-1)])]),_:1})],8,$e)])])])])]))}}),Ve=Object.assign(Te,{__name:"PagesVillageSidebarMemoMatome"}),Se=()=>{const v=(u,m)=>`village-memo-${u}-${m}`,C=(u,m)=>{const y=v(u,m);return j(y,"").value};return{getMemo:C,saveMemo:(u,m,y)=>{const w=v(u,m),S=j(w,"");S.value=y},deleteMemo:(u,m)=>{const y=v(u,m),w=j(y,"");w.value=""},getAllMemos:u=>({1:C(u,1),2:C(u,2),3:C(u,3)})}},Oe={class:"space-y-4"},ze={class:"border-b border-gray-200 dark:border-gray-700"},Ae={class:"-mb-px flex space-x-4","aria-label":"Tabs"},Re=["disabled","onClick"],je={key:0,class:"space-y-2"},Be={class:"flex items-center justify-between"},Ue=D({__name:"ModalMemo",props:{isOpen:{type:Boolean}},emits:["close"],setup(v,{emit:C}){const $=v,x=C,{villageId:h,village:u}=de(),{getMemo:m,saveMemo:y}=Se(),{saveMatome:w,initializeMatome:S,addLine:o,removeLine:e,toLeft:t,toRight:i,changeContent:a}=I(),s=K(),n=A(1),c=le({1:"",2:"",3:""}),d=A(null),U=T(()=>!u.value||u.value.status.code===ue.PROLOGUE),E=T(()=>u.value?u.value.participant.member_list.map(l=>l.chara_name.short_name):[]),Y=T(()=>[{id:1,label:"メモ1",disabled:!1},{id:2,label:"メモ2",disabled:!1},{id:3,label:"メモ3",disabled:!1},{id:"matome",label:"まとめ",disabled:U.value}]),R=T({get:()=>$.isOpen,set:l=>{l||x("close")}}),P=T(()=>{const l=n.value;return l==="matome"?0:c[l].replace(/\n/g,"").length}),q=T(()=>P.value>1e3),Q=T(()=>{const l=n.value;return l==="matome"?"":`行数: ${c[l].split(`
4`).length}, 文字数: ${P.value}/1000`});ie(()=>$.isOpen,l=>{l&&W()});const W=()=>{h.value&&(c[1]=m(h.value,1),c[2]=m(h.value,2),c[3]=m(h.value,3),!U.value&&E.value.length>0&&(d.value=S(h.value,E.value)))},F=()=>{h.value&&(y(h.value,1,c[1]),y(h.value,2,c[2]),y(h.value,3,c[3]),d.value&&w(h.value,d.value),s.add({message:"メモを保存しました",type:"success"}))},X=()=>{F(),G()},Z=async()=>{const l=n.value;if(l!=="matome")try{await navigator.clipboard.writeText(c[l]),s.add({message:"クリップボードにコピーしました",type:"success"})}catch(g){console.error("クリップボードへのコピーに失敗しました:",g),s.add({message:"クリップボードへのコピーに失敗しました",type:"error"})}},ee=()=>{d.value&&(d.value=o(d.value))},te=({lineIndex:l})=>{d.value&&(d.value=e(d.value,l))},oe=({index:l})=>{d.value&&(d.value=t(d.value,l))},ae=({index:l})=>{d.value&&(d.value=i(d.value,l))},re=({lineIndex:l,contentIndex:g,content:k})=>{d.value&&(d.value=a(d.value,l,g,k))},G=()=>{x("close")};return(l,g)=>(p(),J(se,{modelValue:b(R),"onUpdate:modelValue":g[1]||(g[1]=k=>ce(R)?R.value=k:null),title:"メモ"},{footer:_(()=>[M(L,{color:"secondary",variant:"outline",onClick:G},{default:_(()=>[...g[4]||(g[4]=[N(" 閉じる ",-1)])]),_:1}),M(L,{color:"primary",onClick:F},{default:_(()=>[...g[5]||(g[5]=[N("保存する",-1)])]),_:1}),M(L,{color:"primary",onClick:X},{default:_(()=>[...g[6]||(g[6]=[N("保存して閉じる",-1)])]),_:1})]),default:_(()=>[r("div",Oe,[g[3]||(g[3]=r("p",{class:"text-sm text-gray-600 dark:text-gray-400"}
4,[N(" 端末に保存され、ブラウザのデータを削除すると消えます。"),r("br"),N(" 自動保存されないため、下部の保存ボタンの押し忘れにご注意ください。 ")],-1)),r("div",ze,[r("nav",Ae,[(p(!0),f(V,null,O(b(Y),k=>(p(),f("button",{key:k.id,type:"button",class:B(["border-b-2 px-3 py-2 text-sm font-medium whitespace-nowrap transition-colors",[b(n)===k.id?"border-(--ui-primary) text-(--ui-primary)":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300",k.disabled?"cursor-not-allowed opacity-50":"cursor-pointer"]]),disabled:k.disabled,onClick:Ee=>!k.disabled&&(n.value=k.id)},z(k.label),11,Re))),128))])]),b(n)!=="matome"?(p(),f("div",je,[M(ne,{modelValue:b(c)[b(n)],"onUpdate:modelValue":g[0]||(g[0]=k=>b(c)[b(n)]=k),rows:15,placeholder:"1000文字まで保存できます。",size:"sm"},null,8,["modelValue"]),r("div",Be,[r("p",{class:B(["text-right text-xs",b(q)?"text-red-600 dark:text-red-400":"text-gray-500 dark:text-gray-400"])},z(b(Q)),3),M(L,{color:"primary",size:"sm",onClick:Z},{default:_(()=>[...g[2]||(g[2]=[N(" クリップボードにコピー ",-1)])]),_:1})])])):b(d)?(p(),J(Ve,{key:1,matomes:b(d),onAddLine:ee,onRemoveLine:te,onToLeft:oe,onToRight:ae,onChangeContent:re},null,8,["matomes"])):H("",!0)])]),_:1},8,["modelValue"]))}}),et=Object.assign(Ue,{__name:"PagesVillageSidebarModalMemo"});export{et 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.