继续收口工具弹窗与分段切换预设

新增 PlatformToolModalShell 承接白底工具弹窗壳层和固定可访问名称

新增 PlatformSegmentedTabPresets 沉淀频道下划线、创作 pill rail 与二列 option segment

迁移拼图、抓大鹅、历史素材弹窗和首页 / 作品架 / 充值切换的重复组件写法

同步 PlatformUiKit 文档和 Hermes 决策记录
This commit is contained in:
2026-06-11 16:32:56 +08:00
parent 7c47ad3358
commit ffcffef6d2
15 changed files with 848 additions and 621 deletions

View File

@@ -5,7 +5,7 @@ import type {
CreationEntryConfig,
CreationEntryEventBannerConfig,
} from '../../services/creationEntryConfigService';
import { PlatformSegmentedTabs } from '../common/PlatformSegmentedTabs';
import { PlatformPillTabRail } from '../common/PlatformSegmentedTabPresets';
import {
groupVisiblePlatformCreationTypes,
type PlatformCreationTypeCard,
@@ -280,27 +280,11 @@ export function CustomWorldCreationStartCard({
</section>
<section className="creation-template-list -mx-1 px-1 sm:-mx-2 sm:px-2">
<PlatformSegmentedTabs
<PlatformPillTabRail
items={categoryTabs}
activeId={activeTabId ?? ''}
onChange={setActiveCategoryId}
layout="scroll"
gap="md"
frame="bare"
surface="transparent"
size="sm"
tone="neutral"
semantics="tabs"
ariaLabel="创作入口页签"
className="-mx-0.5 snap-x px-0.5 pb-1 scroll-px-2 sm:!gap-3"
itemClassName={(_, active) =>
[
"relative shrink-0 snap-start !min-h-8 !rounded-full !border-0 !bg-transparent !px-2.5 !text-xs !font-black !shadow-none sm:!min-h-9 sm:!px-3.5 sm:!text-sm",
active
? "!text-[#6f2f21] after:absolute after:bottom-0 after:left-3 after:right-3 after:h-1 after:rounded-full after:bg-[#d9793f] after:content-['']"
: '!text-[#7a6558] hover:!bg-transparent hover:!text-[#6f2f21]',
].join(' ')
}
/>
{isRecentTabActive ? (

View File

@@ -1,4 +1,4 @@
import { PlatformSegmentedTabs } from '../common/PlatformSegmentedTabs';
import { PlatformUnderlineTabRail } from '../common/PlatformSegmentedTabPresets';
export type CustomWorldWorkFilter = 'all' | 'draft' | 'published';
@@ -39,27 +39,12 @@ export function CustomWorldWorkTabs({
});
return (
<PlatformSegmentedTabs
<PlatformUnderlineTabRail
items={filterTabs}
activeId={activeFilter}
onChange={onChange}
layout="scroll"
gap="md"
frame="bare"
surface="transparent"
size="sm"
tone="neutral"
semantics="tabs"
ariaLabel="作品筛选"
className="pb-1 !gap-4 xl:pb-0"
itemClassName={(_, active) =>
[
'platform-mobile-home-channel shrink-0 !min-h-8 !rounded-none !border-0 !bg-transparent !px-0 !shadow-none hover:!bg-transparent',
active ? 'platform-mobile-home-channel--active' : null,
]
.filter(Boolean)
.join(' ')
}
/>
);
}