From 3b7d00b32b447f0e3226c3afc810d56a9294b89d Mon Sep 17 00:00:00 2001 From: voson Date: Thu, 30 Jul 2026 20:34:05 +0800 Subject: [PATCH] =?UTF-8?q?v0.6.8:=20add=20Emo=20and=20=E5=A5=B6=E7=BB=BF?= =?UTF-8?q?=20streamers;=20center=20items=20shop=20layout.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- CHANGELOG.md | 11 +++++++ shared/data/heroes.json | 3 +- web/assets/streamer_avatars/emo.jpg | Bin 0 -> 16054 bytes web/assets/streamer_avatars/nailv.jpg | Bin 0 -> 10313 bytes web/data/streamers.json | 41 ++++++++++++++++++++++++++ web/export_relations_site.py | 2 +- web/frontend/config.js | 2 +- web/frontend/index.html | 10 +++---- web/frontend/style.css | 19 +++++++----- 9 files changed, 73 insertions(+), 15 deletions(-) create mode 100644 web/assets/streamer_avatars/emo.jpg create mode 100644 web/assets/streamer_avatars/nailv.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index 988ed89..6c7b978 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,17 @@ - PC 选将 overlay 不再在顶栏头像下显示定位图标;仍保留网格「克/搭/补」与阵容分析条。 +## [0.6.8] - 2026-07-30 + +### Added + +- 主播:Emo(火女教学)、奶绿(琼英碧灵 / dota2不落)。 +- 琼英碧灵别名「奶绿」。 + +### Changed + +- 物品页商店网格在视口内居中,详情栏落在右侧空隙,不再把整块商店挤偏。 + ## [0.6.7] - 2026-07-30 ### Changed diff --git a/shared/data/heroes.json b/shared/data/heroes.json index 9d2c6e6..264bb02 100644 --- a/shared/data/heroes.json +++ b/shared/data/heroes.json @@ -5582,7 +5582,8 @@ ], "aliases": [ "穷逼", - "琼碧" + "琼碧", + "奶绿" ], "abbr": [], "base_str": 19, diff --git a/web/assets/streamer_avatars/emo.jpg b/web/assets/streamer_avatars/emo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0acc6475a69c20a0702be18bc374ec0d9cd2b13 GIT binary patch literal 16054 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 P0KtybK*MP2@5=uG>vkPR literal 0 HcmV?d00001 diff --git a/web/assets/streamer_avatars/nailv.jpg b/web/assets/streamer_avatars/nailv.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bbb86fe6c11b04bd01650db26d1cf3dc98b37d01 GIT binary patch literal 10313 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 - - + +

DOTA2 上分帝

@@ -233,8 +233,8 @@
- - - + + + diff --git a/web/frontend/style.css b/web/frontend/style.css index 206bf28..548baf0 100644 --- a/web/frontend/style.css +++ b/web/frontend/style.css @@ -2531,7 +2531,8 @@ body:has(#items-view:not(.hidden)) { overflow: hidden; } -/* Shop + detail as a centered cluster; detail sticks while shop scrolls. */ +/* Shop centered in the viewport; detail sits in the right gutter and + does not shift the shop's center (1fr | shop | 1fr). */ .items-board { display: block; position: relative; @@ -2542,11 +2543,10 @@ body:has(#items-view:not(.hidden)) { } .items-cluster { display: grid; - grid-template-columns: max-content 320px; + grid-template-columns: 1fr max-content 1fr; align-items: start; column-gap: 16px; - width: max-content; - margin: 0 auto; + width: 100%; } .items-main { width: max-content; @@ -2554,15 +2554,17 @@ body:has(#items-view:not(.hidden)) { flex-direction: column; gap: 10px; min-width: 0; - grid-column: 1; + grid-column: 2; + justify-self: center; } .item-detail-box { - grid-column: 2; + grid-column: 3; + justify-self: start; position: sticky; top: 12px; align-self: start; z-index: 1; - width: 320px; + width: min(320px, 100%); height: fit-content; /* Cap to the items-board scrollport while sticky. */ max-height: calc(100dvh - 9rem); @@ -2801,16 +2803,19 @@ body:has(#items-view:not(.hidden)) { .items-cluster { grid-template-columns: 1fr; width: min(920px, 100%); + margin: 0 auto; row-gap: var(--space-md); } .items-main { width: min(920px, 100%); grid-column: 1; grid-row: 2; + justify-self: stretch; } .item-detail-box { grid-column: 1; grid-row: 1; + justify-self: stretch; top: 8px; width: min(920px, 100%); max-height: min(42vh, 360px);