karin-plugin-kkk 2.30.1 → 2.30.3
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/CHANGELOG.md +49 -0
- package/lib/build-metadata.json +5 -5
- package/lib/core_chunk/amagi.d.mts +16697 -16016
- package/lib/core_chunk/main.js +823 -1027
- package/lib/core_chunk/template.d.mts +10 -1
- package/lib/core_chunk/vendor.js +4304 -5164
- package/lib/karin-plugin-kkk.css +123 -112
- package/package.json +2 -2
package/lib/core_chunk/main.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { i as __toESM } from "./rolldown-runtime.js";
|
|
2
|
-
import { A as
|
|
2
|
+
import { $ as zhCN, $t as Hash, A as n, An as Button, At as Save, B as RiPieChart2Fill, Bn as Chalk, Bt as Palette, C as BiImage, Cn as Camera, Ct as ShoppingBag, D as AiOutlineVideoCamera, Dn as Bookmark, Dt as Settings2, E as AiFillStar, En as Bot, Et as Share2, F as RiHeart3Fill, Fn as require_png, Ft as QrCode, G as RiTiktokFill, Gt as Menu, H as RiStarFill, Hn as zod_default, Ht as Moon, I as RiHeart3Line, In as require_jsQR, It as Puzzle, J as RiVerifiedBadgeFill, Jt as LoaderCircle, K as RiTrophyFill, Kt as Maximize, L as RiHeartLine, Ln as require_jpeg_js, Lt as Plus, M as RiArrowRightFill, Mn as require_jsx_runtime, Mt as RefreshCw, N as RiGroupLine, Nn as require_server_node, Nt as Radio, O as m, On as BellRing, Ot as Search, P as RiHashtag, Pn as require_react, Pt as Quote, Q as SiAnthropic, Qt as Heart, R as RiLiveLine, Rn as require_heic_decode, Rt as Play, S as FaUserGroup, Sn as ChartColumn, St as Smartphone, T as AiFillPushpin, Tn as Box, Tt as ShieldCheck, U as RiStarLine, Ut as Monitor, V as RiShareForwardFill, Vn as Xhshow, Vt as Music, W as RiThumbUpFill, Wt as MessageCircle, X as SiGithub, Xt as Info, Y as RiVideoLine, Yt as LayoutTemplate, Z as SiBilibili, Zt as Image$1, _ as MdLocationOn, _n as CircleEllipsis, _t as Sun, a as purify, an as Eye, at as Zap, b as FaMusic, bn as CircleAlert, bt as SquarePen, c as VictoryLine, cn as Download, ct as Video, d as VictoryLabel, dn as CornerDownLeft, dt as User, en as GitBranch, et as parse, f as VictoryTheme, fn as Copy, ft as UserPlus, g as MdLightbulbOutline, gn as CircleFadingArrowUp, gt as Terminal, h as MdInfoOutline, hn as CircleQuestionMark, ht as Trash2, i as Window, in as FilePlay, it as differenceInSeconds, j as Markdown, jn as clsx, jt as RotateCcw, k as a, kn as Chip, kt as ScanLine, l as VictoryChart, ln as Crown, lt as Users, m as MdFitScreen, mn as Clock, mt as TriangleAlert, n as require_lib, nn as Gamepad2, nt as formatDistanceToNow, o as VictoryScatter, on as EyeOff, ot as X, p as rehypeHighlight, pn as Code, pt as Upload, q as RiUserFollowLine, qt as MapPin, r as require_qr_code_styling, rn as FileText, rt as format, s as VictoryPie, sn as ExternalLink, st as WandSparkles, t as createProxyMiddleware, tn as Gift, tt as fromUnixTime, u as VictoryAxis, un as Cpu, ut as UsersRound, v as MdSchedule, vn as CircleCheckBig, vt as Star, w as AiFillHeart, wn as Calendar, wt as Shield, x as FaTiktok, xn as Check, xt as Sparkles, y as FaCommentDots, yn as CircleCheck, yt as Square, z as RiMessage3Fill, zn as require_protobufjs, zt as Pencil } from "./vendor.js";
|
|
3
3
|
import "node:module";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import path, { resolve } from "node:path";
|
|
6
|
-
import URL$
|
|
6
|
+
import URL$2, { fileURLToPath } from "node:url";
|
|
7
7
|
import os, { platform } from "node:os";
|
|
8
8
|
import karin$1, { BOT_CONNECT, app, authMiddleware, checkPkgUpdate, checkPort, common, components, config, copyConfigSync, createBadRequestResponse, createNotFoundResponse, createServerErrorResponse, createSuccessResponse, db, defineConfig, ffmpeg, ffprobe, filesByExt, getBot, hooks, karin, karinPathHtml, karinPathTemp, logger, logger as logger$1, logs, mkdirSync, parseChangelog, range, render, requireFileSync, restart, segment, updatePkg, watch } from "node-karin";
|
|
9
9
|
import _ from "node-karin/lodash";
|
|
@@ -104,7 +104,9 @@ function checkDeprecation(apiName) {
|
|
|
104
104
|
* @returns 格式化的废弃提示消息字符串
|
|
105
105
|
*/
|
|
106
106
|
function buildDeprecationMessage(config) {
|
|
107
|
-
const lines = [`[DEPRECATED] "${config.name}" 已在 v${config.deprecatedIn}
|
|
107
|
+
const lines = [`[DEPRECATED] "${config.name}" 已在 v${config.deprecatedIn} 版本废弃。`];
|
|
108
|
+
if (config.replacement) lines.push(`请使用 "${config.replacement}" 替代。`);
|
|
109
|
+
else lines.push("此接口已被上游删除,无法继续使用,无可用替代方案。");
|
|
108
110
|
if (config.removedIn) lines.push(`此 API 将在 v${config.removedIn} 版本移除。`);
|
|
109
111
|
if (config.migrationGuide) lines.push(`迁移指南: ${config.migrationGuide}`);
|
|
110
112
|
return lines.join("\n");
|
|
@@ -212,10 +214,6 @@ registerDeprecatedApi({
|
|
|
212
214
|
name: "动态详情数据",
|
|
213
215
|
replacement: "fetchDynamicDetail"
|
|
214
216
|
},
|
|
215
|
-
{
|
|
216
|
-
name: "动态卡片数据",
|
|
217
|
-
replacement: "fetchDynamicCard"
|
|
218
|
-
},
|
|
219
217
|
{
|
|
220
218
|
name: "直播间信息",
|
|
221
219
|
replacement: "fetchLiveRoomInfo"
|
|
@@ -365,6 +363,20 @@ registerDeprecatedApi({
|
|
|
365
363
|
throwError: true
|
|
366
364
|
});
|
|
367
365
|
});
|
|
366
|
+
registerDeprecatedApi({
|
|
367
|
+
name: `methodType: '动态卡片数据'`,
|
|
368
|
+
deprecatedIn: "6.0.0",
|
|
369
|
+
removedIn: "7.0.0",
|
|
370
|
+
migrationGuide: "https://amagi-docs.vercel.app/docs/changelog/6.1.3",
|
|
371
|
+
throwError: false
|
|
372
|
+
});
|
|
373
|
+
registerDeprecatedApi({
|
|
374
|
+
name: "fetchDynamicCard",
|
|
375
|
+
deprecatedIn: "6.1.3",
|
|
376
|
+
removedIn: "7.0.0",
|
|
377
|
+
migrationGuide: "https://amagi-docs.vercel.app/docs/changelog/6.1.3",
|
|
378
|
+
throwError: false
|
|
379
|
+
});
|
|
368
380
|
//#endregion
|
|
369
381
|
//#region ../amagi/packages/core/src/model/DataFetchers.ts
|
|
370
382
|
/**
|
|
@@ -544,9 +556,14 @@ var BilibiliAPI = class {
|
|
|
544
556
|
getDynamicDetail(data) {
|
|
545
557
|
return `https://api.bilibili.com/x/polymer/web-dynamic/v1/detail?id=${data.dynamic_id}&features=itemOpusStyle,opusBigCover,onlyfansVote,endFooterHidden,decorationCard,onlyfansAssetsV2,ugcDelete,onlyfansQaCard,editable,opusPrivateVisible,avatarAutoTheme`;
|
|
546
558
|
}
|
|
547
|
-
/**
|
|
559
|
+
/**
|
|
560
|
+
* 获取动态卡片信息
|
|
561
|
+
*
|
|
562
|
+
* @deprecated B站官方已于 `2025-08-09` 删除原 `dynamic_svr` 接口,该接口已停用。
|
|
563
|
+
* 调用将返回错误信息,请使用 {@link getDynamicDetail} 替代。
|
|
564
|
+
*/
|
|
548
565
|
getDynamicCard(data) {
|
|
549
|
-
return
|
|
566
|
+
return this.getDynamicDetail(data);
|
|
550
567
|
}
|
|
551
568
|
/** 获取用户名片信息 */
|
|
552
569
|
getUserCard(data) {
|
|
@@ -1790,15 +1807,20 @@ async function fetchBilibiliInternal(methodType, options, config) {
|
|
|
1790
1807
|
const rawData = await fetchBilibili({ ...validateBilibiliParams(methodType, options) }, config.cookie, config.requestConfig);
|
|
1791
1808
|
const duration = Date.now() - startTime;
|
|
1792
1809
|
if (rawData.code !== 0) {
|
|
1810
|
+
const errorMessage = rawData.message || "B站数据获取失败";
|
|
1793
1811
|
emitApiError({
|
|
1794
1812
|
platform: "bilibili",
|
|
1795
1813
|
methodType,
|
|
1796
1814
|
errorCode: rawData.code,
|
|
1797
|
-
errorMessage
|
|
1815
|
+
errorMessage,
|
|
1798
1816
|
url: void 0,
|
|
1799
1817
|
duration
|
|
1800
1818
|
});
|
|
1801
|
-
return createErrorResponse(rawData.amagiError
|
|
1819
|
+
return createErrorResponse(rawData.amagiError ?? {
|
|
1820
|
+
errorDescription: errorMessage,
|
|
1821
|
+
requestType: methodType,
|
|
1822
|
+
requestUrl: void 0
|
|
1823
|
+
}, errorMessage, rawData.code, rawData);
|
|
1802
1824
|
}
|
|
1803
1825
|
const result = createSuccessResponse$1(rawData, "获取成功", 200);
|
|
1804
1826
|
emitApiSuccess({
|
|
@@ -2107,18 +2129,24 @@ async function fetchDynamicDetail(options, cookie, requestConfig) {
|
|
|
2107
2129
|
}
|
|
2108
2130
|
/**
|
|
2109
2131
|
* 获取B站动态卡片信息
|
|
2132
|
+
*
|
|
2133
|
+
* @deprecated v6.1.3 已废弃,B站官方已于 `2025-08-09` 删除原 `dynamic_svr` 接口。
|
|
2134
|
+
* 调用将返回错误信息
|
|
2135
|
+
* 计划于 v7.0.0 移除。
|
|
2136
|
+
*
|
|
2110
2137
|
* @param options - 动态参数
|
|
2111
2138
|
* @param options.dynamic_id - 动态 ID
|
|
2112
2139
|
* @param cookie - B站 Cookie (可选)
|
|
2113
2140
|
* @param requestConfig - 请求配置 (可选)
|
|
2114
|
-
* @returns
|
|
2141
|
+
* @returns 动态卡片数据(已停用,返回错误信息)
|
|
2115
2142
|
* @example
|
|
2116
2143
|
* ```typescript
|
|
2117
2144
|
* const result = await fetchDynamicCard({ dynamic_id: '123456789' }, cookie)
|
|
2118
|
-
*
|
|
2145
|
+
* // result.success === false,错误信息提示接口已停用
|
|
2119
2146
|
* ```
|
|
2120
2147
|
*/
|
|
2121
2148
|
async function fetchDynamicCard(options, cookie, requestConfig) {
|
|
2149
|
+
checkDeprecation("fetchDynamicCard");
|
|
2122
2150
|
return fetchBilibiliInternal("dynamicCard", options, {
|
|
2123
2151
|
cookie,
|
|
2124
2152
|
requestConfig
|
|
@@ -2388,6 +2416,7 @@ function createBoundBilibiliFetcher(cookie, requestConfig) {
|
|
|
2388
2416
|
fetchUserSpaceInfo: (options) => fetchUserSpaceInfo(options, cookie, requestConfig),
|
|
2389
2417
|
fetchUploaderTotalViews: (options) => fetchUploaderTotalViews(options, cookie, requestConfig),
|
|
2390
2418
|
fetchDynamicDetail: (options) => fetchDynamicDetail(options, cookie, requestConfig),
|
|
2419
|
+
/** @deprecated v6.1.3 已废弃,调用将返回错误信息 */
|
|
2391
2420
|
fetchDynamicCard: (options) => fetchDynamicCard(options, cookie, requestConfig),
|
|
2392
2421
|
fetchBangumiInfo: (options) => fetchBangumiInfo(options, cookie, requestConfig),
|
|
2393
2422
|
fetchBangumiStreamUrl: (options) => fetchBangumiStreamUrl(options, cookie, requestConfig),
|
|
@@ -3241,7 +3270,7 @@ var XBogus = class {
|
|
|
3241
3270
|
* @returns 包含完整URL、X-Bogus值和使用的User-Agent的元组
|
|
3242
3271
|
*/
|
|
3243
3272
|
getXBogus(url, ua) {
|
|
3244
|
-
const parsedUrl = new URL$
|
|
3273
|
+
const parsedUrl = new URL$2.URL(url);
|
|
3245
3274
|
const urlPath = parsedUrl.pathname + parsedUrl.search;
|
|
3246
3275
|
const currentUa = ua ?? this.defaultUa;
|
|
3247
3276
|
const rc4EncryptedUa = this.rc4Encrypt(this.uaKey, currentUa);
|
|
@@ -5433,6 +5462,8 @@ var encodeBase64Url = (bytes) => {
|
|
|
5433
5462
|
* 数据流而最小化保留的局部算法。
|
|
5434
5463
|
*/
|
|
5435
5464
|
var KuaishouChaChaCipher = class {
|
|
5465
|
+
key;
|
|
5466
|
+
nonce;
|
|
5436
5467
|
wordIndex = 0;
|
|
5437
5468
|
state = new Array(16).fill(0);
|
|
5438
5469
|
constructor(key, nonce) {
|
|
@@ -8577,19 +8608,12 @@ var fetchBilibili = async (data, cookie, requestConfig) => {
|
|
|
8577
8608
|
url: bilibiliApiUrls.getDynamicDetail({ dynamic_id: data.dynamic_id })
|
|
8578
8609
|
});
|
|
8579
8610
|
}
|
|
8580
|
-
case "dynamicCard": {
|
|
8581
|
-
|
|
8582
|
-
|
|
8583
|
-
|
|
8584
|
-
|
|
8585
|
-
|
|
8586
|
-
};
|
|
8587
|
-
return await GlobalGetData(data.methodType, {
|
|
8588
|
-
...baseRequestConfig,
|
|
8589
|
-
headers: customHeaders,
|
|
8590
|
-
url: bilibiliApiUrls.getDynamicCard({ dynamic_id })
|
|
8591
|
-
});
|
|
8592
|
-
}
|
|
8611
|
+
case "dynamicCard": return {
|
|
8612
|
+
code: -404,
|
|
8613
|
+
message: "接口已停用:B站官方已于 `2025-08-09` 删除 dynamic_svr 接口,fetchDynamicCard 方法已废弃,调用讲返回错误信息",
|
|
8614
|
+
ttl: 1,
|
|
8615
|
+
data: null
|
|
8616
|
+
};
|
|
8593
8617
|
case "userCard": {
|
|
8594
8618
|
const { host_mid } = data;
|
|
8595
8619
|
return await GlobalGetData(data.methodType, {
|
|
@@ -9493,13 +9517,13 @@ var createAmagiClient = (options) => {
|
|
|
9493
9517
|
* @param event - 事件名称
|
|
9494
9518
|
* @param listener - 事件处理函数
|
|
9495
9519
|
*/
|
|
9496
|
-
on: amagiEvents.on
|
|
9520
|
+
on: (event, listener) => amagiEvents.on(event, listener),
|
|
9497
9521
|
/**
|
|
9498
9522
|
* 注册一次性事件监听器
|
|
9499
9523
|
* @param event - 事件名称
|
|
9500
9524
|
* @param listener - 事件处理函数 (只触发一次)
|
|
9501
9525
|
*/
|
|
9502
|
-
once: amagiEvents.once
|
|
9526
|
+
once: (event, listener) => amagiEvents.once(event, listener),
|
|
9503
9527
|
/** @deprecated v6 已废弃,请使用 douyin.fetcher 替代 */
|
|
9504
9528
|
getDouyinData,
|
|
9505
9529
|
/** @deprecated v6 已废弃,请使用 bilibili.fetcher 替代 */
|
|
@@ -9663,7 +9687,7 @@ var AdditionalType = /* @__PURE__ */ function(AdditionalType) {
|
|
|
9663
9687
|
return AdditionalType;
|
|
9664
9688
|
}({});
|
|
9665
9689
|
//#endregion
|
|
9666
|
-
//#region ../amagi/packages/core/src/types/ReturnDataType/Bilibili/DynamicInfo.ts
|
|
9690
|
+
//#region ../amagi/packages/core/src/types/ReturnDataType/Bilibili/DynamicInfo/index.ts
|
|
9667
9691
|
var DynamicType = /* @__PURE__ */ function(DynamicType) {
|
|
9668
9692
|
DynamicType["AV"] = "DYNAMIC_TYPE_AV";
|
|
9669
9693
|
DynamicType["DRAW"] = "DYNAMIC_TYPE_DRAW";
|
|
@@ -10163,6 +10187,11 @@ var CreateApp = CreateAmagiApp;
|
|
|
10163
10187
|
/** After instantiation, it can interact with the specified platform API to quickly obtain data. */
|
|
10164
10188
|
var Client = CreateApp;
|
|
10165
10189
|
var amagi = Client;
|
|
10190
|
+
/*!
|
|
10191
|
+
* @ikenxuan/amagi
|
|
10192
|
+
* Copyright(c) 2023 ikenxuan
|
|
10193
|
+
* GPL-3.0 Licensed
|
|
10194
|
+
*/
|
|
10166
10195
|
//#endregion
|
|
10167
10196
|
//#region src/module/utils/Config.ts
|
|
10168
10197
|
var Cfg = class {
|
|
@@ -12613,11 +12642,17 @@ var Downloader = class {
|
|
|
12613
12642
|
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
12614
12643
|
let intervalId = null;
|
|
12615
12644
|
let throttleStream = null;
|
|
12645
|
+
let writer = null;
|
|
12616
12646
|
try {
|
|
12617
12647
|
let startByte = 0;
|
|
12618
12648
|
if (fs.existsSync(this.filepath)) {
|
|
12619
|
-
|
|
12620
|
-
|
|
12649
|
+
const stats = fs.statSync(this.filepath);
|
|
12650
|
+
startByte = Math.max(0, stats.size - 256 * 1024);
|
|
12651
|
+
if (startByte > 0 && startByte < stats.size) {
|
|
12652
|
+
fs.truncateSync(this.filepath, startByte);
|
|
12653
|
+
logger.debug(`检测到部分下载文件,截断到 ${formatBytes(startByte)} 后重新下载(回退 256KB 安全裕量)`);
|
|
12654
|
+
} else if (startByte > 0) logger.debug(`检测到部分下载文件,从 ${formatBytes(startByte)} 处继续下载(回退 256KB 安全裕量)`);
|
|
12655
|
+
else logger.debug("检测到部分下载文件,文件较小,将重新下载");
|
|
12621
12656
|
}
|
|
12622
12657
|
const requestConfig = {
|
|
12623
12658
|
url: this.url,
|
|
@@ -12696,7 +12731,10 @@ var Downloader = class {
|
|
|
12696
12731
|
const totalBytes = supportsRange ? startByte + contentLength : contentLength;
|
|
12697
12732
|
let downloadedBytes = startByte;
|
|
12698
12733
|
let lastPrintedPercentage = -1;
|
|
12699
|
-
|
|
12734
|
+
writer = fs.createWriteStream(this.filepath, {
|
|
12735
|
+
flags: startByte > 0 ? "r+" : "w",
|
|
12736
|
+
start: startByte > 0 ? startByte : void 0
|
|
12737
|
+
});
|
|
12700
12738
|
const printProgress = () => {
|
|
12701
12739
|
if (totalBytes > 0) {
|
|
12702
12740
|
const progressPercentage = Math.floor(downloadedBytes / totalBytes * 100);
|
|
@@ -12734,7 +12772,7 @@ var Downloader = class {
|
|
|
12734
12772
|
if (actualSize < expectedSize) {
|
|
12735
12773
|
logger.warn(`文件大小不匹配: 实际 ${formatBytes(actualSize)}, 预期 ${formatBytes(expectedSize)}`);
|
|
12736
12774
|
logger.warn(`差异: ${formatBytes(expectedSize - actualSize)} (${((expectedSize - actualSize) / expectedSize * 100).toFixed(2)}%)`);
|
|
12737
|
-
if (
|
|
12775
|
+
if (expectedSize - actualSize > 10 * 1024) throw new Error(`文件下载不完整: 实际 ${formatBytes(actualSize)}, 预期 ${formatBytes(expectedSize)}`);
|
|
12738
12776
|
} else logger.debug(`文件大小验证通过: ${formatBytes(actualSize)}`);
|
|
12739
12777
|
}
|
|
12740
12778
|
this.consecutiveResets = 0;
|
|
@@ -12762,6 +12800,20 @@ var Downloader = class {
|
|
|
12762
12800
|
}
|
|
12763
12801
|
const nextDelay = calculateBackoffDelay(retryCount);
|
|
12764
12802
|
if (retryCount < this.maxRetries) {
|
|
12803
|
+
if (writer && !(writer.closed ?? false)) {
|
|
12804
|
+
const ws = writer;
|
|
12805
|
+
await new Promise((resolve) => {
|
|
12806
|
+
const timeout = setTimeout(() => {
|
|
12807
|
+
ws.off("close", onClose);
|
|
12808
|
+
resolve();
|
|
12809
|
+
}, 1e3);
|
|
12810
|
+
const onClose = () => {
|
|
12811
|
+
clearTimeout(timeout);
|
|
12812
|
+
resolve();
|
|
12813
|
+
};
|
|
12814
|
+
ws.once("close", onClose);
|
|
12815
|
+
});
|
|
12816
|
+
}
|
|
12765
12817
|
if (isRecoverable && fs.existsSync(this.filepath)) {
|
|
12766
12818
|
const stats = fs.statSync(this.filepath);
|
|
12767
12819
|
logger.warn(`检测到可恢复的网络错误,保留已下载的 ${formatBytes(stats.size)} 数据`);
|
|
@@ -13485,12 +13537,6 @@ var PreviewLayout = ({ state }) => {
|
|
|
13485
13537
|
});
|
|
13486
13538
|
};
|
|
13487
13539
|
//#endregion
|
|
13488
|
-
//#region ../template/src/components/common/Icon.tsx
|
|
13489
|
-
var Icon = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon$1, {
|
|
13490
|
-
...props,
|
|
13491
|
-
ssr: true
|
|
13492
|
-
});
|
|
13493
|
-
//#endregion
|
|
13494
13540
|
//#region ../template/src/components/common/GlowImage.tsx
|
|
13495
13541
|
var GlowImage = ({ src, children, alt, className, imgClassName, mode = "blur-layer", blurRadius = 18, glowStrength = .6, scale = 1.06, shadowRadius = 28, crossOrigin }) => {
|
|
13496
13542
|
const [shadowColor, setShadowColor] = import_react.useState("rgba(255,255,255,0.5)");
|
|
@@ -14577,23 +14623,19 @@ var DefaultLayout = ({ children, version, data, scale = 3, className = "", style
|
|
|
14577
14623
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14578
14624
|
className: "flex items-center mb-1 space-x-2 text-sm font-bold tracking-widest uppercase text-foreground/80",
|
|
14579
14625
|
children: [
|
|
14580
|
-
version.hasUpdate && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14581
|
-
icon: "lucide:circle-fading-arrow-up",
|
|
14626
|
+
version.hasUpdate && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleFadingArrowUp, {
|
|
14582
14627
|
strokeWidth: 3,
|
|
14583
14628
|
className: "w-4 h-4 text-success"
|
|
14584
14629
|
}),
|
|
14585
|
-
!version.hasUpdate && version.releaseType === "Stable" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14586
|
-
icon: "lucide:check-circle",
|
|
14630
|
+
!version.hasUpdate && version.releaseType === "Stable" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleCheckBig, {
|
|
14587
14631
|
strokeWidth: 3,
|
|
14588
14632
|
className: "w-4 h-4"
|
|
14589
14633
|
}),
|
|
14590
|
-
!version.hasUpdate && version.releaseType === "Preview" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14591
|
-
icon: "lucide:alert-triangle",
|
|
14634
|
+
!version.hasUpdate && version.releaseType === "Preview" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TriangleAlert, {
|
|
14592
14635
|
strokeWidth: 3,
|
|
14593
14636
|
className: "w-4 h-4 text-warning"
|
|
14594
14637
|
}),
|
|
14595
|
-
!version.hasUpdate && version.releaseType !== "Stable" && version.releaseType !== "Preview" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14596
|
-
icon: "lucide:info",
|
|
14638
|
+
!version.hasUpdate && version.releaseType !== "Stable" && version.releaseType !== "Preview" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Info, {
|
|
14597
14639
|
strokeWidth: 3,
|
|
14598
14640
|
className: "w-4 h-4"
|
|
14599
14641
|
}),
|
|
@@ -14620,8 +14662,7 @@ var DefaultLayout = ({ children, version, data, scale = 3, className = "", style
|
|
|
14620
14662
|
className: "flex flex-col items-start",
|
|
14621
14663
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14622
14664
|
className: "flex items-center mb-1 space-x-2 text-sm font-bold tracking-widest uppercase text-foreground/80",
|
|
14623
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14624
|
-
icon: "lucide:zap",
|
|
14665
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Zap, {
|
|
14625
14666
|
strokeWidth: 3,
|
|
14626
14667
|
className: "w-4 h-4 opacity-90"
|
|
14627
14668
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -14860,12 +14901,10 @@ var BangumiBilibiliHeader = (props) => {
|
|
|
14860
14901
|
}),
|
|
14861
14902
|
props.upInfo.verify_type > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
14862
14903
|
className: "flex items-center",
|
|
14863
|
-
children: props.upInfo.verify_type === 1 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14864
|
-
icon: "lucide:shield",
|
|
14904
|
+
children: props.upInfo.verify_type === 1 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Shield, {
|
|
14865
14905
|
width: 20,
|
|
14866
14906
|
className: "text-warning"
|
|
14867
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14868
|
-
icon: "lucide:crown",
|
|
14907
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Crown, {
|
|
14869
14908
|
width: 20,
|
|
14870
14909
|
className: "text-accent"
|
|
14871
14910
|
})
|
|
@@ -14885,10 +14924,7 @@ var BangumiBilibiliHeader = (props) => {
|
|
|
14885
14924
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14886
14925
|
className: "flex gap-6 items-center text-3xl select-text text-foreground",
|
|
14887
14926
|
children: [
|
|
14888
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14889
|
-
icon: "lucide:users",
|
|
14890
|
-
width: 30
|
|
14891
|
-
}),
|
|
14927
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, { size: 30 }),
|
|
14892
14928
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [formatNumber$3(props.upInfo.follower), "粉丝"] }),
|
|
14893
14929
|
props.upInfo.is_follow === 1 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Chip, {
|
|
14894
14930
|
size: "sm",
|
|
@@ -14901,10 +14937,7 @@ var BangumiBilibiliHeader = (props) => {
|
|
|
14901
14937
|
}),
|
|
14902
14938
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14903
14939
|
className: "flex gap-2 items-center text-2xl select-text text-foreground/70",
|
|
14904
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14905
|
-
icon: "lucide:hash",
|
|
14906
|
-
width: 20
|
|
14907
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["UID: ", props.upInfo.mid] })]
|
|
14940
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 20 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["UID: ", props.upInfo.mid] })]
|
|
14908
14941
|
})
|
|
14909
14942
|
]
|
|
14910
14943
|
})]
|
|
@@ -14944,10 +14977,7 @@ var BangumiBilibiliHeader = (props) => {
|
|
|
14944
14977
|
className: "mb-12",
|
|
14945
14978
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14946
14979
|
className: "flex gap-6 items-center mb-6 text-3xl select-text text-foreground",
|
|
14947
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14948
|
-
icon: "lucide:users",
|
|
14949
|
-
width: 30
|
|
14950
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "声优阵容" })]
|
|
14980
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, { size: 30 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "声优阵容" })]
|
|
14951
14981
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14952
14982
|
className: "flex flex-wrap gap-8",
|
|
14953
14983
|
children: [actorList.slice(0, 6).map((actor, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -14967,10 +14997,7 @@ var BangumiBilibiliHeader = (props) => {
|
|
|
14967
14997
|
className: "mb-12",
|
|
14968
14998
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14969
14999
|
className: "flex gap-6 items-center mb-6 text-3xl select-text text-foreground",
|
|
14970
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
14971
|
-
icon: "lucide:star",
|
|
14972
|
-
width: 30
|
|
14973
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "评价" })]
|
|
15000
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Star, { size: 30 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "评价" })]
|
|
14974
15001
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
14975
15002
|
className: "text-3xl leading-relaxed select-text text-foreground",
|
|
14976
15003
|
children: props.evaluate
|
|
@@ -15083,10 +15110,7 @@ var BangumiBilibiliEpisodes = (props) => {
|
|
|
15083
15110
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
15084
15111
|
className: "flex gap-8 items-center mb-20 text-5xl font-bold select-text text-foreground",
|
|
15085
15112
|
children: [
|
|
15086
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
15087
|
-
icon: "lucide:play",
|
|
15088
|
-
width: 46
|
|
15089
|
-
}),
|
|
15113
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Play, { size: 46 }),
|
|
15090
15114
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "剧集列表" }),
|
|
15091
15115
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Chip, {
|
|
15092
15116
|
size: "lg",
|
|
@@ -15144,10 +15168,7 @@ var BangumiBilibiliEpisodes = (props) => {
|
|
|
15144
15168
|
children: props.UPInfo ? props.UPInfo.uname : props.Title
|
|
15145
15169
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
15146
15170
|
className: "flex gap-4 items-center text-3xl select-text text-foreground/70",
|
|
15147
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
15148
|
-
icon: "lucide:calendar",
|
|
15149
|
-
width: 30
|
|
15150
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "发布了内容" })]
|
|
15171
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Calendar, { size: 30 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "发布了内容" })]
|
|
15151
15172
|
})]
|
|
15152
15173
|
})]
|
|
15153
15174
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -15193,30 +15214,21 @@ var BangumiBilibiliEpisodes = (props) => {
|
|
|
15193
15214
|
children: [
|
|
15194
15215
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
15195
15216
|
className: "flex gap-6 items-center select-text text-foreground/70",
|
|
15196
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
15197
|
-
icon: "lucide:hash",
|
|
15198
|
-
width: 36
|
|
15199
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
15217
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 36 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
15200
15218
|
className: "truncate",
|
|
15201
15219
|
children: episode.bvid
|
|
15202
15220
|
})]
|
|
15203
15221
|
}),
|
|
15204
15222
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
15205
15223
|
className: "flex gap-6 items-center select-text text-foreground/70",
|
|
15206
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
15207
|
-
icon: "lucide:clock",
|
|
15208
|
-
width: 36
|
|
15209
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
15224
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 36 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
15210
15225
|
className: "whitespace-nowrap",
|
|
15211
15226
|
children: formatDateTime(episode.pub_time)
|
|
15212
15227
|
})]
|
|
15213
15228
|
}),
|
|
15214
15229
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
15215
15230
|
className: "flex gap-6 items-center select-text text-foreground/70",
|
|
15216
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
15217
|
-
icon: "lucide:share-2",
|
|
15218
|
-
width: 36
|
|
15219
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
15231
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Share2, { size: 36 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
15220
15232
|
className: "truncate",
|
|
15221
15233
|
children: episode.link
|
|
15222
15234
|
})]
|
|
@@ -16616,10 +16628,7 @@ var BilibiliArticleUserInfo = import_react.memo((props) => {
|
|
|
16616
16628
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.data.usernameMeta })
|
|
16617
16629
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16618
16630
|
className: "flex gap-2 items-center text-4xl font-normal whitespace-nowrap text-muted",
|
|
16619
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
16620
|
-
icon: "mingcute:time-fill",
|
|
16621
|
-
width: 36
|
|
16622
|
-
}), props.data.create_time]
|
|
16631
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 36 }), props.data.create_time]
|
|
16623
16632
|
})]
|
|
16624
16633
|
})]
|
|
16625
16634
|
}), props.data.decoration_card && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -16704,10 +16713,7 @@ var BilibiliArticleStatus = import_react.memo((props) => {
|
|
|
16704
16713
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16705
16714
|
className: "flex gap-3 items-center text-[42px]",
|
|
16706
16715
|
children: [
|
|
16707
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
16708
|
-
icon: "mingcute:comment-2-fill",
|
|
16709
|
-
width: 32
|
|
16710
|
-
}),
|
|
16716
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { size: 32 }),
|
|
16711
16717
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
16712
16718
|
className: "font-medium",
|
|
16713
16719
|
children: props.data.stats.reply || 0
|
|
@@ -16739,10 +16745,7 @@ var BilibiliArticleStatus = import_react.memo((props) => {
|
|
|
16739
16745
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16740
16746
|
className: "flex gap-2 items-center",
|
|
16741
16747
|
children: [
|
|
16742
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
16743
|
-
icon: "mingcute:eye-fill",
|
|
16744
|
-
width: 28
|
|
16745
|
-
}),
|
|
16748
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }),
|
|
16746
16749
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
16747
16750
|
className: "font-medium",
|
|
16748
16751
|
children: "阅读量"
|
|
@@ -16756,10 +16759,7 @@ var BilibiliArticleStatus = import_react.memo((props) => {
|
|
|
16756
16759
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16757
16760
|
className: "flex gap-2 items-center",
|
|
16758
16761
|
children: [
|
|
16759
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
16760
|
-
icon: "mingcute:bookmark-fill",
|
|
16761
|
-
width: 28
|
|
16762
|
-
}),
|
|
16762
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bookmark, { size: 28 }),
|
|
16763
16763
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
16764
16764
|
className: "font-medium",
|
|
16765
16765
|
children: "收藏"
|
|
@@ -16817,10 +16817,7 @@ var BilibiliArticleFooter = import_react.memo((props) => {
|
|
|
16817
16817
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.data.usernameMeta })
|
|
16818
16818
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16819
16819
|
className: "flex gap-2 items-center text-4xl text-muted",
|
|
16820
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
16821
|
-
icon: "mingcute:hashtag-fill",
|
|
16822
|
-
width: 32
|
|
16823
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
16820
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 32 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
16824
16821
|
className: "select-text",
|
|
16825
16822
|
children: ["UID: ", props.data.user_shortid]
|
|
16826
16823
|
})]
|
|
@@ -16851,10 +16848,7 @@ var BilibiliArticleFooter = import_react.memo((props) => {
|
|
|
16851
16848
|
children: [
|
|
16852
16849
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16853
16850
|
className: "flex gap-1 items-center",
|
|
16854
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
16855
|
-
icon: "mingcute:eye-fill",
|
|
16856
|
-
width: 28
|
|
16857
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
16851
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
16858
16852
|
className: "text-muted",
|
|
16859
16853
|
children: "关注"
|
|
16860
16854
|
})]
|
|
@@ -16871,10 +16865,7 @@ var BilibiliArticleFooter = import_react.memo((props) => {
|
|
|
16871
16865
|
children: [
|
|
16872
16866
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16873
16867
|
className: "flex gap-1 items-center",
|
|
16874
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
16875
|
-
icon: "mingcute:group-fill",
|
|
16876
|
-
width: 28
|
|
16877
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
16868
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
16878
16869
|
className: "text-muted",
|
|
16879
16870
|
children: "粉丝"
|
|
16880
16871
|
})]
|
|
@@ -17013,10 +17004,7 @@ var BilibiliVideoDynamicContent = (props) => {
|
|
|
17013
17004
|
}),
|
|
17014
17005
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17015
17006
|
className: "flex gap-3 items-center",
|
|
17016
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17017
|
-
icon: "mingcute:comment-2-fill",
|
|
17018
|
-
width: 48
|
|
17019
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17007
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { size: 48 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17020
17008
|
className: "select-text",
|
|
17021
17009
|
children: [props.data.pinglun, "评论"]
|
|
17022
17010
|
})]
|
|
@@ -17041,20 +17029,14 @@ var BilibiliVideoDynamicContent = (props) => {
|
|
|
17041
17029
|
}),
|
|
17042
17030
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17043
17031
|
className: "flex gap-3 items-center",
|
|
17044
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17045
|
-
icon: "mingcute:eye-fill",
|
|
17046
|
-
width: 48
|
|
17047
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17032
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 48 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17048
17033
|
className: "select-text",
|
|
17049
17034
|
children: [props.data.view, "浏览"]
|
|
17050
17035
|
})]
|
|
17051
17036
|
}),
|
|
17052
17037
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17053
17038
|
className: "flex gap-3 items-center text-5xl font-light tracking-normal",
|
|
17054
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17055
|
-
icon: "mingcute:time-fill",
|
|
17056
|
-
width: 48
|
|
17057
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17039
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 48 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17058
17040
|
className: "select-text",
|
|
17059
17041
|
children: ["视频时长: ", props.data.duration_text]
|
|
17060
17042
|
})]
|
|
@@ -17066,27 +17048,18 @@ var BilibiliVideoDynamicContent = (props) => {
|
|
|
17066
17048
|
children: [
|
|
17067
17049
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17068
17050
|
className: "flex gap-3 items-center whitespace-nowrap",
|
|
17069
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17070
|
-
icon: "mingcute:time-fill",
|
|
17071
|
-
width: 32
|
|
17072
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17051
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 32 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17073
17052
|
className: "select-text",
|
|
17074
17053
|
children: ["发布于", props.data.create_time]
|
|
17075
17054
|
})]
|
|
17076
17055
|
}),
|
|
17077
17056
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17078
17057
|
className: "flex gap-3 items-center whitespace-nowrap",
|
|
17079
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17080
|
-
icon: "mingcute:time-fill",
|
|
17081
|
-
width: 32
|
|
17082
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
17058
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 32 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
17083
17059
|
}),
|
|
17084
17060
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17085
17061
|
className: "flex gap-3 items-center",
|
|
17086
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17087
|
-
icon: "mingcute:hashtag-fill",
|
|
17088
|
-
width: 32
|
|
17089
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17062
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 32 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17090
17063
|
className: "select-text",
|
|
17091
17064
|
children: ["动态ID: ", props.data.dynamic_id]
|
|
17092
17065
|
})]
|
|
@@ -17198,10 +17171,7 @@ var BilibiliVideoDynamicFooter = (props) => {
|
|
|
17198
17171
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17199
17172
|
className: "flex gap-2 items-center text-4xl text-muted",
|
|
17200
17173
|
children: [
|
|
17201
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17202
|
-
icon: "mingcute:hashtag-fill",
|
|
17203
|
-
width: 32
|
|
17204
|
-
}),
|
|
17174
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 32 }),
|
|
17205
17175
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["UID: ", props.data.user_shortid] }),
|
|
17206
17176
|
currentUserRole && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17207
17177
|
className: "ml-5 px-3 py-1 rounded-xl bg-surface-secondary text-3xl",
|
|
@@ -17235,10 +17205,7 @@ var BilibiliVideoDynamicFooter = (props) => {
|
|
|
17235
17205
|
children: [
|
|
17236
17206
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17237
17207
|
className: "flex gap-1 items-center",
|
|
17238
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17239
|
-
icon: "mingcute:eye-fill",
|
|
17240
|
-
width: 28
|
|
17241
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17208
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17242
17209
|
className: "text-muted",
|
|
17243
17210
|
children: "关注"
|
|
17244
17211
|
})]
|
|
@@ -17255,10 +17222,7 @@ var BilibiliVideoDynamicFooter = (props) => {
|
|
|
17255
17222
|
children: [
|
|
17256
17223
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17257
17224
|
className: "flex gap-1 items-center",
|
|
17258
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17259
|
-
icon: "mingcute:group-fill",
|
|
17260
|
-
width: 28
|
|
17261
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17225
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17262
17226
|
className: "text-muted",
|
|
17263
17227
|
children: "粉丝"
|
|
17264
17228
|
})]
|
|
@@ -17336,9 +17300,8 @@ var BilibiliReserveCard = ({ reserve }) => {
|
|
|
17336
17300
|
}),
|
|
17337
17301
|
reserve.desc3 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17338
17302
|
className: "flex gap-2 items-center text-4xl select-text leading-none text-[#fb7299]",
|
|
17339
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17340
|
-
|
|
17341
|
-
width: 40,
|
|
17303
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Gift, {
|
|
17304
|
+
size: 40,
|
|
17342
17305
|
className: "shrink-0"
|
|
17343
17306
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17344
17307
|
className: "line-clamp-1",
|
|
@@ -17350,10 +17313,7 @@ var BilibiliReserveCard = ({ reserve }) => {
|
|
|
17350
17313
|
className: "shrink-0",
|
|
17351
17314
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Button, {
|
|
17352
17315
|
className: `text-5xl font-normal px-8 py-5 h-auto min-w-0 ${reserve.buttonText === "已结束" ? "bg-surface-secondary/70 text-muted" : "bg-[#fb7299] text-white"}`,
|
|
17353
|
-
children: [reserve.buttonText !== "已结束" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17354
|
-
icon: "mingcute:bell-fill",
|
|
17355
|
-
className: "scale-180 mr-4"
|
|
17356
|
-
}), reserve.buttonText]
|
|
17316
|
+
children: [reserve.buttonText !== "已结束" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BellRing, { className: "scale-180 mr-4" }), reserve.buttonText]
|
|
17357
17317
|
})
|
|
17358
17318
|
})]
|
|
17359
17319
|
})
|
|
@@ -17372,10 +17332,7 @@ var BilibiliVoteCard = ({ vote }) => {
|
|
|
17372
17332
|
children: [
|
|
17373
17333
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17374
17334
|
className: "shrink-0",
|
|
17375
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17376
|
-
icon: "mingcute:chart-bar-fill",
|
|
17377
|
-
width: 56
|
|
17378
|
-
})
|
|
17335
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartColumn, { size: 56 })
|
|
17379
17336
|
}),
|
|
17380
17337
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17381
17338
|
className: "flex flex-col gap-3 flex-1 min-w-0",
|
|
@@ -17411,10 +17368,7 @@ var BilibiliCommonCard = ({ common }) => {
|
|
|
17411
17368
|
className: "flex flex-col gap-4",
|
|
17412
17369
|
children: [common.head_text && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17413
17370
|
className: "flex gap-2 items-center text-4xl text-muted",
|
|
17414
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17415
|
-
icon: "mingcute:gamepad-fill",
|
|
17416
|
-
width: 40
|
|
17417
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: common.head_text })]
|
|
17371
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Gamepad2, { size: 40 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: common.head_text })]
|
|
17418
17372
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17419
17373
|
className: "overflow-hidden rounded-4xl bg-surface",
|
|
17420
17374
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -17539,10 +17493,7 @@ var BilibiliDynamicUserInfo$1 = (props) => {
|
|
|
17539
17493
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
17540
17494
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17541
17495
|
className: "flex gap-2 items-center text-4xl font-normal whitespace-nowrap text-muted",
|
|
17542
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17543
|
-
icon: "mingcute:time-fill",
|
|
17544
|
-
width: 36
|
|
17545
|
-
}), props.create_time]
|
|
17496
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 36 }), props.create_time]
|
|
17546
17497
|
})]
|
|
17547
17498
|
})]
|
|
17548
17499
|
}), props.decoration_card && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -17701,10 +17652,7 @@ var BilibiliDynamicStatus$1 = (props) => {
|
|
|
17701
17652
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17702
17653
|
className: "flex gap-2 items-center",
|
|
17703
17654
|
children: [
|
|
17704
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17705
|
-
icon: "mingcute:comment-2-fill",
|
|
17706
|
-
width: 48
|
|
17707
|
-
}),
|
|
17655
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { size: 48 }),
|
|
17708
17656
|
props.pinglun,
|
|
17709
17657
|
"评论"
|
|
17710
17658
|
]
|
|
@@ -17723,10 +17671,7 @@ var BilibiliDynamicStatus$1 = (props) => {
|
|
|
17723
17671
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17724
17672
|
className: "flex gap-2 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
17725
17673
|
children: [
|
|
17726
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17727
|
-
icon: "mingcute:time-fill",
|
|
17728
|
-
width: 48
|
|
17729
|
-
}),
|
|
17674
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 48 }),
|
|
17730
17675
|
"图片生成于: ",
|
|
17731
17676
|
props.render_time
|
|
17732
17677
|
]
|
|
@@ -17795,10 +17740,7 @@ var BilibiliDynamicFooter$1 = (props) => {
|
|
|
17795
17740
|
children: [
|
|
17796
17741
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17797
17742
|
className: "flex gap-1 items-center",
|
|
17798
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17799
|
-
icon: "mingcute:eye-fill",
|
|
17800
|
-
width: 28
|
|
17801
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17743
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17802
17744
|
className: "text-muted",
|
|
17803
17745
|
children: "关注"
|
|
17804
17746
|
})]
|
|
@@ -17815,10 +17757,7 @@ var BilibiliDynamicFooter$1 = (props) => {
|
|
|
17815
17757
|
children: [
|
|
17816
17758
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17817
17759
|
className: "flex gap-1 items-center",
|
|
17818
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17819
|
-
icon: "mingcute:group-fill",
|
|
17820
|
-
width: 28
|
|
17821
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17760
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17822
17761
|
className: "text-muted",
|
|
17823
17762
|
children: "粉丝"
|
|
17824
17763
|
})]
|
|
@@ -17926,10 +17865,7 @@ var BilibiliForwardUserInfo = (props) => {
|
|
|
17926
17865
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
17927
17866
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17928
17867
|
className: "flex gap-2 items-center text-4xl font-normal whitespace-nowrap text-muted",
|
|
17929
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17930
|
-
icon: "mingcute:time-fill",
|
|
17931
|
-
width: 36
|
|
17932
|
-
}), props.create_time]
|
|
17868
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 36 }), props.create_time]
|
|
17933
17869
|
})]
|
|
17934
17870
|
})]
|
|
17935
17871
|
}), props.decoration_card && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -17964,10 +17900,7 @@ var OriginalUserInfo = (props) => {
|
|
|
17964
17900
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
17965
17901
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17966
17902
|
className: "flex gap-2 items-center text-4xl font-normal whitespace-nowrap text-muted",
|
|
17967
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17968
|
-
icon: "mingcute:time-fill",
|
|
17969
|
-
width: 32
|
|
17970
|
-
}), props.create_time]
|
|
17903
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 32 }), props.create_time]
|
|
17971
17904
|
})]
|
|
17972
17905
|
})]
|
|
17973
17906
|
}), props.decoration_card && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -18257,10 +18190,7 @@ var BilibiliForwardStatus = (props) => {
|
|
|
18257
18190
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18258
18191
|
className: "flex gap-2 items-center",
|
|
18259
18192
|
children: [
|
|
18260
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18261
|
-
icon: "mingcute:comment-2-fill",
|
|
18262
|
-
width: 48
|
|
18263
|
-
}),
|
|
18193
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { size: 48 }),
|
|
18264
18194
|
props.pinglun,
|
|
18265
18195
|
"评论"
|
|
18266
18196
|
]
|
|
@@ -18279,10 +18209,7 @@ var BilibiliForwardStatus = (props) => {
|
|
|
18279
18209
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18280
18210
|
className: "flex gap-2 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
18281
18211
|
children: [
|
|
18282
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18283
|
-
icon: "mingcute:time-fill",
|
|
18284
|
-
width: 48
|
|
18285
|
-
}),
|
|
18212
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 48 }),
|
|
18286
18213
|
"图片生成于: ",
|
|
18287
18214
|
props.render_time
|
|
18288
18215
|
]
|
|
@@ -18320,10 +18247,7 @@ var BilibiliForwardFooter = (props) => {
|
|
|
18320
18247
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
18321
18248
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18322
18249
|
className: "flex gap-2 items-center text-4xl text-muted",
|
|
18323
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18324
|
-
icon: "mingcute:hashtag-fill",
|
|
18325
|
-
width: 32
|
|
18326
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
18250
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 32 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
18327
18251
|
className: "select-text",
|
|
18328
18252
|
children: ["UID: ", props.user_shortid]
|
|
18329
18253
|
})]
|
|
@@ -18354,10 +18278,7 @@ var BilibiliForwardFooter = (props) => {
|
|
|
18354
18278
|
children: [
|
|
18355
18279
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18356
18280
|
className: "flex gap-1 items-center",
|
|
18357
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18358
|
-
icon: "mingcute:eye-fill",
|
|
18359
|
-
width: 28
|
|
18360
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18281
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18361
18282
|
className: "text-muted",
|
|
18362
18283
|
children: "关注"
|
|
18363
18284
|
})]
|
|
@@ -18374,10 +18295,7 @@ var BilibiliForwardFooter = (props) => {
|
|
|
18374
18295
|
children: [
|
|
18375
18296
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18376
18297
|
className: "flex gap-1 items-center",
|
|
18377
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18378
|
-
icon: "mingcute:group-fill",
|
|
18379
|
-
width: 28
|
|
18380
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18298
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18381
18299
|
className: "text-muted",
|
|
18382
18300
|
children: "粉丝"
|
|
18383
18301
|
})]
|
|
@@ -18773,10 +18691,7 @@ var BilibiliLiveDynamic = import_react.memo((props) => {
|
|
|
18773
18691
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18774
18692
|
className: "mt-5 inline-flex items-center gap-3 font-black",
|
|
18775
18693
|
style: { color: deepColor },
|
|
18776
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18777
|
-
icon: "mingcute:group-fill",
|
|
18778
|
-
width: 22
|
|
18779
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
18694
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 22 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
18780
18695
|
className: "select-text",
|
|
18781
18696
|
style: { fontSize: `${followerFontSize}px` },
|
|
18782
18697
|
children: [data.fans, " 粉丝"]
|
|
@@ -18808,10 +18723,7 @@ var BilibiliLiveDynamic = import_react.memo((props) => {
|
|
|
18808
18723
|
children: [
|
|
18809
18724
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18810
18725
|
className: "inline-flex min-w-0 items-center gap-3",
|
|
18811
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18812
|
-
icon: "mingcute:radio-fill",
|
|
18813
|
-
width: 20
|
|
18814
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18726
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Radio, { size: 20 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18815
18727
|
className: "min-w-0 whitespace-normal leading-[1.18] select-text",
|
|
18816
18728
|
style: { fontSize: `${liveInfoFontSize}px` },
|
|
18817
18729
|
children: data.liveinf
|
|
@@ -18823,10 +18735,7 @@ var BilibiliLiveDynamic = import_react.memo((props) => {
|
|
|
18823
18735
|
}),
|
|
18824
18736
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18825
18737
|
className: "inline-flex items-center gap-3 whitespace-nowrap font-mono",
|
|
18826
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18827
|
-
icon: "mingcute:time-fill",
|
|
18828
|
-
width: 20
|
|
18829
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18738
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 20 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18830
18739
|
className: "select-text",
|
|
18831
18740
|
children: liveSignalTime
|
|
18832
18741
|
})]
|
|
@@ -19021,10 +18930,7 @@ var BilibiliDynamicUserInfo = (props) => {
|
|
|
19021
18930
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
19022
18931
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19023
18932
|
className: "flex gap-2 items-center text-4xl font-normal whitespace-nowrap text-muted",
|
|
19024
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19025
|
-
icon: "mingcute:time-fill",
|
|
19026
|
-
width: 36
|
|
19027
|
-
}), props.create_time]
|
|
18933
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 36 }), props.create_time]
|
|
19028
18934
|
})]
|
|
19029
18935
|
})]
|
|
19030
18936
|
}), props.decoration_card && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -19078,10 +18984,7 @@ var BilibiliDynamicStatus = (props) => {
|
|
|
19078
18984
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19079
18985
|
className: "flex gap-2 items-center",
|
|
19080
18986
|
children: [
|
|
19081
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19082
|
-
icon: "mingcute:comment-2-fill",
|
|
19083
|
-
width: 48
|
|
19084
|
-
}),
|
|
18987
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { size: 48 }),
|
|
19085
18988
|
props.pinglun,
|
|
19086
18989
|
"评论"
|
|
19087
18990
|
]
|
|
@@ -19100,10 +19003,7 @@ var BilibiliDynamicStatus = (props) => {
|
|
|
19100
19003
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19101
19004
|
className: "flex gap-2 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
19102
19005
|
children: [
|
|
19103
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19104
|
-
icon: "mingcute:time-fill",
|
|
19105
|
-
width: 48
|
|
19106
|
-
}),
|
|
19006
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 48 }),
|
|
19107
19007
|
"图片生成于: ",
|
|
19108
19008
|
props.render_time
|
|
19109
19009
|
]
|
|
@@ -19172,10 +19072,7 @@ var BilibiliDynamicFooter = (props) => {
|
|
|
19172
19072
|
children: [
|
|
19173
19073
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19174
19074
|
className: "flex gap-1 items-center",
|
|
19175
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19176
|
-
icon: "mingcute:eye-fill",
|
|
19177
|
-
width: 28
|
|
19178
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19075
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19179
19076
|
className: "text-muted",
|
|
19180
19077
|
children: "关注"
|
|
19181
19078
|
})]
|
|
@@ -19192,10 +19089,7 @@ var BilibiliDynamicFooter = (props) => {
|
|
|
19192
19089
|
children: [
|
|
19193
19090
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19194
19091
|
className: "flex gap-1 items-center",
|
|
19195
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19196
|
-
icon: "mingcute:group-fill",
|
|
19197
|
-
width: 28
|
|
19198
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19092
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19199
19093
|
className: "text-muted",
|
|
19200
19094
|
children: "粉丝"
|
|
19201
19095
|
})]
|
|
@@ -19380,44 +19274,35 @@ var BilibiliQrcodeImg = import_react.memo((props) => {
|
|
|
19380
19274
|
className: "flex flex-col items-center gap-4",
|
|
19381
19275
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
19382
19276
|
className: "p-5 rounded-3xl bg-surface/50 backdrop-blur-md",
|
|
19383
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19384
|
-
icon: "simple-icons:bilibili",
|
|
19385
|
-
className: "w-16 h-16"
|
|
19386
|
-
})
|
|
19277
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiBilibili, { size: 64 })
|
|
19387
19278
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19388
19279
|
className: "text-[28px] font-medium tracking-wide",
|
|
19389
19280
|
children: "打开哔哩哔哩"
|
|
19390
19281
|
})]
|
|
19391
19282
|
}),
|
|
19392
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19393
|
-
|
|
19394
|
-
className: "
|
|
19283
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiArrowRightFill, {
|
|
19284
|
+
size: 40,
|
|
19285
|
+
className: "mt-8 opacity-40"
|
|
19395
19286
|
}),
|
|
19396
19287
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19397
19288
|
className: "flex flex-col items-center gap-4",
|
|
19398
19289
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
19399
19290
|
className: "p-5 rounded-3xl bg-surface/50 backdrop-blur-md",
|
|
19400
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19401
|
-
icon: "lucide:user",
|
|
19402
|
-
className: "w-16 h-16"
|
|
19403
|
-
})
|
|
19291
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(User, { size: 64 })
|
|
19404
19292
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19405
19293
|
className: "text-[28px] font-medium tracking-wide",
|
|
19406
19294
|
children: "点击我的"
|
|
19407
19295
|
})]
|
|
19408
19296
|
}),
|
|
19409
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19410
|
-
|
|
19411
|
-
className: "
|
|
19297
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiArrowRightFill, {
|
|
19298
|
+
size: 40,
|
|
19299
|
+
className: "mt-8 opacity-40"
|
|
19412
19300
|
}),
|
|
19413
19301
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19414
19302
|
className: "flex flex-col items-center gap-4",
|
|
19415
19303
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
19416
19304
|
className: "p-5 rounded-3xl bg-surface/50 backdrop-blur-md",
|
|
19417
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19418
|
-
icon: "lucide:scan-line",
|
|
19419
|
-
className: "w-16 h-16"
|
|
19420
|
-
})
|
|
19305
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ScanLine, { size: 64 })
|
|
19421
19306
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19422
19307
|
className: "text-[28px] font-medium tracking-wide",
|
|
19423
19308
|
children: "右上角扫一扫"
|
|
@@ -19467,9 +19352,8 @@ var BilibiliQrcodeImg = import_react.memo((props) => {
|
|
|
19467
19352
|
children: [
|
|
19468
19353
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
19469
19354
|
className: "flex items-center justify-center w-16 h-16 mb-2",
|
|
19470
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19471
|
-
|
|
19472
|
-
className: "w-16 h-16",
|
|
19355
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TriangleAlert, {
|
|
19356
|
+
size: 64,
|
|
19473
19357
|
style: { color: theme.text },
|
|
19474
19358
|
strokeWidth: 1.5
|
|
19475
19359
|
})
|
|
@@ -19499,32 +19383,32 @@ var pushTypeConfig$1 = {
|
|
|
19499
19383
|
video: {
|
|
19500
19384
|
label: "投稿视频",
|
|
19501
19385
|
color: "bg-accent/8 text-accent border-accent/25",
|
|
19502
|
-
icon:
|
|
19386
|
+
icon: Video
|
|
19503
19387
|
},
|
|
19504
19388
|
draw: {
|
|
19505
19389
|
label: "图文动态",
|
|
19506
19390
|
color: "bg-[#23ade5]/10 text-[#23ade5] border-[#23ade5]/25",
|
|
19507
|
-
icon:
|
|
19391
|
+
icon: Image$1
|
|
19508
19392
|
},
|
|
19509
19393
|
word: {
|
|
19510
19394
|
label: "纯文动态",
|
|
19511
19395
|
color: "bg-warning/10 text-warning border-warning/25",
|
|
19512
|
-
icon:
|
|
19396
|
+
icon: FileText
|
|
19513
19397
|
},
|
|
19514
19398
|
live: {
|
|
19515
19399
|
label: "直播动态",
|
|
19516
19400
|
color: "bg-success/10 text-success border-success/25",
|
|
19517
|
-
icon:
|
|
19401
|
+
icon: Radio
|
|
19518
19402
|
},
|
|
19519
19403
|
forward: {
|
|
19520
19404
|
label: "转发动态",
|
|
19521
19405
|
color: "bg-[#f97316]/10 text-[#f97316] border-[#f97316]/25",
|
|
19522
|
-
icon:
|
|
19406
|
+
icon: Share2
|
|
19523
19407
|
},
|
|
19524
19408
|
article: {
|
|
19525
19409
|
label: "投稿专栏",
|
|
19526
19410
|
color: "bg-[#7c3aed]/10 text-[#7c3aed] border-[#7c3aed]/25",
|
|
19527
|
-
icon:
|
|
19411
|
+
icon: FileText
|
|
19528
19412
|
}
|
|
19529
19413
|
};
|
|
19530
19414
|
/**
|
|
@@ -19622,9 +19506,9 @@ var BilibiliUserItem = (props) => {
|
|
|
19622
19506
|
className: "flex items-center gap-2 mt-1",
|
|
19623
19507
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
19624
19508
|
className: "px-2 py-0.5 rounded-md bg-surface border border-border text-xs font-mono font-bold text-muted flex items-center gap-1",
|
|
19625
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19626
|
-
|
|
19627
|
-
className: "
|
|
19509
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, {
|
|
19510
|
+
size: 12,
|
|
19511
|
+
className: "opacity-70"
|
|
19628
19512
|
}), props.host_mid]
|
|
19629
19513
|
})
|
|
19630
19514
|
})] })
|
|
@@ -19637,9 +19521,9 @@ var BilibiliUserItem = (props) => {
|
|
|
19637
19521
|
const isActive = activePushTypes.has(type);
|
|
19638
19522
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19639
19523
|
className: `h-full min-h-18.5 px-2.5 py-2.5 rounded-xl border backdrop-blur-sm flex flex-col justify-between transition-colors duration-200 ${isActive ? config.color : "bg-surface/45 text-muted border-border/15"}`,
|
|
19640
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19641
|
-
|
|
19642
|
-
className:
|
|
19524
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(config.icon, {
|
|
19525
|
+
size: 18,
|
|
19526
|
+
className: isActive ? "" : "opacity-50"
|
|
19643
19527
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19644
19528
|
className: "text-[13px] font-bold tracking-wide leading-tight",
|
|
19645
19529
|
children: config.label
|
|
@@ -19650,26 +19534,27 @@ var BilibiliUserItem = (props) => {
|
|
|
19650
19534
|
className: "grid grid-rows-3 gap-2 h-full",
|
|
19651
19535
|
children: [
|
|
19652
19536
|
{
|
|
19653
|
-
icon:
|
|
19537
|
+
icon: UsersRound,
|
|
19654
19538
|
value: props.fans,
|
|
19655
19539
|
label: "粉丝"
|
|
19656
19540
|
},
|
|
19657
19541
|
{
|
|
19658
|
-
icon:
|
|
19542
|
+
icon: Heart,
|
|
19659
19543
|
value: props.total_favorited,
|
|
19660
19544
|
label: "获赞"
|
|
19661
19545
|
},
|
|
19662
19546
|
{
|
|
19663
|
-
icon:
|
|
19547
|
+
icon: UserPlus,
|
|
19664
19548
|
value: props.following_count,
|
|
19665
19549
|
label: "关注"
|
|
19666
19550
|
}
|
|
19667
19551
|
].map((item, index) => {
|
|
19552
|
+
const StatIcon = item.icon;
|
|
19668
19553
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19669
19554
|
className: "h-full flex items-center gap-3 px-3.5 py-2.5 rounded-xl bg-surface-secondary/35 border border-border/35 backdrop-blur-sm",
|
|
19670
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19671
|
-
|
|
19672
|
-
className: "
|
|
19555
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatIcon, {
|
|
19556
|
+
size: 18,
|
|
19557
|
+
className: "text-muted shrink-0"
|
|
19673
19558
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19674
19559
|
className: "flex items-baseline gap-2 flex-1 min-w-0",
|
|
19675
19560
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -19992,9 +19877,8 @@ var BilibiliVideoInfo = import_react.memo((props) => {
|
|
|
19992
19877
|
children: [
|
|
19993
19878
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19994
19879
|
className: "flex items-center gap-2",
|
|
19995
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
19996
|
-
|
|
19997
|
-
width: 32,
|
|
19880
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Calendar, {
|
|
19881
|
+
size: 32,
|
|
19998
19882
|
className: "text-foreground/20"
|
|
19999
19883
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: format(fromUnixTime(props.data.ctime), "yyyy-MM-dd HH:mm") })]
|
|
20000
19884
|
}),
|
|
@@ -20007,9 +19891,8 @@ var BilibiliVideoInfo = import_react.memo((props) => {
|
|
|
20007
19891
|
}),
|
|
20008
19892
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20009
19893
|
className: "flex items-center gap-1.5",
|
|
20010
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20011
|
-
|
|
20012
|
-
width: 28,
|
|
19894
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, {
|
|
19895
|
+
size: 28,
|
|
20013
19896
|
className: "text-foreground/20"
|
|
20014
19897
|
}), formatNumber$2(props.data.stat.reply)]
|
|
20015
19898
|
})
|
|
@@ -20148,18 +20031,12 @@ var TitleSection = ({ title, createTime, readTime }) => {
|
|
|
20148
20031
|
children: [
|
|
20149
20032
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20150
20033
|
className: "flex items-center gap-2",
|
|
20151
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20152
|
-
icon: "lucide:clock",
|
|
20153
|
-
className: "w-10 h-10"
|
|
20154
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: createTime })]
|
|
20034
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { className: "w-10 h-10" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: createTime })]
|
|
20155
20035
|
}),
|
|
20156
20036
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
20157
20037
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20158
20038
|
className: "flex items-center gap-2",
|
|
20159
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20160
|
-
icon: "lucide:clock",
|
|
20161
|
-
className: "w-10 h-10 text-accent"
|
|
20162
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
20039
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { className: "w-10 h-10 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
20163
20040
|
"阅读 ",
|
|
20164
20041
|
readTime,
|
|
20165
20042
|
" 分钟"
|
|
@@ -20261,42 +20138,27 @@ var InfoSection$4 = (props) => {
|
|
|
20261
20138
|
children: [
|
|
20262
20139
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20263
20140
|
className: "flex gap-2 items-center",
|
|
20264
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20265
|
-
icon: "lucide:heart",
|
|
20266
|
-
className: "w-11 h-11 text-like"
|
|
20267
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.dianzan, "点赞"] })]
|
|
20141
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { className: "w-11 h-11 text-like" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.dianzan, "点赞"] })]
|
|
20268
20142
|
}),
|
|
20269
20143
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
20270
20144
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20271
20145
|
className: "flex gap-2 items-center",
|
|
20272
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20273
|
-
icon: "lucide:message-circle",
|
|
20274
|
-
className: "w-11 h-11 text-comment"
|
|
20275
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.pinglun, "评论"] })]
|
|
20146
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { className: "w-11 h-11 text-comment" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.pinglun, "评论"] })]
|
|
20276
20147
|
}),
|
|
20277
20148
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
20278
20149
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20279
20150
|
className: "flex gap-2 items-center",
|
|
20280
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20281
|
-
icon: "lucide:bookmark",
|
|
20282
|
-
className: "w-11 h-11"
|
|
20283
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.shouchang, "收藏"] })]
|
|
20151
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bookmark, { className: "w-11 h-11" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.shouchang, "收藏"] })]
|
|
20284
20152
|
}),
|
|
20285
20153
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
20286
20154
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20287
20155
|
className: "flex gap-2 items-center",
|
|
20288
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20289
|
-
icon: "lucide:share-2",
|
|
20290
|
-
className: "w-11 h-11 text-success"
|
|
20291
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.share, "分享"] })]
|
|
20156
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Share2, { className: "w-11 h-11 text-success" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.share, "分享"] })]
|
|
20292
20157
|
})
|
|
20293
20158
|
]
|
|
20294
20159
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20295
20160
|
className: "flex items-center gap-2 text-5xl text-muted font-light select-text",
|
|
20296
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20297
|
-
icon: "lucide:maximize",
|
|
20298
|
-
className: "w-11 h-11 text-time"
|
|
20299
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
20161
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Maximize, { className: "w-11 h-11 text-time" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
20300
20162
|
})]
|
|
20301
20163
|
});
|
|
20302
20164
|
};
|
|
@@ -20325,10 +20187,7 @@ var UserInfoSection$3 = (props) => {
|
|
|
20325
20187
|
children: ["@", props.data.username]
|
|
20326
20188
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20327
20189
|
className: "flex gap-2 items-center text-4xl text-muted",
|
|
20328
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20329
|
-
icon: "lucide:hash",
|
|
20330
|
-
className: "w-8 h-8 text-muted"
|
|
20331
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20190
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { className: "w-8 h-8 text-muted" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20332
20191
|
className: "select-text",
|
|
20333
20192
|
children: ["抖音号: ", props.data.抖音号]
|
|
20334
20193
|
})]
|
|
@@ -20342,10 +20201,7 @@ var UserInfoSection$3 = (props) => {
|
|
|
20342
20201
|
children: [
|
|
20343
20202
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20344
20203
|
className: "flex gap-1 items-center",
|
|
20345
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20346
|
-
icon: "lucide:heart",
|
|
20347
|
-
className: "w-7 h-7 text-like"
|
|
20348
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20204
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { className: "w-7 h-7 text-like" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20349
20205
|
className: "text-muted",
|
|
20350
20206
|
children: "获赞"
|
|
20351
20207
|
})]
|
|
@@ -20362,10 +20218,7 @@ var UserInfoSection$3 = (props) => {
|
|
|
20362
20218
|
children: [
|
|
20363
20219
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20364
20220
|
className: "flex gap-1 items-center",
|
|
20365
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20366
|
-
icon: "lucide:eye",
|
|
20367
|
-
className: "w-7 h-7 text-view"
|
|
20368
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20221
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { className: "w-7 h-7 text-view" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20369
20222
|
className: "text-muted",
|
|
20370
20223
|
children: "关注"
|
|
20371
20224
|
})]
|
|
@@ -20382,10 +20235,7 @@ var UserInfoSection$3 = (props) => {
|
|
|
20382
20235
|
children: [
|
|
20383
20236
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20384
20237
|
className: "flex gap-1 items-center",
|
|
20385
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20386
|
-
icon: "lucide:users",
|
|
20387
|
-
className: "w-7 h-7 text-accent"
|
|
20388
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20238
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, { className: "w-7 h-7 text-accent" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20389
20239
|
className: "text-muted",
|
|
20390
20240
|
children: "粉丝"
|
|
20391
20241
|
})]
|
|
@@ -20477,18 +20327,9 @@ var formatDouyinCommentDiggCount = (count) => {
|
|
|
20477
20327
|
if (count >= 1e4) return `${(count / 1e4).toFixed(1)}w`;
|
|
20478
20328
|
return String(count);
|
|
20479
20329
|
};
|
|
20480
|
-
var
|
|
20481
|
-
|
|
20482
|
-
|
|
20483
|
-
className: "flex items-center h-full text-6xl font-bold text-foreground/70",
|
|
20484
|
-
children: "抖音"
|
|
20485
|
-
});
|
|
20486
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
20487
|
-
src: useDarkTheme ? "/image/douyin/dylogo-light.svg" : "/image/douyin/dylogo-dark.svg",
|
|
20488
|
-
alt: "抖音Logo",
|
|
20489
|
-
className: "object-contain h-full w-auto max-w-125",
|
|
20490
|
-
onError: () => setHasError(true)
|
|
20491
|
-
});
|
|
20330
|
+
var formatPublishTime = (timestamp) => {
|
|
20331
|
+
if (!timestamp) return "";
|
|
20332
|
+
return format(fromUnixTime(timestamp), "yyyy年MM月dd日 HH:mm", { locale: zhCN });
|
|
20492
20333
|
};
|
|
20493
20334
|
/**
|
|
20494
20335
|
* 二维码组件
|
|
@@ -20506,8 +20347,7 @@ var QRCodeSection$1 = ({ qrCodeDataUrl }) => {
|
|
|
20506
20347
|
className: "object-contain w-full h-full rounded-lg"
|
|
20507
20348
|
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20508
20349
|
className: "flex flex-col justify-center items-center text-muted",
|
|
20509
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20510
|
-
icon: "lucide:qr-code",
|
|
20350
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(QrCode, {
|
|
20511
20351
|
width: 80,
|
|
20512
20352
|
className: "mb-4"
|
|
20513
20353
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -20525,88 +20365,123 @@ var QRCodeSection$1 = ({ qrCodeDataUrl }) => {
|
|
|
20525
20365
|
*/
|
|
20526
20366
|
var VideoInfoHeader = (props) => {
|
|
20527
20367
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20528
|
-
className: "max-w-350 mx-auto px-10
|
|
20368
|
+
className: "max-w-350 mx-auto px-10 pt-14",
|
|
20529
20369
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20530
|
-
className: "flex
|
|
20370
|
+
className: "flex items-start justify-between gap-10",
|
|
20531
20371
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20532
|
-
className: "flex flex-col flex-1",
|
|
20533
|
-
children: [
|
|
20534
|
-
|
|
20535
|
-
|
|
20536
|
-
|
|
20537
|
-
|
|
20538
|
-
|
|
20539
|
-
|
|
20540
|
-
|
|
20541
|
-
|
|
20542
|
-
|
|
20543
|
-
|
|
20544
|
-
|
|
20372
|
+
className: "flex flex-col gap-10 flex-1 min-w-0",
|
|
20373
|
+
children: [
|
|
20374
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20375
|
+
className: "flex items-start justify-between gap-6",
|
|
20376
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20377
|
+
className: "flex items-center gap-6 min-w-0",
|
|
20378
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20379
|
+
className: "w-35 h-35 shrink-0 rounded-full overflow-hidden bg-surface-secondary ring-2 ring-border/40",
|
|
20380
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
20381
|
+
src: props.AuthorAvatar,
|
|
20382
|
+
className: "w-full h-full object-cover",
|
|
20383
|
+
alt: props.Author
|
|
20384
|
+
})
|
|
20385
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20386
|
+
className: "flex flex-col gap-3 min-w-0",
|
|
20387
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20388
|
+
className: "flex items-center gap-4 flex-wrap",
|
|
20389
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20390
|
+
className: "text-5xl font-medium text-foreground truncate",
|
|
20391
|
+
children: props.Author
|
|
20392
|
+
})
|
|
20393
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20394
|
+
className: "text-4xl text-muted",
|
|
20395
|
+
children: formatPublishTime(props.CreateTime)
|
|
20396
|
+
})]
|
|
20545
20397
|
})]
|
|
20546
|
-
})
|
|
20547
|
-
})
|
|
20548
|
-
|
|
20549
|
-
|
|
20550
|
-
|
|
20551
|
-
|
|
20552
|
-
|
|
20553
|
-
|
|
20554
|
-
|
|
20555
|
-
|
|
20556
|
-
|
|
20557
|
-
|
|
20398
|
+
})
|
|
20399
|
+
}),
|
|
20400
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20401
|
+
className: "flex items-center gap-12 flex-wrap",
|
|
20402
|
+
children: [
|
|
20403
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20404
|
+
className: "flex items-center gap-4 text-foreground/50",
|
|
20405
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { size: 48 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20406
|
+
className: "text-5xl font-medium text-foreground/90",
|
|
20407
|
+
children: formatDouyinCommentDiggCount(props.Statistics.digg_count)
|
|
20408
|
+
})]
|
|
20409
|
+
}),
|
|
20410
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20411
|
+
className: "flex items-center gap-4 text-foreground/50",
|
|
20412
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { size: 48 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20413
|
+
className: "text-5xl font-medium text-foreground/90",
|
|
20414
|
+
children: formatDouyinCommentDiggCount(props.Statistics.comment_count)
|
|
20415
|
+
})]
|
|
20416
|
+
}),
|
|
20417
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20418
|
+
className: "flex items-center gap-4 text-foreground/50",
|
|
20419
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Share2, { size: 48 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20420
|
+
className: "text-5xl font-medium text-foreground/90",
|
|
20421
|
+
children: formatDouyinCommentDiggCount(props.Statistics.share_count)
|
|
20422
|
+
})]
|
|
20423
|
+
}),
|
|
20424
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20425
|
+
className: "flex items-center gap-4 text-foreground/50",
|
|
20426
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Star, { size: 48 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20427
|
+
className: "text-5xl font-medium text-foreground/90",
|
|
20428
|
+
children: formatDouyinCommentDiggCount(props.Statistics.collect_count)
|
|
20429
|
+
})]
|
|
20430
|
+
})
|
|
20431
|
+
]
|
|
20432
|
+
}),
|
|
20433
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20434
|
+
className: "flex items-center gap-4 flex-wrap text-muted",
|
|
20435
|
+
children: [
|
|
20436
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20437
|
+
className: "text-4xl",
|
|
20558
20438
|
children: props.Type
|
|
20559
|
-
})
|
|
20560
|
-
|
|
20561
|
-
|
|
20562
|
-
|
|
20563
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20564
|
-
className: "mr-4 text-muted",
|
|
20565
|
-
children: "评论"
|
|
20566
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20567
|
-
className: "font-medium text-foreground/70",
|
|
20568
|
-
children: [props.CommentLength, "条"]
|
|
20569
|
-
})]
|
|
20570
|
-
}),
|
|
20571
|
-
props.Type === "视频" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20572
|
-
className: "flex items-center tracking-[6px] text-[45px] text-muted select-text",
|
|
20573
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20574
|
-
className: "mr-4 text-muted",
|
|
20575
|
-
children: "大小"
|
|
20576
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20577
|
-
className: "font-medium text-foreground/70",
|
|
20578
|
-
children: [props.VideoSize, "MB"]
|
|
20579
|
-
})]
|
|
20580
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20581
|
-
className: "flex items-center tracking-[6px] text-[45px] text-muted select-text",
|
|
20582
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20583
|
-
className: "mr-4 text-muted",
|
|
20584
|
-
children: "帧率"
|
|
20585
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20586
|
-
className: "font-medium text-foreground/70",
|
|
20587
|
-
children: [props.VideoFPS, "Hz"]
|
|
20588
|
-
})]
|
|
20589
|
-
})] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20590
|
-
className: "flex items-center tracking-[6px] text-[45px] text-muted select-text",
|
|
20591
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20592
|
-
className: "mr-4 text-muted",
|
|
20593
|
-
children: "区域"
|
|
20439
|
+
}),
|
|
20440
|
+
props.Type === "视频" && props.Resolution && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20441
|
+
className: "text-4xl text-border",
|
|
20442
|
+
children: "·"
|
|
20594
20443
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20595
|
-
className: "
|
|
20596
|
-
children: props.
|
|
20597
|
-
})]
|
|
20598
|
-
|
|
20599
|
-
|
|
20600
|
-
|
|
20601
|
-
|
|
20602
|
-
|
|
20603
|
-
|
|
20604
|
-
|
|
20605
|
-
|
|
20606
|
-
|
|
20607
|
-
|
|
20608
|
-
|
|
20609
|
-
|
|
20444
|
+
className: "text-4xl",
|
|
20445
|
+
children: props.Resolution
|
|
20446
|
+
})] }),
|
|
20447
|
+
props.Type === "视频" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
20448
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20449
|
+
className: "text-4xl text-border",
|
|
20450
|
+
children: "·"
|
|
20451
|
+
}),
|
|
20452
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20453
|
+
className: "text-4xl",
|
|
20454
|
+
children: [props.VideoSize, "MB"]
|
|
20455
|
+
}),
|
|
20456
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20457
|
+
className: "text-4xl text-border",
|
|
20458
|
+
children: "·"
|
|
20459
|
+
}),
|
|
20460
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20461
|
+
className: "text-4xl",
|
|
20462
|
+
children: [props.VideoFPS, "Hz"]
|
|
20463
|
+
})
|
|
20464
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
20465
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20466
|
+
className: "text-4xl text-border",
|
|
20467
|
+
children: "·"
|
|
20468
|
+
}),
|
|
20469
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20470
|
+
className: "text-4xl",
|
|
20471
|
+
children: props.Region
|
|
20472
|
+
}),
|
|
20473
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20474
|
+
className: "text-4xl text-border",
|
|
20475
|
+
children: "·"
|
|
20476
|
+
}),
|
|
20477
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20478
|
+
className: "text-4xl",
|
|
20479
|
+
children: [props.ImageLength, "张"]
|
|
20480
|
+
})
|
|
20481
|
+
] })
|
|
20482
|
+
]
|
|
20483
|
+
})
|
|
20484
|
+
]
|
|
20610
20485
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20611
20486
|
className: "shrink-0",
|
|
20612
20487
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(QRCodeSection$1, { qrCodeDataUrl: props.qrCodeDataUrl })
|
|
@@ -20688,9 +20563,8 @@ var ReplyItemComponent = ({ reply, depth = 0, isLast, maxDepth = 6 }) => {
|
|
|
20688
20563
|
className: "flex items-center h-12.5",
|
|
20689
20564
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20690
20565
|
className: "flex items-center text-muted",
|
|
20691
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20692
|
-
|
|
20693
|
-
width: 45,
|
|
20566
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleEllipsis, {
|
|
20567
|
+
size: 45,
|
|
20694
20568
|
className: "mr-5"
|
|
20695
20569
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20696
20570
|
className: "text-4xl font-medium tracking-wide",
|
|
@@ -20712,10 +20586,10 @@ var ReplyItemComponent = ({ reply, depth = 0, isLast, maxDepth = 6 }) => {
|
|
|
20712
20586
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20713
20587
|
className: "flex relative justify-center",
|
|
20714
20588
|
children: [
|
|
20715
|
-
!isLast && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 bottom-0 left-1/2 w-0.5 bg-border -ml-px" }),
|
|
20589
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 bottom-0 left-1/2 w-0.5 bg-border-secondary -ml-px" }),
|
|
20716
20590
|
!isLast && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute -bottom-6 left-1/2 w-0.5 h-6 bg-border -ml-px" }),
|
|
20717
20591
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
|
|
20718
|
-
className: "absolute top-0 left-0 w-full h-12.5 pointer-events-none overflow-visible z-0 text-border",
|
|
20592
|
+
className: "absolute top-0 left-0 w-full h-12.5 pointer-events-none overflow-visible z-0 text-border-secondary",
|
|
20719
20593
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
20720
20594
|
d: "M 50 0 V 15 Q 50 50 85 50 H 90",
|
|
20721
20595
|
fill: "none",
|
|
@@ -20738,15 +20612,15 @@ var ReplyItemComponent = ({ reply, depth = 0, isLast, maxDepth = 6 }) => {
|
|
|
20738
20612
|
className: "object-cover rounded-full w-25 h-25 bg-background",
|
|
20739
20613
|
alt: "用户头像"
|
|
20740
20614
|
})
|
|
20741
|
-
}), reply.children.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-0.5 bg-border h-full grow mt-3 rounded-t-full" })]
|
|
20615
|
+
}), reply.children.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-0.5 bg-border-secondary h-full grow mt-3 rounded-t-full" })]
|
|
20742
20616
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20743
|
-
className: "flex flex-col
|
|
20617
|
+
className: clsx("flex flex-col pl-6 min-w-0 gap-2", isLast && reply.children.length === 0 ? "pb-16" : "pb-6"),
|
|
20744
20618
|
children: [
|
|
20745
20619
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20746
|
-
className: "flex flex-nowrap items-center
|
|
20620
|
+
className: "flex flex-nowrap items-center content-center w-full overflow-hidden",
|
|
20747
20621
|
children: [
|
|
20748
20622
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20749
|
-
className: clsx("mr-2 text-
|
|
20623
|
+
className: clsx("mr-2 text-4xl font-normal text-muted", isNicknameLonger ? "min-w-0 truncate shrink" : "shrink-0"),
|
|
20750
20624
|
children: reply.nickname
|
|
20751
20625
|
}),
|
|
20752
20626
|
reply.label_text !== "" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -20755,59 +20629,53 @@ var ReplyItemComponent = ({ reply, depth = 0, isLast, maxDepth = 6 }) => {
|
|
|
20755
20629
|
}),
|
|
20756
20630
|
reply.reply_to_username && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20757
20631
|
className: clsx("flex items-center", !isNicknameLonger ? "overflow-hidden min-w-0 shrink" : "shrink-0"),
|
|
20758
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20759
|
-
|
|
20760
|
-
|
|
20761
|
-
className: "mr-3.5 mx-1 text-muted shrink-0",
|
|
20762
|
-
fill: "currentColor"
|
|
20632
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(a, {
|
|
20633
|
+
weight: "fill",
|
|
20634
|
+
className: "w-7 h-auto mr-3.5 mx-1 text-muted shrink-0"
|
|
20763
20635
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20764
|
-
className: clsx("text-
|
|
20636
|
+
className: clsx("text-4xl font-normal text-muted", !isNicknameLonger && "truncate"),
|
|
20765
20637
|
children: reply.reply_to_username
|
|
20766
20638
|
})]
|
|
20767
20639
|
})
|
|
20768
20640
|
]
|
|
20769
20641
|
}),
|
|
20770
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20771
|
-
className: "
|
|
20772
|
-
|
|
20773
|
-
|
|
20774
|
-
|
|
20775
|
-
|
|
20776
|
-
|
|
20777
|
-
|
|
20778
|
-
|
|
20779
|
-
|
|
20780
|
-
className: "
|
|
20781
|
-
|
|
20782
|
-
|
|
20783
|
-
|
|
20784
|
-
|
|
20785
|
-
})
|
|
20786
|
-
}, idx))]
|
|
20787
|
-
}),
|
|
20642
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20643
|
+
className: "text-5xl text-foreground leading-normal whitespace-pre-wrap select-text",
|
|
20644
|
+
style: {
|
|
20645
|
+
wordBreak: "break-word",
|
|
20646
|
+
overflowWrap: "break-word"
|
|
20647
|
+
},
|
|
20648
|
+
children: renderDouyinCommentRichText(reply.text)
|
|
20649
|
+
}), reply.image_list && reply.image_list.length > 0 && reply.image_list.filter(Boolean).map((img, idx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20650
|
+
className: "my-4 overflow-hidden shadow-sm rounded-xl max-w-150",
|
|
20651
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
20652
|
+
className: "object-contain w-full h-auto rounded-xl",
|
|
20653
|
+
src: img,
|
|
20654
|
+
alt: "评论图片"
|
|
20655
|
+
})
|
|
20656
|
+
}, idx))] }),
|
|
20788
20657
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20789
20658
|
className: "pb-4",
|
|
20790
20659
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20791
20660
|
className: "flex gap-6 items-center text-muted",
|
|
20792
20661
|
children: [
|
|
20662
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20663
|
+
className: "text-4xl",
|
|
20664
|
+
children: formatDouyinCommentTime(reply.create_time)
|
|
20665
|
+
}),
|
|
20666
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20667
|
+
className: "text-4xl",
|
|
20668
|
+
children: reply.ip_label
|
|
20669
|
+
}),
|
|
20793
20670
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20794
20671
|
className: "flex gap-2 items-center",
|
|
20795
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20796
|
-
|
|
20797
|
-
width: 40,
|
|
20672
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, {
|
|
20673
|
+
size: 40,
|
|
20798
20674
|
className: "text-muted"
|
|
20799
20675
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20800
20676
|
className: "text-4xl select-text",
|
|
20801
20677
|
children: formatDouyinCommentDiggCount(reply.digg_count)
|
|
20802
20678
|
})]
|
|
20803
|
-
}),
|
|
20804
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20805
|
-
className: "text-4xl",
|
|
20806
|
-
children: reply.ip_label
|
|
20807
|
-
}),
|
|
20808
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20809
|
-
className: "ml-2 text-4xl",
|
|
20810
|
-
children: formatDouyinCommentTime(reply.create_time)
|
|
20811
20679
|
})
|
|
20812
20680
|
]
|
|
20813
20681
|
})
|
|
@@ -20852,15 +20720,15 @@ var CommentItemComponent$1 = (props) => {
|
|
|
20852
20720
|
className: "w-35 h-35 rounded-full object-cover shadow-md bg-background",
|
|
20853
20721
|
alt: "用户头像"
|
|
20854
20722
|
})
|
|
20855
|
-
}), props.replyComment && props.replyComment.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-0.5 bg-border h-full grow mt-4 rounded-t-full" })]
|
|
20723
|
+
}), props.replyComment && props.replyComment.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-0.5 bg-border-secondary h-full grow mt-4 rounded-t-full" })]
|
|
20856
20724
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20857
|
-
className: "flex flex-col
|
|
20725
|
+
className: "flex flex-col py-4 pl-6 min-w-0 gap-2",
|
|
20858
20726
|
children: [
|
|
20859
20727
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20860
|
-
className: "flex flex-wrap gap-4 items-center mb-3 text-
|
|
20728
|
+
className: "flex flex-wrap gap-4 items-center mb-3 text-4xl select-text content-center",
|
|
20861
20729
|
children: [
|
|
20862
20730
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20863
|
-
className: "font-
|
|
20731
|
+
className: "font-normal text-muted",
|
|
20864
20732
|
children: props.nickname
|
|
20865
20733
|
}),
|
|
20866
20734
|
props.label_type === 1 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -20878,7 +20746,7 @@ var CommentItemComponent$1 = (props) => {
|
|
|
20878
20746
|
]
|
|
20879
20747
|
}),
|
|
20880
20748
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20881
|
-
className: "text-5xl text-foreground leading-normal
|
|
20749
|
+
className: "text-5xl text-foreground leading-normal whitespace-pre-wrap select-text",
|
|
20882
20750
|
style: {
|
|
20883
20751
|
wordBreak: "break-word",
|
|
20884
20752
|
overflowWrap: "break-word"
|
|
@@ -20894,28 +20762,27 @@ var CommentItemComponent$1 = (props) => {
|
|
|
20894
20762
|
})
|
|
20895
20763
|
}),
|
|
20896
20764
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
20897
|
-
className: "flex justify-between items-center
|
|
20765
|
+
className: "flex justify-between items-center text-muted",
|
|
20898
20766
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20899
20767
|
className: "flex gap-6 items-center shrink-0",
|
|
20900
20768
|
children: [
|
|
20769
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20770
|
+
className: "text-4xl",
|
|
20771
|
+
children: formatDouyinCommentTime(props.create_time)
|
|
20772
|
+
}),
|
|
20773
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20774
|
+
className: "text-4xl",
|
|
20775
|
+
children: props.ip_label
|
|
20776
|
+
}),
|
|
20901
20777
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20902
20778
|
className: "flex gap-2 items-center transition-colors cursor-pointer",
|
|
20903
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20904
|
-
|
|
20905
|
-
width: 44,
|
|
20779
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, {
|
|
20780
|
+
size: 44,
|
|
20906
20781
|
className: "text-muted"
|
|
20907
20782
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20908
20783
|
className: "text-4xl select-text",
|
|
20909
20784
|
children: formatDouyinCommentDiggCount(props.digg_count)
|
|
20910
20785
|
})]
|
|
20911
|
-
}),
|
|
20912
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20913
|
-
className: "text-4xl",
|
|
20914
|
-
children: props.ip_label
|
|
20915
|
-
}),
|
|
20916
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
20917
|
-
className: "ml-2 text-4xl",
|
|
20918
|
-
children: formatDouyinCommentTime(props.create_time)
|
|
20919
20786
|
})
|
|
20920
20787
|
]
|
|
20921
20788
|
})
|
|
@@ -20924,7 +20791,7 @@ var CommentItemComponent$1 = (props) => {
|
|
|
20924
20791
|
})]
|
|
20925
20792
|
}), props.replyComment && props.replyComment.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20926
20793
|
className: "flex relative flex-col mt-8 ml-5",
|
|
20927
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute -top-8 left-12.5 w-0.5 h-8 bg-border -ml-px" }), organizeReplies(props.replyComment, props.cid || "", props.maxDepth).map((reply, index, arr) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ReplyItemComponent, {
|
|
20794
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute -top-8 left-12.5 w-0.5 h-8 bg-border-secondary -ml-px" }), organizeReplies(props.replyComment, props.cid || "", props.maxDepth).map((reply, index, arr) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ReplyItemComponent, {
|
|
20928
20795
|
reply,
|
|
20929
20796
|
depth: 1,
|
|
20930
20797
|
isLast: index === arr.length - 1,
|
|
@@ -20950,7 +20817,7 @@ var DouyinComment = import_react.memo((props) => {
|
|
|
20950
20817
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DefaultLayout, {
|
|
20951
20818
|
...props,
|
|
20952
20819
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
20953
|
-
className: "p-5",
|
|
20820
|
+
className: "p-5 px-15",
|
|
20954
20821
|
children: [
|
|
20955
20822
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-20" }),
|
|
20956
20823
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(VideoInfoHeader, {
|
|
@@ -20966,9 +20833,8 @@ var DouyinComment = import_react.memo((props) => {
|
|
|
20966
20833
|
children: "大家都在搜:"
|
|
20967
20834
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
20968
20835
|
className: "relative text-5xl text-[#04498d] dark:text-[#face15]",
|
|
20969
|
-
children: [randomSuggestWord, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
20970
|
-
|
|
20971
|
-
width: 32,
|
|
20836
|
+
children: [randomSuggestWord, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Search, {
|
|
20837
|
+
size: 32,
|
|
20972
20838
|
className: "absolute -top-2 -right-8"
|
|
20973
20839
|
})]
|
|
20974
20840
|
})]
|
|
@@ -21058,50 +20924,32 @@ var InfoSection$3 = (props) => {
|
|
|
21058
20924
|
children: [
|
|
21059
20925
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21060
20926
|
className: "flex gap-2 items-center",
|
|
21061
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21062
|
-
icon: "lucide:heart",
|
|
21063
|
-
className: "w-11 h-11 text-like"
|
|
21064
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.dianzan, "点赞"] })]
|
|
20927
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { className: "w-11 h-11 text-like" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.dianzan, "点赞"] })]
|
|
21065
20928
|
}),
|
|
21066
20929
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
21067
20930
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21068
20931
|
className: "flex gap-2 items-center",
|
|
21069
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21070
|
-
icon: "lucide:message-circle",
|
|
21071
|
-
className: "w-11 h-11 text-comment"
|
|
21072
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.pinglun, "评论"] })]
|
|
20932
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { className: "w-11 h-11 text-comment" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.pinglun, "评论"] })]
|
|
21073
20933
|
}),
|
|
21074
20934
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
21075
20935
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21076
20936
|
className: "flex gap-2 items-center",
|
|
21077
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21078
|
-
icon: "lucide:bookmark",
|
|
21079
|
-
className: "w-11 h-11"
|
|
21080
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.shouchang, "收藏"] })]
|
|
20937
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bookmark, { className: "w-11 h-11" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.shouchang, "收藏"] })]
|
|
21081
20938
|
}),
|
|
21082
20939
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
21083
20940
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21084
20941
|
className: "flex gap-2 items-center",
|
|
21085
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21086
|
-
icon: "lucide:share-2",
|
|
21087
|
-
className: "w-11 h-11 text-success"
|
|
21088
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.share, "分享"] })]
|
|
20942
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Share2, { className: "w-11 h-11 text-success" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.share, "分享"] })]
|
|
21089
20943
|
})
|
|
21090
20944
|
]
|
|
21091
20945
|
}),
|
|
21092
20946
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21093
20947
|
className: "flex items-center gap-2 text-[45px] text-muted font-light select-text",
|
|
21094
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21095
|
-
icon: "lucide:clock",
|
|
21096
|
-
className: "w-11 h-11 text-time"
|
|
21097
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["发布于: ", props.data.create_time] })]
|
|
20948
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { className: "w-11 h-11 text-time" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["发布于: ", props.data.create_time] })]
|
|
21098
20949
|
}),
|
|
21099
20950
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21100
20951
|
className: "flex items-center gap-2 text-[45px] text-muted font-light select-text",
|
|
21101
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21102
|
-
icon: "lucide:maximize",
|
|
21103
|
-
className: "w-11 h-11 text-time text-time"
|
|
21104
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
20952
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Maximize, { className: "w-11 h-11 text-time text-time" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
21105
20953
|
})
|
|
21106
20954
|
]
|
|
21107
20955
|
});
|
|
@@ -21133,9 +20981,8 @@ var UserInfoSection$2 = (props) => {
|
|
|
21133
20981
|
children: ["@", props.data.username]
|
|
21134
20982
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21135
20983
|
className: "flex gap-2 items-center text-4xl text-muted",
|
|
21136
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21137
|
-
|
|
21138
|
-
width: 32,
|
|
20984
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, {
|
|
20985
|
+
size: 32,
|
|
21139
20986
|
className: "text-muted"
|
|
21140
20987
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
21141
20988
|
className: "select-text",
|
|
@@ -21151,9 +20998,8 @@ var UserInfoSection$2 = (props) => {
|
|
|
21151
20998
|
children: [
|
|
21152
20999
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21153
21000
|
className: "flex gap-1 items-center",
|
|
21154
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21155
|
-
|
|
21156
|
-
width: 28,
|
|
21001
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, {
|
|
21002
|
+
size: 28,
|
|
21157
21003
|
className: "text-like"
|
|
21158
21004
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
21159
21005
|
className: "text-muted",
|
|
@@ -21172,9 +21018,8 @@ var UserInfoSection$2 = (props) => {
|
|
|
21172
21018
|
children: [
|
|
21173
21019
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21174
21020
|
className: "flex gap-1 items-center",
|
|
21175
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21176
|
-
|
|
21177
|
-
width: 28,
|
|
21021
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, {
|
|
21022
|
+
size: 28,
|
|
21178
21023
|
className: "text-view"
|
|
21179
21024
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
21180
21025
|
className: "text-muted",
|
|
@@ -21193,9 +21038,8 @@ var UserInfoSection$2 = (props) => {
|
|
|
21193
21038
|
children: [
|
|
21194
21039
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21195
21040
|
className: "flex gap-1 items-center",
|
|
21196
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21197
|
-
|
|
21198
|
-
width: 28,
|
|
21041
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, {
|
|
21042
|
+
size: 28,
|
|
21199
21043
|
className: "text-accent"
|
|
21200
21044
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
21201
21045
|
className: "text-muted",
|
|
@@ -21313,10 +21157,7 @@ var DouyinDynamic = (props) => {
|
|
|
21313
21157
|
className: "px-16 pb-8",
|
|
21314
21158
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21315
21159
|
className: "gap-2 inline-flex items-center rounded-2xl bg-surface text-foreground/80 px-6 py-3",
|
|
21316
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21317
|
-
icon: "lucide:users",
|
|
21318
|
-
className: "w-7 h-7"
|
|
21319
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
21160
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, { className: "w-7 h-7" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
21320
21161
|
className: "text-3xl font-medium leading-none select-text text-foreground/80",
|
|
21321
21162
|
children: [coCreatorCount, "人共创"]
|
|
21322
21163
|
})]
|
|
@@ -21435,9 +21276,9 @@ var DouyinFavoriteList = (props) => {
|
|
|
21435
21276
|
}),
|
|
21436
21277
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21437
21278
|
className: "absolute -bottom-3 -right-3 bg-rose-500 text-white px-5 py-2 rounded-full border-[5px] border-white font-bold text-xl shadow-xl flex items-center gap-2",
|
|
21438
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21439
|
-
|
|
21440
|
-
className: "
|
|
21279
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiHeart3Fill, {
|
|
21280
|
+
size: 20,
|
|
21281
|
+
className: "fill-current"
|
|
21441
21282
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "赞了" })]
|
|
21442
21283
|
})
|
|
21443
21284
|
]
|
|
@@ -21462,9 +21303,9 @@ var DouyinFavoriteList = (props) => {
|
|
|
21462
21303
|
className: "mt-6 flex flex-col items-center gap-2 text-rose-500",
|
|
21463
21304
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21464
21305
|
className: "flex items-center gap-3",
|
|
21465
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21466
|
-
|
|
21467
|
-
className: "
|
|
21306
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiHeart3Fill, {
|
|
21307
|
+
size: 40,
|
|
21308
|
+
className: "fill-current"
|
|
21468
21309
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
21469
21310
|
className: "text-4xl font-bold",
|
|
21470
21311
|
children: "刚刚赞了这个作品"
|
|
@@ -21558,9 +21399,8 @@ var DouyinFavoriteList = (props) => {
|
|
|
21558
21399
|
className: "absolute inset-x-0 bottom-0 pt-40 pb-12 px-12 bg-linear-to-t from-black/90 via-black/50 to-transparent",
|
|
21559
21400
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21560
21401
|
className: "flex gap-6 items-start",
|
|
21561
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21562
|
-
|
|
21563
|
-
width: 48,
|
|
21402
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Quote, {
|
|
21403
|
+
size: 48,
|
|
21564
21404
|
className: "text-rose-500/90 shrink-0 rotate-180 mt-2"
|
|
21565
21405
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
21566
21406
|
className: "text-white text-4xl font-medium leading-relaxed line-clamp-3 drop-shadow-lg tracking-wide",
|
|
@@ -21573,24 +21413,24 @@ var DouyinFavoriteList = (props) => {
|
|
|
21573
21413
|
className: "grid grid-cols-5 gap-6 z-10",
|
|
21574
21414
|
children: [
|
|
21575
21415
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$3, {
|
|
21576
|
-
icon:
|
|
21416
|
+
icon: RiHeart3Fill,
|
|
21577
21417
|
value: props.data.dianzan,
|
|
21578
21418
|
iconClassName: "text-rose-500/80"
|
|
21579
21419
|
}),
|
|
21580
21420
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$3, {
|
|
21581
|
-
icon:
|
|
21421
|
+
icon: RiThumbUpFill,
|
|
21582
21422
|
value: props.data.tuijian
|
|
21583
21423
|
}),
|
|
21584
21424
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$3, {
|
|
21585
|
-
icon:
|
|
21425
|
+
icon: RiMessage3Fill,
|
|
21586
21426
|
value: props.data.pinglun
|
|
21587
21427
|
}),
|
|
21588
21428
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$3, {
|
|
21589
|
-
icon:
|
|
21429
|
+
icon: RiStarFill,
|
|
21590
21430
|
value: props.data.shouchang
|
|
21591
21431
|
}),
|
|
21592
21432
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$3, {
|
|
21593
|
-
icon:
|
|
21433
|
+
icon: RiShareForwardFill,
|
|
21594
21434
|
value: props.data.share
|
|
21595
21435
|
})
|
|
21596
21436
|
]
|
|
@@ -21603,11 +21443,11 @@ var DouyinFavoriteList = (props) => {
|
|
|
21603
21443
|
});
|
|
21604
21444
|
};
|
|
21605
21445
|
/** 统计项小组件 */
|
|
21606
|
-
var StatItem$3 = ({ icon, value, iconClassName }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21446
|
+
var StatItem$3 = ({ icon: IconComponent, value, iconClassName }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21607
21447
|
className: "flex flex-col items-center justify-center gap-2 py-6 rounded-3xl bg-surface",
|
|
21608
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21609
|
-
|
|
21610
|
-
className: `
|
|
21448
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconComponent, {
|
|
21449
|
+
size: 48,
|
|
21450
|
+
className: `opacity-90 ${iconClassName || "text-muted"}`
|
|
21611
21451
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
21612
21452
|
className: "text-2xl font-bold text-foreground/70 mt-1",
|
|
21613
21453
|
children: value
|
|
@@ -21670,50 +21510,32 @@ var InfoSection$2 = (props) => {
|
|
|
21670
21510
|
children: [
|
|
21671
21511
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21672
21512
|
className: "flex gap-2 items-center",
|
|
21673
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21674
|
-
icon: "lucide:heart",
|
|
21675
|
-
className: "w-11 h-11 text-like"
|
|
21676
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.dianzan, "点赞"] })]
|
|
21513
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { className: "w-11 h-11 text-like" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.dianzan, "点赞"] })]
|
|
21677
21514
|
}),
|
|
21678
21515
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
21679
21516
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21680
21517
|
className: "flex gap-2 items-center",
|
|
21681
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21682
|
-
icon: "lucide:message-circle",
|
|
21683
|
-
className: "w-11 h-11 text-comment"
|
|
21684
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.pinglun, "评论"] })]
|
|
21518
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { className: "w-11 h-11 text-comment" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.pinglun, "评论"] })]
|
|
21685
21519
|
}),
|
|
21686
21520
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
21687
21521
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21688
21522
|
className: "flex gap-2 items-center",
|
|
21689
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21690
|
-
icon: "lucide:bookmark",
|
|
21691
|
-
className: "w-11 h-11"
|
|
21692
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.shouchang, "收藏"] })]
|
|
21523
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bookmark, { className: "w-11 h-11" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.shouchang, "收藏"] })]
|
|
21693
21524
|
}),
|
|
21694
21525
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
21695
21526
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21696
21527
|
className: "flex gap-2 items-center",
|
|
21697
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21698
|
-
icon: "lucide:share-2",
|
|
21699
|
-
className: "w-11 h-11 text-success"
|
|
21700
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.share, "分享"] })]
|
|
21528
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Share2, { className: "w-11 h-11 text-success" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.share, "分享"] })]
|
|
21701
21529
|
})
|
|
21702
21530
|
]
|
|
21703
21531
|
}),
|
|
21704
21532
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21705
21533
|
className: "flex items-center gap-2 text-[45px] text-muted font-light select-text",
|
|
21706
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21707
|
-
icon: "lucide:clock",
|
|
21708
|
-
className: "w-11 h-11 text-time"
|
|
21709
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["发布于: ", props.data.create_time] })]
|
|
21534
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { className: "w-11 h-11 text-time" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["发布于: ", props.data.create_time] })]
|
|
21710
21535
|
}),
|
|
21711
21536
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21712
21537
|
className: "flex items-center gap-2 text-[45px] text-muted font-light select-text",
|
|
21713
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21714
|
-
icon: "lucide:maximize",
|
|
21715
|
-
className: "w-11 h-11 text-time text-time"
|
|
21716
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
21538
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Maximize, { className: "w-11 h-11 text-time text-time" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
21717
21539
|
})
|
|
21718
21540
|
]
|
|
21719
21541
|
});
|
|
@@ -21743,9 +21565,8 @@ var UserInfoSection$1 = (props) => {
|
|
|
21743
21565
|
children: ["@", props.data.username]
|
|
21744
21566
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21745
21567
|
className: "flex gap-2 items-center text-4xl text-muted",
|
|
21746
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21747
|
-
|
|
21748
|
-
width: 32,
|
|
21568
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, {
|
|
21569
|
+
size: 32,
|
|
21749
21570
|
className: "text-muted"
|
|
21750
21571
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
21751
21572
|
className: "select-text",
|
|
@@ -21761,9 +21582,8 @@ var UserInfoSection$1 = (props) => {
|
|
|
21761
21582
|
children: [
|
|
21762
21583
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21763
21584
|
className: "flex gap-1 items-center",
|
|
21764
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21765
|
-
|
|
21766
|
-
width: 28,
|
|
21585
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, {
|
|
21586
|
+
size: 28,
|
|
21767
21587
|
className: "text-like"
|
|
21768
21588
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
21769
21589
|
className: "text-muted",
|
|
@@ -21782,9 +21602,8 @@ var UserInfoSection$1 = (props) => {
|
|
|
21782
21602
|
children: [
|
|
21783
21603
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21784
21604
|
className: "flex gap-1 items-center",
|
|
21785
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21786
|
-
|
|
21787
|
-
width: 28,
|
|
21605
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, {
|
|
21606
|
+
size: 28,
|
|
21788
21607
|
className: "text-view"
|
|
21789
21608
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
21790
21609
|
className: "text-muted",
|
|
@@ -21803,9 +21622,8 @@ var UserInfoSection$1 = (props) => {
|
|
|
21803
21622
|
children: [
|
|
21804
21623
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21805
21624
|
className: "flex gap-1 items-center",
|
|
21806
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21807
|
-
|
|
21808
|
-
width: 28,
|
|
21625
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, {
|
|
21626
|
+
size: 28,
|
|
21809
21627
|
className: "text-accent"
|
|
21810
21628
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
21811
21629
|
className: "text-muted",
|
|
@@ -21923,10 +21741,7 @@ var DouyinImageWork = (props) => {
|
|
|
21923
21741
|
className: "px-16 pb-8",
|
|
21924
21742
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
21925
21743
|
className: "gap-2 inline-flex items-center rounded-2xl bg-surface text-foreground/80 px-6 py-3",
|
|
21926
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
21927
|
-
icon: "lucide:users",
|
|
21928
|
-
className: "w-7 h-7"
|
|
21929
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
21744
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, { className: "w-7 h-7" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
21930
21745
|
className: "text-3xl font-medium leading-none select-text text-foreground/80",
|
|
21931
21746
|
children: [coCreatorCount, "人共创"]
|
|
21932
21747
|
})]
|
|
@@ -22115,9 +21930,8 @@ var InfoSection$1 = ({ data }) => {
|
|
|
22115
21930
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
22116
21931
|
className: "flex items-center gap-1.5",
|
|
22117
21932
|
children: [
|
|
22118
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22119
|
-
|
|
22120
|
-
width: 28,
|
|
21933
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, {
|
|
21934
|
+
size: 28,
|
|
22121
21935
|
className: "text-foreground/20"
|
|
22122
21936
|
}),
|
|
22123
21937
|
data.online_viewers,
|
|
@@ -22127,9 +21941,8 @@ var InfoSection$1 = ({ data }) => {
|
|
|
22127
21941
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
22128
21942
|
className: "flex items-center gap-1.5",
|
|
22129
21943
|
children: [
|
|
22130
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22131
|
-
|
|
22132
|
-
width: 28,
|
|
21944
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, {
|
|
21945
|
+
size: 28,
|
|
22133
21946
|
className: "text-foreground/20"
|
|
22134
21947
|
}),
|
|
22135
21948
|
data.total_viewers,
|
|
@@ -22139,9 +21952,8 @@ var InfoSection$1 = ({ data }) => {
|
|
|
22139
21952
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
22140
21953
|
className: "flex items-center gap-1.5",
|
|
22141
21954
|
children: [
|
|
22142
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22143
|
-
|
|
22144
|
-
width: 28,
|
|
21955
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, {
|
|
21956
|
+
size: 28,
|
|
22145
21957
|
className: "text-foreground/20"
|
|
22146
21958
|
}),
|
|
22147
21959
|
data.like_count,
|
|
@@ -22150,17 +21962,15 @@ var InfoSection$1 = ({ data }) => {
|
|
|
22150
21962
|
}),
|
|
22151
21963
|
data.resolution && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
22152
21964
|
className: "flex items-center gap-1.5",
|
|
22153
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22154
|
-
|
|
22155
|
-
width: 28,
|
|
21965
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Monitor, {
|
|
21966
|
+
size: 28,
|
|
22156
21967
|
className: "text-foreground/20"
|
|
22157
21968
|
}), data.resolution]
|
|
22158
21969
|
}),
|
|
22159
21970
|
data.has_commerce_goods && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
22160
21971
|
className: "flex items-center gap-1.5",
|
|
22161
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22162
|
-
|
|
22163
|
-
width: 28,
|
|
21972
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ShoppingBag, {
|
|
21973
|
+
size: 28,
|
|
22164
21974
|
className: "text-foreground/20"
|
|
22165
21975
|
}), "带货中"]
|
|
22166
21976
|
})
|
|
@@ -22172,9 +21982,8 @@ var InfoSection$1 = ({ data }) => {
|
|
|
22172
21982
|
}),
|
|
22173
21983
|
data.city && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22174
21984
|
className: "flex items-center gap-2 text-3xl text-foreground/30",
|
|
22175
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22176
|
-
|
|
22177
|
-
width: 28,
|
|
21985
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, {
|
|
21986
|
+
size: 28,
|
|
22178
21987
|
className: "text-foreground/20"
|
|
22179
21988
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: data.city })]
|
|
22180
21989
|
})
|
|
@@ -22217,10 +22026,7 @@ var BottomSection = ({ data, qrCodeDataUrl }) => {
|
|
|
22217
22026
|
className: "text-foreground/40",
|
|
22218
22027
|
children: "·"
|
|
22219
22028
|
}),
|
|
22220
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22221
|
-
icon: "lucide:users",
|
|
22222
|
-
width: 32
|
|
22223
|
-
}),
|
|
22029
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, { size: 32 }),
|
|
22224
22030
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
22225
22031
|
className: "select-text",
|
|
22226
22032
|
children: [data.fans, "粉丝"]
|
|
@@ -22235,10 +22041,7 @@ var BottomSection = ({ data, qrCodeDataUrl }) => {
|
|
|
22235
22041
|
className: "flex flex-col gap-2 px-6 py-3 rounded-2xl bg-default/45",
|
|
22236
22042
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22237
22043
|
className: "flex items-center gap-2",
|
|
22238
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22239
|
-
icon: "lucide:file-video",
|
|
22240
|
-
width: 28
|
|
22241
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22044
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(FilePlay, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22242
22045
|
className: "text-foreground/40",
|
|
22243
22046
|
children: "作品"
|
|
22244
22047
|
})]
|
|
@@ -22251,10 +22054,7 @@ var BottomSection = ({ data, qrCodeDataUrl }) => {
|
|
|
22251
22054
|
className: "flex flex-col gap-2 px-6 py-3 rounded-2xl bg-default/45",
|
|
22252
22055
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22253
22056
|
className: "flex items-center gap-2",
|
|
22254
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22255
|
-
icon: "lucide:user-plus",
|
|
22256
|
-
width: 28
|
|
22257
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22057
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserPlus, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22258
22058
|
className: "text-foreground/40",
|
|
22259
22059
|
children: "关注"
|
|
22260
22060
|
})]
|
|
@@ -22267,10 +22067,7 @@ var BottomSection = ({ data, qrCodeDataUrl }) => {
|
|
|
22267
22067
|
className: "flex flex-col gap-2 px-6 py-3 rounded-2xl bg-default/45",
|
|
22268
22068
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22269
22069
|
className: "flex items-center gap-2",
|
|
22270
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22271
|
-
icon: "lucide:heart",
|
|
22272
|
-
width: 28
|
|
22273
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22070
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22274
22071
|
className: "text-foreground/40",
|
|
22275
22072
|
children: "获赞"
|
|
22276
22073
|
})]
|
|
@@ -22392,24 +22189,15 @@ var MusicInfoSection = ({ desc, musicId, userCount, createTime }) => {
|
|
|
22392
22189
|
className: "flex flex-col gap-2 text-[45px] text-muted font-light mb-2.5",
|
|
22393
22190
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22394
22191
|
className: "flex gap-2 items-center select-text",
|
|
22395
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22396
|
-
icon: "lucide:music",
|
|
22397
|
-
className: "w-11 h-11"
|
|
22398
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["音乐ID: ", musicId] })]
|
|
22192
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Music, { className: "w-11 h-11" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["音乐ID: ", musicId] })]
|
|
22399
22193
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22400
22194
|
className: "flex gap-2 items-center select-text",
|
|
22401
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22402
|
-
icon: "lucide:users",
|
|
22403
|
-
className: "w-11 h-11 text-follow"
|
|
22404
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [userCount, " 人使用过"] })]
|
|
22195
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, { className: "w-11 h-11 text-follow" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [userCount, " 人使用过"] })]
|
|
22405
22196
|
})]
|
|
22406
22197
|
}),
|
|
22407
22198
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22408
22199
|
className: "flex items-center gap-2 text-[45px] text-muted font-light select-text",
|
|
22409
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22410
|
-
icon: "lucide:maximize",
|
|
22411
|
-
className: "w-11 h-11 text-time"
|
|
22412
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", createTime] })]
|
|
22200
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Maximize, { className: "w-11 h-11 text-time" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", createTime] })]
|
|
22413
22201
|
})
|
|
22414
22202
|
]
|
|
22415
22203
|
});
|
|
@@ -22441,31 +22229,19 @@ var MusicAuthorInfoSection = ({ avatarUrl, username, userShortId, totalFavorited
|
|
|
22441
22229
|
children: [
|
|
22442
22230
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22443
22231
|
className: "flex gap-2 items-center",
|
|
22444
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22445
|
-
icon: "lucide:hash",
|
|
22446
|
-
className: "w-8 h-8"
|
|
22447
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["ID: ", userShortId] })]
|
|
22232
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { className: "w-8 h-8" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["ID: ", userShortId] })]
|
|
22448
22233
|
}),
|
|
22449
22234
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22450
22235
|
className: "flex gap-2 items-center",
|
|
22451
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22452
|
-
icon: "lucide:heart",
|
|
22453
|
-
className: "w-8 h-8 text-like"
|
|
22454
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["获赞: ", totalFavorited] })]
|
|
22236
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { className: "w-8 h-8 text-like" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["获赞: ", totalFavorited] })]
|
|
22455
22237
|
}),
|
|
22456
22238
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22457
22239
|
className: "flex gap-2 items-center",
|
|
22458
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22459
|
-
icon: "lucide:user-plus",
|
|
22460
|
-
className: "w-8 h-8"
|
|
22461
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["关注: ", followingCount] })]
|
|
22240
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserPlus, { className: "w-8 h-8" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["关注: ", followingCount] })]
|
|
22462
22241
|
}),
|
|
22463
22242
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22464
22243
|
className: "flex gap-2 items-center",
|
|
22465
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22466
|
-
icon: "lucide:users",
|
|
22467
|
-
className: "w-8 h-8 text-follow"
|
|
22468
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["粉丝: ", fans] })]
|
|
22244
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, { className: "w-8 h-8 text-follow" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["粉丝: ", fans] })]
|
|
22469
22245
|
})
|
|
22470
22246
|
]
|
|
22471
22247
|
})]
|
|
@@ -22481,10 +22257,7 @@ var MusicQRCodeSection = ({ qrCodeDataUrl }) => {
|
|
|
22481
22257
|
className: "flex flex-col-reverse items-center -mb-12 mr-18",
|
|
22482
22258
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22483
22259
|
className: "flex items-center gap-2 text-[45px] text-right mt-5 text-muted select-text",
|
|
22484
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22485
|
-
icon: "lucide:qr-code",
|
|
22486
|
-
className: "w-11 h-11"
|
|
22487
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "文件直链:永久有效" })]
|
|
22260
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(QrCode, { className: "w-11 h-11" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "文件直链:永久有效" })]
|
|
22488
22261
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
22489
22262
|
className: "p-2.5 rounded-sm border-[7px] border-dashed border-border",
|
|
22490
22263
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
@@ -22644,44 +22417,35 @@ var DouyinQrcodeImg = import_react.memo((props) => {
|
|
|
22644
22417
|
className: "flex flex-col items-center gap-4",
|
|
22645
22418
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
22646
22419
|
className: "p-5 rounded-3xl bg-surface/50 backdrop-blur-md",
|
|
22647
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22648
|
-
icon: "ri:tiktok-fill",
|
|
22649
|
-
className: "w-16 h-16"
|
|
22650
|
-
})
|
|
22420
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiTiktokFill, { size: 64 })
|
|
22651
22421
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22652
22422
|
className: "text-[28px] font-medium tracking-wide",
|
|
22653
22423
|
children: "打开抖音"
|
|
22654
22424
|
})]
|
|
22655
22425
|
}),
|
|
22656
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22657
|
-
|
|
22658
|
-
className: "
|
|
22426
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiArrowRightFill, {
|
|
22427
|
+
size: 40,
|
|
22428
|
+
className: "mt-8 opacity-40"
|
|
22659
22429
|
}),
|
|
22660
22430
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22661
22431
|
className: "flex flex-col items-center gap-4",
|
|
22662
22432
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
22663
22433
|
className: "p-5 rounded-3xl bg-surface/50 backdrop-blur-md",
|
|
22664
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22665
|
-
icon: "heroicons-outline:menu-alt-2",
|
|
22666
|
-
className: "w-16 h-16"
|
|
22667
|
-
})
|
|
22434
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu, { size: 64 })
|
|
22668
22435
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22669
22436
|
className: "text-[28px] font-medium tracking-wide",
|
|
22670
22437
|
children: "左上角菜单"
|
|
22671
22438
|
})]
|
|
22672
22439
|
}),
|
|
22673
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22674
|
-
|
|
22675
|
-
className: "
|
|
22440
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiArrowRightFill, {
|
|
22441
|
+
size: 40,
|
|
22442
|
+
className: "mt-8 opacity-40"
|
|
22676
22443
|
}),
|
|
22677
22444
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22678
22445
|
className: "flex flex-col items-center gap-4",
|
|
22679
22446
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
22680
22447
|
className: "p-5 rounded-3xl bg-surface/50 backdrop-blur-md",
|
|
22681
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22682
|
-
icon: "tabler:scan",
|
|
22683
|
-
className: "w-16 h-16"
|
|
22684
|
-
})
|
|
22448
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ScanLine, { size: 64 })
|
|
22685
22449
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22686
22450
|
className: "text-[28px] font-medium tracking-wide",
|
|
22687
22451
|
children: "顶部扫一扫"
|
|
@@ -22722,9 +22486,8 @@ var DouyinQrcodeImg = import_react.memo((props) => {
|
|
|
22722
22486
|
children: [
|
|
22723
22487
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
22724
22488
|
className: "flex items-center justify-center w-16 h-16 mb-2",
|
|
22725
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22726
|
-
|
|
22727
|
-
className: "w-16 h-16",
|
|
22489
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Smartphone, {
|
|
22490
|
+
size: 64,
|
|
22728
22491
|
style: { color: theme.text },
|
|
22729
22492
|
strokeWidth: 1
|
|
22730
22493
|
})
|
|
@@ -22745,9 +22508,8 @@ var DouyinQrcodeImg = import_react.memo((props) => {
|
|
|
22745
22508
|
children: [
|
|
22746
22509
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
22747
22510
|
className: "flex items-center justify-center w-16 h-16 mb-2",
|
|
22748
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22749
|
-
|
|
22750
|
-
className: "w-16 h-16",
|
|
22511
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ShieldCheck, {
|
|
22512
|
+
size: 64,
|
|
22751
22513
|
style: { color: theme.text },
|
|
22752
22514
|
strokeWidth: 1
|
|
22753
22515
|
})
|
|
@@ -22863,9 +22625,9 @@ var DouyinRecommendList = (props) => {
|
|
|
22863
22625
|
}),
|
|
22864
22626
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22865
22627
|
className: "absolute -bottom-3 -right-3 bg-emerald-500 text-white px-5 py-2 rounded-full border-[5px] border-white font-bold text-xl shadow-xl flex items-center gap-2",
|
|
22866
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22867
|
-
|
|
22868
|
-
className: "
|
|
22628
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiThumbUpFill, {
|
|
22629
|
+
size: 20,
|
|
22630
|
+
className: "fill-current"
|
|
22869
22631
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "推荐" })]
|
|
22870
22632
|
})
|
|
22871
22633
|
]
|
|
@@ -22890,9 +22652,9 @@ var DouyinRecommendList = (props) => {
|
|
|
22890
22652
|
className: "mt-6 flex flex-col items-center gap-2 text-emerald-500",
|
|
22891
22653
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22892
22654
|
className: "flex items-center gap-3",
|
|
22893
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22894
|
-
|
|
22895
|
-
className: "
|
|
22655
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiThumbUpFill, {
|
|
22656
|
+
size: 40,
|
|
22657
|
+
className: "fill-current"
|
|
22896
22658
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
22897
22659
|
className: "text-4xl font-bold",
|
|
22898
22660
|
children: "刚刚推荐了这个作品"
|
|
@@ -22986,9 +22748,8 @@ var DouyinRecommendList = (props) => {
|
|
|
22986
22748
|
className: "absolute inset-x-0 bottom-0 pt-40 pb-12 px-12 bg-linear-to-t from-black/90 via-black/50 to-transparent",
|
|
22987
22749
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22988
22750
|
className: "flex gap-6 items-start",
|
|
22989
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
22990
|
-
|
|
22991
|
-
width: 48,
|
|
22751
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Quote, {
|
|
22752
|
+
size: 48,
|
|
22992
22753
|
className: "text-emerald-500/90 shrink-0 rotate-180 mt-2"
|
|
22993
22754
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
22994
22755
|
className: "text-white text-4xl font-medium leading-relaxed line-clamp-3 drop-shadow-lg tracking-wide",
|
|
@@ -23001,24 +22762,24 @@ var DouyinRecommendList = (props) => {
|
|
|
23001
22762
|
className: "grid grid-cols-5 gap-6 z-10",
|
|
23002
22763
|
children: [
|
|
23003
22764
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$2, {
|
|
23004
|
-
icon:
|
|
22765
|
+
icon: RiHeart3Fill,
|
|
23005
22766
|
value: props.data.dianzan
|
|
23006
22767
|
}),
|
|
23007
22768
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$2, {
|
|
23008
|
-
icon:
|
|
22769
|
+
icon: RiThumbUpFill,
|
|
23009
22770
|
value: props.data.tuijian,
|
|
23010
22771
|
iconClassName: "text-emerald-500/80"
|
|
23011
22772
|
}),
|
|
23012
22773
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$2, {
|
|
23013
|
-
icon:
|
|
22774
|
+
icon: RiMessage3Fill,
|
|
23014
22775
|
value: props.data.pinglun
|
|
23015
22776
|
}),
|
|
23016
22777
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$2, {
|
|
23017
|
-
icon:
|
|
22778
|
+
icon: RiStarFill,
|
|
23018
22779
|
value: props.data.shouchang
|
|
23019
22780
|
}),
|
|
23020
22781
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$2, {
|
|
23021
|
-
icon:
|
|
22782
|
+
icon: RiShareForwardFill,
|
|
23022
22783
|
value: props.data.share
|
|
23023
22784
|
})
|
|
23024
22785
|
]
|
|
@@ -23031,11 +22792,11 @@ var DouyinRecommendList = (props) => {
|
|
|
23031
22792
|
});
|
|
23032
22793
|
};
|
|
23033
22794
|
/** 统计项小组件 */
|
|
23034
|
-
var StatItem$2 = ({ icon, value, iconClassName }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
22795
|
+
var StatItem$2 = ({ icon: IconComponent, value, iconClassName }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23035
22796
|
className: "flex flex-col items-center justify-center gap-2 py-6 rounded-3xl bg-surface",
|
|
23036
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23037
|
-
|
|
23038
|
-
className: `
|
|
22797
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconComponent, {
|
|
22798
|
+
size: 48,
|
|
22799
|
+
className: `opacity-90 ${iconClassName || "text-muted"}`
|
|
23039
22800
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
23040
22801
|
className: "text-2xl font-bold text-foreground/70 mt-1",
|
|
23041
22802
|
children: value
|
|
@@ -23047,22 +22808,22 @@ var pushTypeConfig = {
|
|
|
23047
22808
|
post: {
|
|
23048
22809
|
label: "作品更新",
|
|
23049
22810
|
color: "bg-accent/5 text-accent border-accent-soft-hover",
|
|
23050
|
-
icon:
|
|
22811
|
+
icon: RiVideoLine
|
|
23051
22812
|
},
|
|
23052
22813
|
favorite: {
|
|
23053
22814
|
label: "喜欢列表",
|
|
23054
22815
|
color: "bg-danger/5 text-danger border-danger-soft-hover",
|
|
23055
|
-
icon:
|
|
22816
|
+
icon: RiHeartLine
|
|
23056
22817
|
},
|
|
23057
22818
|
recommend: {
|
|
23058
22819
|
label: "推荐列表",
|
|
23059
22820
|
color: "bg-warning/5 text-warning border-warning-soft-hover",
|
|
23060
|
-
icon:
|
|
22821
|
+
icon: RiStarLine
|
|
23061
22822
|
},
|
|
23062
22823
|
live: {
|
|
23063
22824
|
label: "直播状态",
|
|
23064
22825
|
color: "bg-surface-secondary/40 text-accent border-border/20",
|
|
23065
|
-
icon:
|
|
22826
|
+
icon: RiLiveLine
|
|
23066
22827
|
}
|
|
23067
22828
|
};
|
|
23068
22829
|
/**
|
|
@@ -23150,9 +22911,9 @@ var DouyinUserItem = (props) => {
|
|
|
23150
22911
|
children: props.username
|
|
23151
22912
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
23152
22913
|
className: "inline-flex items-center gap-1 px-2 py-1 rounded-md bg-surface/50 border border-border/50 text-xs font-mono font-bold text-muted",
|
|
23153
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23154
|
-
|
|
23155
|
-
className: "
|
|
22914
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiHashtag, {
|
|
22915
|
+
size: 12,
|
|
22916
|
+
className: "opacity-70"
|
|
23156
22917
|
}), props.short_id]
|
|
23157
22918
|
})]
|
|
23158
22919
|
}),
|
|
@@ -23172,9 +22933,9 @@ var DouyinUserItem = (props) => {
|
|
|
23172
22933
|
const isActive = props.pushTypes?.includes(type);
|
|
23173
22934
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23174
22935
|
className: `px-2.5 py-3 rounded-xl border flex flex-col items-center gap-2.5 transition-colors duration-200 ${isActive ? config.color : "bg-surface/50 text-muted border-transparent dark:bg-surface/10"}`,
|
|
23175
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23176
|
-
|
|
23177
|
-
className:
|
|
22936
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(config.icon, {
|
|
22937
|
+
size: 20,
|
|
22938
|
+
className: isActive ? "" : "opacity-50"
|
|
23178
22939
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
23179
22940
|
className: "text-xs font-bold whitespace-nowrap tracking-wide",
|
|
23180
22941
|
style: { writingMode: "vertical-rl" },
|
|
@@ -23186,26 +22947,27 @@ var DouyinUserItem = (props) => {
|
|
|
23186
22947
|
className: "flex-1 flex flex-col gap-2",
|
|
23187
22948
|
children: [
|
|
23188
22949
|
{
|
|
23189
|
-
icon:
|
|
22950
|
+
icon: RiGroupLine,
|
|
23190
22951
|
value: props.fans,
|
|
23191
22952
|
label: "粉丝"
|
|
23192
22953
|
},
|
|
23193
22954
|
{
|
|
23194
|
-
icon:
|
|
22955
|
+
icon: RiHeart3Line,
|
|
23195
22956
|
value: props.total_favorited,
|
|
23196
22957
|
label: "获赞"
|
|
23197
22958
|
},
|
|
23198
22959
|
{
|
|
23199
|
-
icon:
|
|
22960
|
+
icon: RiUserFollowLine,
|
|
23200
22961
|
value: props.following_count,
|
|
23201
22962
|
label: "关注"
|
|
23202
22963
|
}
|
|
23203
22964
|
].map((item, index) => {
|
|
22965
|
+
const StatIcon = item.icon;
|
|
23204
22966
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23205
22967
|
className: "flex items-center gap-3 px-4 py-2 rounded-lg bg-surface-secondary/30 border border-border/30 backdrop-blur-sm",
|
|
23206
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23207
|
-
|
|
23208
|
-
className: "
|
|
22968
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatIcon, {
|
|
22969
|
+
size: 20,
|
|
22970
|
+
className: "text-muted shrink-0"
|
|
23209
22971
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23210
22972
|
className: "flex items-baseline gap-2 flex-1",
|
|
23211
22973
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -23423,10 +23185,10 @@ var VideoCard = ({ video }) => {
|
|
|
23423
23185
|
className: "absolute top-4 right-4 flex flex-col gap-2",
|
|
23424
23186
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23425
23187
|
className: "px-6 py-4 rounded-2xl text-4xl bg-white/50 text-black backdrop-blur-xs shadow-lg flex items-center gap-2",
|
|
23426
|
-
children: [video.is_video ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23188
|
+
children: [video.is_video ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AiOutlineVideoCamera, { size: 34 }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BiImage, { size: 34 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: video.is_video ? "视频" : "图集" })]
|
|
23427
23189
|
}), video.is_top && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23428
23190
|
className: "px-6 py-4 rounded-2xl text-4xl bg-warning text-black backdrop-blur-xs shadow-lg flex items-center gap-2",
|
|
23429
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23191
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AiFillPushpin, { size: 34 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "置顶" })]
|
|
23430
23192
|
})]
|
|
23431
23193
|
}),
|
|
23432
23194
|
video.is_video && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -23435,7 +23197,7 @@ var VideoCard = ({ video }) => {
|
|
|
23435
23197
|
}),
|
|
23436
23198
|
video.music && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23437
23199
|
className: "absolute bottom-4 left-4 flex items-center gap-2 px-6 py-3 rounded-2xl text-xl bg-white/50 text-black backdrop-blur-xs shadow-lg",
|
|
23438
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23200
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(FaMusic, { size: 34 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
23439
23201
|
className: "max-w-80 truncate",
|
|
23440
23202
|
children: video.music.title
|
|
23441
23203
|
})]
|
|
@@ -23463,31 +23225,19 @@ var VideoCard = ({ video }) => {
|
|
|
23463
23225
|
children: [
|
|
23464
23226
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23465
23227
|
className: "flex items-center gap-2 text-foreground/70",
|
|
23466
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23467
|
-
icon: "ant-design:heart-filled",
|
|
23468
|
-
width: 34
|
|
23469
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formatCount$2(video.statistics.like_count) })]
|
|
23228
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AiFillHeart, { size: 34 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formatCount$2(video.statistics.like_count) })]
|
|
23470
23229
|
}),
|
|
23471
23230
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23472
23231
|
className: "flex items-center gap-2 text-foreground/70",
|
|
23473
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23474
|
-
icon: "fa6:comment-dots",
|
|
23475
|
-
width: 34
|
|
23476
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formatCount$2(video.statistics.comment_count) })]
|
|
23232
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(FaCommentDots, { size: 34 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formatCount$2(video.statistics.comment_count) })]
|
|
23477
23233
|
}),
|
|
23478
23234
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23479
23235
|
className: "flex items-center gap-2 text-foreground/70",
|
|
23480
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23481
|
-
icon: "ant-design:star-filled",
|
|
23482
|
-
width: 34
|
|
23483
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formatCount$2(video.statistics.collect_count) })]
|
|
23236
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AiFillStar, { size: 34 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formatCount$2(video.statistics.collect_count) })]
|
|
23484
23237
|
}),
|
|
23485
23238
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23486
23239
|
className: "flex items-center gap-2 text-foreground/70",
|
|
23487
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23488
|
-
icon: "ri:share-forward-fill",
|
|
23489
|
-
width: 34
|
|
23490
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formatCount$2(video.statistics.share_count) })]
|
|
23240
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiShareForwardFill, { size: 34 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formatCount$2(video.statistics.share_count) })]
|
|
23491
23241
|
})
|
|
23492
23242
|
]
|
|
23493
23243
|
})
|
|
@@ -23530,9 +23280,9 @@ var DouyinUserVideoList = (prpos) => {
|
|
|
23530
23280
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
|
|
23531
23281
|
className: "text-6xl font-bold text-foreground",
|
|
23532
23282
|
children: prpos.data.user.nickname
|
|
23533
|
-
}), prpos.data.user.verified && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23534
|
-
|
|
23535
|
-
className: "text-
|
|
23283
|
+
}), prpos.data.user.verified && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiVerifiedBadgeFill, {
|
|
23284
|
+
size: 40,
|
|
23285
|
+
className: "text-accent"
|
|
23536
23286
|
})]
|
|
23537
23287
|
}),
|
|
23538
23288
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -23540,17 +23290,14 @@ var DouyinUserVideoList = (prpos) => {
|
|
|
23540
23290
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
23541
23291
|
className: "flex items-center gap-2",
|
|
23542
23292
|
children: [
|
|
23543
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23293
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(FaTiktok, { size: 24 }),
|
|
23544
23294
|
" 抖音号:",
|
|
23545
23295
|
prpos.data.user.short_id
|
|
23546
23296
|
]
|
|
23547
23297
|
}), prpos.data.user.ip_location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
23548
23298
|
className: "flex items-center gap-1",
|
|
23549
23299
|
children: [
|
|
23550
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23551
|
-
icon: "material-symbols:location-on",
|
|
23552
|
-
className: "text-3xl"
|
|
23553
|
-
}),
|
|
23300
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MdLocationOn, { size: 28 }),
|
|
23554
23301
|
" ",
|
|
23555
23302
|
prpos.data.user.ip_location
|
|
23556
23303
|
]
|
|
@@ -23562,8 +23309,8 @@ var DouyinUserVideoList = (prpos) => {
|
|
|
23562
23309
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23563
23310
|
className: "flex items-center gap-2",
|
|
23564
23311
|
children: [
|
|
23565
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23566
|
-
|
|
23312
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiUserFollowLine, {
|
|
23313
|
+
size: 28,
|
|
23567
23314
|
className: "text-muted"
|
|
23568
23315
|
}),
|
|
23569
23316
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -23579,8 +23326,8 @@ var DouyinUserVideoList = (prpos) => {
|
|
|
23579
23326
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23580
23327
|
className: "flex items-center gap-2",
|
|
23581
23328
|
children: [
|
|
23582
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23583
|
-
|
|
23329
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(FaUserGroup, {
|
|
23330
|
+
size: 28,
|
|
23584
23331
|
className: "text-muted"
|
|
23585
23332
|
}),
|
|
23586
23333
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -23596,8 +23343,8 @@ var DouyinUserVideoList = (prpos) => {
|
|
|
23596
23343
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23597
23344
|
className: "flex items-center gap-2",
|
|
23598
23345
|
children: [
|
|
23599
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23600
|
-
|
|
23346
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AiFillHeart, {
|
|
23347
|
+
size: 28,
|
|
23601
23348
|
className: "text-muted"
|
|
23602
23349
|
}),
|
|
23603
23350
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -23623,9 +23370,9 @@ var DouyinUserVideoList = (prpos) => {
|
|
|
23623
23370
|
className: "bg-surface/60 backdrop-blur-xl mb-8 rounded-4xl p-6 border border-border/50 shadow-sm flex justify-center items-center",
|
|
23624
23371
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
23625
23372
|
className: "text-3xl text-foreground/80 font-medium flex items-center gap-3",
|
|
23626
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23627
|
-
|
|
23628
|
-
className: "text-
|
|
23373
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MdLightbulbOutline, {
|
|
23374
|
+
size: 40,
|
|
23375
|
+
className: "text-warning"
|
|
23629
23376
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
23630
23377
|
"请在 ",
|
|
23631
23378
|
prpos.data.timeoutSeconds,
|
|
@@ -23815,31 +23562,19 @@ var DouyinVideoInfo = import_react.memo((props) => {
|
|
|
23815
23562
|
className: "flex items-center gap-14 shrink-0",
|
|
23816
23563
|
children: [
|
|
23817
23564
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$1, {
|
|
23818
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23819
|
-
icon: "lucide:heart",
|
|
23820
|
-
width: 48
|
|
23821
|
-
}),
|
|
23565
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { size: 48 }),
|
|
23822
23566
|
value: props.data.statistics.digg_count
|
|
23823
23567
|
}),
|
|
23824
23568
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$1, {
|
|
23825
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23826
|
-
icon: "lucide:message-circle",
|
|
23827
|
-
width: 48
|
|
23828
|
-
}),
|
|
23569
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { size: 48 }),
|
|
23829
23570
|
value: props.data.statistics.comment_count
|
|
23830
23571
|
}),
|
|
23831
23572
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$1, {
|
|
23832
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23833
|
-
icon: "lucide:star",
|
|
23834
|
-
width: 48
|
|
23835
|
-
}),
|
|
23573
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Star, { size: 48 }),
|
|
23836
23574
|
value: props.data.statistics.collect_count
|
|
23837
23575
|
}),
|
|
23838
23576
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatItem$1, {
|
|
23839
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23840
|
-
icon: "lucide:share-2",
|
|
23841
|
-
width: 48
|
|
23842
|
-
}),
|
|
23577
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Share2, { size: 48 }),
|
|
23843
23578
|
value: props.data.statistics.share_count
|
|
23844
23579
|
})
|
|
23845
23580
|
]
|
|
@@ -23963,50 +23698,32 @@ var InfoSection = (props) => {
|
|
|
23963
23698
|
children: [
|
|
23964
23699
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23965
23700
|
className: "flex gap-2 items-center",
|
|
23966
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23967
|
-
icon: "lucide:heart",
|
|
23968
|
-
className: "w-11 h-11 text-like"
|
|
23969
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.dianzan, "点赞"] })]
|
|
23701
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { className: "w-11 h-11 text-like" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.dianzan, "点赞"] })]
|
|
23970
23702
|
}),
|
|
23971
23703
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
23972
23704
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23973
23705
|
className: "flex gap-2 items-center",
|
|
23974
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23975
|
-
icon: "lucide:message-circle",
|
|
23976
|
-
className: "w-11 h-11 text-comment"
|
|
23977
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.pinglun, "评论"] })]
|
|
23706
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { className: "w-11 h-11 text-comment" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.pinglun, "评论"] })]
|
|
23978
23707
|
}),
|
|
23979
23708
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
23980
23709
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23981
23710
|
className: "flex gap-2 items-center",
|
|
23982
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23983
|
-
icon: "lucide:bookmark",
|
|
23984
|
-
className: "w-11 h-11"
|
|
23985
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.shouchang, "收藏"] })]
|
|
23711
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bookmark, { className: "w-11 h-11" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.shouchang, "收藏"] })]
|
|
23986
23712
|
}),
|
|
23987
23713
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
23988
23714
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23989
23715
|
className: "flex gap-2 items-center",
|
|
23990
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
23991
|
-
icon: "lucide:share-2",
|
|
23992
|
-
className: "w-11 h-11 text-success"
|
|
23993
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.share, "分享"] })]
|
|
23716
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Share2, { className: "w-11 h-11 text-success" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [props.data.share, "分享"] })]
|
|
23994
23717
|
})
|
|
23995
23718
|
]
|
|
23996
23719
|
}),
|
|
23997
23720
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
23998
23721
|
className: "flex items-center gap-2 text-[45px] text-muted font-light select-text",
|
|
23999
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24000
|
-
icon: "lucide:clock",
|
|
24001
|
-
className: "w-11 h-11 text-time"
|
|
24002
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["发布于: ", props.data.create_time] })]
|
|
23722
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { className: "w-11 h-11 text-time" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["发布于: ", props.data.create_time] })]
|
|
24003
23723
|
}),
|
|
24004
23724
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
24005
23725
|
className: "flex items-center gap-2 text-[45px] text-muted font-light select-text",
|
|
24006
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24007
|
-
icon: "lucide:maximize",
|
|
24008
|
-
className: "w-11 h-11 text-time text-time"
|
|
24009
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
23726
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Maximize, { className: "w-11 h-11 text-time text-time" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["图片生成于: ", format(/* @__PURE__ */ new Date(), "yyyy-MM-dd HH:mm:ss")] })]
|
|
24010
23727
|
})
|
|
24011
23728
|
]
|
|
24012
23729
|
});
|
|
@@ -24037,10 +23754,7 @@ var UserInfoSection = (props) => {
|
|
|
24037
23754
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
24038
23755
|
className: "flex gap-2 items-center text-4xl text-muted",
|
|
24039
23756
|
children: [
|
|
24040
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24041
|
-
icon: "lucide:hash",
|
|
24042
|
-
width: 32
|
|
24043
|
-
}),
|
|
23757
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 32 }),
|
|
24044
23758
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
24045
23759
|
className: "select-text",
|
|
24046
23760
|
children: ["抖音号: ", props.data.抖音号]
|
|
@@ -24060,9 +23774,8 @@ var UserInfoSection = (props) => {
|
|
|
24060
23774
|
children: [
|
|
24061
23775
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
24062
23776
|
className: "flex gap-1 items-center",
|
|
24063
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24064
|
-
|
|
24065
|
-
width: 28,
|
|
23777
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, {
|
|
23778
|
+
size: 28,
|
|
24066
23779
|
className: "text-like"
|
|
24067
23780
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
24068
23781
|
className: "text-muted",
|
|
@@ -24081,9 +23794,8 @@ var UserInfoSection = (props) => {
|
|
|
24081
23794
|
children: [
|
|
24082
23795
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
24083
23796
|
className: "flex gap-1 items-center",
|
|
24084
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24085
|
-
|
|
24086
|
-
width: 28,
|
|
23797
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, {
|
|
23798
|
+
size: 28,
|
|
24087
23799
|
className: "text-view"
|
|
24088
23800
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
24089
23801
|
className: "text-muted",
|
|
@@ -24102,9 +23814,8 @@ var UserInfoSection = (props) => {
|
|
|
24102
23814
|
children: [
|
|
24103
23815
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
24104
23816
|
className: "flex gap-1 items-center",
|
|
24105
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24106
|
-
|
|
24107
|
-
width: 28,
|
|
23817
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, {
|
|
23818
|
+
size: 28,
|
|
24108
23819
|
className: "text-accent"
|
|
24109
23820
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
24110
23821
|
className: "text-muted",
|
|
@@ -24222,10 +23933,7 @@ var DouyinVideoWork = (props) => {
|
|
|
24222
23933
|
className: "px-16 pb-8",
|
|
24223
23934
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
24224
23935
|
className: "gap-2 inline-flex items-center rounded-2xl bg-surface text-foreground/80 px-6 py-3",
|
|
24225
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24226
|
-
icon: "lucide:users",
|
|
24227
|
-
className: "w-7 h-7"
|
|
24228
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
23936
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Users, { className: "w-7 h-7" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
24229
23937
|
className: "text-3xl font-medium leading-none select-text text-foreground/80",
|
|
24230
23938
|
children: [coCreatorCount, "人共创"]
|
|
24231
23939
|
})]
|
|
@@ -24292,8 +24000,7 @@ var KuaishouQRCodeSection = ({ qrCodeDataUrl, type, imageLength }) => {
|
|
|
24292
24000
|
className: "object-contain w-full h-full"
|
|
24293
24001
|
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
24294
24002
|
className: "flex flex-col justify-center items-center text-muted",
|
|
24295
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24296
|
-
icon: "lucide:qr-code",
|
|
24003
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(QrCode, {
|
|
24297
24004
|
width: 80,
|
|
24298
24005
|
className: "mb-4"
|
|
24299
24006
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -24439,9 +24146,8 @@ var KuaishouCommentItemComponent = ({ comment, isLast = false }) => {
|
|
|
24439
24146
|
className: "flex items-center space-x-6",
|
|
24440
24147
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
24441
24148
|
className: "flex items-center space-x-2 transition-colors cursor-pointer hover:text-danger",
|
|
24442
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24443
|
-
|
|
24444
|
-
width: 60,
|
|
24149
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, {
|
|
24150
|
+
size: 60,
|
|
24445
24151
|
className: "stroke-current"
|
|
24446
24152
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
24447
24153
|
className: "text-[50px] select-text",
|
|
@@ -24449,9 +24155,8 @@ var KuaishouCommentItemComponent = ({ comment, isLast = false }) => {
|
|
|
24449
24155
|
})]
|
|
24450
24156
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
24451
24157
|
className: "flex items-center transition-colors cursor-pointer hover:text-accent",
|
|
24452
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24453
|
-
|
|
24454
|
-
width: 60,
|
|
24158
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, {
|
|
24159
|
+
size: 60,
|
|
24455
24160
|
className: "stroke-current"
|
|
24456
24161
|
})
|
|
24457
24162
|
})]
|
|
@@ -24497,9 +24202,8 @@ var KuaishouComment = import_react.memo((props) => {
|
|
|
24497
24202
|
className: "flex justify-center items-center py-20 text-muted",
|
|
24498
24203
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
24499
24204
|
className: "text-center",
|
|
24500
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24501
|
-
|
|
24502
|
-
width: 64,
|
|
24205
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, {
|
|
24206
|
+
size: 64,
|
|
24503
24207
|
className: "mx-auto mb-4 text-muted/70"
|
|
24504
24208
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
24505
24209
|
className: "text-xl",
|
|
@@ -24753,10 +24457,7 @@ var Changelog = import_react.memo((props) => {
|
|
|
24753
24457
|
h3: ({ children, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", {
|
|
24754
24458
|
className: "flex items-baseline gap-3 text-[3.2em] font-light mb-2 text-foreground",
|
|
24755
24459
|
...props,
|
|
24756
|
-
children: [children, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
24757
|
-
icon: "lucide:corner-down-left",
|
|
24758
|
-
className: "w-[1em] h-[1em] text-foreground/10"
|
|
24759
|
-
})]
|
|
24460
|
+
children: [children, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CornerDownLeft, { className: "w-[1em] h-[1em] text-foreground/10" })]
|
|
24760
24461
|
}),
|
|
24761
24462
|
h4: ({ children, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", {
|
|
24762
24463
|
className: "text-[2.64em] font-semibold mb-5 text-foreground",
|
|
@@ -25453,17 +25154,17 @@ var GlobalStatistics = (props) => {
|
|
|
25453
25154
|
className: "text-4xl font-black text-foreground/90",
|
|
25454
25155
|
children: group.groupName || `群组 ${group.groupId}`
|
|
25455
25156
|
}),
|
|
25456
|
-
index === 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
25457
|
-
|
|
25458
|
-
className: "
|
|
25157
|
+
index === 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiTrophyFill, {
|
|
25158
|
+
size: 48,
|
|
25159
|
+
className: "text-yellow-400 shrink-0"
|
|
25459
25160
|
}),
|
|
25460
|
-
index === 1 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
25461
|
-
|
|
25462
|
-
className: "
|
|
25161
|
+
index === 1 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiTrophyFill, {
|
|
25162
|
+
size: 48,
|
|
25163
|
+
className: "text-gray-400 shrink-0"
|
|
25463
25164
|
}),
|
|
25464
|
-
index === 2 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
25465
|
-
|
|
25466
|
-
className: "
|
|
25165
|
+
index === 2 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiTrophyFill, {
|
|
25166
|
+
size: 48,
|
|
25167
|
+
className: "text-orange-400 shrink-0"
|
|
25467
25168
|
})
|
|
25468
25169
|
]
|
|
25469
25170
|
}),
|
|
@@ -25797,9 +25498,9 @@ var GroupStatistics = (props) => {
|
|
|
25797
25498
|
})
|
|
25798
25499
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
25799
25500
|
className: "absolute inset-0 flex items-center justify-center pointer-events-none",
|
|
25800
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
25801
|
-
|
|
25802
|
-
className: "
|
|
25501
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RiPieChart2Fill, {
|
|
25502
|
+
size: 320,
|
|
25503
|
+
className: "opacity-10"
|
|
25803
25504
|
})
|
|
25804
25505
|
})]
|
|
25805
25506
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -26328,9 +26029,9 @@ var getAdapterLogo = (adapterName) => {
|
|
|
26328
26029
|
className: "h-20 w-auto",
|
|
26329
26030
|
alt: adapterName
|
|
26330
26031
|
});
|
|
26331
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
26332
|
-
|
|
26333
|
-
className: "
|
|
26032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Puzzle, {
|
|
26033
|
+
size: 64,
|
|
26034
|
+
className: "text-danger/80"
|
|
26334
26035
|
});
|
|
26335
26036
|
};
|
|
26336
26037
|
var SectionTitle = ({ icon, en, zh, color }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -26632,9 +26333,9 @@ var handlerError = (props) => {
|
|
|
26632
26333
|
style: { backgroundColor: isDark ? "rgba(0,0,0,0.25)" : "rgba(255,255,255,0.6)" },
|
|
26633
26334
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26634
26335
|
className: "flex items-center gap-6 mb-10",
|
|
26635
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
26636
|
-
|
|
26637
|
-
className: "
|
|
26336
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(QrCode, {
|
|
26337
|
+
size: 40,
|
|
26338
|
+
className: "text-warning"
|
|
26638
26339
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
26639
26340
|
className: "text-3xl font-semibold",
|
|
26640
26341
|
style: { color: accentColor },
|
|
@@ -26675,9 +26376,8 @@ var handlerError = (props) => {
|
|
|
26675
26376
|
data.triggerCommand && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26676
26377
|
className: "mb-14",
|
|
26677
26378
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SectionTitle, {
|
|
26678
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
26679
|
-
|
|
26680
|
-
className: "w-9 h-9",
|
|
26379
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Terminal, {
|
|
26380
|
+
size: 36,
|
|
26681
26381
|
style: { color: mutedColor }
|
|
26682
26382
|
}),
|
|
26683
26383
|
en: "Trigger Command",
|
|
@@ -26696,9 +26396,8 @@ var handlerError = (props) => {
|
|
|
26696
26396
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26697
26397
|
className: "mb-14",
|
|
26698
26398
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SectionTitle, {
|
|
26699
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
26700
|
-
|
|
26701
|
-
className: "w-9 h-9",
|
|
26399
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleAlert, {
|
|
26400
|
+
size: 36,
|
|
26702
26401
|
style: { color: primaryColor }
|
|
26703
26402
|
}),
|
|
26704
26403
|
en: "Stack Trace",
|
|
@@ -26720,9 +26419,8 @@ var handlerError = (props) => {
|
|
|
26720
26419
|
data.logs && data.logs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26721
26420
|
className: "mb-14",
|
|
26722
26421
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SectionTitle, {
|
|
26723
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
26724
|
-
|
|
26725
|
-
className: "w-9 h-9",
|
|
26422
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FileText, {
|
|
26423
|
+
size: 36,
|
|
26726
26424
|
style: { color: mutedColor }
|
|
26727
26425
|
}),
|
|
26728
26426
|
en: "Execution Logs",
|
|
@@ -26741,9 +26439,8 @@ var handlerError = (props) => {
|
|
|
26741
26439
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `w-3 h-3 rounded-full -mr-1.5 ${theme.dotClass}` }),
|
|
26742
26440
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
26743
26441
|
className: "flex items-center gap-2 px-3",
|
|
26744
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
26745
|
-
|
|
26746
|
-
width: 18,
|
|
26442
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, {
|
|
26443
|
+
size: 18,
|
|
26747
26444
|
className: theme.iconClass
|
|
26748
26445
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
26749
26446
|
className: `text-xl font-mono font-medium ${theme.textClass}`,
|
|
@@ -26960,10 +26657,7 @@ var handlerError = (props) => {
|
|
|
26960
26657
|
style: { color: mutedColor },
|
|
26961
26658
|
children: [data.buildTime && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26962
26659
|
className: "flex items-center gap-3",
|
|
26963
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
26964
|
-
icon: "material-symbols:schedule-outline",
|
|
26965
|
-
className: "w-6 h-6"
|
|
26966
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
26660
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MdSchedule, { size: 24 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
26967
26661
|
"Built Time: ",
|
|
26968
26662
|
data.buildTime,
|
|
26969
26663
|
" 距离 ",
|
|
@@ -26971,10 +26665,7 @@ var handlerError = (props) => {
|
|
|
26971
26665
|
] })]
|
|
26972
26666
|
}), data.commitHash && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26973
26667
|
className: "flex items-center gap-3",
|
|
26974
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
26975
|
-
icon: "lucide:git-branch",
|
|
26976
|
-
className: "w-6 h-6"
|
|
26977
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["Commit Hash: ", data.commitHash] })]
|
|
26668
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(GitBranch, { size: 24 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["Commit Hash: ", data.commitHash] })]
|
|
26978
26669
|
})]
|
|
26979
26670
|
}),
|
|
26980
26671
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -27064,15 +26755,158 @@ var handlerError = (props) => {
|
|
|
27064
26755
|
};
|
|
27065
26756
|
handlerError.displayName = "handlerError";
|
|
27066
26757
|
//#endregion
|
|
26758
|
+
//#region ../template/src/components/common/iconRegistry.ts
|
|
26759
|
+
/**
|
|
26760
|
+
* Maps old iconify icon name strings to their replacement React components.
|
|
26761
|
+
* Used by Help.tsx for dynamic icon resolution from plugin config data.
|
|
26762
|
+
*/
|
|
26763
|
+
var iconRegistry = {
|
|
26764
|
+
"lucide:alert-circle": CircleAlert,
|
|
26765
|
+
"lucide:alert-triangle": TriangleAlert,
|
|
26766
|
+
"lucide:bookmark": Bookmark,
|
|
26767
|
+
"lucide:bot": Bot,
|
|
26768
|
+
"lucide:box": Box,
|
|
26769
|
+
"lucide:calendar": Calendar,
|
|
26770
|
+
"lucide:camera": Camera,
|
|
26771
|
+
"lucide:check": Check,
|
|
26772
|
+
"lucide:check-circle": CircleCheckBig,
|
|
26773
|
+
"lucide:check-circle-2": CircleCheck,
|
|
26774
|
+
"lucide:circle-ellipsis": CircleEllipsis,
|
|
26775
|
+
"lucide:circle-fading-arrow-up": CircleFadingArrowUp,
|
|
26776
|
+
"lucide:clock": Clock,
|
|
26777
|
+
"lucide:code": Code,
|
|
26778
|
+
"lucide:copy": Copy,
|
|
26779
|
+
"lucide:corner-down-left": CornerDownLeft,
|
|
26780
|
+
"lucide:cpu": Cpu,
|
|
26781
|
+
"lucide:crown": Crown,
|
|
26782
|
+
"lucide:download": Download,
|
|
26783
|
+
"lucide:edit": SquarePen,
|
|
26784
|
+
"lucide:external-link": ExternalLink,
|
|
26785
|
+
"lucide:eye": Eye,
|
|
26786
|
+
"lucide:eye-off": EyeOff,
|
|
26787
|
+
"lucide:file-text": FileText,
|
|
26788
|
+
"lucide:file-video": FilePlay,
|
|
26789
|
+
"lucide:git-branch": GitBranch,
|
|
26790
|
+
"lucide:hash": Hash,
|
|
26791
|
+
"lucide:heart": Heart,
|
|
26792
|
+
"lucide:info": Info,
|
|
26793
|
+
"lucide:layout-template": LayoutTemplate,
|
|
26794
|
+
"lucide:loader-2": LoaderCircle,
|
|
26795
|
+
"lucide:map-pin": MapPin,
|
|
26796
|
+
"lucide:maximize": Maximize,
|
|
26797
|
+
"lucide:message-circle": MessageCircle,
|
|
26798
|
+
"lucide:monitor": Monitor,
|
|
26799
|
+
"lucide:moon": Moon,
|
|
26800
|
+
"lucide:music": Music,
|
|
26801
|
+
"lucide:palette": Palette,
|
|
26802
|
+
"lucide:pencil": Pencil,
|
|
26803
|
+
"lucide:play": Play,
|
|
26804
|
+
"lucide:plus": Plus,
|
|
26805
|
+
"lucide:puzzle": Puzzle,
|
|
26806
|
+
"lucide:qr-code": QrCode,
|
|
26807
|
+
"lucide:quote": Quote,
|
|
26808
|
+
"lucide:refresh-cw": RefreshCw,
|
|
26809
|
+
"lucide:rotate-ccw": RotateCcw,
|
|
26810
|
+
"lucide:save": Save,
|
|
26811
|
+
"lucide:scan-line": ScanLine,
|
|
26812
|
+
"lucide:search": Search,
|
|
26813
|
+
"lucide:settings-2": Settings2,
|
|
26814
|
+
"lucide:share-2": Share2,
|
|
26815
|
+
"lucide:shield": Shield,
|
|
26816
|
+
"lucide:shield-check": ShieldCheck,
|
|
26817
|
+
"lucide:shopping-bag": ShoppingBag,
|
|
26818
|
+
"lucide:smartphone": Smartphone,
|
|
26819
|
+
"lucide:sparkles": Sparkles,
|
|
26820
|
+
"lucide:square": Square,
|
|
26821
|
+
"lucide:star": Star,
|
|
26822
|
+
"lucide:sun": Sun,
|
|
26823
|
+
"lucide:terminal": Terminal,
|
|
26824
|
+
"lucide:trash-2": Trash2,
|
|
26825
|
+
"lucide:upload": Upload,
|
|
26826
|
+
"lucide:user": User,
|
|
26827
|
+
"lucide:user-plus": UserPlus,
|
|
26828
|
+
"lucide:users": Users,
|
|
26829
|
+
"lucide:wand-2": WandSparkles,
|
|
26830
|
+
"lucide:x": X,
|
|
26831
|
+
"lucide:zap": Zap,
|
|
26832
|
+
"mingcute:article-line": FileText,
|
|
26833
|
+
"mingcute:bell-ringing-fill": BellRing,
|
|
26834
|
+
"mingcute:bookmark-fill": Bookmark,
|
|
26835
|
+
"mingcute:chart-bar-fill": ChartColumn,
|
|
26836
|
+
"mingcute:comment-2-fill": MessageCircle,
|
|
26837
|
+
"mingcute:eye-fill": Eye,
|
|
26838
|
+
"mingcute:file-text-line": FileText,
|
|
26839
|
+
"mingcute:game-1-fill": Gamepad2,
|
|
26840
|
+
"mingcute:gift-fill": Gift,
|
|
26841
|
+
"mingcute:group-fill": UsersRound,
|
|
26842
|
+
"mingcute:group-line": UsersRound,
|
|
26843
|
+
"mingcute:hashtag-fill": Hash,
|
|
26844
|
+
"mingcute:hashtag-line": Hash,
|
|
26845
|
+
"mingcute:heart-line": Heart,
|
|
26846
|
+
"mingcute:live-line": Radio,
|
|
26847
|
+
"mingcute:pic-line": Image$1,
|
|
26848
|
+
"mingcute:radio-fill": Radio,
|
|
26849
|
+
"mingcute:share-forward-line": Share2,
|
|
26850
|
+
"mingcute:time-fill": Clock,
|
|
26851
|
+
"mingcute:user-add-line": UserPlus,
|
|
26852
|
+
"mingcute:video-line": Video,
|
|
26853
|
+
"ri:arrow-right-fill": RiArrowRightFill,
|
|
26854
|
+
"ri:group-line": RiGroupLine,
|
|
26855
|
+
"ri:hashtag": RiHashtag,
|
|
26856
|
+
"ri:heart-3-fill": RiHeart3Fill,
|
|
26857
|
+
"ri:heart-3-line": RiHeart3Line,
|
|
26858
|
+
"ri:heart-line": RiHeartLine,
|
|
26859
|
+
"ri:live-line": RiLiveLine,
|
|
26860
|
+
"ri:message-3-fill": RiMessage3Fill,
|
|
26861
|
+
"ri:pie-chart-2-fill": RiPieChart2Fill,
|
|
26862
|
+
"ri:share-forward-fill": RiShareForwardFill,
|
|
26863
|
+
"ri:star-fill": RiStarFill,
|
|
26864
|
+
"ri:star-line": RiStarLine,
|
|
26865
|
+
"ri:thumb-up-fill": RiThumbUpFill,
|
|
26866
|
+
"ri:tiktok-fill": RiTiktokFill,
|
|
26867
|
+
"ri:trophy-fill": RiTrophyFill,
|
|
26868
|
+
"ri:user-follow-line": RiUserFollowLine,
|
|
26869
|
+
"ri:verified-badge-fill": RiVerifiedBadgeFill,
|
|
26870
|
+
"ri:video-line": RiVideoLine,
|
|
26871
|
+
"material-symbols:fit-screen": MdFitScreen,
|
|
26872
|
+
"material-symbols:info-outline": MdInfoOutline,
|
|
26873
|
+
"material-symbols:lightbulb-outline": MdLightbulbOutline,
|
|
26874
|
+
"material-symbols:location-on": MdLocationOn,
|
|
26875
|
+
"material-symbols:schedule-outline": MdSchedule,
|
|
26876
|
+
"ant-design:heart-filled": AiFillHeart,
|
|
26877
|
+
"ant-design:pushpin-filled": AiFillPushpin,
|
|
26878
|
+
"ant-design:star-filled": AiFillStar,
|
|
26879
|
+
"ant-design:video-camera-outlined": AiOutlineVideoCamera,
|
|
26880
|
+
"fa6-solid:music": FaMusic,
|
|
26881
|
+
"fa6-solid:comment-dots": FaCommentDots,
|
|
26882
|
+
"fa6-solid:user-group": FaUserGroup,
|
|
26883
|
+
"fa6-brands:tiktok": FaTiktok,
|
|
26884
|
+
"simple-icons:github": SiGithub,
|
|
26885
|
+
"simple-icons:bilibili": SiBilibili,
|
|
26886
|
+
"simple-icons:openai": Sparkles,
|
|
26887
|
+
"simple-icons:anthropic": SiAnthropic,
|
|
26888
|
+
"tabler:message-circle": MessageCircle,
|
|
26889
|
+
"tabler:scan": ScanLine,
|
|
26890
|
+
"ph:play-fill": n,
|
|
26891
|
+
"ph:question-fill": m,
|
|
26892
|
+
"solar:calendar-linear": Calendar,
|
|
26893
|
+
"heroicons-outline:menu-alt-2": Menu,
|
|
26894
|
+
"bi:image": BiImage
|
|
26895
|
+
};
|
|
26896
|
+
var DEFAULT_FALLBACK_ICON = CircleQuestionMark;
|
|
26897
|
+
function resolveIcon(iconName) {
|
|
26898
|
+
return iconRegistry[iconName] ?? DEFAULT_FALLBACK_ICON;
|
|
26899
|
+
}
|
|
26900
|
+
//#endregion
|
|
27067
26901
|
//#region ../template/src/components/platforms/other/Help.tsx
|
|
27068
26902
|
/**
|
|
27069
|
-
*
|
|
26903
|
+
* 获取图标组件,兜底为默认图标
|
|
27070
26904
|
* @param icon - 图标:可以是字符串或带颜色的对象
|
|
27071
|
-
* @returns
|
|
26905
|
+
* @returns React 图标组件类型
|
|
27072
26906
|
*/
|
|
27073
26907
|
var getIconForItem = (icon) => {
|
|
27074
|
-
if (!icon) return "ph:question-fill";
|
|
27075
|
-
return typeof icon === "string" ? icon : icon.name;
|
|
26908
|
+
if (!icon) return resolveIcon("ph:question-fill");
|
|
26909
|
+
return resolveIcon(typeof icon === "string" ? icon : icon.name);
|
|
27076
26910
|
};
|
|
27077
26911
|
/**
|
|
27078
26912
|
* 菜单项组件
|
|
@@ -27083,8 +26917,7 @@ var MenuItemComponent = ({ item, themeColor }) => {
|
|
|
27083
26917
|
className: "flex flex-row gap-8 py-2 relative",
|
|
27084
26918
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27085
26919
|
className: "pt-2 shrink-0 relative",
|
|
27086
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
27087
|
-
icon: getIconForItem(item.icon),
|
|
26920
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(getIconForItem(item.icon), {
|
|
27088
26921
|
className: "w-16 h-16 relative z-10 text-foreground",
|
|
27089
26922
|
style: { color: typeof item.icon === "object" && item.icon?.color ? item.icon.color : themeColor }
|
|
27090
26923
|
})
|
|
@@ -27426,8 +27259,7 @@ var QrLogin = import_react.memo((props) => {
|
|
|
27426
27259
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(GlowImage, {
|
|
27427
27260
|
glowStrength: .8,
|
|
27428
27261
|
blurRadius: 25,
|
|
27429
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
27430
|
-
icon: "lucide:smartphone",
|
|
27262
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Smartphone, {
|
|
27431
27263
|
className: "w-20 h-20",
|
|
27432
27264
|
style: { color: accentColor }
|
|
27433
27265
|
})
|
|
@@ -27462,8 +27294,7 @@ var QrLogin = import_react.memo((props) => {
|
|
|
27462
27294
|
background: isDark ? "linear-gradient(135deg, #f87171 0%, #dc2626 100%)" : "linear-gradient(135deg, #ef4444 0%, #dc2626 100%)",
|
|
27463
27295
|
boxShadow: isDark ? "0 0 40px rgba(248,113,113,0.6)" : "0 0 40px rgba(239,68,68,0.5)"
|
|
27464
27296
|
},
|
|
27465
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
27466
|
-
icon: "lucide:alert-triangle",
|
|
27297
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TriangleAlert, {
|
|
27467
27298
|
className: "w-16 h-16 text-white",
|
|
27468
27299
|
strokeWidth: 3
|
|
27469
27300
|
})
|
|
@@ -27559,8 +27390,7 @@ var QrLogin = import_react.memo((props) => {
|
|
|
27559
27390
|
})
|
|
27560
27391
|
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27561
27392
|
className: "flex flex-col gap-8 justify-center items-center w-200 h-200",
|
|
27562
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
27563
|
-
icon: "lucide:qr-code",
|
|
27393
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(QrCode, {
|
|
27564
27394
|
className: "w-40 h-40",
|
|
27565
27395
|
style: { color: mutedColor }
|
|
27566
27396
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -27577,8 +27407,7 @@ var QrLogin = import_react.memo((props) => {
|
|
|
27577
27407
|
}),
|
|
27578
27408
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27579
27409
|
className: "flex items-center gap-4",
|
|
27580
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
27581
|
-
icon: "lucide:smartphone",
|
|
27410
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Smartphone, {
|
|
27582
27411
|
className: "w-12 h-12",
|
|
27583
27412
|
style: { color: mutedColor }
|
|
27584
27413
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
@@ -27943,7 +27772,7 @@ var VersionWarning = (props) => {
|
|
|
27943
27772
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27944
27773
|
className: "flex-1 flex flex-col justify-center",
|
|
27945
27774
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27946
|
-
className: "rounded-
|
|
27775
|
+
className: "rounded-7xl p-12",
|
|
27947
27776
|
style: { backgroundColor: isDark ? "rgba(0,0,0,0.2)" : "rgba(255,255,255,0.5)" },
|
|
27948
27777
|
children: [
|
|
27949
27778
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -27992,7 +27821,7 @@ var VersionWarning = (props) => {
|
|
|
27992
27821
|
children: "需要/建议的版本"
|
|
27993
27822
|
}),
|
|
27994
27823
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Chip, {
|
|
27995
|
-
className: "text-
|
|
27824
|
+
className: "text-xl font-bold rounded-full px-4 py-2",
|
|
27996
27825
|
style: {
|
|
27997
27826
|
backgroundColor: accentColor,
|
|
27998
27827
|
color: bgColor
|
|
@@ -28020,7 +27849,7 @@ var VersionWarning = (props) => {
|
|
|
28020
27849
|
className: "flex items-center space-x-4 mb-6",
|
|
28021
27850
|
children: [
|
|
28022
27851
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
28023
|
-
className: "flex items-center justify-center w-10 h-10 rounded-
|
|
27852
|
+
className: "flex items-center justify-center w-10 h-10 rounded-xl",
|
|
28024
27853
|
style: { backgroundColor: isDark ? "rgba(251,146,60,0.15)" : "rgba(194,65,12,0.1)" },
|
|
28025
27854
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
28026
27855
|
className: "text-[28px] font-black",
|
|
@@ -28054,7 +27883,7 @@ var VersionWarning = (props) => {
|
|
|
28054
27883
|
children: "Web 控制台更新"
|
|
28055
27884
|
}),
|
|
28056
27885
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Chip, {
|
|
28057
|
-
className: "text-
|
|
27886
|
+
className: "text-2xl font-semibold px-5 py-3 rounded-full",
|
|
28058
27887
|
style: {
|
|
28059
27888
|
backgroundColor: isDark ? "rgba(251,146,60,0.2)" : "rgba(194,65,12,0.15)",
|
|
28060
27889
|
color: accentColor
|
|
@@ -28112,7 +27941,7 @@ var VersionWarning = (props) => {
|
|
|
28112
27941
|
className: "flex items-center space-x-4 mb-6",
|
|
28113
27942
|
children: [
|
|
28114
27943
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
28115
|
-
className: "flex items-center justify-center w-10 h-10 rounded-
|
|
27944
|
+
className: "flex items-center justify-center w-10 h-10 rounded-xl",
|
|
28116
27945
|
style: { backgroundColor: isDark ? "rgba(251,146,60,0.15)" : "rgba(194,65,12,0.1)" },
|
|
28117
27946
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
28118
27947
|
className: "text-[28px] font-black",
|
|
@@ -28120,8 +27949,7 @@ var VersionWarning = (props) => {
|
|
|
28120
27949
|
children: "2"
|
|
28121
27950
|
})
|
|
28122
27951
|
}),
|
|
28123
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28124
|
-
icon: "lucide:puzzle",
|
|
27952
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Puzzle, {
|
|
28125
27953
|
className: clsx("w-10 h-auto"),
|
|
28126
27954
|
style: { color: mutedColor }
|
|
28127
27955
|
}),
|
|
@@ -28131,7 +27959,7 @@ var VersionWarning = (props) => {
|
|
|
28131
27959
|
children: "使用 basic 插件命令更新"
|
|
28132
27960
|
}),
|
|
28133
27961
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Chip, {
|
|
28134
|
-
className: "text-
|
|
27962
|
+
className: "text-2xl font-semibold px-5 py-3 rounded-full",
|
|
28135
27963
|
style: {
|
|
28136
27964
|
backgroundColor: isDark ? "rgba(251,146,60,0.2)" : "rgba(194,65,12,0.15)",
|
|
28137
27965
|
color: accentColor
|
|
@@ -28192,7 +28020,7 @@ var VersionWarning = (props) => {
|
|
|
28192
28020
|
className: "flex items-center space-x-4 mb-6",
|
|
28193
28021
|
children: [
|
|
28194
28022
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
28195
|
-
className: "flex items-center justify-center w-10 h-10 rounded-
|
|
28023
|
+
className: "flex items-center justify-center w-10 h-10 rounded-xl",
|
|
28196
28024
|
style: { backgroundColor: isDark ? "rgba(251,146,60,0.15)" : "rgba(194,65,12,0.1)" },
|
|
28197
28025
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
28198
28026
|
className: "text-[28px] font-black",
|
|
@@ -28253,7 +28081,7 @@ var VersionWarning = (props) => {
|
|
|
28253
28081
|
style: { backgroundColor: isDark ? "rgba(251,146,60,0.2)" : "rgba(180,83,9,0.15)" }
|
|
28254
28082
|
}),
|
|
28255
28083
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
28256
|
-
className: "rounded-
|
|
28084
|
+
className: "rounded-4xl p-6 flex items-start space-x-5",
|
|
28257
28085
|
style: { backgroundColor: isDark ? "rgba(251,146,60,0.08)" : "rgba(194,65,12,0.08)" },
|
|
28258
28086
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
|
|
28259
28087
|
className: "w-10 h-10 mt-1 shrink-0",
|
|
@@ -28405,8 +28233,7 @@ var QRCodeSection = ({ qrCodeDataUrl }) => {
|
|
|
28405
28233
|
src: qrCodeDataUrl,
|
|
28406
28234
|
alt: "二维码",
|
|
28407
28235
|
className: "object-contain"
|
|
28408
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28409
|
-
icon: "lucide:qr-code",
|
|
28236
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(QrCode, {
|
|
28410
28237
|
width: 200,
|
|
28411
28238
|
className: "text-muted"
|
|
28412
28239
|
})
|
|
@@ -28544,9 +28371,8 @@ var CommentItemComponent = ({ comment, isLast = false }) => {
|
|
|
28544
28371
|
className: "flex items-center space-x-6",
|
|
28545
28372
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
28546
28373
|
className: "flex items-center space-x-2 transition-colors cursor-pointer",
|
|
28547
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28548
|
-
|
|
28549
|
-
width: 60,
|
|
28374
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, {
|
|
28375
|
+
size: 60,
|
|
28550
28376
|
className: comment.liked ? "text-red-500 fill-current" : "text-muted"
|
|
28551
28377
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
28552
28378
|
className: "text-[50px] select-text",
|
|
@@ -28554,9 +28380,8 @@ var CommentItemComponent = ({ comment, isLast = false }) => {
|
|
|
28554
28380
|
})]
|
|
28555
28381
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
28556
28382
|
className: "flex items-center transition-colors cursor-pointer",
|
|
28557
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28558
|
-
|
|
28559
|
-
width: 60,
|
|
28383
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, {
|
|
28384
|
+
size: 60,
|
|
28560
28385
|
className: "stroke-current text-muted"
|
|
28561
28386
|
})
|
|
28562
28387
|
})]
|
|
@@ -28606,9 +28431,8 @@ var CommentItemComponent = ({ comment, isLast = false }) => {
|
|
|
28606
28431
|
})]
|
|
28607
28432
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
28608
28433
|
className: "flex items-center space-x-2",
|
|
28609
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28610
|
-
|
|
28611
|
-
width: 40,
|
|
28434
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, {
|
|
28435
|
+
size: 40,
|
|
28612
28436
|
className: subComment.liked ? "text-red-500 fill-current" : "text-muted"
|
|
28613
28437
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
28614
28438
|
className: "text-[35px]",
|
|
@@ -28719,37 +28543,25 @@ var XiaohongshuNoteInfo = import_react.memo((props) => {
|
|
|
28719
28543
|
/** 统计数据配置 - 小红书特色配色 */
|
|
28720
28544
|
const statsData = (0, import_react.useMemo)(() => [
|
|
28721
28545
|
{
|
|
28722
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28723
|
-
icon: "lucide:heart",
|
|
28724
|
-
width: 48
|
|
28725
|
-
}),
|
|
28546
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Heart, { size: 48 }),
|
|
28726
28547
|
value: props.data.statistics.liked_count,
|
|
28727
28548
|
label: "点赞",
|
|
28728
28549
|
iconColor: "text-red-500"
|
|
28729
28550
|
},
|
|
28730
28551
|
{
|
|
28731
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28732
|
-
icon: "lucide:message-circle",
|
|
28733
|
-
width: 48
|
|
28734
|
-
}),
|
|
28552
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageCircle, { size: 48 }),
|
|
28735
28553
|
value: props.data.statistics.comment_count,
|
|
28736
28554
|
label: "评论",
|
|
28737
28555
|
iconColor: "text-blue-500"
|
|
28738
28556
|
},
|
|
28739
28557
|
{
|
|
28740
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28741
|
-
icon: "lucide:star",
|
|
28742
|
-
width: 48
|
|
28743
|
-
}),
|
|
28558
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Star, { size: 48 }),
|
|
28744
28559
|
value: props.data.statistics.collected_count,
|
|
28745
28560
|
label: "收藏",
|
|
28746
28561
|
iconColor: "text-yellow-500"
|
|
28747
28562
|
},
|
|
28748
28563
|
{
|
|
28749
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28750
|
-
icon: "lucide:share-2",
|
|
28751
|
-
width: 48
|
|
28752
|
-
}),
|
|
28564
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Share2, { size: 48 }),
|
|
28753
28565
|
value: props.data.statistics.share_count,
|
|
28754
28566
|
label: "分享",
|
|
28755
28567
|
iconColor: "text-green-500"
|
|
@@ -28783,16 +28595,10 @@ var XiaohongshuNoteInfo = import_react.memo((props) => {
|
|
|
28783
28595
|
className: "flex gap-8 items-center text-5xl text-muted",
|
|
28784
28596
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
28785
28597
|
className: "flex gap-2 items-center",
|
|
28786
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28787
|
-
icon: "lucide:calendar",
|
|
28788
|
-
width: 32
|
|
28789
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formattedDate })]
|
|
28598
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Calendar, { size: 32 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formattedDate })]
|
|
28790
28599
|
}), props.data.ip_location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
28791
28600
|
className: "flex gap-2 items-center",
|
|
28792
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28793
|
-
icon: "lucide:map-pin",
|
|
28794
|
-
width: 32
|
|
28795
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.data.ip_location })]
|
|
28601
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { size: 32 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.data.ip_location })]
|
|
28796
28602
|
})]
|
|
28797
28603
|
})
|
|
28798
28604
|
]
|
|
@@ -28855,10 +28661,7 @@ var XiaohongshuNoteInfo = import_react.memo((props) => {
|
|
|
28855
28661
|
className: "text-white bg-[#FF2442]",
|
|
28856
28662
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
28857
28663
|
className: "flex items-center",
|
|
28858
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28859
|
-
icon: "lucide:external-link",
|
|
28860
|
-
className: "mr-1 w-4 h-4"
|
|
28861
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "查看原文" })]
|
|
28664
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ExternalLink, { className: "mr-1 w-4 h-4" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "查看原文" })]
|
|
28862
28665
|
})
|
|
28863
28666
|
})
|
|
28864
28667
|
})]
|
|
@@ -29733,14 +29536,6 @@ var DevDataManager = class {
|
|
|
29733
29536
|
};
|
|
29734
29537
|
//#endregion
|
|
29735
29538
|
//#region ../template/src/main.ts
|
|
29736
|
-
addCollection(lucide_default);
|
|
29737
|
-
addCollection(ri_default);
|
|
29738
|
-
addCollection(ant_design_default);
|
|
29739
|
-
addCollection(tabler_default);
|
|
29740
|
-
addCollection(simple_icons_default);
|
|
29741
|
-
addCollection(material_symbols_default);
|
|
29742
|
-
addCollection(mingcute_default);
|
|
29743
|
-
addCollection(solar_default);
|
|
29744
29539
|
var isPlainObject = (value) => {
|
|
29745
29540
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
29746
29541
|
};
|
|
@@ -36710,11 +36505,6 @@ var Bilibili = class extends Base {
|
|
|
36710
36505
|
dynamic_id: iddata.dynamic_id,
|
|
36711
36506
|
typeMode: "strict"
|
|
36712
36507
|
});
|
|
36713
|
-
const dynamicInfoCard = await this.amagi.bilibili.fetcher.fetchDynamicCard({
|
|
36714
|
-
dynamic_id: dynamicInfo.data.data.item.id_str,
|
|
36715
|
-
typeMode: "strict"
|
|
36716
|
-
});
|
|
36717
|
-
const dynamicCARD = JSON.parse(dynamicInfoCard.data.data.card.card);
|
|
36718
36508
|
const userProfileData = await this.amagi.bilibili.fetcher.fetchUserCard({
|
|
36719
36509
|
host_mid: dynamicInfo.data.data.item.modules.module_author.mid,
|
|
36720
36510
|
typeMode: "strict"
|
|
@@ -36822,7 +36612,6 @@ var Bilibili = class extends Base {
|
|
|
36822
36612
|
for (const item of temp) await Common.removeFile(item.filepath, true);
|
|
36823
36613
|
}
|
|
36824
36614
|
}
|
|
36825
|
-
const dynamicCARD = JSON.parse(dynamicInfoCard.data.data.card.card);
|
|
36826
36615
|
if ("topic" in dynamicInfo.data.data.item.modules.module_dynamic && dynamicInfo.data.data.item.modules.module_dynamic.topic !== null) {
|
|
36827
36616
|
const name = dynamicInfo.data.data.item.modules.module_dynamic.topic.name;
|
|
36828
36617
|
dynamicInfo.data.data.item.modules.module_dynamic.major.opus.summary.rich_text_nodes.unshift({
|
|
@@ -36834,7 +36623,7 @@ var Bilibili = class extends Base {
|
|
|
36834
36623
|
dynamicInfo.data.data.item.modules.module_dynamic.major.opus.summary.text = `${name}\n` + dynamicInfo.data.data.item.modules.module_dynamic.major.opus.summary.text;
|
|
36835
36624
|
}
|
|
36836
36625
|
this.e.reply(await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_DRAW", {
|
|
36837
|
-
image_url:
|
|
36626
|
+
image_url: Object.values(dynamicInfo.data.data.item.modules.module_dynamic.major.opus.pics).filter((item) => typeof item?.url === "string").map((item) => ({ image_src: item.url })),
|
|
36838
36627
|
title: dynamicInfo.data.data.item.modules.module_dynamic.major.opus.title ?? void 0,
|
|
36839
36628
|
text: dynamicInfo.data.data.item.modules.module_dynamic.major ? buildBilibiliDynamicRichText(dynamicInfo.data.data.item.modules.module_dynamic.major.opus?.summary?.text ?? "", dynamicInfo.data.data.item.modules.module_dynamic.major.opus?.summary?.rich_text_nodes ?? []) : null,
|
|
36840
36629
|
dianzan: Count(dynamicInfo.data.data.item.modules.module_stat.like.count),
|
|
@@ -36924,12 +36713,7 @@ var Bilibili = class extends Base {
|
|
|
36924
36713
|
frame: dynamicInfo.data.data.item.orig.modules.module_author.pendant.image
|
|
36925
36714
|
};
|
|
36926
36715
|
break;
|
|
36927
|
-
case DynamicType.DRAW:
|
|
36928
|
-
const dynamicCARD2 = await this.amagi.bilibili.fetcher.fetchDynamicCard({
|
|
36929
|
-
dynamic_id: dynamicInfo.data.data.item.orig.id_str,
|
|
36930
|
-
typeMode: "strict"
|
|
36931
|
-
});
|
|
36932
|
-
const cardData = JSON.parse(dynamicCARD2.data.data.card.card);
|
|
36716
|
+
case DynamicType.DRAW:
|
|
36933
36717
|
if ("topic" in dynamicInfo.data.data.item.orig.modules.module_dynamic && dynamicInfo.data.data.item.orig.modules.module_dynamic.topic !== null) {
|
|
36934
36718
|
const name = dynamicInfo.data.data.item.orig.modules.module_dynamic.topic.name;
|
|
36935
36719
|
const origSummary = dynamicInfo.data.data.item.orig.modules.module_dynamic.major?.opus?.summary;
|
|
@@ -36939,7 +36723,9 @@ var Bilibili = class extends Base {
|
|
|
36939
36723
|
orig_text: name,
|
|
36940
36724
|
jump_url: "",
|
|
36941
36725
|
text: name,
|
|
36942
|
-
type: "topic"
|
|
36726
|
+
type: "topic",
|
|
36727
|
+
rid: "",
|
|
36728
|
+
style: { "1114514": "1919810" }
|
|
36943
36729
|
});
|
|
36944
36730
|
origSummary.text = `${name}\n` + (origSummary.text || "");
|
|
36945
36731
|
}
|
|
@@ -36950,12 +36736,11 @@ var Bilibili = class extends Base {
|
|
|
36950
36736
|
create_time: TimeFormatter.toDateTime(dynamicInfo.data.data.item.orig.modules.module_author.pub_ts),
|
|
36951
36737
|
avatar_url: dynamicInfo.data.data.item.orig.modules.module_author.face,
|
|
36952
36738
|
text: buildBilibiliDynamicRichText(dynamicInfo.data.data.item.orig.modules.module_dynamic.major.opus.summary.text, dynamicInfo.data.data.item.orig.modules.module_dynamic.major.opus.summary.rich_text_nodes),
|
|
36953
|
-
image_url:
|
|
36739
|
+
image_url: Object.values(dynamicInfo.data.data.item.orig.modules.module_dynamic.major.opus.pics).filter((item) => typeof item?.url === "string").map((item) => ({ image_src: item.url })),
|
|
36954
36740
|
decoration_card: generateDecorationCard(dynamicInfo.data.data.item.orig.modules.module_author.decoration_card),
|
|
36955
36741
|
frame: dynamicInfo.data.data.item.orig.modules.module_author.pendant.image
|
|
36956
36742
|
};
|
|
36957
36743
|
break;
|
|
36958
|
-
}
|
|
36959
36744
|
case DynamicType.WORD:
|
|
36960
36745
|
if ("topic" in dynamicInfo.data.data.item.orig.modules.module_dynamic && dynamicInfo.data.data.item.orig.modules.module_dynamic.topic !== null) {
|
|
36961
36746
|
const name = dynamicInfo.data.data.item.orig.modules.module_dynamic.topic.name;
|
|
@@ -36996,7 +36781,6 @@ var Bilibili = class extends Base {
|
|
|
36996
36781
|
};
|
|
36997
36782
|
break;
|
|
36998
36783
|
}
|
|
36999
|
-
case DynamicType.FORWARD:
|
|
37000
36784
|
default:
|
|
37001
36785
|
logger.warn(`UP主:${userProfileData.data.data.card.name}的${logger.green("转发动态")}转发的原动态类型为「${logger.yellow(dynamicInfo.data.item.orig.type)}」暂未支持解析`);
|
|
37002
36786
|
break;
|
|
@@ -37031,7 +36815,6 @@ var Bilibili = class extends Base {
|
|
|
37031
36815
|
bvid,
|
|
37032
36816
|
typeMode: "strict"
|
|
37033
36817
|
});
|
|
37034
|
-
const dycrad = dynamicInfoCard.data.data.card && dynamicInfoCard.data.data.card.card && JSON.parse(dynamicInfoCard.data.data.card.card);
|
|
37035
36818
|
let staff = void 0;
|
|
37036
36819
|
if (INFODATA.data.data.staff && Array.isArray(INFODATA.data.data.staff)) {
|
|
37037
36820
|
const currentMid = dynamicInfo.data.data.item.modules.module_author.mid;
|
|
@@ -37055,8 +36838,8 @@ var Bilibili = class extends Base {
|
|
|
37055
36838
|
dianzan: Count(INFODATA.data.data.stat.like),
|
|
37056
36839
|
pinglun: Count(INFODATA.data.data.stat.reply),
|
|
37057
36840
|
share: Count(INFODATA.data.data.stat.share),
|
|
37058
|
-
view: Count(
|
|
37059
|
-
coin: Count(
|
|
36841
|
+
view: Count(INFODATA.data.data.stat.view),
|
|
36842
|
+
coin: Count(INFODATA.data.data.stat.coin),
|
|
37060
36843
|
duration_text: dynamicInfo.data.data.item.modules.module_dynamic.major.archive.duration_text,
|
|
37061
36844
|
create_time: TimeFormatter.toDateTime(INFODATA.data.data.ctime),
|
|
37062
36845
|
avatar_url: userProfileData.data.data.card.face,
|
|
@@ -37081,17 +36864,18 @@ var Bilibili = class extends Base {
|
|
|
37081
36864
|
host_mid: dynamicInfo.data.data.item.modules.module_author.mid,
|
|
37082
36865
|
typeMode: "strict"
|
|
37083
36866
|
});
|
|
36867
|
+
const liveInfo = JSON.parse(dynamicInfo.data.data.item.modules.module_dynamic.major.live_rcmd.content);
|
|
37084
36868
|
img$1 = await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_LIVE_RCMD", {
|
|
37085
|
-
image_url:
|
|
37086
|
-
text: buildBilibiliDynamicRichText(
|
|
37087
|
-
liveinf: br$1(`${
|
|
36869
|
+
image_url: liveInfo.live_play_info.cover,
|
|
36870
|
+
text: buildBilibiliDynamicRichText(liveInfo.live_play_info.title, []),
|
|
36871
|
+
liveinf: br$1(`${liveInfo.live_play_info.area_name} | 房间号: ${liveInfo.live_play_info.room_id}`),
|
|
37088
36872
|
usernameMeta: getUsernameMetadata(userINFO.data.data.card),
|
|
37089
36873
|
avatar_url: userINFO.data.data.card.face,
|
|
37090
36874
|
frame: dynamicInfo.data.data.item.modules.module_author.pendant.image,
|
|
37091
36875
|
fans: Count(userINFO.data.data.follower),
|
|
37092
36876
|
create_time: TimeFormatter.toDateTime(dynamicInfo.data.data.item.modules.module_author.pub_ts),
|
|
37093
36877
|
now_time: TimeFormatter.now(),
|
|
37094
|
-
share_url: "https://live.bilibili.com/" +
|
|
36878
|
+
share_url: "https://live.bilibili.com/" + liveInfo.live_play_info.room_id,
|
|
37095
36879
|
dynamicTYPE: "直播动态"
|
|
37096
36880
|
});
|
|
37097
36881
|
this.e.reply(img$1);
|
|
@@ -37168,7 +36952,7 @@ var Bilibili = class extends Base {
|
|
|
37168
36952
|
if (Config.bilibili.sendContent.some((content) => content === "comment") && dynamicInfo.data.data.item.type !== DynamicType.LIVE_RCMD) {
|
|
37169
36953
|
const commentsData = await softFetch(() => this.amagi.bilibili.fetcher.fetchComments({
|
|
37170
36954
|
type: mapping_table(dynamicInfo.data.data.item.type),
|
|
37171
|
-
oid: oid(dynamicInfo.data,
|
|
36955
|
+
oid: oid(dynamicInfo.data.data.item.type, dynamicInfo.data),
|
|
37172
36956
|
number: Config.bilibili.numcomment,
|
|
37173
36957
|
typeMode: "strict"
|
|
37174
36958
|
}), [SOFT_ERROR_CODES.BILIBILI_COMMENTS_DISABLED]);
|
|
@@ -37436,19 +37220,6 @@ var qnd = {
|
|
|
37436
37220
|
127: "超高清 8K"
|
|
37437
37221
|
};
|
|
37438
37222
|
/**
|
|
37439
|
-
* 将给定的图片源数组转换为一个新的对象数组,每个对象包含单个图片源
|
|
37440
|
-
* @param pic 一个包含图片源字符串的数组
|
|
37441
|
-
* @returns 返回一个对象数组,每个对象包含单个图片源
|
|
37442
|
-
*/
|
|
37443
|
-
var cover = (pic) => {
|
|
37444
|
-
const imgArray = [];
|
|
37445
|
-
for (const i of pic) {
|
|
37446
|
-
const obj = { image_src: i.img_src };
|
|
37447
|
-
imgArray.push(obj);
|
|
37448
|
-
}
|
|
37449
|
-
return imgArray;
|
|
37450
|
-
};
|
|
37451
|
-
/**
|
|
37452
37223
|
* 生成装饰卡片数据
|
|
37453
37224
|
* @param decorate 装饰对象,包含卡片的URL和颜色信息
|
|
37454
37225
|
* @returns 返回装饰卡片数据对象或undefined
|
|
@@ -37558,11 +37329,17 @@ var mapping_table = (type) => {
|
|
|
37558
37329
|
for (const key in Array) if (Array[key].includes(type)) return parseInt(key, 10);
|
|
37559
37330
|
return 1;
|
|
37560
37331
|
};
|
|
37561
|
-
|
|
37562
|
-
|
|
37563
|
-
|
|
37564
|
-
|
|
37565
|
-
|
|
37332
|
+
/**
|
|
37333
|
+
* 根据动态类型获取对应的oid(对象ID),用于后续评论接口调用
|
|
37334
|
+
* @param dynamicType 动态类型
|
|
37335
|
+
* @param dynamicData 动态数据
|
|
37336
|
+
* @returns
|
|
37337
|
+
*/
|
|
37338
|
+
var oid = (dynamicType, dynamicData) => {
|
|
37339
|
+
switch (dynamicType) {
|
|
37340
|
+
case DynamicType.WORD:
|
|
37341
|
+
case DynamicType.FORWARD: return dynamicData.data.item.id_str;
|
|
37342
|
+
default: return dynamicData.data.item.basic.rid_str.toString();
|
|
37566
37343
|
}
|
|
37567
37344
|
};
|
|
37568
37345
|
/**
|
|
@@ -38350,11 +38127,6 @@ var Bilibilipush = class extends Base {
|
|
|
38350
38127
|
skip && logger.warn(`动态 https://t.bilibili.com/${dynamicId} 已被处理,跳过`);
|
|
38351
38128
|
let send_video = true;
|
|
38352
38129
|
let img = [];
|
|
38353
|
-
const dynamicCARDINFO = await this.amagi.bilibili.fetcher.fetchDynamicCard({
|
|
38354
|
-
dynamic_id: dynamicId,
|
|
38355
|
-
typeMode: "strict"
|
|
38356
|
-
});
|
|
38357
|
-
const dycrad = dynamicCARDINFO.data.data.card && dynamicCARDINFO.data.data.card.card && JSON.parse(dynamicCARDINFO.data.data.card.card);
|
|
38358
38130
|
this.injectBotToEventForRender(data[dynamicId].targets);
|
|
38359
38131
|
if (!skip) {
|
|
38360
38132
|
const userINFO = await this.amagi.bilibili.fetcher.fetchUserCard({
|
|
@@ -38377,7 +38149,7 @@ var Bilibilipush = class extends Base {
|
|
|
38377
38149
|
data[dynamicId].Dynamic_Data.modules.module_dynamic.major.opus.summary.text = `${name}\n\n` + data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.opus?.summary?.text;
|
|
38378
38150
|
}
|
|
38379
38151
|
img = await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_DRAW", {
|
|
38380
|
-
image_url:
|
|
38152
|
+
image_url: Object.values(data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.opus?.pics ?? []).filter((item) => typeof item?.url === "string").map((item) => ({ image_src: item.url })),
|
|
38381
38153
|
title: data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.opus?.title ?? void 0,
|
|
38382
38154
|
text: buildBilibiliDynamicRichText(data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.opus?.summary?.text ?? "", data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.opus?.summary?.rich_text_nodes ?? []),
|
|
38383
38155
|
dianzan: Count(data[dynamicId].Dynamic_Data.modules.module_stat.like.count),
|
|
@@ -38401,13 +38173,13 @@ var Bilibilipush = class extends Base {
|
|
|
38401
38173
|
break;
|
|
38402
38174
|
/** 处理纯文动态 */
|
|
38403
38175
|
case DynamicType.WORD: {
|
|
38404
|
-
if (data[dynamicId].Dynamic_Data.modules.module_dynamic.topic !== null) {
|
|
38405
|
-
const name = data[dynamicId].Dynamic_Data.modules.module_dynamic.topic.name;
|
|
38176
|
+
if ("topic" in data[dynamicId].Dynamic_Data.orig.modules.module_dynamic && data[dynamicId].Dynamic_Data.modules.module_dynamic.topic !== null) {
|
|
38177
|
+
const name = data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.topic.name;
|
|
38406
38178
|
data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.opus.summary.rich_text_nodes.unshift({
|
|
38407
38179
|
orig_text: name,
|
|
38408
38180
|
text: name,
|
|
38409
38181
|
type: "topic",
|
|
38410
|
-
rid: data[dynamicId].Dynamic_Data.modules.module_dynamic.topic.id.toString()
|
|
38182
|
+
rid: data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.topic.id.toString()
|
|
38411
38183
|
});
|
|
38412
38184
|
data[dynamicId].Dynamic_Data.modules.module_dynamic.major.opus.summary.text = `${name}\n\n` + data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.opus?.summary?.text;
|
|
38413
38185
|
}
|
|
@@ -38469,8 +38241,8 @@ var Bilibilipush = class extends Base {
|
|
|
38469
38241
|
dianzan: Count(INFODATA.data.data.stat.like),
|
|
38470
38242
|
pinglun: Count(INFODATA.data.data.stat.reply),
|
|
38471
38243
|
share: Count(INFODATA.data.data.stat.share),
|
|
38472
|
-
view: Count(
|
|
38473
|
-
coin: Count(
|
|
38244
|
+
view: Count(INFODATA.data.data.stat.view),
|
|
38245
|
+
coin: Count(INFODATA.data.data.stat.coin),
|
|
38474
38246
|
duration_text: data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.archive?.duration_text ?? "0:00",
|
|
38475
38247
|
create_time: TimeFormatter.toDateTime(data[dynamicId].Dynamic_Data.modules.module_author.pub_ts),
|
|
38476
38248
|
avatar_url: userINFO.data.data.card.face,
|
|
@@ -38489,21 +38261,23 @@ var Bilibilipush = class extends Base {
|
|
|
38489
38261
|
}
|
|
38490
38262
|
break;
|
|
38491
38263
|
/** 处理直播动态 */
|
|
38492
|
-
case DynamicType.LIVE_RCMD:
|
|
38264
|
+
case DynamicType.LIVE_RCMD: {
|
|
38265
|
+
const liveInfo = JSON.parse(data[dynamicId].Dynamic_Data.modules.module_dynamic.major.live_rcmd.content);
|
|
38493
38266
|
img = await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_LIVE_RCMD", {
|
|
38494
|
-
image_url:
|
|
38495
|
-
text: buildBilibiliDynamicRichText(
|
|
38496
|
-
liveinf: br(`${
|
|
38267
|
+
image_url: liveInfo.live_play_info.cover,
|
|
38268
|
+
text: buildBilibiliDynamicRichText(liveInfo.live_play_info.title, []),
|
|
38269
|
+
liveinf: br(`${liveInfo.live_play_info.area_name} | 房间号: ${liveInfo.live_play_info.room_id}`),
|
|
38497
38270
|
usernameMeta: getUsernameMetadata(userINFO.data.data.card),
|
|
38498
38271
|
avatar_url: userINFO.data.data.card.face,
|
|
38499
38272
|
frame: data[dynamicId].Dynamic_Data.modules.module_author.pendant.image,
|
|
38500
38273
|
fans: Count(userINFO.data.data.follower),
|
|
38501
38274
|
create_time: TimeFormatter.toDateTime(data[dynamicId].Dynamic_Data.modules.module_author.pub_ts),
|
|
38502
38275
|
now_time: TimeFormatter.now(),
|
|
38503
|
-
share_url: "https://live.bilibili.com/" +
|
|
38276
|
+
share_url: "https://live.bilibili.com/" + liveInfo.live_play_info.room_id,
|
|
38504
38277
|
dynamicTYPE: "直播动态推送"
|
|
38505
38278
|
});
|
|
38506
38279
|
break;
|
|
38280
|
+
}
|
|
38507
38281
|
/** 处理转发动态 */
|
|
38508
38282
|
case DynamicType.FORWARD: {
|
|
38509
38283
|
if ("topic" in data[dynamicId].Dynamic_Data.modules.module_dynamic && data[dynamicId].Dynamic_Data.modules.module_dynamic.topic !== null) {
|
|
@@ -38540,12 +38314,7 @@ var Bilibilipush = class extends Base {
|
|
|
38540
38314
|
frame: data[dynamicId].Dynamic_Data.orig.modules.module_author.pendant.image
|
|
38541
38315
|
};
|
|
38542
38316
|
break;
|
|
38543
|
-
case DynamicType.DRAW:
|
|
38544
|
-
const dynamicCARD = await bilibiliFetcher.fetchDynamicCard({
|
|
38545
|
-
dynamic_id: data[dynamicId].Dynamic_Data.orig.id_str,
|
|
38546
|
-
typeMode: "strict"
|
|
38547
|
-
});
|
|
38548
|
-
const cardData = JSON.parse(dynamicCARD.data.data.card.card);
|
|
38317
|
+
case DynamicType.DRAW:
|
|
38549
38318
|
if ("topic" in data[dynamicId].Dynamic_Data.orig.modules.module_dynamic && data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.topic !== null) {
|
|
38550
38319
|
const name = data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.topic.name;
|
|
38551
38320
|
const origSummary = data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.major?.opus?.summary;
|
|
@@ -38555,7 +38324,9 @@ var Bilibilipush = class extends Base {
|
|
|
38555
38324
|
orig_text: name,
|
|
38556
38325
|
text: name,
|
|
38557
38326
|
type: "topic",
|
|
38558
|
-
rid: data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.topic.id.toString()
|
|
38327
|
+
rid: data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.topic.id.toString(),
|
|
38328
|
+
jump_url: "114514",
|
|
38329
|
+
style: { "114514": "1919810" }
|
|
38559
38330
|
});
|
|
38560
38331
|
origSummary.text = `${name}\n` + (origSummary.text || "");
|
|
38561
38332
|
}
|
|
@@ -38566,12 +38337,11 @@ var Bilibilipush = class extends Base {
|
|
|
38566
38337
|
create_time: TimeFormatter.toDateTime(data[dynamicId].Dynamic_Data.orig.modules.module_author.pub_ts),
|
|
38567
38338
|
avatar_url: data[dynamicId].Dynamic_Data.orig.modules.module_author.face,
|
|
38568
38339
|
text: buildBilibiliDynamicRichText(data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.major.opus.summary.text, data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.major.opus.summary.rich_text_nodes),
|
|
38569
|
-
image_url:
|
|
38340
|
+
image_url: Object.values(data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.major.opus.pics).filter((item) => typeof item?.url === "string").map((item) => ({ image_src: item.url })),
|
|
38570
38341
|
decoration_card: generateDecorationCard(data[dynamicId].Dynamic_Data.orig.modules.module_author.decoration_card),
|
|
38571
38342
|
frame: data[dynamicId].Dynamic_Data.orig.modules.module_author.pendant.image
|
|
38572
38343
|
};
|
|
38573
38344
|
break;
|
|
38574
|
-
}
|
|
38575
38345
|
case DynamicType.WORD:
|
|
38576
38346
|
if ("topic" in data[dynamicId].Dynamic_Data.orig.modules.module_dynamic && data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.topic !== null) {
|
|
38577
38347
|
const name = data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.topic.name;
|
|
@@ -38612,10 +38382,11 @@ var Bilibilipush = class extends Base {
|
|
|
38612
38382
|
};
|
|
38613
38383
|
break;
|
|
38614
38384
|
}
|
|
38615
|
-
|
|
38616
|
-
|
|
38617
|
-
logger.warn(`UP主:${data[
|
|
38385
|
+
default: {
|
|
38386
|
+
const key = dynamicId;
|
|
38387
|
+
logger.warn(`UP主:${data[key].remark}的${logger.green("转发动态")}转发的原动态类型为「${logger.yellow(data[key].Dynamic_Data.orig?.type)}」暂未支持解析`);
|
|
38618
38388
|
break;
|
|
38389
|
+
}
|
|
38619
38390
|
}
|
|
38620
38391
|
img = await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_FORWARD", {
|
|
38621
38392
|
text,
|
|
@@ -38674,10 +38445,12 @@ var Bilibilipush = class extends Base {
|
|
|
38674
38445
|
break;
|
|
38675
38446
|
}
|
|
38676
38447
|
/** 未处理的动态类型 */
|
|
38677
|
-
default:
|
|
38448
|
+
default: {
|
|
38678
38449
|
skip = true;
|
|
38679
|
-
|
|
38450
|
+
const key = dynamicId;
|
|
38451
|
+
logger.warn(`UP主:${data[key].remark}「${data[key].dynamic_type}」动态类型的暂未支持推送\n动态地址:${"https://t.bilibili.com/" + data[key].Dynamic_Data.id_str}\n可通过 https://github.com/ikenxuan/karin-plugin-kkk/issues/new/choose 提交反馈`);
|
|
38680
38452
|
break;
|
|
38453
|
+
}
|
|
38681
38454
|
}
|
|
38682
38455
|
}
|
|
38683
38456
|
for (const target of data[dynamicId].targets) {
|
|
@@ -38693,8 +38466,8 @@ var Bilibilipush = class extends Base {
|
|
|
38693
38466
|
let correctList;
|
|
38694
38467
|
let videoSize = "";
|
|
38695
38468
|
const playUrlData = await this.amagi.bilibili.fetcher.fetchVideoStreamUrl({
|
|
38696
|
-
avid:
|
|
38697
|
-
cid:
|
|
38469
|
+
avid: parseInt(data[dynamicId].Dynamic_Data.modules.module_dynamic.major.archive.aid),
|
|
38470
|
+
cid: data[dynamicId].Dynamic_Data.modules.module_dynamic.major.archive.cid,
|
|
38698
38471
|
typeMode: "strict"
|
|
38699
38472
|
});
|
|
38700
38473
|
/** 提取出视频流信息对象,并排除清晰度重复的视频流 */
|
|
@@ -38708,21 +38481,21 @@ var Bilibilipush = class extends Base {
|
|
|
38708
38481
|
/** 给视频信息对象删除不符合条件的视频流 */
|
|
38709
38482
|
correctList = await bilibiliProcessVideos({
|
|
38710
38483
|
accept_description: playUrlData.data.data.accept_description,
|
|
38711
|
-
bvid:
|
|
38484
|
+
bvid: data[dynamicId].Dynamic_Data.modules.module_dynamic.major.archive.bvid,
|
|
38712
38485
|
qn: Config.bilibili.push.pushVideoQuality,
|
|
38713
38486
|
maxAutoVideoSize: Config.bilibili.push.pushMaxAutoVideoSize
|
|
38714
38487
|
}, simplify, playUrlData.data.data.dash.audio[0].base_url);
|
|
38715
38488
|
playUrlData.data.data.dash.video = correctList.videoList;
|
|
38716
38489
|
playUrlData.data.data.accept_description = correctList.accept_description;
|
|
38717
38490
|
/** 获取第一个视频流的大小 */
|
|
38718
|
-
videoSize = await getvideosize(correctList.videoList[0].base_url, playUrlData.data.data.dash.audio[0].base_url,
|
|
38491
|
+
videoSize = await getvideosize(correctList.videoList[0].base_url, playUrlData.data.data.dash.audio[0].base_url, data[dynamicId].Dynamic_Data.modules.module_dynamic.major.archive.bvid);
|
|
38719
38492
|
if (Config.upload.usefilelimit && Number(videoSize) > Number(Config.upload.filelimit) && !Config.upload.compress) {
|
|
38720
38493
|
await karin$1.sendMsg(botId, Contact, [segment.text(`设定的最大上传大小为 ${Config.upload.filelimit}MB\n当前解析到的视频大小为 ${Number(videoSize)}MB\n视频太大了,还是去B站看吧~`), segment.reply(status.messageId)]);
|
|
38721
38494
|
break;
|
|
38722
38495
|
}
|
|
38723
38496
|
logger.mark(`当前处于自动推送状态,解析到的视频大小为 ${logger.yellow(Number(videoSize))} MB`);
|
|
38724
38497
|
const infoData = await this.amagi.bilibili.fetcher.fetchVideoInfo({
|
|
38725
|
-
bvid:
|
|
38498
|
+
bvid: data[dynamicId].Dynamic_Data.modules.module_dynamic.major.archive.bvid,
|
|
38726
38499
|
typeMode: "strict"
|
|
38727
38500
|
});
|
|
38728
38501
|
const mp4File = await downloadFile(playUrlData.data?.data?.dash?.video[0].base_url, {
|
|
@@ -40365,18 +40138,28 @@ var DouYin = class DouYin extends Base {
|
|
|
40365
40138
|
if (VideoData.data.aweme_detail?.suggest_words?.suggest_words) {
|
|
40366
40139
|
for (const item of VideoData.data.aweme_detail.suggest_words.suggest_words) if (item.words && item.scene === "comment_top_rec") for (const v of item.words) v.word && suggest.push(v.word);
|
|
40367
40140
|
}
|
|
40141
|
+
const aweme = VideoData.data.aweme_detail;
|
|
40368
40142
|
const img = await Render(this.e, "douyin/comment", {
|
|
40369
40143
|
Type: isArticle ? "文章" : isVideo ? "视频" : this.is_slides ? "合辑" : "图集",
|
|
40370
40144
|
CommentsData: douyinCommentsRes.CommentsData,
|
|
40371
|
-
CommentLength: Config.douyin.realCommentCount ?
|
|
40372
|
-
share_url: isVideo ? `https://aweme.snssdk.com/aweme/v1/play/?video_id=${
|
|
40145
|
+
CommentLength: Config.douyin.realCommentCount ? aweme.statistics.comment_count : douyinCommentsRes.CommentsData.length ?? 0,
|
|
40146
|
+
share_url: isVideo ? `https://aweme.snssdk.com/aweme/v1/play/?video_id=${aweme.video.play_addr.uri}&ratio=1080p&line=0` : aweme.share_url,
|
|
40373
40147
|
VideoSize: mp4size,
|
|
40374
40148
|
VideoFPS: FPS,
|
|
40375
40149
|
ImageLength: imagenum,
|
|
40376
|
-
Region:
|
|
40150
|
+
Region: aweme.region,
|
|
40377
40151
|
suggestWrod: suggest,
|
|
40378
40152
|
Resolution: isVideo && video ? `${video.bit_rate[0].play_addr.width} x ${video.bit_rate[0].play_addr.height}` : null,
|
|
40379
|
-
maxDepth: Config.douyin.subCommentDepth
|
|
40153
|
+
maxDepth: Config.douyin.subCommentDepth,
|
|
40154
|
+
Author: aweme.author.nickname,
|
|
40155
|
+
AuthorAvatar: aweme.author.avatar_thumb.url_list[0],
|
|
40156
|
+
Statistics: {
|
|
40157
|
+
digg_count: aweme.statistics.digg_count,
|
|
40158
|
+
comment_count: aweme.statistics.comment_count,
|
|
40159
|
+
share_count: aweme.statistics.share_count,
|
|
40160
|
+
collect_count: aweme.statistics.collect_count
|
|
40161
|
+
},
|
|
40162
|
+
CreateTime: aweme.create_time
|
|
40380
40163
|
});
|
|
40381
40164
|
const messageElements = [];
|
|
40382
40165
|
if (Config.douyin.commentImageCollection && douyinCommentsRes.image_url.length > 0) {
|
|
@@ -40611,17 +40394,31 @@ var DouYin = class DouYin extends Base {
|
|
|
40611
40394
|
web_rid: room_data.owner.web_rid,
|
|
40612
40395
|
typeMode: "strict"
|
|
40613
40396
|
});
|
|
40397
|
+
const liveItem = live_data.data.data[0];
|
|
40398
|
+
const user = UserInfoData.data.user;
|
|
40399
|
+
const streamExtra = liveItem.stream_url?.extra;
|
|
40400
|
+
const resolution = streamExtra ? `${streamExtra.width}x${streamExtra.height}` : liveItem.stream_url?.default_resolution || "";
|
|
40614
40401
|
const img = await Render(this.e, "douyin/live", {
|
|
40615
|
-
image_url:
|
|
40616
|
-
text:
|
|
40617
|
-
|
|
40618
|
-
|
|
40619
|
-
|
|
40620
|
-
|
|
40621
|
-
|
|
40622
|
-
|
|
40402
|
+
image_url: liveItem.cover?.url_list[0],
|
|
40403
|
+
text: liveItem.title,
|
|
40404
|
+
partition_title: live_data.data.partition_road_map?.partition?.title || "未知分区",
|
|
40405
|
+
room_id: room_data.owner.web_rid,
|
|
40406
|
+
online_viewers: Count(Number(liveItem.room_view_stats?.display_value)),
|
|
40407
|
+
total_viewers: liveItem.stats?.total_user_str || "刚开播无法获取",
|
|
40408
|
+
username: user.nickname,
|
|
40409
|
+
avater_url: user.avatar_larger.url_list[0],
|
|
40410
|
+
fans: Count(user.follower_count),
|
|
40623
40411
|
share_url: "https://live.douyin.com/" + room_data.owner.web_rid,
|
|
40624
|
-
dynamicTYPE: "直播间信息"
|
|
40412
|
+
dynamicTYPE: "直播间信息",
|
|
40413
|
+
like_count: Count(Number(liveItem.like_count || 0)),
|
|
40414
|
+
user_count_str: liveItem.user_count_str || "",
|
|
40415
|
+
resolution,
|
|
40416
|
+
signature: user.signature || "",
|
|
40417
|
+
city: user.city || "",
|
|
40418
|
+
aweme_count: Count(Number(user.aweme_count || 0)),
|
|
40419
|
+
following_count: Count(Number(user.following_count || 0)),
|
|
40420
|
+
total_favorited: Count(Number(user.total_favorited || 0)),
|
|
40421
|
+
has_commerce_goods: liveItem.has_commerce_goods || false
|
|
40625
40422
|
});
|
|
40626
40423
|
await this.e.reply(img);
|
|
40627
40424
|
} else this.e.reply(`「${UserInfoData.data.user.nickname}」\n未开播,正在休息中~`);
|
|
@@ -44286,7 +44083,6 @@ var update = karin$1.task("kkk-更新检测", "*/3 * * * *", Handler, {
|
|
|
44286
44083
|
//#endregion
|
|
44287
44084
|
//#region src/platform/bilibili/api/contents.ts
|
|
44288
44085
|
var import_lib = /* @__PURE__ */ __toESM(require_lib(), 1);
|
|
44289
|
-
var import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
|
|
44290
44086
|
/**
|
|
44291
44087
|
* B站内容管理 API
|
|
44292
44088
|
*/
|
|
@@ -47862,7 +47658,7 @@ var proxyOptions = {
|
|
|
47862
47658
|
changeOrigin: true
|
|
47863
47659
|
};
|
|
47864
47660
|
server.use(import_lib.default());
|
|
47865
|
-
server.use("/",
|
|
47661
|
+
server.use("/", createProxyMiddleware(proxyOptions));
|
|
47866
47662
|
if (process.env.NODE_ENV !== "test") checkPort(3780).then((isOpen) => {
|
|
47867
47663
|
if (isOpen) {
|
|
47868
47664
|
const s = server.listen(3780);
|