(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ [405], { 5557: function(i, a, n) { (window.__NEXT_P = window.__NEXT_P || []).push(["/", function() { return n(7697) }]) }, 7697: function(i, a, n) { "use strict"; n.r(a), n.d(a, { default: function() { return T } }); var t = n(5893), e = n(7294), l = n(9008), s = n.n(l), r = n(1664), g = n.n(r), o = n(5675), u = n.n(o), d = n(214), p = n.n(d), _ = (n(993), n(682)), m = n(4051), k = n(1555), c = n(5005), x = n(2914), y = n(5147), B = n(4077), V = n(782), D = n(640), I = n.n(D), h = JSON.parse('[{\"index\":1,\"song_name\":\"On s\'aimera\",\"artist\":\"Ridsa\",\"language\":\"\u82f1\u8bed\",\"remarks\":null,\"initial\":\"O\",\"sticky_top\":0,\"paid\":0,\"BVID\":\"\",\"st\":\"https:\/\/singchun.love\/song\/53205.aac\"}]'); function j(i) { var a = i.filteredSongList, n = i.handleClickToCopy, l = i.setBVID, s = i.setPlayerModalShow, r = i.setPlayerModalSongName, g = (0, e.useDeferredValue)(a); // 当前播放状态 var _useState = (0, e.useState)(null), playingId = _useState[0], setPlayingId = _useState[1]; var _useState2 = (0, e.useState)(0), progress = _useState2[0], setProgress = _useState2[1]; var _useState3 = (0, e.useState)(0), duration = _useState3[0], setDuration = _useState3[1]; // 当前播放的歌名 var _useState4 = (0, e.useState)(""), currentSongName = _useState4[0], setCurrentSongName = _useState4[1]; // 是否暂停状态 var _useState5 = (0, e.useState)(true), isPaused = _useState5[0], setIsPaused = _useState5[1]; // 是否缓冲中 var _useState6 = (0, e.useState)(false), isBuffering = _useState6[0], setIsBuffering = _useState6[1]; // 格式化时间 function formatTime(seconds) { if (!seconds || isNaN(seconds)) return "0:00"; var mins = Math.floor(seconds / 60); var secs = Math.floor(seconds % 60); return mins + ":" + (secs < 10 ? "0" : "") + secs; } // 调整返回顶部按钮位置 function adjustBackToTopButton(playerVisible) { var backToTopBtn = document.querySelector('.Home_backToTopBtn__IkJo2'); if (backToTopBtn) { if (playerVisible) { backToTopBtn.style.transition = 'bottom 0.3s ease'; backToTopBtn.style.bottom = 'calc(70px + 20px + env(safe-area-inset-bottom, 0px))'; } else { backToTopBtn.style.transition = 'bottom 0.3s ease'; backToTopBtn.style.bottom = ''; } } } // 注入缓冲动画 CSS function injectBufferingCSS() { if (document.getElementById('st-buffering-styles')) return; var style = document.createElement('style'); style.id = 'st-buffering-styles'; style.textContent = '@keyframes st-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .st-buffering-icon { animation: st-spin 1s linear infinite; }'; document.head.appendChild(style); } // 获取或创建全局 audio function getGlobalAudio() { var el = document.getElementById("st-global-audio"); if (!el) { el = document.createElement("audio"); el.id = "st-global-audio"; el.preload = "none"; el.style.display = "none"; document.body.appendChild(el); el.addEventListener("timeupdate", function() { setProgress(el.currentTime); }); el.addEventListener("loadedmetadata", function() { setDuration(el.duration); }); el.addEventListener("durationchange", function() { setDuration(el.duration); }); el.addEventListener("play", function() { setIsPaused(false); }); el.addEventListener("pause", function() { setIsPaused(true); }); // 缓冲相关事件 el.addEventListener("waiting", function() { setIsBuffering(true); }); el.addEventListener("canplay", function() { setIsBuffering(false); }); el.addEventListener("playing", function() { setIsBuffering(false); }); el.addEventListener("error", function() { setIsBuffering(false); }); } return el; } function pauseAllAudios() { var ga = document.getElementById("st-global-audio"); if (ga) { try { ga.pause(); } catch (_) {} } } function playRowSt(rowKey, stUrl, songName) { var ga = getGlobalAudio(); try { ga.pause(); } catch (_) {} var currentSrc = ga.src; var newSrc = new URL(stUrl, location.href).href; // 立即设置缓冲状态 setIsBuffering(true); if (currentSrc !== newSrc) { ga.src = ""; ga.load(); setProgress(0); setDuration(0); ga.src = stUrl; ga.load(); } setCurrentSongName(songName); ga.onended = function () { setPlayingId(null); setProgress(0); setIsPaused(true); setIsBuffering(false); }; ga.oncanplay = function() { setIsBuffering(false); ga.play().then(function(){}).catch(function(){ setIsBuffering(false); }); }; if (ga.readyState >= 3) { setIsBuffering(false); ga.play().then(function(){}).catch(function(){ setIsBuffering(false); }); } } function pauseRowSt() { var ga = document.getElementById("st-global-audio"); if (ga) try { ga.pause(); } catch (_) {} } function togglePlayPause() { var ga = document.getElementById("st-global-audio"); if (ga) { if (ga.paused) { setIsBuffering(true); ga.play().then(function() { setIsBuffering(false); }).catch(function(){ setIsBuffering(false); }); } else { ga.pause(); setIsBuffering(false); } } } function closePlayer() { pauseAllAudios(); setPlayingId(null); setCurrentSongName(""); setProgress(0); setDuration(0); setIsBuffering(false); } function seekTo(e) { var ga = document.getElementById("st-global-audio"); if (ga && duration > 0) { var rect = e.currentTarget.getBoundingClientRect(); var clickX = e.clientX - rect.left; var percent = clickX / rect.width; ga.currentTime = percent * duration; } } // 获取按钮图标 - 三种状态 function getButtonIcon(isPlaying, isPaused, isBuffering, size, color) { size = size || 18; color = color || "#1D0C26"; // 缓冲中 - 显示旋转加载图标 if (isBuffering) { return (0, t.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, fill: color, viewBox: "0 0 16 16", className: "st-buffering-icon", children: (0, t.jsx)("path", { d: "M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41zm-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9z" }) }); } // 正在播放(非暂停)- 显示暂停图标 if (isPlaying && !isPaused) { return (0, t.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, fill: color, viewBox: "0 0 16 16", children: (0, t.jsx)("path", { d: "M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z" }) }); } // 默认/暂停 - 显示播放图标 return (0, t.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, fill: color, viewBox: "0 0 16 16", children: (0, t.jsx)("path", { d: "m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z" }) }); } // 获取悬浮播放器按钮图标 HTML(用于 innerHTML) function getFloatingPlayerIconHTML(isPaused, isBuffering) { // 缓冲中 if (isBuffering) { return ''; } // 暂停状态 - 显示播放图标 if (isPaused) { return ''; } // 播放中 - 显示暂停图标 return ''; } // 注入 CSS (0, e.useEffect)(function() { injectBufferingCSS(); }, []); // 创建/更新悬浮播放器 DOM (0, e.useEffect)(function() { var floatingPlayer = document.getElementById("st-floating-player"); if (!floatingPlayer) { floatingPlayer = document.createElement("div"); floatingPlayer.id = "st-floating-player"; floatingPlayer.style.cssText = "position: fixed; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(255,255,255,0.98), rgba(255,255,255,0.95)); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 -2px 20px rgba(0,0,0,0.1); padding: 12px 16px; padding-bottom: calc(12px + env(safe-area-inset-bottom, 0)); z-index: 9999; display: none; transition: transform 0.3s ease, opacity 0.3s ease; border-top: 1px solid rgba(0,0,0,0.05);"; floatingPlayer.innerHTML = '
'; document.body.appendChild(floatingPlayer); // 绑定事件 document.getElementById("st-fp-play-btn").addEventListener("click", function() { var ga = document.getElementById("st-global-audio"); if (ga) { if (ga.paused) { setIsBuffering(true); ga.play().then(function() { setIsBuffering(false); }).catch(function(){ setIsBuffering(false); }); } else { ga.pause(); setIsBuffering(false); } } }); document.getElementById("st-fp-close-btn").addEventListener("click", function() { var ga = document.getElementById("st-global-audio"); if (ga) ga.pause(); floatingPlayer.style.display = "none"; adjustBackToTopButton(false); setPlayingId(null); setCurrentSongName(""); setIsBuffering(false); }); document.getElementById("st-fp-progress-bar").addEventListener("click", function(ev) { var ga = document.getElementById("st-global-audio"); if (ga && ga.duration > 0) { var rect = ev.currentTarget.getBoundingClientRect(); var clickX = ev.clientX - rect.left; var percent = clickX / rect.width; setIsBuffering(true); ga.currentTime = percent * ga.duration; } }); } // 更新内容 if (playingId && currentSongName) { var progressPercent = duration > 0 ? (progress / duration) * 100 : 0; document.getElementById("st-fp-song-name").textContent = currentSongName; document.getElementById("st-fp-progress-fill").style.width = progressPercent + "%"; document.getElementById("st-fp-current-time").textContent = formatTime(progress); document.getElementById("st-fp-total-time").textContent = formatTime(duration); // 更新播放按钮图标 - 支持三种状态 var playBtn = document.getElementById("st-fp-play-btn"); playBtn.innerHTML = getFloatingPlayerIconHTML(isPaused, isBuffering); floatingPlayer.style.display = "block"; adjustBackToTopButton(true); } else { floatingPlayer.style.display = "none"; adjustBackToTopButton(false); } }, [playingId, currentSongName, progress, duration, isPaused, isBuffering]); // 清理 (0, e.useEffect)(function() { return function() { var floatingPlayer = document.getElementById("st-floating-player"); if (floatingPlayer) { floatingPlayer.style.display = "none"; } adjustBackToTopButton(false); }; }, []); return a.length !== 0 ? g.map(function (row) { var rowKey = row.index; var isPlaying = playingId === rowKey; return (0, t.jsxs)( "tr", { className: row.paid ? p().songRowPaid : row.sticky_top ? p().songRowTop : p().songRow, onClick: function (ev) { var targetTd = ev.target.parentNode.firstChild.nodeName === "TD" ? ev.target.parentNode.childNodes[2] : ev.target.parentNode.parentNode.childNodes[2]; n(targetTd); }, children: [ // ① 置顶/付费 (0, t.jsxs)("td", { className: p().tableIconTd, style: { verticalAlign: "middle" }, children: [ 1 == row.sticky_top ? (0, t.jsx)("img", { src: "up_arrow.png", alt: "置顶", className: p().tableIcons, title: "置顶曲目", }) : (0, t.jsx)("div", {}), 1 == row.paid ? (0, t.jsx)("img", { src: "orb.png", alt: "付费", className: p().tableIcons, title: "付费曲目", }) : (0, t.jsx)("div", {}), ], }), // ② 试听按钮 - 三种状态 (0, t.jsx)("td", { className: p().tableIconTd, style: { verticalAlign: "middle", width: "60px", minWidth: "60px", textAlign: "center" }, children: row.st ? (0, t.jsx)(c.Z, { className: p().customRandomButton, title: isPlaying && isBuffering ? "加载中..." : (isPlaying && !isPaused ? "暂停" : "试听"), style: { marginTop: 0, padding: "6px", width: "36px", height: "36px", minWidth: "36px", minHeight: "36px", display: "inline-flex", alignItems: "center", justifyContent: "center", borderRadius: "50%" }, onClick: function (ev) { ev.stopPropagation(); if (isPlaying) { togglePlayPause(); } else { pauseAllAudios(); setPlayingId(null); setIsBuffering(true); setTimeout(function() { playRowSt(rowKey, row.st, row.song_name); setPlayingId(rowKey); }, 10); } }, // 使用 getButtonIcon 函数获取图标 children: getButtonIcon(isPlaying, isPaused, isPlaying && isBuffering, 18, "#1D0C26") }) : (0, t.jsx)("div", {}), }), // ③ 歌名 (0, t.jsx)("td", { className: p().noWrapForce, style: { verticalAlign: "middle" }, id: row.paid ? "paid ".concat(rowKey) : rowKey, children: row.song_name, }), // ④ BVID 播放按钮 (0, t.jsx)("td", { className: p().tableIconTd, style: { verticalAlign: "middle" }, children: row.BVID ? (0, t.jsx)(c.Z, { className: p().customRandomButton, title: "投稿歌切试听", style: { marginTop: 0, padding: "0.25rem" }, onClick: function (aEv) { aEv.stopPropagation(); pauseAllAudios(); setPlayingId(null); setIsBuffering(false); i.setBVID(row.BVID); i.setPlayerModalShow(!0); i.setPlayerModalSongName(row.song_name); }, children: (0, t.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "#1D0C26", viewBox: "0 0 16 16", children: (0, t.jsx)("path", { d: "m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z" }) }), }) : (0, t.jsx)("div", {}), }), // ⑤ 歌手 (0, t.jsx)("td", { className: p().noWrapForce, style: { verticalAlign: "middle" }, children: row.artist }), // ⑥ 语言 (0, t.jsx)("td", { className: p().noWrapForce, style: { verticalAlign: "middle" }, children: row.language }), // ⑦ 备注 (0, t.jsx)("td", { className: p().noWrapForce, style: { verticalAlign: "middle" }, children: row.remarks }), ], }, rowKey ); }) : (0, t.jsx)("tr", { children: (0, t.jsx)("td", { className: "display-6 text-center", colSpan: "7", id: "noSongInList", children: "歌单里没有哟~隐藏歌单碰碰运气!", }), }); } var f = n(2805), v = n(184); function C(i) { var a = i.languageFilter, n = i.initialFilter, e = i.setLanguageState, l = i.setInitialState, s = "#BEA5C1"; return (0, t.jsx)("div", { className: "d-grid", children: (0, t.jsxs)(f.Z, { title: "\u56fd\u8bed", className: "\u56fd\u8bed" == a ? p().splitBtnActive : p().splitBtn, onClick: function(i) { e("\u56fd\u8bed" == a ? "" : "\u56fd\u8bed") }, children: [(0, t.jsx)(v.Z.Item, { onClick: function(i) { l("A" == n ? "" : "A") }, style: "A" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-A" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("B" == n ? "" : "B") }, style: "B" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-B" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("C" == n ? "" : "C") }, style: "C" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-C" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("D" == n ? "" : "D") }, style: "D" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-D" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("E" == n ? "" : "E") }, style: "E" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-E" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("F" == n ? "" : "F") }, style: "F" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-F" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("G" == n ? "" : "G") }, style: "G" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-G" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("H" == n ? "" : "H") }, style: "H" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-H" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("I" == n ? "" : "I") }, style: "I" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-I" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("J" == n ? "" : "J") }, style: "J" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-J" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("K" == n ? "" : "K") }, style: "K" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-K" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("L" == n ? "" : "L") }, style: "L" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-L" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("M" == n ? "" : "M") }, style: "M" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-M" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("N" == n ? "" : "N") }, style: "N" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-N" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("O" == n ? "" : "O") }, style: "O" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-O" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("P" == n ? "" : "P") }, style: "P" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-P" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("Q" == n ? "" : "Q") }, style: "Q" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-Q" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("R" == n ? "" : "R") }, style: "R" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-R" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("S" == n ? "" : "S") }, style: "S" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-S" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("T" == n ? "" : "T") }, style: "T" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-T" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("U" == n ? "" : "U") }, style: "U" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-U" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("W" == n ? "" : "W") }, style: "W" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-W" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("X" == n ? "" : "X") }, style: "X" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-X" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("Y" == n ? "" : "Y") }, style: "Y" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-Y" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { l("Z" == n ? "" : "Z") }, style: "Z" == n ? { backgroundColor: s, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u9996\u5b57\u6bcd-Z" })] }) }) } function b(i) { var a = i.remarkFilter, n = i.setRemarkState, e = "#BEA5C1"; return (0, t.jsx)("div", { className: "d-grid", children: (0, t.jsxs)(f.Z, { title: "\u94a2\u7434", className: a.includes("\u94a2\u7434") ? p().splitBtnActive : p().splitBtn, onClick: function(i) { a.includes("\u94a2\u7434") ? n("") : n("\u94a2\u7434") }, children: [(0, t.jsx)(v.Z.Item, { onClick: function(i) { n("\u94a2\u7434\u5f39\u5531" == a ? "" : "\u94a2\u7434\u5f39\u5531") }, style: "\u94a2\u7434\u5f39\u5531" == a ? { backgroundColor: e, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u5f39\u5531" }), (0, t.jsx)(v.Z.Item, { onClick: function(i) { n("\u94a2\u7434\u5f39\u594f" == a ? "" : "\u94a2\u7434\u5f39\u594f") }, style: "\u94a2\u7434\u5f39\u594f" == a ? { backgroundColor: e, cursor: 'url("/cursor_pointer.gif"), pointer' } : { cursor: 'url("/cursor_pointer.gif"), pointer' }, children: "\u5f39\u594f" }) ] }) }) } function S() { return (0, t.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", fill: "currentColor", className: "bi bi-chevron-right", viewBox: "0 0 20 20", children: (0, t.jsx)("path", { fillRule: "evenodd", d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z" }) }) } var w = n(6212); function P(i) { var a = i.show, n = i.onHide, e = i.BVID, l = i.modalPlayerSongName; return (0, t.jsxs)(w.Z, { show: a, onHide: n, fullscreen: "xl-down", size: "xl", centered: !0, children: [(0, t.jsx)(w.Z.Header, { closeButton: !0, children: (0, t.jsx)(w.Z.Title, { children: l }) }), (0, t.jsx)(w.Z.Body, { children: (0, t.jsx)("div", { className: p().biliPlayerDiv, children: (0, t.jsx)("iframe", { src: "//player.bilibili.com/player.html?bvid=" + e, height: "100%", width: "100%", scrolling: "no", border: "0", frameBorder: "no", framespacing: "0", allowFullScreen: !0, children: " " }) }) })] }) } var N = n(3485), A = n.n(N); function T() { var i = (0, e.useState)({ lang: "", initial: "", paid: !1, remark: "" }), a = i[0], n = i[1], l = (0, e.useState)(""), r = l[0], o = l[1], d = (0, e.useState)(!1), D = d[0], f = d[1], v = (0, e.useState)(!1), w = v[0], N = v[1], T = (0, e.useState)(!1), Y = T[0], Z = T[1], H = (0, e.useState)(""), M = H[0], L = H[1], R = (0, e.useState)(""), W = R[0], F = R[1]; (0, e.useEffect)((function() { window.addEventListener("scroll", (function() { window.pageYOffset > 600 ? f(!0) : f(!1) })) }), []); var E = h.filter((function(i) { var n, t, e, l, s, g, o; return ((null === (n = i.song_name) || void 0 === n ? void 0 : n.toString().toLowerCase().includes(r ? r.toLowerCase() : "")) || (null === (t = i.language) || void 0 === t ? void 0 : t.toString().toLowerCase().includes(r ? r.toLowerCase() : "")) || (null === (e = i.remarks) || void 0 === e ? void 0 : e.toString().toLowerCase().includes(r ? r.toLowerCase() : "")) || (null === (l = i.artist) || void 0 === l ? void 0 : l.toString().toLowerCase().includes(r ? r.toLowerCase() : ""))) && ("" == a.lang || (null === (s = i.language) || void 0 === s ? void 0 : s.includes(a.lang))) && ("" == a.initial || (null === (g = i.initial) || void 0 === g ? void 0 : g.includes(a.initial))) && ("" == a.remark || (null === (o = i.remarks) || void 0 === o ? void 0 : o.toLowerCase().includes(a.remark))) && (!a.paid || 1 == i.paid) })), O = function(i) { n({ lang: i, initial: "", paid: !1, remark: "" }) }, X = function(i) { n({ lang: "", initial: "", paid: !1, remark: i }) }, G = function(i) { n({ lang: "", initial: "", paid: i, remark: "" }) }; return (0, t.jsxs)("div", { className: p().outerContainer, children: [(0, t.jsx)(g(), { href: "https://live.bilibili.com/22320946", passHref: !0, children: (0, t.jsx)("a", { target: "_blank", style: { textDecoration: "none", color: "#1D0C26" }, children: (0, t.jsx)("div", { className: p().goToLiveDiv, children: (0, t.jsxs)("div", { className: p().cornerToggle, children: [(0, t.jsx)(u(), { loader: A(), src: "bilibili_logo_padded.png", alt: "\u6253\u5f00\u81ea\u6211\u4ecb\u7ecd", width: 50, height: 50 }), (0, t.jsx)("b", { children: (0, t.jsx)("i", { children: "\u53bb\u76f4\u64ad\u95f4" }) })] }) }) }) }), (0, t.jsx)("div", { className: p().offCanvasToggleDiv, onClick: function() { return N(!0) }, children: (0, t.jsxs)("div", { className: p().cornerToggle, children: [(0, t.jsx)(u(), { loader: A(), src: "ayu_bqb.webp", alt: "\u6253\u5f00\u81ea\u6211\u4ecb\u7ecd", width: 50, height: 50 }), (0, t.jsx)("b", { children: (0, t.jsx)("i", { children: "\u81ea\u6211\u4ecb\u7ecd" }) })] }) }), (0, t.jsxs)(_.Z, { children: [(0, t.jsxs)(s(), { children: [(0, t.jsx)("title", { children: "江壹纯の歌单" }), (0, t.jsx)("meta", { name: "keywords", content: "江壹纯,B\u7ad9,bilibili,\u54d4\u54e9\u54d4\u54e9,\u7535\u53f0\u5531\u89c1,\u6b4c\u5355" }), (0, t.jsx)("meta", { name: "description", content: "江壹纯の歌单" }), (0, t.jsx)("meta", { name: "theme-color", content: "#1d0c26" })] }), (0, t.jsxs)("section", { className: p().main, children: [(0, t.jsx)(m.Z, { children: (0, t.jsxs)(k.Z, { className: p().titleCol, children: [(0, t.jsxs)("div", { className: "pt-3 " + p().titleBox, children: [(0, t.jsx)(u(), { loader: A(), className: p().avatar, src: "face.php?url=https://i1.hdslb.com/bfs/face/df86d637f8891f92a23bad4a61425212d40e4dea.jpg", alt: "江壹纯の\u7684\u5934\u50cf", width: 250, height: 250 }), (0, t.jsx)("h1", { className: "display-6 text-center pt-3 " + p().grandTitle, children: "江壹纯" }), (0, t.jsxs)("h1", { className: "display-6 text-center " + p().grandTitle, children: ["\u548c\u5979\u62ff\u624b\u7684", (0, t.jsx)("b", { children: E.length }), "\u9996\u6b4c"] }), (0, t.jsx)("p", { className: "text-center py-3 mb-xl-5 text-muted", children: "\u8f7b\u70b9\u6b4c\u540d\u53ef\u4ee5\u590d\u5236\u54e6" })] }), (0, t.jsx)("div", { className: p().introBox, children: (0, t.jsxs)("div", { className: p().introBoxInnerDiv, children: [(0, t.jsxs)("div", { className: p().introTitle, children: [(0, t.jsx)("h5", { children: "江壹纯の自我介绍" }), (0, t.jsxs)("div", { className: "d-flex", children: [,(0, t.jsx)(g(), { href: "https://music.163.com/#/artist?id=36020661", passHref: !0, children: (0, t.jsx)("a", { target: "_blank", style: { marginRight: "1rem", cursor: 'url("/cursor_pointer.gif"), pointer' }, title: "江壹纯の网易云", children: (0, t.jsx)(u(), { loader: A(), src: "163music.ico", alt: "江壹纯の网易云", width: 26, height: 26 }) }) })] })] }), (0, t.jsx)("p", { className: p().introParagraph, children: "个人势精灵VUP,谢谢你能听我唱歌。 / 开播通知群:883462470 ❥ 网易yun:江壹纯" }), (0, t.jsxs)("div", { className: "d-flex flex-nowrap justify-content-evenly", children: [] })] }) })] }) }), (0, t.jsx)(m.Z, { children: (0, t.jsx)(k.Z, { children: (0, t.jsxs)("div", { className: p().categorySelectionContainer, children: [(0, t.jsxs)("h5", { className: p().categorySelectionTitle, children: [(0, t.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "currentColor", className: "bi bi-search", viewBox: "0 0 16 16", style: { verticalAlign: "baseline" }, children: (0, t.jsx)("path", { d: "M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z" }) }), " ", "\u6311\u4e2a\u60f3\u542c\u7684\u7c7b\u522b\u5457~"] }), (0, t.jsx)(_.Z, { fluid: !0, children: (0, t.jsxs)(m.Z, { children: [ (0, t.jsx)(k.Z, { xs: 6, md: 3, children: (0, t.jsx)("div", { className: "d-grid", children: (0, t.jsx)(c.Z, { className: "英语" == a.lang ? p().customCategoryButtonActive : p().customCategoryButton, onClick: function(i) { "英语" == a.lang ? O("") : O("英语") }, children: "英语" }) }) }), ] }) })] }) }) }), (0, t.jsxs)(m.Z, { children: [(0, t.jsx)(k.Z, { xs: 12, md: 9, children: (0, t.jsx)(x.Z.Control, { className: p().filters, type: "search", "aria-label": "\u641c\u7d22", placeholder: "\u641c\u7d22", onChange: function(i) { return o(i.target.value) } }) }), (0, t.jsx)(k.Z, { xs: 12, md: 3, children: (0, t.jsx)("div", { className: "d-grid", children: (0, t.jsx)(c.Z, { title: "\u4ece\u4e0b\u9762\u7684\u6b4c\u5355\u91cc\u968f\u673a\u6311\u4e00\u9996", className: p().customRandomButton, onClick: function() { var i = document.querySelector(".songList"), a = Math.floor(1 + Math.random() * i.childElementCount), n = document.querySelector(".songList>tr:nth-child(" + a + ")").childNodes[2]; n ? n.id.includes("paid") ? (I()("\u70b9\u6b4c\uffe5" + n.innerText), V.Am.success('\u4ed8\u8d39\u66f2\u76ee"' + n.innerText + '"\u6210\u529f\u590d\u5236\u5230\u526a\u8d34\u677f!')) : (I()("\u70b9\u6b4c " + n.innerText), V.Am.success('"' + n.innerText + '"\u6210\u529f\u590d\u5236\u5230\u526a\u8d34\u677f!')) : V.Am.info("\u6b4c\u5355\u5df2\u7ecf\u6ca1\u6b4c\u4e86!") }, children: "\u968f\u4fbf\u542c\u542c" }) }) })] }), (0, t.jsx)(m.Z, { children: (0, t.jsx)(k.Z, { children: (0, t.jsx)("div", { className: p().songListMarco, children: (0, t.jsx)(_.Z, { fluid: !0, children: (0, t.jsxs)(y.Z, { responsive: !0, children: [(0, t.jsx)("thead", { children: (0, t.jsxs)("tr", { children: [ (0, t.jsx)("th", {}), (0, t.jsx)("th", { style: { width: "50px", textAlign: "center" }, children: "\u8bd5\u542c" }), (0, t.jsx)("th", { children: "\u6b4c\u540d" }), (0, t.jsx)("th", {}), (0, t.jsx)("th", { children: "\u6b4c\u624b" }), (0, t.jsx)("th", { children: "\u8bed\u8a00" }), (0, t.jsx)("th", { children: "\u5907\u6ce8" }) ] }) }), (0, t.jsx)("tbody", { className: "songList", children: (0, t.jsx)(j, { filteredSongList: E, handleClickToCopy: function(i) { i.id.includes("paid") ? (I()("\u70b9\u6b4c \uffe5" + i.innerText), V.Am.success('\u4ed8\u8d39\u66f2\u76ee"' + i.innerText + '"\u6210\u529f\u590d\u5236\u5230\u526a\u8d34\u677f!')) : (I()("\u70b9\u6b4c " + i.innerText), V.Am.success('"' + i.innerText + '"\u6210\u529f\u590d\u5236\u5230\u526a\u8d34\u677f!')) }, setBVID: F, setPlayerModalShow: Z, setPlayerModalSongName: L }) })] }) }) }) }) })] }), D ? (0, t.jsx)("button", { onClick: function() { window.scrollTo({ top: 0, behavior: "smooth" }) }, className: p().backToTopBtn, title: "\u8fd4\u56de\u9876\u90e8", children: (0, t.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "currentColor", className: "bi bi-chevron-up", viewBox: "0 0 16 16", children: (0, t.jsx)("path", { fillRule: "evenodd", d: "M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z" }) }) }) : (0, t.jsx)("div", {}), (0, t.jsx)("footer", { className: p().footer, children: "Copyright \xa9 2026 江壹纯和她的家人们" })] }), (0, t.jsxs)(B.Z, { show: w, onHide: function() { return N(!1) }, children: [(0, t.jsx)(B.Z.Header, { closeButton: !0, children: (0, t.jsx)(B.Z.Title, { children: "江壹纯の自我介绍" }) }), (0, t.jsxs)(B.Z.Body, { children: [ (0, t.jsx)("p", { className: p().introParagraph, children: "个人势精灵VUP,谢谢你能听我唱歌。 / 开播通知群:883462470 ❥ 网易yun:江壹纯" }), ] })] }), (0, t.jsx)(P, { show: Y, onHide: function() { return Z(!1) }, BVID: W, modalPlayerSongName: M })] }) } }, 3485: function(i) { "use strict"; i.exports = function(i) { var a = i.src; return "/".concat(a) } }, 214: function(i) { i.exports = { footer: "Home_footer____T7K", main: "Home_main__nLjiQ", grandTitle: "Home_grandTitle__vj4bo", songListMarco: "Home_songListMarco__E7n36", noWrapForce: "Home_noWrapForce__ZVcGp", avatar: "Home_avatar__Nx8VL", songRow: "Home_songRow__oXk35", songRowTop: "Home_songRowTop__lBxZI", songRowPaid: "Home_songRowPaid__CF84t", filters: "Home_filters__bAJEh", customRandomButton: "Home_customRandomButton__etExJ", customCategoryButton: "Home_customCategoryButton__Wj433", splitBtn: "Home_splitBtn__agq3N", customCategoryButtonActive: "Home_customCategoryButtonActive__EyYqP", splitBtnActive: "Home_splitBtnActive__oWBxn", backToTopBtn: "Home_backToTopBtn__IkJo2", tableIconTd: "Home_tableIconTd__XPlmO", tableIcons: "Home_tableIcons__NIcFZ", biliIcon: "Home_biliIcon__vAY_x", categorySelectionContainer: "Home_categorySelectionContainer__xmJCY", outerContainer: "Home_outerContainer__cYXfd", categorySelectionTitle: "Home_categorySelectionTitle__k_0l3", introBox: "Home_introBox__95Aha", introBoxInnerDiv: "Home_introBoxInnerDiv__7rfuV", titleCol: "Home_titleCol__7_LXx", titleBox: "Home_titleBox__Q6Ce_", offCanvasToggleDiv: "Home_offCanvasToggleDiv__hsudI", goToLiveDiv: "Home_goToLiveDiv__UfCoe", biliPlayerDiv: "Home_biliPlayerDiv__mbFbX", introTitle: "Home_introTitle__gStVp", introParagraph: "Home_introParagraph__A_Arp", cornerToggle: "Home_cornerToggle__SpF89" } } }, function(i) { i.O(0, [658, 774, 888, 179], (function() { return a = 5557, i(i.s = a); var a })); var a = i.O(); _N_E = a } ]);