From bfca7a1ff2dfe39b73940772fbc76dd02a6b994a Mon Sep 17 00:00:00 2001 From: Developer Date: Tue, 24 Mar 2026 23:48:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9A=97=E9=BB=91=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/video/[bvid].tsx | 123 ++++++++++++++++++++++++------- components/FollowedLiveStrip.tsx | 2 +- 2 files changed, 99 insertions(+), 26 deletions(-) diff --git a/app/video/[bvid].tsx b/app/video/[bvid].tsx index 62604de..b8a6146 100644 --- a/app/video/[bvid].tsx +++ b/app/video/[bvid].tsx @@ -75,14 +75,21 @@ export default function VideoDetailScreen() { router.back()} style={styles.backBtn}> - + {video?.title ?? "视频详情"} setShowDownload(true)} > - + @@ -115,7 +122,11 @@ export default function VideoDetailScreen() { onPress={() => setTab("intro")} > 简介 @@ -126,7 +137,11 @@ export default function VideoDetailScreen() { onPress={() => setTab("comments")} > 评论 {video.stat?.reply > 0 ? ` ${formatCount(video.stat.reply)}` : ""} @@ -138,7 +153,11 @@ export default function VideoDetailScreen() { onPress={() => setTab("danmaku")} > 弹幕 {danmakus.length > 0 ? ` ${formatCount(danmakus.length)}` : ""} @@ -170,13 +189,25 @@ export default function VideoDetailScreen() { source={{ uri: proxyImageUrl(video.owner.face) }} style={styles.avatar} /> - {video.owner.name} + + {video.owner.name} + + 关注 - - {video.title} + + + {video.title} + + + {video.desc || "暂无简介"} + @@ -193,23 +224,42 @@ export default function VideoDetailScreen() { } /> )} - - - {video.desc || "暂无简介"} + + + 推荐视频 - - 推荐视频 - } renderItem={({ item }) => ( router.push(`/video/${item.bvid}` as any)} activeOpacity={0.85} > - + - + {item.title} + 排序 + - 合集 · {season.title} + + 合集 · {season.title} + {season.ep_count}个视频 @@ -395,7 +457,11 @@ function SeasonSection({ const isCurrent = ep.bvid === currentBvid; return ( !isCurrent && onEpisodePress(ep.bvid)} activeOpacity={0.8} > @@ -408,7 +474,10 @@ function SeasonSection({ 第{index + 1}集 - + {ep.title} @@ -447,6 +516,10 @@ const styles = StyleSheet.create({ lineHeight: 22, marginBottom: 8, }, + subTitle: { + fontSize: 10, + marginBottom: 8, + }, statsRow: { flexDirection: "row", gap: 16 }, stat: { flexDirection: "row", alignItems: "center", gap: 3 }, statText: { fontSize: 12, color: "#999" }, @@ -522,9 +595,9 @@ const styles = StyleSheet.create({ danmakuTab: { flex: 1 }, emptyTxt: { textAlign: "center", color: "#bbb", padding: 30 }, relatedHeader: { - paddingHorizontal: 14, - paddingVertical: 10, - borderTopWidth: StyleSheet.hairlineWidth, + paddingLeft: 12, + paddingBottom: 8, + paddingTop: 8, }, relatedHeaderText: { fontSize: 13, diff --git a/components/FollowedLiveStrip.tsx b/components/FollowedLiveStrip.tsx index 150bcb1..5af6c7c 100644 --- a/components/FollowedLiveStrip.tsx +++ b/components/FollowedLiveStrip.tsx @@ -65,7 +65,7 @@ export function FollowedLiveStrip() { const styles = StyleSheet.create({ container: { backgroundColor: "#f4f4f4", - paddingHorizontal: 12, + paddingHorizontal: 3, paddingVertical: 8, }, scrollContent: {