PageSourceSearch

https://firewolf.netlify.app/_nuxt/DeB-jqx6.js

js firewolf.netlify.app collected 2026-10-03 10:44:20 UTC 3,648 bytes, 1 lines download raw bytes

1import{_ as h}from"./DwH2E4Yy.js";import{A as b,r as g,c as v,o as k,aa as n,ab as r,aj as t,ah as y,ax as w,aD as C,u as o,i as V,ai as _,H as L,ae as E,ag as N,as as z,am as c}from"./Cqga2mdz.js";import{V as x}from"./C1omvcmS.js";import{c as A}from"./CbQ4C7nz.js";import{I as S,b as I}from"#entry";import{a as M}from"./DuiFmdnP.js";import"./Bh4YzkF1.js";const D={class:"bg-gray-100 py-8 dark:bg-gray-900"},F={class:"container mx-auto px-4"},T={class:"mb-6 flex justify-center"},j={class:"flex cursor-pointer items-center gap-2 text-sm"},B={key:0,class:"flex justify-center py-12"},O={class:"text-center"},R={key:1},U={class:"min-w-full divide-y divide-gray-300"},$={class:"divide-y divide-gray-200 bg-white"},G={class:"p-2 text-left text-sm text-gray-900"},H={class:"p-2 text-center text-sm text-gray-900"},P={class:"p-2 text-left text-sm text-gray-900"},W={class:"p-2 text-center text-sm text-gray-900"},q={key:2,class:"rounded-lg bg-white p-12 shadow-md dark:bg-gray-800"},at=b({__name:"village-list",setup(J){M(A({title:"終了した村一覧",description:"FIREWOLFで終了した人狼ゲーム村の一覧を表示します。"}));const u=g([]),i=g(!1),l=g(!1),d=v(()=>u.value.map(a=>({village_id:a.id,village_name:a.name,participant_count:`${a.participant.count}人`,organization:a.status.code===x.CANCEL?a.setting.organizations.organization[a.setting.capacity.max]:a.setting.organizations.organization[a.participant.count],win_camp:a.win_camp?.name||"廃村"}))),m=async()=>{i.value=!0;try{const{apiCall:a}=I(),e=[x.COMPLETED];l.value&&e.push(x.CANCEL);const p=await a("/village/list",{params:{village_status:e}});u.value=p.list}catch(a){console.error("Failed to fetch villages:",a)}finally{i.value=!1}},f=async()=>{await m()};return k(async()=>{await m()}),(a,e)=>{const p=h;return r(),n("div",null,[t("section",D,[t("div",F,[e[5]||(e[5]=t("h1",{class:"mb-6 text-2xl font-bold text-gray-800 dark:text-gray-100"}," 終了した村一覧 ",-1)),t("div",T,[t("label",j,[w(t("input",{"onUpdate:modelValue":e[0]||(e[0]=s=>V(l)?l.value=s:null),type:"checkbox",class:"h-4 w-4 rounded border-gray-300 bg-gray-100 text-blue-600 focus:ring-2 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:ring-offset-gray-800 dark:focus:ring-blue-600",onChange:f},null,544),[[C,o(l)]]),e[1]||(e[1]=t("span",{class:"text-gray-700 dark:text-gray-300"},"廃村も表示する",-1))])]),o(i)?(r(),n("div",B,[t("div",O,[_(S,{name:"i-heroicons-arrow-path",class:"h-8 w-8 animate-spin text-gray-500"}),e[2]||(e[2]=t("p",{class:"mt-2 text-gray-600 dark:text-gray-400"}," 村一覧を読み込み中... ",-1))])])):y("",!0),!o(i)&&o(d).length>0?(r(),n("div",R,[t("table",U,[e[3]||(e[3]=t("thead",{class:"bg-gray-50"},[t("tr",null,[t("th",{class:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900"}," 村名 "),t("th",{class:"px-3 py-3.5 text-center text-sm font-semibold text-gray-900"}," 人数 "),t("th",{class:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900"}," 編成 "),t("th",{class:"px-3 py-3.5 text-center text-sm font-semibold text-gray-900"}," 勝利 ")])],-1)),t("tbody",$,[(r(!0),n(L,null,E(o(d),s=>(r(),n("tr",{key:s.village_id},[t("td",G,[_(p,{to:`/village?id=${s.village_id}`,class:"text-blue-600 hover:text-blue-800 hover:underline"},{default:N(()=>[z(c(s.village_name),1)]),_:2},1032,["to"])]),t("td",H,c(s.participant_count),1),t("td",P,c(s.organization),1),t("td",W,c(s.win_camp),1)]))),128))])])])):!o(i)&&o(d).length===0?(r(),n("div",q,[...e[4]||(e[4]=[t("div",{class:"text-center text-gray-500 dark:text-gray-400"},[t("p",null,"終了した村はありません")],-1)])])):y("",!0)])])])}}});export{at 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.