1import{E as N}from"./BnJfiB6C.js";import{u as m}from"./C3hSLxam.js";import{k as w}from"./DbP5UCwp.js";function k(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'")}function I(t){return t.toLowerCase().replace(/[&]/g,"and").replace(/['']/g,"").replace(/\//g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const v={"best-enkakay-kyoku":"best-enka-kayokyoku","student-music-creators-challenge-in-association-with-kyoto-university-of-the-arts":"student-music-creators-challenge"};function j(t){if(v[t])return v[t];for(const[f,d]of Object.entries(N))if(d===t)return f;return t}const J=[87,88,89,90,91,114,93,94,96,97],T={87:"主è¦6é¨é",88:"楽æ²ã«ãã´ãªã¼",89:"æµ·å¤æ¥½æ²ã«ãã´ãªã¼",90:"ã¢ã¼ãã£ã¹ãã«ãã´ãªã¼",91:"ã¢ã«ãã ã«ãã´ãªã¼",114:"ã©ã¤ãã¹ã¿ããã«ãã´ãªã¼",93:"ã¯ãªã¨ã¤ã¿ã¼ãºã«ãã´ãªã¼",94:"ãªã¼ãã³æç¥¨ã«ãã´ãªã¼",96:"ã¢ããã°ã¬ã³ã¼ãã«ãã´ãªã¼",97:"å
±åµã«ãã´ãªã¼"},E=new Set(["album-of-the-year","artist-of-the-year","best-alternative-artist","best-alternative-song","best-analog-record-sales","best-anime-song","best-boys-idol-culture-artist-groupsolo","best-boys-idol-culture-song-groupsolo","best-classical-album","best-cover-artwork-in-association-with-jagda","best-cross-border-collaboration-song","best-dance-and-vocal-artist-groupsolo","best-dance-and-vocal-song-groupsolo","best-danceelectronic-song-in-association-with-jdda","best-digital-culture-artist","best-dj-in-association-with-jdda","best-enkakay-kyoku","best-girls-idol-culture-artist-groupsolo","best-girls-idol-culture-song-groupsolo","best-global-hit-from-japan","best-hip-hoprap-artist","best-hip-hoprap-song","best-instrumental-song","best-international-alternative-song-in-japan","best-international-hip-hoprap-song-in-japan","best-international-pop-song-in-japan","best-international-randbcontemporary-song-in-japan","best-international-rock-song-in-japan","best-j-pop-artist","best-j-pop-song","best-japanese-song-in-asia","best-japanese-song-in-europe","best-japanese-song-in-latin-america","best-japanese-song-in-north-america","best-jazz-album","best-k-pop-artist","best-k-pop-song-in-japan","best-lighting-production-staff-in-association-with-japan-live-entertainment-stage-techstaff-association","best-long-charting-album","best-long-charting-song","best-music-video","best-of-listeners-choice-international-song-powered-by-spotify","best-of-listeners-choice-japanese-song-powered-by-spotify","best-original-score-for-animation","best-original-score-for-cinema","best-original-score-for-drama","best-randbcontemporary-artist","best-randbcontemporary-song","best-revival-hit-song","best-rock-bandsolo-artist","best-rock-song","best-song-asia","best-sound-production-staff-in-association-with-japan-live-entertainment-stage-techstaff-association","best-soundtrack","best-stage-production-staff-in-association-with-japan-live-entertainment-stage-techstaff-association","best-viral-song","best-vocaloid-culture-song","grand-prix-engineer-in-association-with-pmraj","new-artist-of-the-year","song-of-the-year","special-award-oshi-katsu-request-artist-of-the-year-powered-by-usen","special-award-radio-radio-rising-artist-of-the-year","student-music-creators-challenge-in-association-with-kyoto-university-of-the-arts"]);function L(){const{data:t,pending:f}=m("/api/nominees/data",{key:"nominees-data"},"$EPnCSOUi9v"),{data:d}=m("/api/category/detail",{key:"nominees-category-detail"},"$47mApkmRQJ"),A=w(()=>t.value?.allItems||[]),_=w(()=>{if(!t.value)return[];const r=Array.isArray(t.value.awardTitles)?t.value.awardTitles:[],n=Array.isArray(t.value.allItems)?t.value.allItems:[],a=Array.isArray(d.value)?d.value:[],o=t.value.categoryOrderMap||{};try{return O(r,n,a,o)}catch(l){return console.warn("[useNomineesData] buildGroups error:",l),[]}});function S(r){const n=new Map;for(const a of r)n.set(a.slug,{titleJa:a.titleJa,titleEn:a.titleEn.replace(/\n/g," ")});return n}function y(r,n,a){const o=a[n];return!o||o.length===0?r:[...r].sort((l,e)=>{const u=`${l.artist||""}|${l.title||""}`,b=`${e.artist||""}|${e.title||""}`,s=o.indexOf(u),i=o.indexOf(b);return(s===-1?999:s)-(i===-1?999:i)})}function O(r,n,a,o={}){const l=[];S(a);for(const e of r){if(!J.includes(e.id))continue;const u=[],b=Array.isArray(e.children)?e.children:[];if(b.length>0)for(const s of b)for(const i of Array.isArray(s.awards)?s.awards:[]){const c=i.slug||I(i.title_en),g=j(c),p=n.filter(h=>h.entry_categories?.includes(g));(p.length>0||E.has(c))&&u.push({slug:c,titleJa:k(i.title),titleEn:k(i.title_en),items:y(p,g,o)})}else for(const s of a){if((s.groupLabelEn?.toUpperCase()||"")!==e.name.toUpperCase())continue;const c=s.slug,g=j(c),p=n.filter(h=>h.entry_categories?.includes(g));(p.length>0||E.has(c))&&u.push({slug:c,titleJa:s.titleJa,titleEn:s.titleEn.replace(/\n/g," "),items:y(p,g,o)})}u.length>
10&&l.push({id:`cat_${e.id}`,nameEn:e.name,nameJa:T[e.id]||e.name,awards:u})}return l}return{allItems:A,groups:_,loading:f}}export{L as u};
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.