@serifpersia/dango 3.4.5 → 3.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/client/dist/assets/{AnimeCard-I3S6qw9d.js → AnimeCard-Cll26FQe.js} +1 -1
- package/client/dist/assets/{AnimeInfo-CLU2NSBR.js → AnimeInfo-zMQgNycF.js} +1 -1
- package/client/dist/assets/{AnimeInfoPage-4Mw9ArDy.js → AnimeInfoPage-DEPX3FFf.js} +2 -2
- package/client/dist/assets/Asmr-BbHVH9pC.js +2 -0
- package/client/dist/assets/Asmr-D1KuQwQy.css +1 -0
- package/client/dist/assets/Asmr.module-CdWlioTY.js +1 -0
- package/client/dist/assets/{AsmrResetProgressModal-DyU1Z2Gw.js → AsmrResetProgressModal-D4zRL_b8.js} +1 -1
- package/client/dist/assets/AvSyncCalibrator-CbzA-56T.js +10 -0
- package/client/dist/assets/{AvSyncCalibrator-C2wu1ydI.css → AvSyncCalibrator-gEONBv5a.css} +1 -1
- package/client/dist/assets/Home-q7a1RjQM.js +1 -0
- package/client/dist/assets/{Insights-i34-qV4C.js → Insights-6H3qK9Q_.js} +1 -1
- package/client/dist/assets/{LibraryListPage-DE-ASOX2.js → LibraryListPage-Cc-I_48d.js} +1 -1
- package/client/dist/assets/ListeningList-CxfHV13T.js +1 -0
- package/client/dist/assets/Manga-BmNPKJB8.js +1 -0
- package/client/dist/assets/Manga-CqAceKxR.css +1 -0
- package/client/dist/assets/Manga.module-depGEacJ.js +1 -0
- package/client/dist/assets/MangaInfoPage-Csyq4TAu.js +1 -0
- package/client/dist/assets/MangaReadPage-jaSR2qX6.js +1 -0
- package/client/dist/assets/{MangaResetProgressModal-DOjpLAMp.js → MangaResetProgressModal-DrfFCtDE.js} +1 -1
- package/client/dist/assets/{Mature-D2xb9EGB.js → Mature-20QVU1lQ.js} +1 -1
- package/client/dist/assets/{MediaCard-CKUEcFTd.js → MediaCard-CoRm07Vb.js} +1 -1
- package/client/dist/assets/Music-Yry6890T.js +1 -0
- package/client/dist/assets/OptionListMenu-DSTuvk6i.js +1 -0
- package/client/dist/assets/Player-yVWIsyOS.js +56 -0
- package/client/dist/assets/PlayerSettings-CiazXo-J.js +1 -0
- package/client/dist/assets/{QueueOptionsButton-BMvAC6Ut.js → QueueOptionsButton-CpyBvbsh.js} +1 -1
- package/client/dist/assets/{QueueRail-CAoGJvHP.js → QueueRail-DRxByiUx.js} +1 -1
- package/client/dist/assets/Radio-DxL91QOj.js +1 -0
- package/client/dist/assets/ReadingList-CNm6nFC1.js +1 -0
- package/client/dist/assets/{ResetProgressModal-vFC6N-Qw.js → ResetProgressModal-DiYoRAaR.js} +1 -1
- package/client/dist/assets/{Search-Bh9Y6nIJ.js → Search-BBRaD1PE.js} +1 -1
- package/client/dist/assets/{Settings-DRumujfh.js → Settings-C3ZhNo9P.js} +1 -1
- package/client/dist/assets/{SkeletonGrid-BtzUnQE0.js → SkeletonGrid-BAQn8Rru.js} +1 -1
- package/client/dist/assets/{Trackers-D0nqy8wu.js → Trackers-CZd3KCwM.js} +1 -1
- package/client/dist/assets/Tv-O1-yrBt9.js +4 -0
- package/client/dist/assets/{TvInfo-BkECbOKN.js → TvInfo-oMcOTrSG.js} +1 -1
- package/client/dist/assets/{TvPopup-D8WWY6o4.js → TvPopup-BaAmlbH4.js} +1 -1
- package/client/dist/assets/{TvSearch-kWPep3gL.js → TvSearch-CjGUazdR.js} +1 -1
- package/client/dist/assets/{TvWatchlist-dD4emIHx.js → TvWatchlist-W51KZDQP.js} +1 -1
- package/client/dist/assets/{Watchlist-cWxw38nU.js → Watchlist-DBtN7kPt.js} +1 -1
- package/client/dist/assets/{hls-uG_Y3i5s.js → hls-CSxWA5I-.js} +1 -1
- package/client/dist/assets/index-CQWyVhME.js +178 -0
- package/client/dist/assets/page-DRvjODkg.css +1 -0
- package/client/dist/assets/page.module-C1MlZzf3.js +1 -0
- package/client/dist/assets/{useAnimeInfoData-DjPBg24u.js → useAnimeInfoData-CthDMEMc.js} +1 -1
- package/client/dist/assets/{useAsmr-DQyobNQX.js → useAsmr-DH8inTBw.js} +1 -1
- package/client/dist/assets/useAsmrPopup-BfkGmSSw.js +1 -0
- package/client/dist/assets/{useMangaLibrary-C6L8mrnS.js → useMangaLibrary-CpQLCvkU.js} +1 -1
- package/client/dist/assets/useMangaPopup-B5LXZINf.js +1 -0
- package/client/dist/assets/usePopup-DS9jMzp6.js +1 -0
- package/client/dist/assets/useProviders-DYy7lHj6.js +1 -0
- package/client/dist/assets/{useTv-DzSYasru.js → useTv-DvKLIudk.js} +1 -1
- package/client/dist/assets/{useTvLibrary-BnbHS-gg.js → useTvLibrary-ChI7tnUw.js} +1 -1
- package/client/dist/index.html +1 -1
- package/package.json +2 -2
- package/server/dist/hono/proxy.js +102 -75
- package/server/dist/hono/tv.js +2 -2
- package/server/dist/hono/watchlist.js +2 -291
- package/server/dist/lib/anilist.js +0 -3
- package/server/dist/lib/mal.js +0 -38
- package/server/dist/lib/offline-db.js +0 -6
- package/server/dist/providers/remote-loader.js +15 -26
- package/server/dist/providers/title-matching.js +5 -5
- package/server/dist/repositories/manga.repository.js +0 -1
- package/server/dist/repositories/watched-episodes.repository.js +0 -2
- package/server/dist/utils/megaplay.utils.js +1 -2
- package/server/package.json +1 -1
- package/client/dist/assets/Asmr-Cq2ua6Zk.css +0 -1
- package/client/dist/assets/Asmr-DN9XBc5Y.js +0 -2
- package/client/dist/assets/Asmr.module-ChUXDZKx.js +0 -1
- package/client/dist/assets/AvSyncCalibrator-DxL0mr_4.js +0 -10
- package/client/dist/assets/Home-CeTeJ-gM.js +0 -1
- package/client/dist/assets/ListeningList-DrNce5ll.js +0 -1
- package/client/dist/assets/Manga-DOrf7Fk6.js +0 -1
- package/client/dist/assets/Manga-Dp_-l1Pw.css +0 -1
- package/client/dist/assets/Manga.module-BcfOdsNP.js +0 -1
- package/client/dist/assets/MangaInfoPage-CAZMLMGw.js +0 -1
- package/client/dist/assets/MangaReadPage-DQVEo8_F.js +0 -1
- package/client/dist/assets/Music-w_a34r7r.js +0 -1
- package/client/dist/assets/OptionListMenu-DxZHBMIZ.js +0 -1
- package/client/dist/assets/Player-B8YHeATv.js +0 -56
- package/client/dist/assets/PlayerSettings-Ddlg-MvW.js +0 -1
- package/client/dist/assets/Radio-6O7rAUv1.js +0 -1
- package/client/dist/assets/ReadingList-k3g8oHvs.js +0 -1
- package/client/dist/assets/Tv-DVebLMNS.js +0 -4
- package/client/dist/assets/index-BWIWE3Qy.js +0 -178
- package/client/dist/assets/useAsmrPopup-CDoroMBD.js +0 -1
- package/client/dist/assets/useMangaPopup-BSuMa_vA.js +0 -1
- package/client/dist/assets/useProviders-XIdvDof6.js +0 -1
package/server/dist/lib/mal.js
CHANGED
|
@@ -153,44 +153,6 @@ function detailToSearchEntry(d) {
|
|
|
153
153
|
score: d.score,
|
|
154
154
|
};
|
|
155
155
|
}
|
|
156
|
-
export function toSearchEntry(e) {
|
|
157
|
-
if (!e || !e.malId || !e.title)
|
|
158
|
-
return null;
|
|
159
|
-
return {
|
|
160
|
-
id: -e.malId,
|
|
161
|
-
idMal: e.malId,
|
|
162
|
-
url: e.url ?? `https://myanimelist.net/anime/${e.malId}`,
|
|
163
|
-
title: e.title,
|
|
164
|
-
imageUrl: e.imageUrl ?? null,
|
|
165
|
-
synopsis: e.synopsis ?? null,
|
|
166
|
-
type: e.type ?? null,
|
|
167
|
-
episodes: e.episodes ?? null,
|
|
168
|
-
score: e.score ?? null,
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
export function toDetail(e, malId) {
|
|
172
|
-
if (!e || !e.title)
|
|
173
|
-
return null;
|
|
174
|
-
const genres = (Array.isArray(e.genres) ? e.genres : [])
|
|
175
|
-
.map((g) => (typeof g === 'string' ? g : g?.name))
|
|
176
|
-
.filter((g) => !!g);
|
|
177
|
-
return {
|
|
178
|
-
id: -malId,
|
|
179
|
-
idMal: malId,
|
|
180
|
-
url: e.url ?? `https://myanimelist.net/anime/${malId}`,
|
|
181
|
-
title: e.title,
|
|
182
|
-
titleEnglish: e.titleEnglish ?? null,
|
|
183
|
-
titleJapanese: e.titleJapanese ?? null,
|
|
184
|
-
imageUrl: e.imageUrl ?? e.images?.medium ?? null,
|
|
185
|
-
synopsis: e.synopsis ?? null,
|
|
186
|
-
type: e.type ?? null,
|
|
187
|
-
episodes: e.episodes ?? null,
|
|
188
|
-
status: e.status ?? null,
|
|
189
|
-
score: e.score ?? null,
|
|
190
|
-
rating: e.rating ?? null,
|
|
191
|
-
genres,
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
156
|
function mapMalStatus(status) {
|
|
195
157
|
if (!status)
|
|
196
158
|
return undefined;
|
|
@@ -208,12 +208,6 @@ class OfflineDb {
|
|
|
208
208
|
getByAnilistId(anilistId) {
|
|
209
209
|
return this.anilistToEntry.get(anilistId) ?? null;
|
|
210
210
|
}
|
|
211
|
-
getAnilistIdByMal(malId) {
|
|
212
|
-
return this.malToEntry.get(malId)?.anilistId ?? null;
|
|
213
|
-
}
|
|
214
|
-
getMalIdByAnilist(anilistId) {
|
|
215
|
-
return this.anilistToMal.get(anilistId) ?? null;
|
|
216
|
-
}
|
|
217
211
|
async getOfflineDbInfo(db) {
|
|
218
212
|
const get = async (key) => (await SettingsRepository.getByKey(db, key))?.value ?? null;
|
|
219
213
|
const autoUpdate = await get('offlineDbAutoUpdateEnabled');
|
|
@@ -9,6 +9,7 @@ import logger from '../logger.js';
|
|
|
9
9
|
import { CONFIG } from '../config.js';
|
|
10
10
|
import { requestContext } from '../utils/request-context.js';
|
|
11
11
|
import { sanitizeCfClearance, buildCfClearanceCookie } from '../utils/cookie.utils.js';
|
|
12
|
+
import { base64UrlEncode } from '../utils/megaplay.utils.js';
|
|
12
13
|
import { decodeMaybeGzip, parseJsonBody } from '../utils/http.utils.js';
|
|
13
14
|
import { buildQueryVariants, pickBestMatch } from './title-matching.js';
|
|
14
15
|
import { anilistRequest, parseMalId, searchAnilistByTitle } from '../lib/anilist.js';
|
|
@@ -71,13 +72,6 @@ function resolveEntryUrl(entry, registryUrl) {
|
|
|
71
72
|
function sha256Hex(data) {
|
|
72
73
|
return crypto.createHash('sha256').update(data).digest('hex');
|
|
73
74
|
}
|
|
74
|
-
function base64UrlEncode(input) {
|
|
75
|
-
return Buffer.from(input)
|
|
76
|
-
.toString('base64')
|
|
77
|
-
.replace(/\+/g, '-')
|
|
78
|
-
.replace(/\//g, '_')
|
|
79
|
-
.replace(/=+$/, '');
|
|
80
|
-
}
|
|
81
75
|
function aes256CbcDecryptJson(b64url, keyUtf8, ivUtf8) {
|
|
82
76
|
let encrypted;
|
|
83
77
|
try {
|
|
@@ -272,31 +266,26 @@ function createCtx(cache) {
|
|
|
272
266
|
},
|
|
273
267
|
};
|
|
274
268
|
}
|
|
275
|
-
function
|
|
269
|
+
function shapeOf(p) {
|
|
276
270
|
if (!p || typeof p !== 'object')
|
|
277
|
-
return
|
|
271
|
+
return null;
|
|
278
272
|
const o = p;
|
|
279
|
-
return
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
273
|
+
return typeof o.name === 'string' ? o : null;
|
|
274
|
+
}
|
|
275
|
+
function hasFns(o, fns) {
|
|
276
|
+
return fns.every((f) => typeof o[f] === 'function');
|
|
277
|
+
}
|
|
278
|
+
function isValidVideoProvider(p) {
|
|
279
|
+
const o = shapeOf(p);
|
|
280
|
+
return !!o && hasFns(o, ['search', 'getEpisodes', 'getStreamUrls']);
|
|
283
281
|
}
|
|
284
282
|
function isValidMangaProvider(p) {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
const o = p;
|
|
288
|
-
return (typeof o.name === 'string' &&
|
|
289
|
-
typeof o.search === 'function' &&
|
|
290
|
-
typeof o.getDetail === 'function' &&
|
|
291
|
-
typeof o.getChapters === 'function' &&
|
|
292
|
-
typeof o.getPages === 'function');
|
|
283
|
+
const o = shapeOf(p);
|
|
284
|
+
return !!o && hasFns(o, ['search', 'getDetail', 'getChapters', 'getPages']);
|
|
293
285
|
}
|
|
294
286
|
function isValidTvProvider(p) {
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
const o = p;
|
|
298
|
-
return (typeof o.name === 'string' &&
|
|
299
|
-
(typeof o.getSources === 'function' || typeof o.getEmbedUrl === 'function'));
|
|
287
|
+
const o = shapeOf(p);
|
|
288
|
+
return !!o && (typeof o.getSources === 'function' || typeof o.getEmbedUrl === 'function');
|
|
300
289
|
}
|
|
301
290
|
function makeEmbedProvider(id, base) {
|
|
302
291
|
const root = base.trim().replace(/\/+$/, '');
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
function normalizeCompact(s) {
|
|
2
2
|
return s.toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
3
3
|
}
|
|
4
|
-
|
|
4
|
+
function tokenize(s) {
|
|
5
5
|
return s
|
|
6
6
|
.toLowerCase()
|
|
7
7
|
.replace(/[^\p{L}\p{N}\s]/gu, ' ')
|
|
8
8
|
.split(/\s+/)
|
|
9
9
|
.filter((w) => w.length >= 2);
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
function bigramDice(a, b) {
|
|
12
12
|
if (a.length < 2 || b.length < 2)
|
|
13
13
|
return a === b ? 1 : 0;
|
|
14
14
|
const grams = (s) => {
|
|
@@ -129,10 +129,10 @@ function detectSeasonMarker(s) {
|
|
|
129
129
|
return trailingNum[1];
|
|
130
130
|
return '';
|
|
131
131
|
}
|
|
132
|
-
|
|
132
|
+
function distinctiveTokens(s) {
|
|
133
133
|
return [...new Set(tokenize(s).filter((w) => !STOPWORDS.has(w)))];
|
|
134
134
|
}
|
|
135
|
-
|
|
135
|
+
function titleSimilarity(query, candidate) {
|
|
136
136
|
const q = normalizeCompact(query);
|
|
137
137
|
const c = normalizeCompact(candidate);
|
|
138
138
|
if (!q || !c)
|
|
@@ -28,7 +28,6 @@ export const MangaLibraryRepository = {
|
|
|
28
28
|
.set({ anilistId, anilistIdSource: source })
|
|
29
29
|
.where(eq(mangaLibrary.id, id))
|
|
30
30
|
: getDrizzle(db).update(mangaLibrary).set({ anilistId }).where(eq(mangaLibrary.id, id)),
|
|
31
|
-
getByAnilistId: (db, anilistId) => getDrizzle(db).all(sql `SELECT * FROM manga_library WHERE anilistId = ${anilistId}`),
|
|
32
31
|
touchProgress: (db, id, progress) => getDrizzle(db).run(sql `
|
|
33
32
|
UPDATE manga_library SET lastChapterId = ${progress.chapterId}, lastChapterNumber = ${progress.chapterNumber}, lastPage = ${progress.page}, updatedAt = strftime('%s', 'now') WHERE id = ${id}`),
|
|
34
33
|
setProgressPointer: (db, id, chapterNumber) => getDrizzle(db).run(sql `
|
|
@@ -79,6 +79,4 @@ export const WatchedEpisodesRepository = {
|
|
|
79
79
|
ORDER BY we.watchedAt DESC
|
|
80
80
|
${sql.raw(limitClause)}`);
|
|
81
81
|
},
|
|
82
|
-
getEpisodesForShows: (db, showIds) => getDrizzle(db).all(sql `
|
|
83
|
-
SELECT showId, episodeNumber, currentTime, duration, watchedAt FROM watched_episodes WHERE showId IN (${sql.join(showIds.map((id) => sql `${id}`), sql `, `)})`),
|
|
84
82
|
};
|
|
@@ -2,8 +2,7 @@ import { createHmac } from 'node:crypto';
|
|
|
2
2
|
const MEGAPLAY_CDN_TOKEN_KEY = 'MpCdnT0k3n!9f2K#xQ7vL5mR8wN1pY4s';
|
|
3
3
|
export const MEGAPLAY_CDN_TOKEN_TTL_SECONDS = 120;
|
|
4
4
|
export const MEGAPLAY_ORIGIN = 'https://megaplay.buzz';
|
|
5
|
-
export
|
|
6
|
-
function base64UrlEncode(input) {
|
|
5
|
+
export function base64UrlEncode(input) {
|
|
7
6
|
return Buffer.from(input)
|
|
8
7
|
.toString('base64')
|
|
9
8
|
.replace(/\+/g, '-')
|
package/server/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._page_aacjp_1{max-width:var(--layout-asmr-max-width);margin:0 auto;padding:var(--space-6) var(--space-4);min-height:calc(100vh - var(--layout-page-offset))}._pageWithPlayer_aacjp_8{padding-bottom:var(--layout-page-offset)}._header_aacjp_12{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}._pageTitle_aacjp_20{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xl);margin:0;color:var(--text-primary)}._searchForm_aacjp_29{display:flex;flex:1;min-width:var(--size-220);max-width:var(--size-480);border:var(--space-px) solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden}._searchForm_aacjp_29:focus-within{border-color:var(--accent)}._searchInput_aacjp_44{flex:1;min-width:0;padding:var(--space-2-5) var(--space-3);border:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-sm);outline:none}._searchBtn_aacjp_55{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--size-44);border:none;border-left:var(--space-px) solid var(--border-primary);background:var(--accent);color:var(--accent-text);cursor:pointer}._sortSelect_aacjp_68{padding:var(--space-2-5) var(--space-3);border:var(--space-px) solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer}._grid_aacjp_78{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--size-250),1fr));gap:var(--space-4);transition:opacity var(--transition-fast)}._fetching_aacjp_85{opacity:.45;pointer-events:none}._card_aacjp_90{display:flex;flex-direction:column;text-align:left;padding:0;border:none;background:none;cursor:pointer;color:inherit}._thumbWrap_aacjp_101{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-tertiary);transition:transform var(--transition-fast) var(--ease-smooth),box-shadow var(--transition-fast) var(--ease-smooth)}._card_aacjp_90:hover ._thumbWrap_aacjp_101{transform:translateY(calc(var(--space-1) * -1));box-shadow:var(--shadow-lg)}._thumb_aacjp_101{width:100%;height:100%;object-fit:cover;display:block}._thumbPlaceholder_aacjp_124{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}._adultBadge_aacjp_132{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-2px) var(--space-2);border-radius:var(--radius-full);background:var(--color-danger-bg);color:var(--text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}._cardTitle_aacjp_144{margin:var(--space-2) 0 var(--space-2px);font-size:var(--font-size-sm);color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}._cardMeta_aacjp_154{margin:0;font-size:var(--font-size-xs);color:var(--text-tertiary)}._asmrCardWrap_aacjp_160{position:relative;min-width:0}._bookmarkBtn_aacjp_165{position:absolute;top:var(--space-2);right:var(--space-2);width:28px;height:28px;border-radius:50%;background-color:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease,transform .15s ease;z-index:20}._asmrCardWrap_aacjp_160:hover ._bookmarkBtn_aacjp_165,._asmrCardWrap_aacjp_160:focus-within ._bookmarkBtn_aacjp_165,._bookmarkBtn_aacjp_165._bookmarked_aacjp_189{opacity:1}._bookmarkBtn_aacjp_165:hover{background-color:var(--accent);border-color:var(--accent);color:var(--accent-text);transform:scale(1.08)}._bookmarkBtn_aacjp_165._bookmarked_aacjp_189{background-color:var(--accent);border-color:var(--accent);color:var(--accent-text)}._popupCover_aacjp_206{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--space-3);background:var(--bg-tertiary)}@media(hover:none),(pointer:coarse){._bookmarkBtn_aacjp_165{opacity:1}}@media(max-width:768px){._popupCover_aacjp_206{aspect-ratio:3 / 4;max-height:38vh}}._statusMsg_aacjp_229{text-align:center;color:var(--text-secondary);padding:var(--space-8) 0}._skeletonCard_aacjp_237{display:flex;flex-direction:column}._skeletonThumb_aacjp_242{aspect-ratio:4 / 3;border-radius:var(--radius-lg);background:var(--bg-tertiary)}._skeletonLine_aacjp_248{height:var(--space-3);border-radius:var(--radius-xs);margin-top:var(--space-2);background:var(--bg-tertiary)}._shimmer_aacjp_255{position:relative;overflow:hidden}._shimmer_aacjp_255:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--shimmer-highlight),transparent);animation:_skeleton-wave_aacjp_1 var(--duration-shimmer) infinite}._pagination_aacjp_269{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-6)}._pageBtn_aacjp_277{padding:var(--space-2) var(--space-5);border:var(--space-px) solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer}._pageBtn_aacjp_277:disabled{opacity:.4;cursor:not-allowed}._pageIndicator_aacjp_291{color:var(--text-secondary);font-size:var(--font-size-sm)}._matureToggleWrap_aacjp_296{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}._matureLabel_aacjp_303{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-secondary)}._translateToggleWrap_aacjp_309{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}._filterTogglesGroup_aacjp_316{display:flex;align-items:center;gap:var(--space-4);margin-left:auto}._filterTogglesGroup_aacjp_316 ._translateToggleWrap_aacjp_309,._filterTogglesGroup_aacjp_316 ._matureToggleWrap_aacjp_296{margin-left:0}._filterBar_aacjp_328{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}._filterLabel_aacjp_335{font-size:var(--font-size-sm);color:var(--text-secondary)}._detailOverlay_aacjp_340{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:var(--bg-overlay-heavy);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));padding:var(--space-4)}._detailModal_aacjp_352{position:relative;width:min(var(--size-720),100%);max-height:85vh;overflow-y:auto;border-radius:var(--radius-xl);border:var(--space-px) solid var(--border-secondary);background:var(--bg-elevated);box-shadow:var(--glass-shadow);padding:var(--space-5)}._detailClose_aacjp_364{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;align-items:center;justify-content:center;width:var(--size-34);height:var(--size-34);border:none;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}._detailHeader_aacjp_380{display:flex;flex-direction:column;gap:var(--space-4)}._detailCover_aacjp_386{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0;background:var(--bg-tertiary)}._detailInfo_aacjp_395{min-width:0}._detailTitle_aacjp_399{margin:0 0 var(--space-2);font-size:var(--font-size-lg);color:var(--text-primary);line-height:1.35}._detailRj_aacjp_406{margin:0 0 var(--space-3);font-size:var(--font-size-xs);color:var(--text-tertiary)}._metaRow_aacjp_412{margin:0 0 4px;font-size:var(--font-size-sm);color:var(--text-secondary)}._metaLabel_aacjp_418{display:inline-block;min-width:var(--space-16);color:var(--text-tertiary)}._tagChips_aacjp_424{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}._tagChip_aacjp_424{padding:var(--space-2px) var(--space-2);border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-xs)}._npOverlay_aacjp_440{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;flex-direction:column;background:var(--bg-dark);overflow:hidden;overscroll-behavior:contain}body.asmr-player-open{overflow:hidden}._playerBarDocked_aacjp_455{position:static;transform:translateY(0);max-height:var(--size-240);overflow:visible;transition:transform var(--transition-emphasized),max-height var(--transition-emphasized),opacity var(--transition-base),padding var(--transition-base),border-width var(--transition-base);will-change:transform,max-height,opacity}._playerBarDockedHidden_aacjp_469{max-height:0!important;opacity:0;transform:translateY(18%);padding-top:0!important;padding-bottom:0!important;border-width:0!important;pointer-events:none;overflow:hidden!important}._npOverlayControlsHidden_aacjp_480 ._npArrow_aacjp_480,._npOverlayControlsHidden_aacjp_480 ._npImageCount_aacjp_481{opacity:0;pointer-events:none;transform:translateY(-50%) scale(.96);transition:opacity var(--transition-base),transform var(--transition-emphasized)}._npOverlayControlsHidden_aacjp_480 ._npStage_aacjp_490{cursor:pointer}._npStage_aacjp_490{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--bg-black);transition:padding var(--transition-emphasized)}._npStage_aacjp_490,._sliderViewport_aacjp_506,._slide_aacjp_506,._slideImg_aacjp_508{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;outline:none;-webkit-user-select:none;user-select:none}._npStage_aacjp_490:focus,._sliderViewport_aacjp_506:focus,._slide_aacjp_506:focus,._slideImg_aacjp_508:focus{outline:none!important;box-shadow:none!important}._slideImg_aacjp_508::-moz-focus-inner{border:0}._npStageBlank_aacjp_527{background:var(--bg-dark)}._npStageImg_aacjp_531{max-width:min(92vw,var(--size-900));max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}._sliderViewport_aacjp_506{position:absolute;inset:0;overflow:hidden}._sliderTrack_aacjp_546{display:flex;height:100%;transition:transform var(--transition-normal);will-change:transform}._slide_aacjp_506{flex:0 0 100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-5) var(--size-84);box-sizing:border-box;transition:padding var(--transition-emphasized)}._slideImg_aacjp_508{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;opacity:0;transform:scale(.985);-webkit-tap-highlight-color:transparent;outline:none;transition:opacity var(--transition-base),transform var(--transition-emphasized),max-height var(--transition-emphasized)}._slideImgLoaded_aacjp_579{opacity:1;transform:none}._slideSpinner_aacjp_584{position:absolute;left:50%;top:50%;width:var(--size-44);height:var(--size-44);margin:calc(var(--size-22) * -1) 0 0 calc(var(--size-22) * -1);border-radius:var(--radius-full);border:var(--space-2px) solid var(--border-strong);border-top-color:var(--text-primary);animation:_spin_aacjp_1 var(--duration-spin) linear infinite;pointer-events:none}@keyframes _spin_aacjp_1{to{transform:rotate(360deg)}}._npArrow_aacjp_480{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:var(--size-48);height:var(--size-48);border:var(--space-px) solid var(--border-strong);border-radius:var(--radius-full);background:var(--bg-scrim);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));box-shadow:var(--shadow-scrim);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast)}._npArrow_aacjp_480:hover:not(:disabled){background:var(--bg-scrim-strong)}._npArrow_aacjp_480:disabled{opacity:.25;cursor:not-allowed}._npArrowLeft_aacjp_634{left:var(--space-5)}._npArrowRight_aacjp_638{right:var(--space-5)}._npImageCount_aacjp_481{position:absolute;top:calc(var(--space-4) + var(--space-16));right:var(--space-4);padding:var(--space-2px) var(--space-2-5);border-radius:var(--radius-full);background:var(--bg-overlay-strong);color:var(--text-secondary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;z-index:var(--z-base)}._chapterPanel_aacjp_655{position:absolute;bottom:calc(100% + var(--space-2-5));right:var(--space-5);width:min(var(--size-440),calc(100vw - var(--space-8)));max-height:min(46vh,var(--size-420));overflow-y:auto;background:var(--bg-elevated);border:var(--space-px) solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);padding:var(--space-1-5);z-index:var(--z-dropdown)}._chapterRow_aacjp_670{display:flex;align-items:baseline;gap:var(--space-3);width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm)}._chapterRow_aacjp_670:hover{background:var(--bg-tertiary)}._chapterRowActive_aacjp_689{background:var(--bg-selected)}._chapterRowTime_aacjp_693{flex-shrink:0;color:var(--text-tertiary);font-variant-numeric:tabular-nums}._chapterRowActive_aacjp_689 ._chapterRowTime_aacjp_693{color:var(--accent);font-weight:var(--font-weight-semibold)}._chapterRowLabel_aacjp_704{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._npBackdrop_aacjp_710{position:fixed;inset:0;z-index:-1}._playerBtn_aacjp_716._playerBtnActive_aacjp_716{color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,transparent);box-shadow:0 0 10px var(--accent-glow)}._tracksSection_aacjp_722{margin-top:var(--space-5)}._tracksHeading_aacjp_726{font-size:var(--font-size-base);color:var(--text-primary);margin:0 0 var(--space-2)}._trackList_aacjp_732{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1-5)}._trackRow_aacjp_741{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:var(--space-px) solid var(--border-secondary);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm)}._trackRow_aacjp_741:hover{border-color:var(--accent)}._trackIcon_aacjp_759{color:var(--accent);flex-shrink:0}._trackLabel_aacjp_764{flex:1;text-align:left}._trackType_aacjp_769{font-size:var(--font-size-xs);color:var(--text-tertiary)}._noTracks_aacjp_774{color:var(--text-secondary);font-size:var(--font-size-sm)}._playAllBtn_aacjp_779{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-5);border:none;border-radius:var(--radius-md);background:var(--accent);color:var(--accent-text);font-size:var(--font-size-base);cursor:pointer}._detailActions_aacjp_792{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}._playerBar_aacjp_455{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-overlay);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2-5) var(--space-5);padding-bottom:calc(var(--space-2-5) + env(safe-area-inset-bottom,0px));background:var(--glass-bg);border-top:var(--space-px) solid var(--glass-border);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg))}._playerActions_aacjp_815{display:flex;align-items:center;gap:var(--space-2)}._playerInfo_aacjp_821{min-width:0;width:var(--size-240)}._playerTitle_aacjp_826{margin:0;font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._playerTrack_aacjp_835{margin:var(--space-2px) 0 0;font-size:var(--font-size-xs);color:var(--text-tertiary)}._playerControls_aacjp_841{display:flex;align-items:center;gap:var(--space-3);flex:1}._seekRow_aacjp_848{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}._playerButtons_aacjp_856{display:flex;align-items:center;gap:var(--space-2)}._playerBtn_aacjp_716{display:flex;align-items:center;justify-content:center;width:var(--size-36);height:var(--size-36);border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-quick),opacity var(--transition-fast)}._playerBtn_aacjp_716:disabled{opacity:.35;cursor:not-allowed}@media(hover:hover)and (pointer:fine){._playerBtn_aacjp_716:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}._seekBtn_aacjp_891:hover:not(:disabled){background:var(--bg-hover-strong);color:var(--accent)}._seekBtn_aacjp_891:hover ._seekBtnLabel_aacjp_896{background:var(--accent);color:var(--accent-text)}._playBtn_aacjp_901:hover:not(:disabled){background:var(--accent-light);color:var(--accent-text);box-shadow:0 0 12px var(--accent-glow)}}._playerBtn_aacjp_716:active:not(:disabled){transform:scale(.94);transition:transform var(--transition-quick),background var(--transition-quick)}._playBtn_aacjp_901{background:var(--accent);color:var(--accent-text);width:var(--size-42);height:var(--size-42)}._playBtn_aacjp_901:disabled{opacity:1}._seekBtn_aacjp_891{position:relative;font-size:var(--font-size-sm);color:var(--text-primary)}._seekBtnLabel_aacjp_896{position:absolute;bottom:var(--space-px);left:50%;transform:translate(-50%);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);line-height:1;letter-spacing:-.02em;background:var(--bg-overlay);color:var(--text-primary);padding:var(--space-px) var(--space-2px);border-radius:var(--radius-sm);pointer-events:none}._seekBar_aacjp_948,._volumeBar_aacjp_949{-webkit-appearance:none;appearance:none;height:var(--size-18);background:transparent;cursor:pointer}._seekBar_aacjp_948::-webkit-slider-runnable-track,._volumeBar_aacjp_949::-webkit-slider-runnable-track{width:100%;height:var(--space-1);border-radius:var(--space-1)}._seekBar_aacjp_948::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--played-percent, 0%),var(--track-buffered) var(--played-percent, 0%),var(--track-buffered) var(--buffered-percent, 0%),var(--track-bg) var(--buffered-percent, 0%),var(--track-bg) 100%)}._volumeBar_aacjp_949::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--volume-percent, 100%),var(--track-bg) var(--volume-percent, 100%),var(--track-bg) 100%)}._seekBar_aacjp_948::-moz-range-track{width:100%;height:var(--space-1);border-radius:var(--space-1);background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--played-percent, 0%),var(--track-buffered) var(--played-percent, 0%),var(--track-buffered) var(--buffered-percent, 0%),var(--track-bg) var(--buffered-percent, 0%),var(--track-bg) 100%)}._volumeBar_aacjp_949::-moz-range-track{width:100%;height:var(--space-1);border-radius:var(--space-1);background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--volume-percent, 100%),var(--track-bg) var(--volume-percent, 100%),var(--track-bg) 100%)}._seekBar_aacjp_948::-webkit-slider-thumb,._volumeBar_aacjp_949::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:var(--space-3);width:var(--space-3);border-radius:var(--radius-full);background:var(--text-primary);margin-top:calc(var(--space-1) * -1);box-shadow:var(--shadow-thumb)}._seekBar_aacjp_948::-moz-range-thumb,._volumeBar_aacjp_949::-moz-range-thumb{height:var(--space-3);width:var(--space-3);border:none;border-radius:var(--radius-full);background:var(--text-primary);box-shadow:var(--shadow-thumb)}._seekBar_aacjp_948{flex:1;min-width:0}._timeLabel_aacjp_1041{font-size:var(--font-size-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}._playerRight_aacjp_1047{display:flex;align-items:center;gap:var(--space-2)}._volumeIcon_aacjp_1053{color:var(--text-secondary)}._volumeBar_aacjp_949{width:var(--size-90)}@media(max-width:768px){._detailHeader_aacjp_380{flex-direction:column}._detailCover_aacjp_386{width:100%}._filterBar_aacjp_328{flex-wrap:wrap}._filterBar_aacjp_328 ._sortSelect_aacjp_68{flex:1 1 var(--size-140);min-width:0}._pageWithPlayer_aacjp_8{padding-bottom:var(--layout-player-mobile)}._playerBar_aacjp_455{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"toggle info actions" "controls controls controls" "volume volume volume";align-items:center;column-gap:var(--space-2);row-gap:var(--space-2px);padding:var(--space-2) var(--space-3);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px))}._playerToggle_aacjp_1097{grid-area:toggle}._playerInfo_aacjp_821{grid-area:info;width:auto}._playerActions_aacjp_815{grid-area:actions;margin-right:calc(var(--space-1-5) * -1)}._playerControls_aacjp_841{grid-area:controls;gap:var(--space-2);min-width:0;justify-content:center}._playerRight_aacjp_1047{grid-area:volume;width:100%}._volumeBar_aacjp_949{flex:1;width:auto;height:var(--space-6)}._slide_aacjp_506{padding:0 var(--size-52)}._npArrow_aacjp_480{width:var(--size-42);height:var(--size-42);opacity:.85}._npArrowLeft_aacjp_634{left:var(--space-2)}._npArrowRight_aacjp_638{right:var(--space-2)}._npImageCount_aacjp_481{top:calc(var(--space-3) + env(safe-area-inset-top,0px));right:var(--space-3)}._chapterPanel_aacjp_655{right:var(--space-3);max-height:55vh}}@media(max-width:768px)and (orientation:portrait){._npStage_aacjp_490{height:100%}._sliderViewport_aacjp_506{inset:0}._slide_aacjp_506{padding:0}._npOverlay_aacjp_440:not(._npOverlayControlsHidden_aacjp_480) ._slide_aacjp_506{padding-bottom:var(--space-2-5)}._npOverlay_aacjp_440:not(._npOverlayControlsHidden_aacjp_480) ._slideImg_aacjp_508{max-height:calc(100% - var(--space-2-5))}._slideImg_aacjp_508{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center}._playerBar_aacjp_455{grid-template-areas:"toggle info actions" "controls controls controls" "volume volume volume";row-gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3);padding-bottom:calc(var(--space-2-5) + env(safe-area-inset-bottom,0px))}._playerControls_aacjp_841{flex-direction:column;align-items:center;gap:var(--space-2);width:100%}._playerButtons_aacjp_856{justify-content:center;width:100%;gap:var(--space-1-5)}._seekRow_aacjp_848{width:100%;justify-content:center}._seekRow_aacjp_848 ._seekBar_aacjp_948{flex:1}._playerRight_aacjp_1047{justify-content:center;width:100%}._playerRight_aacjp_1047 ._volumeBar_aacjp_949{flex:1;width:100%;max-width:var(--size-320)}}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{T as Ve,u as e,A as j,d as m,h as N,a as Ge,g as $e,q as V,S as O,$ as Je,o as bt,p as vt}from"./vendor-core-DfaOB3Rn.js";import{I as y}from"./vendor-icons-DrybRNxP.js";import{u as yt}from"./vendor-query-BBT5_sHx.js";import{g as ue,t as Ee,W as kt,B as me,M as xe,X as I,z as le,Y as wt,T as ze}from"./index-BWIWE3Qy.js";import{M as Nt}from"./MediaCard-CKUEcFTd.js";import{c as Qe,a as Xe,d as Ct,e as Ze,f as et,g as St,h as Tt,i as At,j as Mt,k as Ye,l as Ie}from"./useAsmr-DQyobNQX.js";import{a as t}from"./Asmr.module-ChUXDZKx.js";import{u as xt,A as Lt}from"./useAsmrPopup-CDoroMBD.js";import{l as Rt}from"./hls-uG_Y3i5s.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";const Pt=({work:s,onClose:o,onPlay:S,t:g})=>{const{data:i,isLoading:h}=Qe(s.id||null),v=Xe(s),{data:A}=Ct(v||void 0),{toggle:k,bookmarkedIds:T}=Ze(),{data:B}=et(v||void 0),R=v?T.has(v):!!A?.inLibrary,C=Ve(()=>(i?.description||s.description||"").split(`
|
|
2
|
-
`).map(l=>{const u=l.indexOf(":");return u===-1?null:{label:l.slice(0,u),value:l.slice(u+1).trim()}}).filter(l=>!!l&&!!l.value),[i?.description,s.description]),f=i?.tracks||[],w=Ve(()=>{const l=B?.progress??[];return l.length>0?l.reduce((u,d)=>u.updatedAt>=d.updatedAt?u:d):null},[B]),M=w&&w.trackIndex<f.length?w.trackIndex:null;return e("div",{className:t.detailOverlay,onClick:o,children:e("div",{className:t.detailModal,onClick:l=>l.stopPropagation(),children:[e("button",{className:t.detailClose,onClick:o,"aria-label":"Close",children:e(y,{name:"times"})}),e("div",{className:t.detailHeader,children:[s.thumbnail?e("img",{className:t.detailCover,src:s.thumbnail,alt:s.name,decoding:"async"}):e("div",{className:`${t.detailCover} ${t.thumbPlaceholder}`}),e("div",{className:t.detailInfo,children:[e("h2",{className:t.detailTitle,children:g?g(s.name):s.name}),e("p",{className:t.detailRj,children:s.id}),C.map(l=>l.label==="Tags"?e("p",{className:t.metaRow,children:[e("span",{className:t.metaLabel,children:"Tags"}),e("span",{className:t.tagChips,children:l.value.split(", ").map(u=>e("span",{className:t.tagChip,children:u},u))})]},l.label):e("p",{className:t.metaRow,children:[e("span",{className:t.metaLabel,children:l.label}),l.value]},l.label))]})]}),e("div",{className:t.tracksSection,children:[e("h3",{className:t.tracksHeading,children:h?"Loading tracks…":`Tracks (${f.length})`}),!h&&(f.length>0?e("ul",{className:t.trackList,children:f.map((l,u)=>e("li",{children:e("button",{className:t.trackRow,onClick:()=>S(s,f,u),children:[e(y,{name:"play",className:t.trackIcon}),e("span",{className:t.trackLabel,children:l.resolutionStr}),e("span",{className:t.trackType,children:l.hls?"HLS":"MP3"})]})},l.link))}):e("p",{className:t.noTracks,children:"No audio streams available for this work."}))]}),e("div",{className:t.detailActions,children:[!h&&f.length>0&&e("button",{className:t.playAllBtn,onClick:()=>S(s,f,0),children:[e(y,{name:"play"})," Play from start"]}),!h&&M!==null&&w&&e("button",{className:t.playAllBtn,onClick:()=>S(s,f,M),children:[e(y,{name:"history"})," Resume track ",M+1," ·"," ",ue(w.currentTime),w.duration>0?` / ${ue(w.duration)}`:""]}),v&&e("button",{className:t.playAllBtn,onClick:()=>k({rjCode:v,title:s.name,thumbnail:s.thumbnail||"",isAdult:!!s.isAdult}),"aria-pressed":R,children:[e(y,{name:R?"check":"plus"})," ",R?"In listening list":"Add to listening list"]})]})]})})},It=({title:s,images:o,chapters:S,tracks:g,trackIndex:i,expanded:h,isAdult:v,rjCode:A,t:k,onTrackChange:T,onExpandedChange:B,onClose:R})=>{const C=j(null),f=j(null),[w,M]=m(!1),[l,u]=m(0),[d,P]=m(0),[p,q]=m(0),[x,te]=m(!0),[F,Y]=m(0),[_,oe]=m(new Set),[D,ae]=m(!1),[he,$]=m(!0),ne=j("");ne.current||(ne.current=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`asmr-${Date.now()}-${Math.random().toString(36).slice(2)}`);const[H,Ne]=m(()=>{const a=parseFloat(localStorage.getItem("asmrVolume")||"");return Number.isFinite(a)?a:1}),pe=j(H);N(()=>{pe.current=H},[H]);const ge=Ge(),J=$e.useMemo(()=>A?St(A):"",[A]),Ce=Tt(),ie=At(),{data:Se}=et(J||void 0),[Le,fe]=m(!1),[U,Re]=m(0),[Pe,G]=m(!1),be=j(""),W=j(null),K=j(0),Q=j(0),ce=j(0),X=g[i],Z=X?.link,Te=X?.hls,n=X?.resolutionStr||"",c=o.length>0,L=`${J}:${i}`,re=$e.useMemo(()=>(Se?.progress??[]).find(r=>r.trackIndex===i)??null,[Se,i]),ee=j({workId:"",trackIndex:0,trackLabel:""});ee.current={workId:J,trackIndex:i,trackLabel:n};const se=V((a,r,b,E=!1)=>{!a.workId||!b||b<10||!E&&Math.abs(r-K.current)<5||(K.current=r,Ce.mutate({workId:a.workId,trackIndex:a.trackIndex,trackLabel:a.trackLabel,currentTime:Math.floor(r),duration:Math.floor(b),title:s,thumbnail:o[0]||"",rjCode:a.workId,isAdult:v?1:0}))},[Ce,s,o,v]),z=V((a=!1)=>{W.current&&(clearTimeout(W.current),W.current=null),se(ee.current,Q.current,ce.current,a)},[se]),ve=j(z);ve.current=z;const _e=j(se);_e.current=se;const de=V(()=>{f.current&&(f.current.destroy(),f.current=null)},[]);N(()=>{const a=C.current;if(!a||!Z)return;const r={workId:J,trackIndex:i,trackLabel:n},b=()=>{W.current&&(clearTimeout(W.current),W.current=null),_e.current(r,Q.current,ce.current,!0)};if(u(0),P(0),q(0),M(!1),Q.current=0,ce.current=0,K.current=0,de(),Te){let E=!1;return(async()=>{const ke=await Rt();if(!E)if(ke&&ke.isSupported()){const we=new ke({enableWorker:!0});f.current=we,we.loadSource(Z),we.attachMedia(a),a.play().catch(()=>M(!1))}else a.src=Z,a.load(),a.volume=pe.current,a.play().catch(()=>M(!1))})(),()=>{E=!0,de(),a.removeAttribute("src"),b()}}else a.src=Z;return a.load(),a.volume=pe.current,a.play().catch(()=>M(!1)),()=>{de(),a.removeAttribute("src"),b()}},[Z,Te,de,J,i,n]),N(()=>()=>de(),[de]),N(()=>{const a=()=>{document.visibilityState==="hidden"&&ve.current()},r=()=>ve.current();return document.addEventListener("visibilitychange",a),window.addEventListener("pagehide",r),()=>{document.removeEventListener("visibilitychange",a),window.removeEventListener("pagehide",r)}},[]),N(()=>{if(!re||be.current===L||!(d>0))return;const a=re.currentTime||0,r=re.duration||d;a>=10&&r-a>=15&&Q.current<a?(be.current=L,Re(a),fe(!0)):be.current=L},[re,d,L]),N(()=>{const a=C.current;a&&(a.volume=H)},[H]),N(()=>{if(h)return document.body.classList.add("asmr-player-open"),()=>document.body.classList.remove("asmr-player-open")},[h]),N(()=>{Y(0)},[o]),N(()=>{h&&$(!0)},[h]),N(()=>{D&&$(!0)},[D]);const Ae=V(a=>{if(!s||g.length===0)return;const r=g[i],b=r?`${r.resolutionStr} (${i+1}/${g.length})`:"",E=C.current,ke=E?E.currentTime:0,we=E&&E.duration||0,ft=o[0]||"";Ee.discord.asmrPresence.mutate({title:s,trackLabel:b,isPlaying:a,thumbnail:ft,thumbnails:o,currentTime:ke,duration:we,isAdult:!!v,rjCode:A||"",sessionId:ne.current}).catch(()=>{}),Ee.discord.heartbeat.mutate({sessionId:ne.current}).catch(()=>{})},[s,g,i,o,v,A]);N(()=>{Ae(w)},[Ae,w,i,s,h]),N(()=>{if(!w)return;const a=window.setInterval(()=>Ae(!0),15e3);return()=>window.clearInterval(a)},[w,Ae]),N(()=>{const a=ne.current,r=()=>kt(a),b=()=>r(),E=()=>{document.visibilityState==="hidden"&&r()};return window.addEventListener("pagehide",b),window.addEventListener("beforeunload",b),document.addEventListener("visibilitychange",E),()=>{window.removeEventListener("pagehide",b),window.removeEventListener("beforeunload",b),document.removeEventListener("visibilitychange",E),r()}},[]);const Me=V(a=>{oe(r=>{if(r.has(a))return r;const b=new Set(r);return b.add(a),b})},[]),at=V((a,r)=>{a&&a.complete&&a.naturalWidth>0&&Me(r)},[Me]);N(()=>{if(!h)return;const a=r=>{if(r.key==="Escape"){D?ae(!1):B(!1);return}!x||o.length<2||(r.key==="ArrowLeft"&&Y(b=>Math.max(0,b-1)),r.key==="ArrowRight"&&Y(b=>Math.min(o.length-1,b+1)))};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[h,x,o.length,D,B]);const nt=()=>{const a=C.current;a&&(a.paused?a.play().catch(()=>{}):a.pause())},rt=a=>{const r=C.current;if(!r||!d)return;const b=parseFloat(a.target.value);r.currentTime=b,u(b)},st=()=>{z(!0),i<g.length-1?T(i+1):G(!0)},lt=a=>{const r=a.currentTarget.currentTime;Q.current=r,u(r),W.current&&clearTimeout(W.current),W.current=setTimeout(()=>ve.current(),5e3)},ot=()=>{M(!1),ve.current()},it=a=>{const r=a.currentTarget.duration;ce.current=Number.isFinite(r)?r:0,P(a.currentTarget.duration)},ct=V(()=>{const a=C.current;a&&U>0&&(a.currentTime=U,Q.current=U,a.play().catch(()=>{})),fe(!1)},[U]),je=V(()=>{fe(!1)},[]),dt=V(()=>{J&&ie.mutate({rjCode:J,title:s,thumbnail:o[0]||"",status:"Completed",isAdult:!!v,silent:!0}),G(!1),R(),ge("/")},[J,ie,s,o,v,R,ge]),ut=S.reduce((a,r,b)=>l>=r.time?b:a,-1),mt=a=>{const r=C.current;r&&(r.currentTime=a,u(a))},Fe=a=>{const r=C.current;if(!r)return;const b=Number.isFinite(r.currentTime)?r.currentTime:l,E=Math.max(0,Math.min(d||1/0,b+a));r.currentTime=E,u(E),$(!0)},Oe=d?Math.min(100,l/d*100):0,ht=d?Math.min(100,Math.max(Oe,p/d*100)):0,pt=e(O,{children:[e("div",{className:t.playerButtons,children:[e("button",{className:t.playerBtn,onClick:()=>T(Math.max(0,i-1)),disabled:i===0,"aria-label":"Previous track",children:e(y,{name:"step-backward"})}),e("button",{className:`${t.playerBtn} ${t.seekBtn}`,onClick:()=>Fe(-10),"aria-label":"Seek back 10 seconds",title:"Back 10s",children:[e(y,{name:"undo"}),e("span",{className:t.seekBtnLabel,children:"10"})]}),e("button",{className:`${t.playerBtn} ${t.playBtn}`,onClick:nt,"aria-label":w?"Pause":"Play",children:w?e(y,{name:"pause"}):e(y,{name:"play"})}),e("button",{className:`${t.playerBtn} ${t.seekBtn}`,onClick:()=>Fe(10),"aria-label":"Seek forward 10 seconds",title:"Forward 10s",children:[e(y,{name:"redo"}),e("span",{className:t.seekBtnLabel,children:"10"})]}),e("button",{className:t.playerBtn,onClick:()=>T(Math.min(g.length-1,i+1)),disabled:i>=g.length-1,"aria-label":"Next track",children:e(y,{name:"step-forward"})})]}),e("div",{className:t.seekRow,children:[e("span",{className:t.timeLabel,children:ue(l)}),e("input",{className:t.seekBar,type:"range",min:0,max:d||0,step:.1,value:Math.min(l,d||0),onChange:rt,style:{"--played-percent":`${Oe}%`,"--buffered-percent":`${ht}%`},"aria-label":"Seek"}),e("span",{className:t.timeLabel,children:ue(d)})]})]}),De=e(O,{children:[e("button",{className:`${t.playerBtn} ${t.playerToggle}`,onClick:()=>B(!h),"aria-label":h?"Minimize player":"Expand player",title:h?"Minimize to browse":"Expand",children:h?e(y,{name:"chevron-down"}):e(y,{name:"chevron-up"})}),e("div",{className:t.playerInfo,children:[e("p",{className:t.playerTitle,title:s,children:k?k(s):s}),e("p",{className:t.playerTrack,children:[X?.resolutionStr||"",g.length>1?` (${i+1}/${g.length})`:""]})]}),e("div",{className:t.playerControls,children:pt}),e("div",{className:t.playerRight,children:[H===0?e(y,{name:"volume-mute",className:t.volumeIcon}):H<.5?e(y,{name:"volume-down",className:t.volumeIcon}):e(y,{name:"volume-up",className:t.volumeIcon}),e("input",{className:t.volumeBar,type:"range",min:0,max:1,step:.01,value:H,onChange:a=>{const r=parseFloat(a.target.value);Ne(r),localStorage.setItem("asmrVolume",String(r))},style:{"--volume-percent":`${H*100}%`},"aria-label":"Volume"})]}),e("div",{className:t.playerActions,children:[h&&c&&e("button",{className:t.playerBtn,onClick:()=>te(a=>!a),"aria-label":x?"Hide images":"Show images",title:x?"Hide images":"Show images",children:x?e(y,{name:"eye-slash"}):e(y,{name:"image"})}),h&&S.length>0&&e("button",{className:`${t.playerBtn} ${D?t.playerBtnActive:""}`,onClick:()=>ae(a=>!a),"aria-label":D?"Hide bookmarks":"Show bookmarks",title:"Timestamps",children:e(y,{name:"list-ol"})}),e("button",{className:t.playerBtn,onClick:R,"aria-label":"Close player",children:e(y,{name:"times"})})]})]}),He=e("audio",{ref:C,preload:"metadata",onPlay:()=>M(!0),onPause:ot,onTimeUpdate:lt,onLoadedMetadata:it,onProgress:a=>{const r=a.currentTarget;r.buffered.length>0&&q(r.buffered.end(r.buffered.length-1))},onEnded:st}),Ue=e(xe,{isOpen:Le,onClose:je,title:"Resume Listening",children:e("div",{style:{padding:"1rem",textAlign:"center"},children:[e("p",{children:["You were at ",e("strong",{children:ue(U)}),X?.resolutionStr?` in ${X.resolutionStr}`:""]}),e("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center"},children:[e(me,{variant:"secondary",onClick:je,children:"Start from Beginning"}),e(me,{onClick:ct,children:"Resume"})]})]})}),qe=e(xe,{isOpen:Pe,onClose:()=>G(!1),title:"Finished!",children:e("div",{style:{padding:"1rem",textAlign:"center"},children:[e(y,{name:"check-circle",size:48,style:{color:"var(--accent-lighter)",marginBottom:"0.5rem"}}),e("p",{style:{fontSize:"1.1rem",fontWeight:600},children:k?k(s):s}),e("p",{style:{color:"var(--text-secondary)"},children:"You finished this work!"}),e("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center"},children:[e(me,{variant:"secondary",onClick:()=>G(!1),children:"Close"}),e(me,{onClick:dt,children:"Mark Completed & Back to Home"})]})]})});if(!h)return Je(e(O,{children:[He,e("div",{className:t.playerBar,children:De}),Ue,qe]}),document.body);const ye=Math.min(F,Math.max(0,o.length-1)),We=o[ye],gt=x&&c&&!!We&&!_.has(We);return Je(e(O,{children:[He,Ue,qe,e("div",{className:`${t.npOverlay} ${he?"":t.npOverlayControlsHidden}`,children:[e("div",{className:`${t.npStage} ${!x||!c?t.npStageBlank:""}`,onClick:()=>$(a=>!a),children:x&&c&&e(O,{children:[e("div",{className:t.sliderViewport,children:[e("div",{className:t.sliderTrack,style:{transform:`translateX(-${ye*100}%)`},children:o.map(a=>e("div",{className:t.slide,children:e("img",{ref:r=>at(r,a),src:a,alt:`${k?k(s):s} — work image`,loading:"lazy",decoding:"async",draggable:!1,onLoad:()=>Me(a),onError:()=>Me(a),className:`${t.slideImg} ${_.has(a)?t.slideImgLoaded:""}`})},a))}),gt&&e("span",{className:t.slideSpinner,"aria-label":"Loading image"})]}),o.length>1&&e(O,{children:[e("button",{className:`${t.npArrow} ${t.npArrowLeft}`,onClick:a=>{a.stopPropagation(),Y(r=>Math.max(0,r-1)),$(!0)},disabled:ye===0,"aria-label":"Previous image",children:e(y,{name:"chevron-left"})}),e("button",{className:`${t.npArrow} ${t.npArrowRight}`,onClick:a=>{a.stopPropagation(),Y(r=>Math.min(o.length-1,r+1)),$(!0)},disabled:ye===o.length-1,"aria-label":"Next image",children:e(y,{name:"chevron-right"})}),e("span",{className:t.npImageCount,onClick:a=>a.stopPropagation(),children:[ye+1," / ",o.length]})]})]})}),e("div",{className:`${t.playerBar} ${t.playerBarDocked} ${he?"":t.playerBarDockedHidden}`,onClick:a=>a.stopPropagation(),children:[De,D&&e(O,{children:[e("div",{className:t.npBackdrop,onClick:()=>ae(!1)}),e("div",{className:t.chapterPanel,children:S.map((a,r)=>e("button",{className:`${t.chapterRow} ${r===ut?t.chapterRowActive:""}`,title:k?k(a.label):a.label,onClick:()=>{mt(a.time),ae(!1)},children:[e("span",{className:t.chapterRowTime,children:ue(a.time)}),e("span",{className:t.chapterRowLabel,title:k?k(a.label):a.label,children:k?k(a.label):a.label})]},`${a.time}-${r}`))})]})]})]})]}),document.body)},Bt="https://github.com/serifpersia/dango/releases/latest/download/dango-extension.zip",$t=s=>{try{return JSON.parse(s.detail)}catch{return null}},Et=({isOpen:s,onClose:o,onSuccess:S})=>{const[g,i]=m(1),[h,v]=m(typeof navigator<"u"?navigator.userAgent:""),[A,k]=m(""),[T,B]=m(!1),[R,C]=m(!1),f=j(null),w=typeof navigator<"u"?navigator.userAgent:"",M=/android/i.test(w),l=/firefox|fxios/i.test(w)&&!M,u=!l&&!M&&/chrome|chromium|edg|brave/i.test(w),d=l||u;N(()=>{s&&(i(1),v(typeof navigator<"u"?navigator.userAgent:""),k(""),B(!1),C(!1))},[s]),N(()=>()=>{f.current&&(window.removeEventListener("dango:jasmr-cookie",f.current),f.current=null)},[]);const P=async()=>{localStorage.setItem("jasmr_ua",h),window.open("https://japaneseasmr.com","_blank","noopener,noreferrer"),i(2)},p=()=>{if(R)return;C(!0);const x=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,te=window.setTimeout(()=>{C(!1),f.current&&(window.removeEventListener("dango:jasmr-cookie",f.current),f.current=null),le.error("Helper not detected — install it via about:debugging first.")},3e3),F=Y=>{const _=$t(Y);if(!(!_||_.requestId!==x))if(window.clearTimeout(te),window.removeEventListener("dango:jasmr-cookie",F),f.current=null,C(!1),_?.ok&&_.cookie)k(_.cookie),le.success("Cookie extracted from helper!");else if(_?.error==="NO_COOKIE"){const oe=_.debug?.stores?.length??0,D=_.debug?.names??[];le.error(`Helper found no cf_clearance (checked ${oe} stores, saw: ${D.join(", ")||"none"}) — solve the challenge on the JapaneseASMR tab first.`)}else le.error("Helper request failed — try again.")};f.current=F,window.addEventListener("dango:jasmr-cookie",F),window.dispatchEvent(new CustomEvent("dango:get-jasmr-cookie",{detail:{requestId:x}}))},q=async()=>{if(!A.trim()){le.error("Please enter the cf_clearance cookie");return}B(!0);try{localStorage.setItem("jasmr_cookie",A.trim()),le.success("Cookie updated successfully!"),S?.(),o()}catch{le.error("Failed to save cookie")}finally{B(!1)}};return e(xe,{isOpen:s,onClose:o,title:"JapaneseASMR Verification Required",children:e("div",{className:I.container,children:g===1?e(O,{children:[e("p",{children:["JapaneseASMR is protected by a Cloudflare challenge. Solve it once in your browser and paste the ",e("strong",{children:"cf_clearance"})," cookie so the app can load the site for you."]}),e("div",{className:I.field,children:[e("label",{children:"Your User-Agent (must match the browser you solve the challenge with):"}),e("textarea",{value:h,onChange:x=>v(x.target.value),rows:3,className:I.textarea})]}),e("div",{className:I.actions,children:[e("button",{className:I.secondaryButton,onClick:o,children:"Cancel"}),e("button",{className:I.button,onClick:P,children:"Start Verification (Opens JapaneseASMR)"})]})]}):e(O,{children:[e("p",{children:["1. Solve the challenge on the ",e("strong",{children:"JapaneseASMR tab"})," (keep that tab open).",e("br",{}),"2. Copy the ",e("strong",{children:"cf_clearance"})," cookie value using one of these:",e("br",{}),e("br",{}),e("strong",{children:"Chrome / Edge — DevTools:"})," press ",e("code",{children:"F12"})," →"," ",e("strong",{children:"Application"})," → ",e("strong",{children:"Cookies"})," →"," ",e("code",{children:"https://japaneseasmr.com"}),". Find ",e("strong",{children:"cf_clearance"}),", double-click its ",e("strong",{children:"Value"})," to select it, then copy.",e("br",{}),e("br",{}),e("strong",{children:"Firefox — Storage Inspector:"})," press ",e("code",{children:"F12"})," →"," ",e("strong",{children:"Storage"})," → ",e("strong",{children:"Cookies"})," →"," ",e("code",{children:"https://japaneseasmr.com"}),". Find ",e("strong",{children:"cf_clearance"}),", right-click the value → ",e("strong",{children:"Copy Value"}),".",e("br",{}),e("br",{}),e("strong",{children:"Either browser — extension:"})," open"," ",e("strong",{children:"Cookie Manager"})," while on the JapaneseASMR tab, find"," ",e("strong",{children:"cf_clearance"}),", and copy its value (or use the extension's export).",e("br",{}),e("br",{}),"3. Paste it below. Copy ",e("strong",{children:"only the value"})," — remove any"," ",e("code",{children:"cf_clearance="})," prefix or quotes if they were included."]}),d&&e("div",{className:I.hint,children:[e("strong",{children:"Dango helper (one-time setup):"})," ",l?e(O,{children:["type ",e("code",{children:"about:debugging"})," in the address bar →"," ",e("strong",{children:"This Firefox"})," → ",e("strong",{children:"Load Temporary Add-on"})," ","→ open the ",e("code",{children:"dango-extension/firefox"})," folder and pick"," ",e("code",{children:"manifest.json"}),". (Temporary helpers unload when Firefox closes — repeat after a restart.)"]}):e(O,{children:["type ",e("code",{children:"chrome://extensions"})," in the address bar → enable"," ",e("strong",{children:"Developer mode"})," → ",e("strong",{children:"Load unpacked"})," → open the ",e("code",{children:"dango-extension/chrome"})," folder. (Unpacked helpers show a developer-mode notice — expected.)"]})," ","Use this link to download the extension and extract it:"," ",e("a",{href:Bt,target:"_blank",rel:"noreferrer",className:I.link,children:"dango-extension.zip"}),". Then click Extract below and the field fills itself.",e("div",{className:I.actions,children:e("button",{className:I.button,onClick:p,disabled:R,type:"button",children:R?"Extracting…":"Extract cookie from helper"})})]}),e("div",{className:I.field,children:[e("label",{children:"cf_clearance cookie value:"}),e("input",{type:"text",value:A,onChange:x=>k(x.target.value),placeholder:"e.g. xxxxxxxx.xxxxxxxx.xxxxxxx-xxxxxxx",className:I.input})]}),e("div",{className:I.actions,children:[e("button",{className:I.secondaryButton,onClick:o,children:"Cancel"}),e("button",{className:I.secondaryButton,onClick:()=>i(1),children:"Back"}),e("button",{className:I.button,onClick:q,disabled:T,children:T?"Saving...":"Submit"})]})]})})})},tt="asmrTranslateCache",_t=10080*60*1e3;function jt(){try{const s=localStorage.getItem(tt);if(!s)return new Map;const o=JSON.parse(s);return new Map(Object.entries(o))}catch{return new Map}}function Ft(s){try{const o={};for(const[S,g]of s)o[S]=g;localStorage.setItem(tt,JSON.stringify(o))}catch{}}function Ke(s){return/[\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FAF]/.test(s)}async function Ot(s){const o=s.map(i=>i.trim()).filter(Boolean);if(o.length===0)return new Map;const S=await Ee.settings.translate.mutate({texts:o,source:"ja",target:"en"}),g=new Map;for(const[i,h]of Object.entries(S.translations||{}))g.set(i,h);for(const i of o)g.has(i)||g.set(i,i);return g}function Dt(s,o){const[S,g]=m(new Map),[i,h]=m(!1),v=j(null),A=s.join("");return N(()=>{const T=A?A.split(""):[];if(!o||T.length===0){g(new Map),h(!1);return}const B=Array.from(new Set(T.map(l=>l.trim()).filter(Boolean).filter(Ke)));if(B.length===0){g(new Map);return}v.current||(v.current=jt());const R=Date.now(),C=new Map,f=[];for(const l of B){const u=v.current.get(l);u&&R-u.ts<_t?C.set(l,u.t):f.push(l)}if(f.length===0){g(C);return}let w=!1;h(!0);const M=[];for(let l=0;l<f.length;l+=15)M.push(f.slice(l,l+15));return(async()=>{const l=new Map;for(const d of M){try{const P=await Ot(d);for(const[p,q]of P)l.set(p,q)}catch{}await new Promise(P=>setTimeout(P,120))}if(w)return;if(v.current){for(const[d,P]of l)v.current.set(d,{t:P,ts:Date.now()});Ft(v.current)}const u=new Map([...C,...l]);g(u),h(!1)})(),()=>{w=!0}},[o,A]),{t:T=>!o||!T||!Ke(T)?T:S.get(T.trim())||T,map:S,isTranslating:i}}const Ht=[{label:"Date",options:[{value:"latest",label:"Latest"},{value:"oldest",label:"Oldest"}]},{label:"Title",options:[{value:"title_asc",label:"A → Z"},{value:"title_desc",label:"Z → A"}]},{label:"Popular (Views)",options:[{value:"popular_recent",label:"Recent"},{value:"popular_week",label:"Week"},{value:"popular_month",label:"Month"},{value:"popular_6_months",label:"6 Months"},{value:"popular_year",label:"Year"},{value:"popular",label:"All Time"}]},{label:"Most Commented",options:[{value:"comments_week",label:"Week"},{value:"comments_month",label:"Month"},{value:"comments_year",label:"Year"},{value:"comments",label:"All Time"}]},{label:"Other",options:[{value:"random",label:"Random"}]}],Ut=[{value:"",label:"All"},{value:"sfw",label:"SFW / 全年齢"},{value:"r-15",label:"R-15"},{value:"r-18",label:"NSFW / R18"},{value:"yuri",label:"Yuri / Girls love / 百合"},{value:"otokonoko",label:"Otoko no ko / 男の娘"},{value:"futanari",label:"Futanari / フタナリ"},{value:"r-18g",label:"R-18G / グロ"}],qt=[{value:"sfw",label:"SFW / 全年齢"}],Be="agreedToViewMature",ta=()=>{const{rj:s}=bt(),o=Ge(),[S,g]=vt(),[i,h]=m(()=>localStorage.getItem(Be)==="true"),[v,A]=m(!1),[k,T]=m(()=>S.get("q")||""),[B,R]=m(()=>S.get("q")||""),[C,f]=m("latest"),[w,M]=m("sfw"),[l,u]=m(1),[d,P]=m(null),[p,q]=m(null),[x,te]=m(!0),[F,Y]=m(()=>localStorage.getItem("asmrTranslateEN")==="true"),[_,oe]=m(!1),D=yt(),{toggle:ae,bookmarkedIds:he}=Ze(),{popup:$,openPopup:ne,scheduleClose:H,cancelClose:Ne,closePopup:pe}=xt();N(()=>wt("jasmr",()=>oe(!0)),[]),N(()=>{localStorage.setItem("asmrTranslateEN",String(F))},[F]),N(()=>{const n=()=>h(localStorage.getItem(Be)==="true");return window.addEventListener("focus",n),window.addEventListener("storage",n),()=>{window.removeEventListener("focus",n),window.removeEventListener("storage",n)}},[]);const ge=i,J=ge?w:"sfw",Ce=ge?Ut:qt,{data:ie,isLoading:Se,isError:Le,isFetching:fe}=Mt(B,l,C,J),U=$e.useMemo(()=>ie?.shows??[],[ie?.shows]),Re=ie?.hasNext??!1;N(()=>{if(!s){d&&!p&&P(null);return}const n=s.toUpperCase();if(p&&(p.work.id?.toUpperCase()===n||p.work._id?.toUpperCase()===n)){d&&P(null);return}const c=U.find(L=>(L.id||L._id)?.toUpperCase()===n);c?(!d||(d.id||d._id)!==(c.id||c._id))&&P(c):(!d||(d.id||d._id)?.toUpperCase()!==n)&&P({_id:n,id:n,name:n})},[s,U,p,d]);const Pe=V(()=>{o("/asmr")},[o]);N(()=>{!s&&p&&q(null)},[s,p]);const{data:G}=Qe(p&&p.work.id||null),be=p?[p.work.thumbnail,...G?.images||[]].filter(Boolean):[],W=[...U.map(n=>n.name),d?.name||"",p?.work.name||"",...G?.chapters?.map(n=>n.label)||[]].filter(Boolean),{t:K}=Dt(W,F);N(()=>{const n=p?p.work.name:d?d.name:s?s.toUpperCase():"",c=n?F?K(n):n:"",L=c?`${c} - dango`:"dango";document.title=L;try{window.history.replaceState(window.history.state,L,window.location.href)}catch{}},[d,p,s,F,K]);const Q=n=>{n.preventDefault(),R(k),u(1);const c=new URLSearchParams(S);k.trim()?c.set("q",k.trim()):c.delete("q"),c.delete("page"),g(c,{replace:!0})};N(()=>{const n=S.get("q")||"";T(c=>c===n?c:n),R(c=>c===n?c:n),u(1)},[S]);const ce=n=>{n.target.checked&&!i&&A(!0)},X=()=>{localStorage.setItem(Be,"true"),h(!0),A(!1),u(1)},Z=()=>{A(!1)},Te=V((n,c,L)=>{P(null),te(!0),q({work:n,tracks:c,index:L})},[]);return e("div",{className:`${t.page} ${p?t.pageWithPlayer:""}`,children:[!(p&&x)&&e(O,{children:[e("header",{className:t.header,children:[e("h1",{className:t.pageTitle,children:[e(y,{name:"headphones"})," ASMR"]}),e("form",{className:t.searchForm,onSubmit:Q,children:[e("input",{className:t.searchInput,type:"text",value:k,onChange:n=>T(n.target.value),placeholder:"Search works, circles, CV… (-word excludes)","aria-label":"Search ASMR works"}),e("button",{className:t.searchBtn,type:"submit","aria-label":"Search",children:e(y,{name:"search"})})]})]}),e("div",{className:t.filterBar,children:[e("label",{className:t.filterLabel,htmlFor:"asmr-sort",children:"Sort"}),e("select",{id:"asmr-sort",className:t.sortSelect,value:C,onChange:n=>{f(n.target.value),u(1)},children:Ht.map(n=>e("optgroup",{label:n.label,children:n.options.map(c=>e("option",{value:c.value,children:c.label},c.value))},n.label))}),e("label",{className:t.filterLabel,htmlFor:"asmr-rating",children:"Type"}),e("select",{id:"asmr-rating",className:t.sortSelect,value:w,onChange:n=>{M(n.target.value),u(1)},children:Ce.map(n=>e("option",{value:n.value,children:n.label},n.value))}),e("div",{className:t.filterTogglesGroup,children:[e("div",{className:t.translateToggleWrap,children:[e("span",{className:t.filterLabel,children:"JP"}),e(ze,{id:"asmr-translate-toggle",isChecked:F,onChange:n=>Y(n.target.checked)}),e("span",{className:t.filterLabel,children:"EN"})]}),!i&&e("div",{className:t.matureToggleWrap,children:[e("label",{className:t.matureLabel,htmlFor:"asmr-mature-toggle",children:"Mature"}),e(ze,{id:"asmr-mature-toggle",isChecked:!1,onChange:ce})]})]})]}),Le?e("p",{className:t.statusMsg,children:"Failed to load works. Please try again."}):Se&&U.length===0?e("div",{className:t.grid,"aria-hidden":!0,children:Array.from({length:12}).map((n,c)=>e("div",{className:t.skeletonCard,children:[e("div",{className:`${t.skeletonThumb} ${t.shimmer}`}),e("div",{className:`${t.skeletonLine} ${t.shimmer}`,style:{width:"88%"}}),e("div",{className:`${t.skeletonLine} ${t.shimmer}`,style:{width:"55%"}})]},c))}):U.length===0?e("p",{className:t.statusMsg,children:"No works found."}):e(O,{children:[e("div",{className:`${t.grid} ${fe?t.fetching:""}`,children:U.map(n=>{const c=F?{...n,name:K(n.name)}:n,L=Xe(n),re=Ye(L),ee=he.has(re),se=`/asmr/${encodeURIComponent(L)}`;return e("div",{className:t.asmrCardWrap,children:[e(Nt,{item:{id:re,title:c.name,thumbnail:n.thumbnail||"",typeBadge:L||void 0,isAdult:Ie(n)},linkTo:se,hoverIcon:"info",layout:"horizontal",showInfoButton:!0,display:{elements:{poster:{typeBadge:!0,chapterBadge:!1,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!1,meta:!1}}},onOpenDetails:z=>ne(z,{rjCode:L,title:c.name,thumbnail:n.thumbnail||"",isAdult:Ie(n),rating:n.rating,listenTarget:se}),onPopupHoverIntent:z=>z?Ne():H(),rawThumbnail:!0}),e("button",{className:`${t.bookmarkBtn} ${ee?t.bookmarked:""}`,onClick:z=>{z.preventDefault(),z.stopPropagation(),ae({rjCode:L,title:n.name,thumbnail:n.thumbnail||"",isAdult:Ie(n)})},title:ee?"Remove from listening list":"Add to listening list","aria-label":ee?"Remove from listening list":"Add to listening list","aria-pressed":ee,children:e(y,{name:ee?"check":"plus",size:12})})]},n._id||n.id)})}),e("nav",{className:t.pagination,children:[e("button",{className:t.pageBtn,disabled:l<=1,onClick:()=>u(n=>Math.max(1,n-1)),children:"Previous"}),e("span",{className:t.pageIndicator,children:["Page ",l]}),e("button",{className:t.pageBtn,disabled:!Re,onClick:()=>u(n=>n+1),children:"Next"})]})]})]}),d&&e(Pt,{work:d,onClose:Pe,onPlay:Te,t:K}),$&&e(Lt,{data:$.data,anchorRect:$.rect,bookmarked:he.has(Ye($.data.rjCode)),onToggleBookmark:()=>ae({rjCode:$.data.rjCode,title:$.data.title,thumbnail:$.data.thumbnail||"",isAdult:$.data.isAdult}),onMouseEnter:Ne,onMouseLeave:H,onRequestClose:pe}),_&&e(Et,{isOpen:_,onClose:()=>oe(!1),onSuccess:()=>{D.invalidateQueries({queryKey:["asmrBrowse"]}),D.invalidateQueries({queryKey:["asmrWork"]})}}),v&&e(xe,{isOpen:v,title:"Content Warning",onClose:Z,children:e("div",{style:{padding:"var(--space-4)",textAlign:"center"},children:[e("p",{children:"This section contains mature content intended for adult audiences."}),e("p",{children:["By proceeding, you confirm that you are ",e("strong",{children:"18 years of age or older"})," (or the age of majority in your jurisdiction) and wish to view this content."]}),e("p",{style:{fontSize:"var(--font-size-xs)",color:"var(--text-secondary)",marginTop:"var(--space-4)"},children:["You can reset this preference at any time in the ",e("strong",{children:"Settings"})," page."]}),e("div",{style:{marginTop:"var(--space-4)",display:"flex",gap:"var(--space-2-5)",justifyContent:"center"},children:[e(me,{variant:"secondary",onClick:Z,children:"Go Back"}),e(me,{onClick:X,children:"I'm 18+, Continue"})]})]})}),p&&e(It,{title:p.work.name,images:be,chapters:G?.chapters||[],tracks:p.tracks,trackIndex:p.index,expanded:x,isAdult:!!p.work.isAdult,rjCode:p.work.id||p.work._id,t:K,onTrackChange:n=>q(c=>c&&{...c,index:n}),onExpandedChange:te,onClose:()=>{q(null),te(!0),s&&o("/asmr")}})]})};export{ta as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const a="_page_aacjp_1",e="_pageWithPlayer_aacjp_8",t="_header_aacjp_12",c="_pageTitle_aacjp_20",_="_searchForm_aacjp_29",o="_searchInput_aacjp_44",p="_searchBtn_aacjp_55",r="_sortSelect_aacjp_68",n="_grid_aacjp_78",l="_fetching_aacjp_85",s="_thumbPlaceholder_aacjp_124",i="_asmrCardWrap_aacjp_160",d="_bookmarkBtn_aacjp_165",j="_bookmarked_aacjp_189",g="_popupCover_aacjp_206",k="_statusMsg_aacjp_229",y="_skeletonCard_aacjp_237",m="_skeletonThumb_aacjp_242",h="_skeletonLine_aacjp_248",B="_shimmer_aacjp_255",T="_pagination_aacjp_269",u="_pageBtn_aacjp_277",b="_pageIndicator_aacjp_291",w="_matureToggleWrap_aacjp_296",L="_matureLabel_aacjp_303",C="_translateToggleWrap_aacjp_309",R="_filterTogglesGroup_aacjp_316",v="_filterBar_aacjp_328",I="_filterLabel_aacjp_335",A="_detailOverlay_aacjp_340",f="_detailModal_aacjp_352",S="_detailClose_aacjp_364",H="_detailHeader_aacjp_380",W="_detailCover_aacjp_386",O="_detailInfo_aacjp_395",P="_detailTitle_aacjp_399",D="_detailRj_aacjp_406",M="_metaRow_aacjp_412",F="_metaLabel_aacjp_418",G="_tagChips_aacjp_424",V="_tagChip_aacjp_424",x="_npOverlay_aacjp_440",q="_playerBarDocked_aacjp_455",z="_playerBarDockedHidden_aacjp_469",E="_npOverlayControlsHidden_aacjp_480",J="_npArrow_aacjp_480",K="_npImageCount_aacjp_481",N="_npStage_aacjp_490",Q="_sliderViewport_aacjp_506",U="_slide_aacjp_506",X="_slideImg_aacjp_508",Y="_npStageBlank_aacjp_527",Z="_sliderTrack_aacjp_546",$="_slideImgLoaded_aacjp_579",aa="_slideSpinner_aacjp_584",ea="_npArrowLeft_aacjp_634",ta="_npArrowRight_aacjp_638",ca="_chapterPanel_aacjp_655",_a="_chapterRow_aacjp_670",oa="_chapterRowActive_aacjp_689",pa="_chapterRowTime_aacjp_693",ra="_chapterRowLabel_aacjp_704",na="_npBackdrop_aacjp_710",la="_playerBtn_aacjp_716",sa="_playerBtnActive_aacjp_716",ia="_tracksSection_aacjp_722",da="_tracksHeading_aacjp_726",ja="_trackList_aacjp_732",ga="_trackRow_aacjp_741",ka="_trackIcon_aacjp_759",ya="_trackLabel_aacjp_764",ma="_trackType_aacjp_769",ha="_noTracks_aacjp_774",Ba="_playAllBtn_aacjp_779",Ta="_detailActions_aacjp_792",ua="_playerBar_aacjp_455",ba="_playerActions_aacjp_815",wa="_playerInfo_aacjp_821",La="_playerTitle_aacjp_826",Ca="_playerTrack_aacjp_835",Ra="_playerControls_aacjp_841",va="_seekRow_aacjp_848",Ia="_playerButtons_aacjp_856",Aa="_seekBtn_aacjp_891",fa="_seekBtnLabel_aacjp_896",Sa="_playBtn_aacjp_901",Ha="_seekBar_aacjp_948",Wa="_volumeBar_aacjp_949",Oa="_timeLabel_aacjp_1041",Pa="_playerRight_aacjp_1047",Da="_volumeIcon_aacjp_1053",Ma="_playerToggle_aacjp_1097",Fa={page:a,pageWithPlayer:e,header:t,pageTitle:c,searchForm:_,searchInput:o,searchBtn:p,sortSelect:r,grid:n,fetching:l,thumbPlaceholder:s,asmrCardWrap:i,bookmarkBtn:d,bookmarked:j,popupCover:g,statusMsg:k,skeletonCard:y,skeletonThumb:m,skeletonLine:h,shimmer:B,pagination:T,pageBtn:u,pageIndicator:b,matureToggleWrap:w,matureLabel:L,translateToggleWrap:C,filterTogglesGroup:R,filterBar:v,filterLabel:I,detailOverlay:A,detailModal:f,detailClose:S,detailHeader:H,detailCover:W,detailInfo:O,detailTitle:P,detailRj:D,metaRow:M,metaLabel:F,tagChips:G,tagChip:V,npOverlay:x,playerBarDocked:q,playerBarDockedHidden:z,npOverlayControlsHidden:E,npArrow:J,npImageCount:K,npStage:N,sliderViewport:Q,slide:U,slideImg:X,npStageBlank:Y,sliderTrack:Z,slideImgLoaded:$,slideSpinner:aa,npArrowLeft:ea,npArrowRight:ta,chapterPanel:ca,chapterRow:_a,chapterRowActive:oa,chapterRowTime:pa,chapterRowLabel:ra,npBackdrop:na,playerBtn:la,playerBtnActive:sa,tracksSection:ia,tracksHeading:da,trackList:ja,trackRow:ga,trackIcon:ka,trackLabel:ya,trackType:ma,noTracks:ha,playAllBtn:Ba,detailActions:Ta,playerBar:ua,playerActions:ba,playerInfo:wa,playerTitle:La,playerTrack:Ca,playerControls:Ra,seekRow:va,playerButtons:Ia,seekBtn:Aa,seekBtnLabel:fa,playBtn:Sa,seekBar:Ha,volumeBar:Wa,timeLabel:Oa,playerRight:Pa,volumeIcon:Da,playerToggle:Ma};export{Fa as a};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{u as n,A as y,d as E,h as $,q as I,T as de,$ as Tt}from"./vendor-core-DfaOB3Rn.js";import{I as J}from"./vendor-icons-DrybRNxP.js";import{S as ge,h as Pt,Z as It,t as Ke,W as Nt,g as $t,B as le}from"./index-BWIWE3Qy.js";import{u as Mt}from"./vendor-query-BBT5_sHx.js";const Rt="_controls_endtv_1",At="_titleContainer_endtv_9",Ft="_scheduleInfo_endtv_15",Dt="_status_endtv_23",Ot="_nextEpisode_endtv_35",qt="_watchlistBtn_endtv_45",Ht="_inList_endtv_72",zt="_queueBtn_endtv_83",Wt="_queueActive_endtv_95",Vt="_modeToggleBtn_endtv_101",Ut="_modeToggleActive_endtv_108",Kt="_nativeToggleBtn_endtv_119",Gt="_nativeToggleActive_endtv_132",Xt="_markWatchedBtn_endtv_153",Qt="_markWatchedDone_endtv_167",jt="_completeSeriesBtn_endtv_178",Jt="_providerAndEpisodeRow_endtv_192",Yt="_episodeActions_endtv_199",Zt="_desktopEpisodeActions_endtv_206",en="_mobileEpisodeActions_endtv_213",tn="_episodeNavBtn_endtv_217",nn="_primary_endtv_247",rn="_secondary_endtv_257",on="_episodePickerBtn_endtv_261",sn="_queueCountdown_endtv_265",cn="_speedBoostBadge_endtv_280",an="_videoContainer_endtv_311",ln="_loadingOverlay_endtv_324",un="_loadingDots_endtv_338",dn="_dot_endtv_343",pn="_bounce_endtv_1",fn="_bufferingOverlay_endtv_372",mn="_bufferingSpinner_endtv_381",_n="_spin_endtv_921",vn="_videoIframe_endtv_396",hn="_videoElementHidden_endtv_419",gn="_upscalerCanvas_endtv_424",yn="_upscalerActive_endtv_437",bn="_upscalerStatusBadge_endtv_441",wn="_subtitleOverlay_endtv_456",Cn="_controlsOverlay_endtv_468",Sn="_hidden_endtv_498",kn="_centerPlayPause_endtv_504",En="_bottomControls_endtv_536",xn="_progressBarContainer_endtv_553",Ln="_progressBar_endtv_553",Bn="_scrubbing_endtv_576",Tn="_watchedBar_endtv_581",Pn="_bufferedBar_endtv_582",In="_thumb_endtv_604",Nn="_timeBubble_endtv_625",$n="_skipSegment_endtv_648",Mn="_op_endtv_662",Rn="_ed_endtv_666",An="_recap_endtv_670",Fn="_bottomControlsRow_endtv_674",Dn="_controlBtn_endtv_682",On="_timeDisplay_endtv_706",qn="_leftControls_endtv_715",Hn="_rightControls_endtv_716",zn="_middleControls_endtv_717",Wn="_skipControls_endtv_723",Vn="_skipBtn_endtv_729",Un="_volumeContainer_endtv_753",Kn="_volumeSlider_endtv_760",Gn="_settingsMenu_endtv_838",Xn="_slideUp_endtv_1",Qn="_qualityListInMenu_endtv_877",jn="_ccOptionsContainer_endtv_878",Jn="_qualityItemInMenu_endtv_886",Yn="_ccItem_endtv_887",Zn="_active_endtv_908",er="_sourceLoader_endtv_915",tr="_spinner_endtv_921",nr="_skipBubble_endtv_972",rr="_skipIcon_endtv_976",or="_skipText_endtv_979",sr="_watchBtn_endtv_991",cr="_errorOverlay_endtv_1037",ir="_retryButton_endtv_1047",ar="_skipIndicatorContainer_endtv_1074",lr="_leftSkip_endtv_1074",ur="_rightSkip_endtv_1077",dr="_sourceSelectionContainer_endtv_1082",pr="_slideUpIn_endtv_1",fr="_providerSelectContainer_endtv_1097",mr="_providerSelect_endtv_1097",_r="_sourceSelect_endtv_1082",vr="_sourceButtons_endtv_1153",hr="_sourceButton_endtv_1153",gr="_detailsBox_endtv_1185",yr="_detailsToggleBtn_endtv_1198",br="_detailsGridContainer_endtv_1222",wr="_fadeIn_endtv_1",Cr="_detailItem_endtv_1234",Sr="_animeStatus_endtv_1254",kr="_genresList_endtv_1267",Er="_genreTag_endtv_1274",xr="_loadingDetails_endtv_1292",Lr="_descriptionSection_endtv_1299",Br="_description_endtv_1299",Tr="_epJumpControls_endtv_1335",Pr="_epRangeButtons_endtv_1346",Ir="_metaTags_endtv_1352",Nr="_epRangeBtn_endtv_1359",$r="_epJumpInputGroup_endtv_1374",Mr="_fullscreenActive_endtv_1406",Rr="_skipRipple_endtv_1",Ar="_errorSubtext_endtv_1512",vs={controls:Rt,titleContainer:At,scheduleInfo:Ft,status:Dt,nextEpisode:Ot,watchlistBtn:qt,inList:Ht,queueBtn:zt,queueActive:Wt,modeToggleBtn:Vt,modeToggleActive:Ut,nativeToggleBtn:Kt,nativeToggleActive:Gt,markWatchedBtn:Xt,markWatchedDone:Qt,completeSeriesBtn:jt,providerAndEpisodeRow:Jt,episodeActions:Yt,desktopEpisodeActions:Zt,mobileEpisodeActions:en,episodeNavBtn:tn,primary:nn,secondary:rn,episodePickerBtn:on,queueCountdown:sn,speedBoostBadge:cn,videoContainer:an,loadingOverlay:ln,loadingDots:un,dot:dn,bounce:pn,bufferingOverlay:fn,bufferingSpinner:mn,spin:_n,videoIframe:vn,videoElementHidden:hn,upscalerCanvas:gn,upscalerActive:yn,upscalerStatusBadge:bn,subtitleOverlay:wn,controlsOverlay:Cn,hidden:Sn,centerPlayPause:kn,bottomControls:En,progressBarContainer:xn,progressBar:Ln,scrubbing:Bn,watchedBar:Tn,bufferedBar:Pn,thumb:In,timeBubble:Nn,skipSegment:$n,op:Mn,ed:Rn,recap:An,bottomControlsRow:Fn,controlBtn:Dn,timeDisplay:On,leftControls:qn,rightControls:Hn,middleControls:zn,skipControls:Wn,skipBtn:Vn,volumeContainer:Un,volumeSlider:Kn,settingsMenu:Gn,slideUp:Xn,qualityListInMenu:Qn,ccOptionsContainer:jn,qualityItemInMenu:Jn,ccItem:Yn,active:Zn,sourceLoader:er,spinner:tr,skipBubble:nr,skipIcon:rr,skipText:or,watchBtn:sr,errorOverlay:cr,retryButton:ir,skipIndicatorContainer:ar,leftSkip:lr,rightSkip:ur,sourceSelectionContainer:dr,slideUpIn:pr,providerSelectContainer:fr,providerSelect:mr,sourceSelect:_r,sourceButtons:vr,sourceButton:hr,detailsBox:gr,detailsToggleBtn:yr,detailsGridContainer:br,fadeIn:wr,detailItem:Cr,animeStatus:Sr,genresList:kr,genreTag:Er,loadingDetails:xr,descriptionSection:Lr,description:Br,epJumpControls:Tr,epRangeButtons:Pr,metaTags:Ir,epRangeBtn:Nr,epJumpInputGroup:$r,fullscreenActive:Mr,skipRipple:Rr,errorSubtext:Ar},Fr="_playerPageLayout_xfhzl_1",Dr="_episodeSidebar_xfhzl_15",Or="_playerMain_xfhzl_28",qr="_videoPlayerWrapper_xfhzl_36",Hr="_playerInfoHeader_xfhzl_52",zr="_playerAnimeCard_xfhzl_58",Wr="_playerInfoContainer_xfhzl_70",Vr="_videoTitleSection_xfhzl_94",Ur="_theaterMode_xfhzl_276",hs={playerPageLayout:Fr,episodeSidebar:Dr,playerMain:Or,videoPlayerWrapper:qr,playerInfoHeader:Hr,playerAnimeCard:zr,playerInfoContainer:Wr,videoTitleSection:Vr,theaterMode:Ur},Kr="_shell_41rxp_1",Gr="_stage_41rxp_37",Xr="_shellFill_41rxp_85",Qr="_shellFullscreen_41rxp_93",jr="_uiLayer_41rxp_107",Jr="_volumeWrap_41rxp_118",Yr="_volumeSlider_41rxp_124",oe={shell:Kr,stage:Gr,shellFill:Xr,shellFullscreen:Qr,uiLayer:jr,volumeWrap:Jr,volumeSlider:Yr},Zr=.8,eo=5,gs=2e3,Xe="autoplayEnabled",to=(e,r)=>r>0&&e>=r*Zr,ys=(e,r)=>e>eo&&!to(e,r),bs=()=>{try{return localStorage.getItem(Xe)==="true"}catch{return!1}},ws=e=>{try{localStorage.setItem(Xe,String(e))}catch{}},Cs=e=>e.seekInduced?"none":e.autoplayEnabled&&e.hasNext?"advance":e.hasNext?"prompt-next":e.isFinal?"prompt-complete":"none",no=e=>(e.language??e.lang??"").toLowerCase(),ro=e=>(e.label??"").toLowerCase(),oo=e=>`${e.language??e.lang??""}|||${e.label??""}`,so=e=>no(e).startsWith("en")||ro(e).includes("english");function Ss(e,r){if(e.length===0||r?.enabled===!1)return-1;const t=r?.lastKey??null;if(t){const o=e.findIndex(u=>oo(u)===t);if(o>=0)return o}const c=e.findIndex(so);return c>=0?c:0}const Z={fontSize:1.8,position:0,bgOpacity:.5,bgColor:"#000000",textColor:"#ffffff",edge:"shadow",bold:!1},xe=(e,r,t)=>Math.max(r,Math.min(t,e)),Le=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),Se=(e,r,t,c)=>{try{const o=localStorage.getItem(e);if(o===null)return r;const u=parseFloat(o);return Number.isFinite(u)?xe(u,t,c):r}catch{return r}};function co(){let e=Z.edge,r=Z.bgColor,t=Z.textColor,c=Z.bold;try{const o=localStorage.getItem("subtitleEdge");(o==="shadow"||o==="outline"||o==="none")&&(e=o);const u=localStorage.getItem("subtitleBgColor");Le(u)&&(r=u);const v=localStorage.getItem("subtitleTextColor");Le(v)&&(t=v);const C=localStorage.getItem("subtitleBold");C!==null&&(c=C==="true")}catch{}return{fontSize:Se("subtitleFontSize",Z.fontSize,.5,10),position:Se("subtitlePosition",Z.position,0,100),bgOpacity:Se("subtitleBgOpacity",Z.bgOpacity,0,1),bgColor:r,textColor:t,edge:e,bold:c}}function Qe(e,r){const t=`rgba(0, 0, 0, ${xe(r,0,1)})`;if(!Le(e))return t;const c=parseInt(e.slice(1,3),16),o=parseInt(e.slice(3,5),16),u=parseInt(e.slice(5,7),16);return`rgba(${c}, ${o}, ${u}, ${xe(r,0,1)})`}function je(e,r){return e==="none"?r<=0?"0 1px 3px rgba(0, 0, 0, 0.9)":"none":e==="outline"?["-1px 0 0 black","1px 0 0 black","0 -1px 0 black","0 1px 0 black","-1px -1px 0 black","1px -1px 0 black","-1px 1px 0 black","1px 1px 0 black","0 0 6px rgba(0, 0, 0, 0.9)"].join(", "):"0 0 4px black, 0 1px 2px rgba(0, 0, 0, 0.8)"}function ks(e){return`
|
|
2
|
-
video::cue {
|
|
3
|
-
font-size: ${e.fontSize}rem !important;
|
|
4
|
-
color: ${e.textColor} !important;
|
|
5
|
-
background-color: ${Qe(e.bgColor,e.bgOpacity)} !important;
|
|
6
|
-
font-weight: ${e.bold?"bold":"normal"} !important;
|
|
7
|
-
text-shadow: ${je(e.edge,e.bgOpacity)} !important;
|
|
8
|
-
}
|
|
9
|
-
`}function Es(e){return[`font-size: ${e.fontSize}rem`,`color: ${e.textColor}`,`background-color: ${Qe(e.bgColor,e.bgOpacity)}`,`font-weight: ${e.bold?"700":"400"}`,`text-shadow: ${je(e.edge,e.bgOpacity)}`,"padding: 0.2em 0.5em","border-radius: 0.25em","text-align: center","position: absolute","left: 50%","transform: translateX(-50%)","max-width: 92%","white-space: pre-wrap","overflow-wrap: break-word","line-height: 1.4"].join(`;
|
|
10
|
-
`)+";"}const io=new Set(["b","i","u","strong","em"]);function xs(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/<(\/?)([a-zA-Z]+)>/g,(t,c,o)=>io.has(o.toLowerCase())?`<${c}${o.toLowerCase()}>`:t)}function Ls(e){return e.replace(/<[^>]*>/g,"")}const Bs=["#ffffff","#ffff00","#7CFC00","#00e5ff","#ff9ff3","#ffa502"],Ts=["#000000","#1e272e","#2f3542","#3d0c02","#0c3d2e","#ffffff"];function Ps(e,r){const t=Number.isFinite(e)?e*16:Z.fontSize*16;return!Number.isFinite(r)||r<=0?t/16:Math.min(t,Math.max(13,r*.07))/16}function Is(e){const r=Math.abs(e/1e3).toFixed(1);return e>0?`+${r}s`:e<0?`-${r}s`:"0.0s"}function Ns(e,r){const t=e.clientWidth||0,c=e.clientHeight||0,o=e.videoWidth>0&&e.videoHeight>0?e.videoWidth/e.videoHeight:0;let u=c;o>0&&t>0&&c>0&&(u=t/c>o?c:t/o);const v=Math.max(0,(c-u)/2),C=Math.max(0,Math.min(100,Number(r)||0))/100*u;return v+C}const ao="_centerControls_61n7k_1",lo="_centerSkipBtn_61n7k_15",uo="_centerPlayPause_61n7k_40",po="_playIconOffset_61n7k_71",ue={centerControls:ao,centerSkipBtn:lo,centerPlayPause:uo,playIconOffset:po},$s=({isPlaying:e,onTogglePlay:r,onSkipBack:t,onSkipForward:c,skipSeconds:o=10})=>n("div",{className:ue.centerControls,onClick:u=>u.stopPropagation(),children:[n("button",{className:ue.centerSkipBtn,onClick:t,title:`Skip back ${o}s`,"aria-label":`Skip back ${o} seconds`,children:n(J,{name:"replay-10"})}),n("button",{className:ue.centerPlayPause,"data-speed-boost-ignore":"true",onClick:r,"aria-label":e?"Pause":"Play",children:e?n(J,{name:"pause"}):n(J,{name:"play",className:ue.playIconOffset})}),n("button",{className:ue.centerSkipBtn,onClick:c,title:`Skip forward ${o}s`,"aria-label":`Skip forward ${o} seconds`,children:n(J,{name:"forward-10"})})]}),Ms=({classes:e,videoRef:r,duration:t,formatTime:c,isScrubbing:o,buffered:u="auto",onSeek:v,onScrubStart:C,onScrubMove:i,onScrubEnd:h,timeLabelRef:l,children:P})=>{const f=y(null),x=y(null),p=y(null),_=y(null),S=y(null),a=y(!1),b=y(o);b.current=o;const g=y({onScrubMove:i,onScrubEnd:h});g.current={onScrubMove:i,onScrubEnd:h};const[M,R]=E({time:0,position:null});$(()=>{const d=r.current;if(!d)return;const m=j=>{const D=j/t*100||0;x.current&&(x.current.style.width=`${D}%`),p.current&&(p.current.style.left=`${D}%`),l?.current&&(l.current.innerText=`${c(j)} / ${c(t)}`)},F=()=>{o||m(d.currentTime)},V=()=>{if(u==="auto"&&d.buffered.length>0){const D=d.buffered.end(d.buffered.length-1)/t*100||0;_.current&&(_.current.style.width=`${D}%`)}};return m(d.currentTime),V(),d.addEventListener("timeupdate",F),d.addEventListener("progress",V),()=>{d.removeEventListener("timeupdate",F),d.removeEventListener("progress",V)}},[r,t,o,u,c,l]);const W=d=>{if(!f.current)return 0;const m=f.current.getBoundingClientRect();return Math.min(1,Math.max(0,(d-m.left)/m.width))},G=d=>{const m=d*t,F=m/t*100||0;x.current&&(x.current.style.width=`${F}%`),p.current&&(p.current.style.left=`${F}%`),l?.current&&(l.current.innerText=`${c(m)} / ${c(t)}`);const V=f.current?.getBoundingClientRect();R({time:m,position:V?d*V.width:null})};$(()=>{if(!o){S.current=null;return}const d=F=>{if(S.current!==null&&F.pointerId!==S.current||!t)return;const V=W(F.clientX);g.current.onScrubMove(V);const j=V*t,D=j/t*100||0;x.current&&(x.current.style.width=`${D}%`),p.current&&(p.current.style.left=`${D}%`),l?.current&&(l.current.innerText=`${c(j)} / ${c(t)}`);const ee=f.current?.getBoundingClientRect();R({time:j,position:ee?V*ee.width:null})},m=F=>{S.current!==null&&F.pointerId!==S.current||(S.current=null,a.current=!0,F.pointerType!=="mouse"&&R({time:0,position:null}),g.current.onScrubEnd())};return document.addEventListener("pointermove",d),document.addEventListener("pointerup",m),document.addEventListener("pointercancel",m),()=>{document.removeEventListener("pointermove",d),document.removeEventListener("pointerup",m),document.removeEventListener("pointercancel",m)}},[o,t,c,l]);const L=d=>{if(d.pointerType==="mouse"&&d.button!==0||!r.current||!t)return;d.preventDefault(),S.current=d.pointerId;try{f.current?.setPointerCapture(d.pointerId)}catch{}b.current||C();const m=W(d.clientX);i(m),G(m)},q=d=>{if(!t||b.current||d.pointerType!=="mouse")return;const m=W(d.clientX);R({time:m*t,position:d.clientX-(f.current?.getBoundingClientRect().left??0)})},U=d=>{if(!(S.current!==null&&d.pointerId!==S.current)&&b.current){S.current=null,a.current=!0,d.pointerType!=="mouse"&&R({time:0,position:null});try{f.current?.hasPointerCapture(d.pointerId)&&f.current.releasePointerCapture(d.pointerId)}catch{}h()}};return n("div",{className:`${e.container} ${o&&e.scrubbing?e.scrubbing:""}`,ref:f,role:"slider","aria-label":"Seek","aria-valuemin":0,"aria-valuemax":Math.round(t||0),"aria-valuenow":Math.round((Number(x.current?.style.width?.replace("%",""))||0)*(t||0)/100),tabIndex:0,onClick:d=>{if(a.current){a.current=!1;return}!r.current||isNaN(t)||t===0||v(W(d.clientX))},onPointerDown:L,onPointerMove:q,onPointerUp:U,onPointerCancel:U,onMouseMove:d=>{if(o||!t)return;const m=W(d.clientX);R({time:m*t,position:d.clientX-(f.current?.getBoundingClientRect().left??0)})},onMouseLeave:()=>{o||R({time:0,position:null})},onKeyDown:d=>{if(!(!r.current||!t)&&(d.key==="ArrowRight"||d.key==="ArrowLeft")){d.preventDefault();const m=(d.key==="ArrowRight"?5:-5)/t,F=r.current.currentTime/t||0;v(Math.min(1,Math.max(0,F+m)))}},children:[M.position!==null&&n("div",{className:e.timeBubble,style:{left:M.position},children:c(M.time)}),n("div",{className:e.bar,children:[n("div",{className:e.buffered,ref:_,style:u==="full"?{width:"100%"}:void 0}),n("div",{className:e.watched,ref:x}),n("div",{className:e.thumb,ref:p,onMouseDown:d=>{d.preventDefault(),r.current&&(b.current||C())}}),P]})]})};function ke(){try{if(typeof window>"u")return!1;const e=window.matchMedia?.("(pointer: coarse)").matches??!1,t=(navigator.maxTouchPoints??0)>0||"ontouchstart"in window;return e||t}catch{return!1}}function Je(){const[e,r]=E(ke);return $(()=>{r(ke());let t=null;const c=()=>r(ke());try{t=window.matchMedia("(pointer: coarse)"),t.addEventListener?t.addEventListener("change",c):t.addListener(c)}catch{}return window.addEventListener("touchstart",c,{passive:!0,once:!0}),()=>{try{t&&(t.removeEventListener?t.removeEventListener("change",c):t.removeListener(c))}catch{}window.removeEventListener("touchstart",c)}},[]),e}const Ge=280;function fo(e){return e?!!e.closest('button, input, select, textarea, a, [role="button"], [data-player-ui="true"]'):!1}const Rs=({player:e,topBar:r,centerControls:t,bottomBar:c,settingsPanel:o,overlays:u,isInteracting:v=!1,className:C,chromeDisabled:i=!1,children:h})=>{const{state:l,refs:P,actions:f}=e,x=P.playerContainerRef,_=Je()?5e3:3e3,S=y(0),a=y(null),b=y(v);b.current=v;const g=I(()=>{const L=f.inactivityTimer.current;L&&(window.clearTimeout(L),f.inactivityTimer.current=null)},[f]),M=I(()=>{g(),l.isPlaying&&(b.current||l.useNativeControls||(f.inactivityTimer.current=window.setTimeout(()=>{if(b.current)return;f.setShowControls(!1);const L=x.current;L&&l.isFullscreen&&(L.style.cursor="none")},_)))},[f,g,x,_,l.isFullscreen,l.isPlaying,l.useNativeControls]),R=I(()=>{const L=x.current;L&&(L.style.cursor="default"),!l.showControls&&!l.useNativeControls&&f.setShowControls(!0),M()},[f,x,M,l.showControls,l.useNativeControls]);$(()=>{if(l.showControls){if(!l.isPlaying){g();return}if(v||l.isScrubbing||l.showSettings||l.showVolumeSlider){f.setShowControls(!0),g();return}M()}},[f,g,v,M,l.isPlaying,l.isScrubbing,l.showControls,l.showSettings,l.showVolumeSlider]),$(()=>()=>g(),[g]);const W=I(L=>{const q=L.target;if(fo(q))return;const U=Date.now(),d=U-S.current<Ge;if(S.current=U,d){a.current&&(window.clearTimeout(a.current),a.current=null),f.toggleFullscreen();return}a.current&&window.clearTimeout(a.current),a.current=window.setTimeout(()=>{a.current=null,f.setShowControls(!l.showControls),l.showControls?M():R()},Ge)},[f,M,l.showControls,R]);$(()=>()=>{a.current&&window.clearTimeout(a.current)},[]);const G=l.showControls||l.isScrubbing||l.showSettings||l.showVolumeSlider;return n("div",{ref:x,className:`${oe.shell} ${l.isFullscreen?oe.shellFullscreen:""} ${C??""}`,onContextMenu:L=>L.preventDefault(),onPointerMove:L=>{L.pointerType==="mouse"&&R()},onMouseLeave:()=>{window.matchMedia?.("(hover: hover) and (pointer: fine)").matches&&l.isPlaying&&!b.current&&f.setShowControls(!1)},children:[n("div",{className:oe.stage,onClick:W,onContextMenu:L=>L.preventDefault(),children:h}),u,!i&&!l.useNativeControls&&n("div",{className:oe.uiLayer,onContextMenu:L=>L.preventDefault(),children:[n("div",{"data-player-ui":"true",children:r}),G&&t&&n("div",{"data-player-ui":"true",children:t}),n("div",{"data-player-ui":"true",children:c}),o&&n("div",{"data-player-ui":"true",children:o})]})]})},mo=450,As=({muted:e,volume:r,volumeIcon:t,buttonClassName:c,sliderClassName:o,onToggleMute:u,onVolumeChange:v,onExpandedChange:C})=>{const i=Je(),[h,l]=E(!1),P=y(null),f=y(!1),x=y(null),p=I(g=>{l(g),C?.(g)},[C]);$(()=>()=>{P.current&&window.clearTimeout(P.current)},[]),$(()=>{if(!h)return;const g=M=>{x.current&&!x.current.contains(M.target)&&p(!1)};return document.addEventListener("pointerdown",g),()=>document.removeEventListener("pointerdown",g)},[h,p]);const _=e?0:r,S=()=>{f.current=!1,P.current&&window.clearTimeout(P.current),P.current=window.setTimeout(()=>{f.current=!0,p(!0)},mo)},a=()=>{P.current&&(window.clearTimeout(P.current),P.current=null)},b=g=>{if(g.stopPropagation(),f.current){f.current=!1;return}if(i){h?u():p(!0);return}u()};return n("div",{ref:x,className:oe.volumeWrap,"data-expanded":h?"true":"false",onContextMenu:g=>g.preventDefault(),children:[n("button",{type:"button",className:c,onClick:b,onPointerDown:S,onPointerUp:a,onPointerLeave:a,onContextMenu:g=>g.preventDefault(),"aria-label":e?"Unmute":"Mute","aria-expanded":h,children:t}),n("input",{type:"range",min:"0",max:"1",step:"0.05",value:_,onChange:g=>v(parseFloat(g.target.value)),onClick:g=>g.stopPropagation(),onPointerDown:g=>g.stopPropagation(),onContextMenu:g=>g.preventDefault(),className:`${oe.volumeSlider} ${o??""}`,style:{"--volume-percent":`${_*100}%`},"aria-label":"Volume"})]})},_o="_statusArea_1xccu_1",vo="_toggleBtn_1xccu_20",ho="_shortcuts_1xccu_46",go="_shortcutGroup_1xccu_56",yo="_shortcut_1xccu_46",bo="_key_1xccu_70",wo="_label_1xccu_91",T={statusArea:_o,toggleBtn:vo,shortcuts:ho,shortcutGroup:go,shortcut:yo,key:bo,label:wo},Fs=({showTheater:e=!0})=>{const[r,t]=E(!1);return n("div",{className:T.statusArea,children:[n("button",{type:"button",className:T.toggleBtn,onClick:()=>t(c=>!c),"aria-expanded":r,"aria-controls":"player-shortcuts",children:[n(J,{name:"keyboard",size:14}),n("span",{children:"Keyboard Shortcuts"}),r?n(J,{name:"chevron-up",size:12}):n(J,{name:"chevron-down",size:12})]}),r&&n("div",{id:"player-shortcuts",className:T.shortcuts,children:[n("div",{className:T.shortcutGroup,children:[n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"↑"}),n("span",{className:T.key,children:"↓"}),n("span",{className:T.label,children:"Volume"})]}),n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"←"}),n("span",{className:T.key,children:"→"}),n("span",{className:T.label,children:"Seek"})]})]}),n("div",{className:T.shortcutGroup,children:[n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"Space"}),n("span",{className:T.label,children:"Play/Pause"})]}),n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"F"}),n("span",{className:T.label,children:"Fullscreen"})]}),n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"M"}),n("span",{className:T.label,children:"Mute"})]}),e&&n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"T"}),n("span",{className:T.label,children:"Theater"})]}),n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"N"}),n("span",{className:T.label,children:"Next"})]})]})]})]})},Co="_episodeListContainer_9tyin_1",So="_drawerContainer_9tyin_9",ko="_episodeListHeader_9tyin_14",Eo="_drawerHeader_9tyin_20",xo="_episodeListTitle_9tyin_29",Lo="_rangeSelector_9tyin_41",Bo="_rangeButton_9tyin_47",To="_active_9tyin_70",Po="_episodeList_9tyin_1",Io="_drawerList_9tyin_89",No="_episodeItem_9tyin_118",$o="_watched_9tyin_145",Mo="_episodeThumb_9tyin_167",Ro="_episodeText_9tyin_176",Ao="_episodeLabel_9tyin_184",Fo="_episodeSub_9tyin_189",N={episodeListContainer:Co,drawerContainer:So,episodeListHeader:ko,drawerHeader:Eo,episodeListTitle:xo,rangeSelector:Lo,rangeButton:Bo,active:To,episodeList:Po,drawerList:Io,episodeItem:No,watched:$o,episodeThumb:Mo,episodeText:Ro,episodeLabel:Ao,episodeSub:Fo},Do=({episodes:e,currentEpisode:r,watchedEpisodes:t=[],onEpisodeClick:c,variant:o="sidebar",title:u="Episodes",header:v})=>{const[C,i]=E(0),h=y(null),l=de(()=>e.map(p=>typeof p=="string"?{id:p,label:`Episode ${p}`}:p),[e]),P=de(()=>new Set(t),[t]);$(()=>{const p=h.current;if(!p)return;let _=p.parentElement;for(;_;){const b=window.getComputedStyle(_);if((b.overflowY==="auto"||b.overflowY==="scroll")&&_.scrollHeight>_.clientHeight)break;_=_.parentElement}if(!_)return;const S=_.getBoundingClientRect(),a=p.getBoundingClientRect();_.scrollTop+=a.top+a.height/2-(S.top+_.clientHeight/2)},[r,C]);const f=de(()=>{if(l.length<=100)return[];const p=[];for(let _=0;_<l.length;_+=100){const S=_+1,a=Math.min(_+100,l.length);p.push(`${S}-${a}`)}return p},[l]),x=de(()=>{if(f.length===0)return l;const p=f[C];if(!p)return l;const[_,S]=p.split("-"),a=parseInt(_,10),b=parseInt(S,10);return l.slice(a-1,b)},[l,f,C]);return n("div",{className:`${N.episodeListContainer} ${o==="drawer"?N.drawerContainer:""}`,children:[n("div",{className:`${N.episodeListHeader} ${o==="drawer"?N.drawerHeader:""}`,children:[v,n("h3",{className:N.episodeListTitle,children:u}),f.length>0&&n("div",{className:N.rangeSelector,children:f.map((p,_)=>n("button",{className:`${N.rangeButton} ${C===_?N.active:""}`,onClick:()=>i(_),children:p},p))})]}),n("div",{className:`${N.episodeList} ${o==="drawer"?N.drawerList:""}`,children:x.map(p=>{const _=p.id===r,S=P.has(p.id)||p.watched===!0;return n("div",{ref:_?h:void 0,className:`${N.episodeItem} ${S?N.watched:""} ${_?N.active:""}`,onClick:()=>c(p.id),children:[p.thumbnail&&n("img",{src:p.thumbnail,alt:"",loading:"lazy",decoding:"async",className:N.episodeThumb}),n("span",{className:N.episodeText,children:[n("span",{className:N.episodeLabel,children:p.label??`Episode ${p.id}`}),p.sublabel&&n("span",{className:N.episodeSub,children:p.sublabel})]})]},p.id)})})]})},Ds=({variant:e="sidebar",count:r=12})=>n("div",{className:`${N.episodeListContainer} ${e==="drawer"?N.drawerContainer:""}`,children:[n("div",{className:`${N.episodeListHeader} ${e==="drawer"?N.drawerHeader:""}`,children:[n("h3",{className:N.episodeListTitle,children:"Episodes"}),n("div",{className:N.rangeSelector,children:[n(ge,{width:"60px",height:"28px",variant:"rectangular"}),n(ge,{width:"60px",height:"28px",variant:"rectangular"}),n(ge,{width:"60px",height:"28px",variant:"rectangular"})]})]}),n("div",{className:`${N.episodeList} ${e==="drawer"?N.drawerList:""}`,children:Array.from({length:r}).map((t,c)=>n("div",{className:N.episodeItem,style:{border:"none",background:"transparent"},children:n(ge,{width:"120px",height:"1.2rem",variant:"text"})},c))})]}),Oo="_shell_cys6s_1",qo="_overlay_cys6s_10",Ho="_drawer_cys6s_21",zo="_handle_cys6s_56",Wo="_header_cys6s_64",Vo="_headerCopy_cys6s_73",Uo="_kicker_cys6s_79",Ko="_title_cys6s_87",Go="_closeBtn_cys6s_94",Xo="_body_cys6s_116",Q={shell:Oo,overlay:qo,drawer:Ho,handle:zo,header:Wo,headerCopy:Vo,kicker:Uo,title:Ko,closeBtn:Go,body:Xo};function Os({isOpen:e,onClose:r,episodes:t,currentEpisode:c,watchedEpisodes:o=[],onEpisodeClick:u,title:v,header:C}){return $(()=>{if(!e)return;const i=l=>{l.key==="Escape"&&r()},h=document.body.style.overflow;return document.body.style.overflow="hidden",document.addEventListener("keydown",i),()=>{document.body.style.overflow=h,document.removeEventListener("keydown",i)}},[e,r]),e?Tt(n("div",{className:Q.shell,role:"dialog","aria-modal":"true","aria-label":"Episode picker",children:[n("button",{className:Q.overlay,type:"button",onClick:r,"aria-label":"Close episodes"}),n("aside",{className:Q.drawer,children:[n("div",{className:Q.handle}),n("div",{className:Q.header,children:[n("div",{className:Q.headerCopy,children:[n("span",{className:Q.kicker,children:"Episode picker"}),n("h3",{className:Q.title,children:"Choose an episode"})]}),n("button",{className:Q.closeBtn,type:"button",onClick:r,"aria-label":"Close",children:n(J,{name:"times"})})]}),n("div",{className:Q.body,children:n(Do,{episodes:t,currentEpisode:c,watchedEpisodes:o,onEpisodeClick:u,variant:"drawer",title:v,header:C})})]})]}),document.body):null}function Te(){return document}function Ye(e){const r=Te();if(document.fullscreenElement)return document.fullscreenElement;if(r.webkitFullscreenElement)return r.webkitFullscreenElement;const t=e;return t?.webkitDisplayingFullscreen?t:null}function se(e){return Ye(e)!==null}async function Qo(e,r){if(Ye(r))return;const t=e;try{if(typeof e.requestFullscreen=="function"){await e.requestFullscreen();return}if(typeof t.webkitRequestFullscreen=="function"){await t.webkitRequestFullscreen();return}if(typeof t.webkitRequestFullScreen=="function"){await t.webkitRequestFullScreen();return}}catch{}const c=r;if(c&&typeof c.webkitEnterFullscreen=="function"){if(c.webkitSupportsFullscreen===!1)return;try{await c.webkitEnterFullscreen()}catch{}}}async function jo(e){const r=Te();try{if(document.fullscreenElement&&typeof document.exitFullscreen=="function"){await document.exitFullscreen();return}if(r.webkitFullscreenElement&&typeof r.webkitExitFullscreen=="function"){await r.webkitExitFullscreen();return}}catch{}const t=e;if(t?.webkitDisplayingFullscreen&&typeof t.webkitExitFullscreen=="function"){try{t.webkitExitFullscreen()}catch{}return}try{typeof r.webkitCancelFullScreen=="function"?r.webkitCancelFullScreen():!document.fullscreenElement&&typeof document.exitFullscreen=="function"&&(document.fullscreenElement??r.webkitFullscreenElement)&&await document.exitFullscreen()}catch{}}async function Jo(e,r){!e&&!r||(se(r)?await jo(r):e&&await Qo(e,r))}function Yo(e,r){const t=()=>{try{r(se(e()))}catch{}},c=Te(),o=t;c.addEventListener("fullscreenchange",t),c.addEventListener("webkitfullscreenchange",o),c.addEventListener("webkitbeginfullscreen",o,!0),c.addEventListener("webkitendfullscreen",o,!0);const u=e();return u?.addEventListener("webkitbeginfullscreen",o),u?.addEventListener("webkitendfullscreen",o),()=>{c.removeEventListener("fullscreenchange",t),c.removeEventListener("webkitfullscreenchange",o),c.removeEventListener("webkitbeginfullscreen",o,!0),c.removeEventListener("webkitendfullscreen",o,!0),u?.removeEventListener("webkitbeginfullscreen",o),u?.removeEventListener("webkitendfullscreen",o)}}const qs=({skipIntervals:e,showId:r,episodeNumber:t,episodeCount:c,sourceType:o,showMeta:u})=>{const v=Mt(),C=Pt(),i=y(null),h=y(null),l=y(null),P=y(null),f=y(!1),x=y(null),p=y(0),_=y(1),S=y({mouse:!1,keyboard:!1}),a=y(null),b=y(null),g=y(!1),M=y(Math.random().toString(36).substring(2)),[R,W]=E(!1),[G,L]=E(()=>{try{return localStorage.getItem("playerMuted")==="true"}catch{return!1}}),[q,U]=E(()=>{try{const s=parseFloat(localStorage.getItem("playerVolume")||"");return isNaN(s)?1:Math.max(0,Math.min(1,s))}catch{return 1}}),[d,m]=E(!1),[F,V]=E(0),[j,D]=E(!0),[ee,Pe]=E(!1),[Ze,Ie]=E({time:0,position:null}),[be,et]=E(localStorage.getItem("autoSkipEnabled")==="true"),[tt,we]=E(null),[nt,rt]=E(!1),[te]=E(co),[ot,st]=E(te.fontSize),[ct,it]=E(te.position),[at,lt]=E(te.bgOpacity),[ut,dt]=E(te.bgColor),[pt,ft]=E(te.textColor),[mt,_t]=E(te.edge),[vt,ht]=E(te.bold),[gt,yt]=E([]),[bt,wt]=E(null),[Ct,St]=E(!1),[kt,Et]=E(!1),[pe,X]=E(!1),[xt,fe]=E(!1),[Lt,Ne]=E(()=>{try{return localStorage.getItem("playerUseNativeControls")==="true"}catch{return!1}}),ce=y(!1),Ce=y(-1),me=I(()=>{const s=i.current;return!r||!t||!u?.name?null:{showId:r,episodeNumber:t,episodeCount:c,currentTime:s?s.currentTime:0,duration:s?s.duration:0,showName:u.name,showThumbnail:u.thumbnail,nativeName:u.names?.native,englishName:u.names?.english,genres:Array.isArray(u.genres)?u.genres.map(k=>typeof k=="string"?k:k?.name).filter(Boolean):void 0,popularityScore:u.score,type:u.type,isPlaying:s?!s.paused:!0,sessionId:M.current,isAdult:u.isAdult}},[r,t,c,u]),O=I((s=!1,k=!1)=>{if(ce.current)return!1;const B=me();if(!B)return!1;const w=i.current;if(!w&&o!=="iframe")return!1;const A=w?w.currentTime>=w.duration*.8:!1;let H=w?w.currentTime:0;if(s&&A&&(H=w?w.duration:0),!k){if(H===0&&!A)return!1;const K=w?Math.abs(H-Ce.current):0;if(!s&&w&&H!==w.duration&&K<5)return!1}return B.currentTime=H,Ce.current=H,s?(async()=>{try{await Ke.progress.updateProgress.mutate(B),v.invalidateQueries({queryKey:["video-sources",r,t]}),v.invalidateQueries({queryKey:["allContinueWatching"]}),v.invalidateQueries({queryKey:["thisWeekSchedule"]}),v.invalidateQueries(C.continueWatching.pathFilter())}catch(K){console.error("Failed to update progress:",K)}})():It("progress.updateProgress",B).catch(K=>console.error("Failed to update progress:",K)),!0},[me,o,v,r,t,C.continueWatching]);$(()=>{const s=i.current;s&&(s.volume=q,s.muted=G)},[i,q,G]),$(()=>{const s=()=>{ce.current||O(!0)};window.addEventListener("beforeunload",s);const k=x,B=P;return()=>{window.removeEventListener("beforeunload",s),ce.current||O(!0),k.current&&clearTimeout(k.current),B.current&&clearTimeout(B.current)}},[O]);const _e=I(()=>{const s=h.current;s&&Jo(s,i.current).catch(k=>{console.error(`Error attempting to toggle full-screen mode: ${k?.message} (${k?.name})`)})},[]),ve=I(()=>{i.current&&(i.current.paused?i.current.play().catch(()=>console.warn("Autoplay was prevented.")):(i.current.pause(),D(!0)))},[D]),ne=I(()=>{const s=i.current;if(!s)return;const k=S.current.mouse||S.current.keyboard;s.playbackRate=k?2:_.current},[]),ie=I(s=>{S.current.mouse!==s&&(S.current.mouse=s,fe(s||S.current.keyboard),ne())},[ne]),re=I(s=>{S.current.keyboard!==s&&(S.current.keyboard=s,fe(S.current.mouse||s),ne())},[ne]),ae=I(s=>{i.current&&(i.current.currentTime+=s,x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{O(!1,!0)},1500),D(!0))},[O,D]),he=I(()=>{if(!i.current)return;const s=!i.current.muted;i.current.muted=s,L(s),localStorage.setItem("playerMuted",String(s)),!s&&i.current.volume===0&&(i.current.volume=.5,U(.5),localStorage.setItem("playerVolume",String(.5))),D(!0)},[D]);$(()=>{const s=()=>i.current,k=Yo(s,B=>{m(B),B&&D(!0)});return m(se(s())),k},[D]),$(()=>{const s=B=>{if(!B.target.closest('input, textarea, button, select, a, [role="button"], [contenteditable="true"]')){if(B.code==="Space"){if(B.preventDefault(),g.current)return;g.current=!0,b.current&&clearTimeout(b.current),b.current=window.setTimeout(()=>{b.current=null,g.current&&re(!0)},180);return}switch(B.key.toLowerCase()){case"f":_e();break;case"m":he();break;case"arrowright":ae(10);break;case"arrowleft":ae(-10);break;case"arrowup":if(B.preventDefault(),i.current){const A=Math.min(1,i.current.volume+.1);i.current.volume=A,U(A)}break;case"arrowdown":if(B.preventDefault(),i.current){const A=Math.max(0,i.current.volume-.1);i.current.volume=A,U(A)}break}}},k=B=>{if(B.code==="Space"){if(B.preventDefault(),g.current=!1,S.current.keyboard){re(!1);return}b.current&&(clearTimeout(b.current),b.current=null,ve())}};return document.addEventListener("keydown",s),document.addEventListener("keyup",k),()=>{document.removeEventListener("keydown",s),document.removeEventListener("keyup",k),b.current&&(clearTimeout(b.current),b.current=null),g.current=!1,re(!1),fe(!1)}},[re,ve,_e,he,ae]),$(()=>{const s=H=>H?!!H.closest('[data-speed-boost-ignore="true"], [data-player-ui="true"], button, input, select, textarea, a, [role="button"], [role="slider"], [contenteditable="true"]'):!0,k=H=>{if(H.button!==0)return;const Y=H.target;if(!Y||s(Y))return;const K=h.current;!K||!K.contains(Y)||(a.current&&clearTimeout(a.current),a.current=window.setTimeout(()=>{a.current=null,ie(!0)},180))},B=H=>{const Y=H.target;if(!Y||s(Y))return;const K=h.current;!K||!K.contains(Y)||(a.current&&clearTimeout(a.current),a.current=window.setTimeout(()=>{a.current=null,ie(!0)},180))},w=()=>{a.current&&(clearTimeout(a.current),a.current=null),ie(!1)},A=()=>{a.current&&(clearTimeout(a.current),a.current=null),g.current=!1,b.current&&(clearTimeout(b.current),b.current=null),re(!1),ie(!1),fe(!1)};return document.addEventListener("mousedown",k),document.addEventListener("mouseup",w),document.addEventListener("touchstart",B,{passive:!0}),document.addEventListener("touchend",w),document.addEventListener("touchcancel",w),document.addEventListener("pointerup",w),document.addEventListener("pointercancel",w),window.addEventListener("blur",A),()=>{document.removeEventListener("mousedown",k),document.removeEventListener("mouseup",w),document.removeEventListener("touchstart",B),document.removeEventListener("touchend",w),document.removeEventListener("touchcancel",w),document.removeEventListener("pointerup",w),document.removeEventListener("pointercancel",w),window.removeEventListener("blur",A),a.current&&(clearTimeout(a.current),a.current=null)}},[re,ie]);const $e=I(()=>{W(!0),X(!1),setTimeout(()=>O(!1,!0),50)},[O]),Me=I(()=>{W(!0),X(!1)},[]),Re=I(()=>{const s=i.current;s&&!s.paused&&s.readyState>=3&&!s.seeking||X(!0)},[]),Ae=I(()=>{X(!1)},[]),Fe=I(()=>{W(!1),X(!1),D(!0),setTimeout(()=>O(!1,!0),50)},[O]),De=y(!1);De.current=pe,$(()=>{if(!pe)return;let s=i.current?.currentTime??0,k=0;const B=window.setInterval(()=>{const w=i.current;if(!w)return;k+=1;const A=w.currentTime,H=A!==s;if(s=A,!(w.paused||w.seeking)){if(H||w.readyState>=3){X(!1);return}k>=24&&w.readyState>=2&&!w.ended&&X(!1)}},500);return()=>window.clearInterval(B)},[pe]),$(()=>{ce.current=!1,Ce.current=-1,p.current=0,M.current=Math.random().toString(36).substring(2),V(0),X(!1)},[r,t]);const Oe=I(()=>{V(0),X(!1)},[]);$(()=>{const s=M.current;return()=>{Nt(s)}},[r,t]),$(()=>{if(o!=="iframe")return;O(!1,!0);const s=setInterval(()=>{O(!1,!0)},6e4);return()=>clearInterval(s)},[o,O]);const qe=I(()=>{V(i.current?.duration||0),ne()},[ne]),He=I(()=>{if(i.current){const s=i.current.muted,k=i.current.volume;L(s),U(k),localStorage.setItem("playerMuted",String(s)),localStorage.setItem("playerVolume",String(k))}},[]),ze=I(()=>{},[]),We=I(()=>{const s=i.current;if(!s)return;De.current&&!s.paused&&!s.seeking&&X(!1);const k=s.currentTime||0,B=Date.now();B-p.current>6e4&&O()&&(p.current=B);const w=e.find(A=>k>=A.start_time&&k<A.end_time)||null;we(A=>A?.skip_id!==w?.skip_id?w:A),be&&w&&!s.paused&&(s.currentTime=w.end_time,we(null))},[e,be,O]),Ve=I(()=>{const s=me();s&&(s.currentTime=s.duration,Ke.progress.updateProgress.mutate(s).then(()=>{v.invalidateQueries({queryKey:["video-sources",r,t]}),v.invalidateQueries({queryKey:["allContinueWatching"]})}).catch(k=>console.error("Failed to send final progress:",k)))},[me,v,r,t]),Ue=I(()=>{ce.current=!0,Ve()},[Ve]);$(()=>{const s=()=>{ee&&(Pe(!1),Ie({time:0,position:null}),f.current&&i.current?.play(),O(!1,!0))};return ee&&(document.addEventListener("mouseup",s),document.addEventListener("pointerup",s),document.addEventListener("touchend",s),document.addEventListener("pointercancel",s),document.addEventListener("touchcancel",s)),()=>{document.removeEventListener("mouseup",s),document.removeEventListener("pointerup",s),document.removeEventListener("touchend",s),document.removeEventListener("pointercancel",s),document.removeEventListener("touchcancel",s)}},[ee,O]);const Bt=de(()=>({togglePlay:ve,seek:ae,toggleMute:he,toggleFullscreen:_e,onPlay:$e,onPause:Fe,onLoadedMetadata:qe,formatTime:$t,onVolumeChange:He,onProgress:ze,onTimeUpdate:We,onEnded:Ue,setShowControls:D,setIsScrubbing:Pe,setHoverTime:Ie,setIsAutoSkipEnabled:et,setCurrentSkipInterval:we,setShowCCMenu:rt,setSubtitleFontSize:st,setSubtitlePosition:it,setSubtitleBgOpacity:lt,setSubtitleBgColor:dt,setSubtitleTextColor:ft,setSubtitleEdge:_t,setSubtitleBold:ht,setAvailableSubtitles:yt,setActiveSubtitleTrack:wt,setShowSettings:St,setShowVolumeSlider:Et,wasPlayingBeforeScrub:f,inactivityTimer:P,setIsFullscreen:m,onWaiting:Re,onPlaying:Me,onCanPlay:Ae,sendProgressUpdate:O,setUseNativeControls:Ne,resetMediaState:Oe}),[ve,ae,he,_e,$e,Fe,qe,He,ze,We,Ue,m,Re,Me,Ae,O,Ne,Oe]);return{refs:{videoRef:i,playerContainerRef:h,progressBarRef:l},state:{isPlaying:R,isMuted:G,volume:q,isFullscreen:d,duration:F,showControls:j,isScrubbing:ee,hoverTime:Ze,isAutoSkipEnabled:be,currentSkipInterval:tt,showCCMenu:nt,subtitleFontSize:ot,subtitlePosition:ct,subtitleBgOpacity:at,subtitleBgColor:ut,subtitleTextColor:pt,subtitleEdge:mt,subtitleBold:vt,availableSubtitles:gt,activeSubtitleTrack:bt,showSettings:Ct,showVolumeSlider:kt,isBuffering:pe,isSpeedBoostActive:xt,useNativeControls:Lt},actions:Bt}};function Zo(){try{return typeof navigator<"u"&&/android/i.test(navigator.userAgent)}catch{return!1}}function Hs(e,r){const{refs:t,actions:c}=e,o=y(r);o.current=r;const u=y(!1),v=y(!1),C=i=>{try{if(i)return i.matches}catch{}try{return window.innerWidth>window.innerHeight}catch{return!1}};$(()=>{if(!Zo())return;let i=null;const h=()=>{const l=t.playerContainerRef.current;if(C(i)){if(!o.current||!l||se(t.videoRef.current)||v.current)return;u.current=!0,c.toggleFullscreen()}else v.current=!1,u.current&&(u.current=!1,se(t.videoRef.current)&&c.toggleFullscreen())};try{i=window.matchMedia("(orientation: landscape)"),i.addEventListener?i.addEventListener("change",h):i.addListener(h)}catch{}return h(),()=>{try{i&&(i.removeEventListener?i.removeEventListener("change",h):i.removeListener(h))}catch{}}},[c,t.playerContainerRef,t.videoRef,r]),$(()=>{const i=()=>{if(!se(t.videoRef.current)){u.current=!1;try{window.matchMedia("(orientation: landscape)").matches&&(v.current=!0)}catch{v.current=!0}}};return document.addEventListener("fullscreenchange",i),document.addEventListener("webkitfullscreenchange",i),()=>{document.removeEventListener("fullscreenchange",i),document.removeEventListener("webkitfullscreenchange",i)}},[t.videoRef])}const es=e=>Math.max(8,Math.min(40,Math.ceil(e/16.7)+4));function zs({videoRef:e,canvasRef:r,delayMs:t,enabled:c}){const o=y(t);o.current=t;const u=y([]),v=y(-1),C=y(-1),i=y(!1),h=y(0),l=y(null);$(()=>{const P=a=>{if(a)try{a.close()}catch{}},f=()=>{for(const a of u.current)P(a.bitmap);u.current=[]};if(!c){f(),v.current=-1,C.current=-1,i.current=!1,h.current=0;return}let x=!1;const p=()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)},_=()=>{x||(p(),l.current=requestAnimationFrame(()=>{S()}))};async function S(){if(x)return;const a=e.current,b=r.current;if(!a||!b||a.videoWidth===0){_();return}if(a.paused||a.ended||document.hidden||a.readyState<HTMLMediaElement.HAVE_CURRENT_DATA){_();return}const g=a.getVideoPlaybackQuality().totalVideoFrames;if(g===v.current){_();return}(a.seeking||C.current>=0&&Math.abs(a.currentTime-C.current)>.5)&&(f(),i.current=!1,h.current=0,v.current=-1),C.current=a.currentTime,(b.width!==a.videoWidth||b.height!==a.videoHeight)&&(b.width=a.videoWidth,b.height=a.videoHeight);const M=Math.max(0,o.current||0);M>h.current&&(i.current=!1);try{const R=await createImageBitmap(a);if(x){P(R);return}v.current=g;const W=performance.now(),G=b.getContext("2d"),L=m=>{G&&G.drawImage(m,0,0,b.width,b.height)};if(M<=0){f(),i.current=!1,h.current=0,L(R),P(R),_();return}const q=u.current;q.push({bitmap:R,capture:W});const U=es(M);for(;q.length>U;)P(q.shift()?.bitmap);let d=-1;for(let m=q.length-1;m>=0;m--)if(W-q[m].capture>=M){d=m;break}if(d!==-1){for(let F=0;F<d;F++)P(q.shift()?.bitmap);const m=q.shift();m?(L(m.bitmap),P(m.bitmap),i.current=!0,h.current=M):L(R)}else if(!i.current)L(R);else{const m=q.shift();m?(L(m.bitmap),P(m.bitmap)):L(R)}}catch{}_()}return _(),()=>{x=!0,p();for(const a of u.current)try{a.bitmap.close()}catch{}u.current=[]}},[c,e,r])}const ts="_row_1fq55_1",ns="_rowHeader_1fq55_9",rs="_rowLabel_1fq55_17",os="_rowValue_1fq55_28",ss="_slider_1fq55_36",cs="_swatches_1fq55_99",is="_swatch_1fq55_99",as="_swatchPicked_1fq55_114",ls="_colorInput_1fq55_120",us="_segmented_1fq55_131",z={row:ts,rowHeader:ns,rowLabel:rs,rowValue:os,slider:ss,swatches:cs,swatch:is,swatchPicked:as,colorInput:ls,segmented:us},ds=({label:e,display:r,min:t,max:c,step:o,value:u,percent:v,onChange:C,onCommit:i})=>n("div",{className:z.row,children:[n("div",{className:z.rowHeader,children:[n("span",{className:z.rowLabel,children:e}),n("span",{className:z.rowValue,children:r})]}),n("input",{type:"range",className:z.slider,min:t,max:c,step:o,value:u,"aria-label":e,"data-speed-boost-ignore":"true",onInput:h=>C(Number(h.target.value)),onMouseDown:h=>h.stopPropagation(),onPointerDown:h=>h.stopPropagation(),onTouchStart:h=>h.stopPropagation(),onPointerUp:i,onPointerCancel:i,onTouchEnd:i,onKeyUp:i,onBlur:i,style:{"--slider-percent":`${v}%`}})]}),Ws=({label:e,colors:r,value:t,onChange:c})=>n("div",{className:z.row,children:[n("div",{className:z.rowHeader,children:n("span",{className:z.rowLabel,children:e})}),n("div",{className:z.swatches,children:[r.map(o=>n("button",{type:"button","aria-label":`${e} ${o}`,"aria-pressed":t.toLowerCase()===o.toLowerCase(),onClick:()=>c(o),className:`${z.swatch} ${t.toLowerCase()===o.toLowerCase()?z.swatchPicked:""}`,style:{backgroundColor:o}},o)),n("input",{type:"color","aria-label":`Custom ${e.toLowerCase()}`,className:z.colorInput,value:t,"data-speed-boost-ignore":"true",onInput:o=>c(o.target.value),onMouseDown:o=>o.stopPropagation(),onPointerDown:o=>o.stopPropagation(),onTouchStart:o=>o.stopPropagation()})]})]});function Vs({label:e,options:r,value:t,onChange:c}){return n("div",{className:z.row,children:[n("div",{className:z.rowHeader,children:n("span",{className:z.rowLabel,children:e})}),n("div",{className:z.segmented,role:"group","aria-label":e,children:r.map(o=>n("button",{type:"button","aria-pressed":t===o,onClick:()=>c(o),children:[n("span",{children:o}),t===o&&n(J,{name:"check",size:10})]},o))})]})}const ye=10,Be=500,Ee=e=>Math.max(0,Math.min(Be,Math.round(e))),Us=({isOpen:e,ms:r,onChange:t,onApply:c,onClose:o,testClipActive:u,onTestClip:v})=>e?n("div",{role:"dialog","aria-label":"Calibrate audio video sync","data-speed-boost-ignore":"true",onClick:C=>C.stopPropagation(),style:{position:"absolute",right:8,bottom:112,width:"min(260px, calc(100% - 16px))",maxHeight:"calc(100% - 124px)",overflowY:"auto",overflowX:"hidden",zIndex:60,display:"flex",flexDirection:"column",alignItems:"center",gap:8,padding:12,borderRadius:"var(--radius-lg)",border:"1px solid var(--glass-border)",background:"rgba(18, 18, 22, 0.95)",boxShadow:"var(--glass-shadow)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",boxSizing:"border-box"},children:[n("div",{style:{fontSize:"0.8rem",fontWeight:800,color:"var(--text-primary)"},children:"A/V sync"}),n("div",{children:n(le,{size:"sm",variant:"secondary",onClick:v,children:u?"Back to video":"Preview test clip"})}),n("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:6,flexWrap:"wrap"},children:[n(le,{size:"sm",onClick:()=>t(Ee(r-ye)),"aria-label":"Decrease delay by 10 milliseconds",children:["− ",ye,"ms"]}),n("div",{style:{fontSize:"1.1rem",fontWeight:800,minWidth:64,textAlign:"center"},children:[r,"ms"]}),n(le,{size:"sm",onClick:()=>t(Ee(r+ye)),"aria-label":"Increase delay by 10 milliseconds",children:["+ ",ye,"ms"]})]}),n(ds,{label:"Video delay",display:`${r}ms`,min:0,max:Be,step:5,value:r,percent:r/Be*100,onChange:C=>t(Ee(C))}),n("div",{style:{display:"flex",gap:8,justifyContent:"center",flexWrap:"wrap"},children:[n(le,{size:"sm",variant:"secondary",onClick:o,children:"Cancel"}),n(le,{size:"sm",onClick:c,children:["Apply ",r,"ms"]})]})]}):null;export{Us as A,Ts as B,$s as C,Z as D,Ds as E,ds as M,Fs as P,Ms as S,Bs as T,As as U,Rs as a,zs as b,Hs as c,ks as d,Es as e,Ps as f,Ns as g,Ls as h,to as i,hs as j,Do as k,bs as l,vs as m,oe as n,Os as o,Ss as p,ws as q,xs as r,oo as s,Is as t,qs as u,Cs as v,gs as w,ys as x,Ws as y,Vs as z};
|