跨端: 转发入口移到头部动作行、右下只留回复球(我多摆了一个球)
承接上一条。用户之前说「还有其他行为都要一一对齐,例如邮件展示页面」,
我当时补了头部的「标记已读 / 对话树」,却把**转发**做成了右下角的第二个球。
照 WebUI 核对(`MailView.tsx:520-544` 与 `:994`):
· 头部动作行是**三个**:标记已读 → 对话树 → **转发**
(`ForwardIcon` + 文字,`text-gray-500` = 导航样式)
· 右下角只有**一个**球:`reply-fab`,点开才是回复框。**转发从来不是球。**
多出来那个球是我自己发明的,两个问题:
① 它没有任何对应物,纯属"看着缺就补一个";
② 转发在 WebUI 是**导航**(灰、与对话树并列),球是**主操作**
(蓝、抢注意力)—— 把导航做成主操作,页面里就有了两个同等重量的动作,
看不出主次。
改动:头部动作行补上「转发」(顺序与样式逐项对齐 WebUI),删掉右下角那个球。
设备已验:头部一行是「对话树 · 转发」(同 y),右下只剩一个蓝色回复球。
`files=33 checks=530 pass=530 fail=0`,`mutants=52 ran=52 skipped=0`,`baseline=7/7✓`。
This commit is contained in:
@ -807,6 +807,26 @@ export struct MailDetailView {
|
||||
Text('对话树').fontSize(12).fontColor(Theme.textMuted)
|
||||
}
|
||||
.onClick(() => { this.openThread(); })
|
||||
/*
|
||||
* ★★ 2026-09-20 补:**转发在这里**,不在右下角的球上。
|
||||
*
|
||||
* WebUI `MailView.tsx:534-541` 的头部动作行是三个:
|
||||
* 标记已读 → 对话树 → **转发**(`ForwardIcon` + 文字,灰=导航)
|
||||
* 而右下角只有一个球(`reply-fab`,`MailView.tsx:994`),
|
||||
* 点开才是回复框。**转发从来不是球**。
|
||||
*
|
||||
* 我原来在右下角摆了两个球(转发 + 回复),那是自己发明的:
|
||||
* · 多出来那个球没有任何对应物,纯属"看着缺就补一个";
|
||||
* · 转发在 WebUI 是"**导航**"(灰、跟对话树并列),
|
||||
* 球是"**主操作**"(蓝、抢注意力)—— 把导航做成主操作,
|
||||
* 页面里就有了两个同等重量的动作,看不出主次。
|
||||
* 现在与 WebUI 同构:头部一个转发入口,右下只剩回复球。
|
||||
*/
|
||||
Row({ space: 4 }) {
|
||||
AmIcon({ iconName: 'forward', iconSize: 14, iconColor: Theme.textMuted })
|
||||
Text('转发').fontSize(12).fontColor(Theme.textMuted)
|
||||
}
|
||||
.onClick(() => { this.showReplyBox = false; this.showForwardBox = true; })
|
||||
}
|
||||
.width('100%')
|
||||
.margin({ bottom: 6 })
|
||||
@ -1038,21 +1058,6 @@ export struct MailDetailView {
|
||||
* 会让人分不出哪个更主要。
|
||||
*/
|
||||
Row({ space: 12 }) {
|
||||
Button() {
|
||||
AmIcon({ iconName: 'forward', iconSize: 20, iconColor: Theme.accentFor() })
|
||||
}
|
||||
.width(48).height(48)
|
||||
.borderRadius(24)
|
||||
.backgroundColor(Theme.surfaceMuted)
|
||||
.onClick(() => {
|
||||
/*
|
||||
* 打开转发框时把回复框关掉:两者都是底部弹层,
|
||||
* 同时开着会叠在一起(WebUI 也用同一份 `forwarding` 状态互斥)。
|
||||
*/
|
||||
this.showReplyBox = false;
|
||||
this.showForwardBox = true;
|
||||
})
|
||||
|
||||
Button() {
|
||||
AmIcon({ iconName: 'chatBubble', iconSize: 24, iconColor: Theme.accentFg })
|
||||
}
|
||||
@ -1062,7 +1067,7 @@ export struct MailDetailView {
|
||||
.onClick(() => { this.showForwardBox = false; this.showReplyBox = true; })
|
||||
}
|
||||
.alignItems(VerticalAlign.Bottom)
|
||||
/* 让出底部悬浮条;右边距与原来的回复球一致(球没变位置,只是多了左边一个) */
|
||||
/* 让出底部悬浮条(右下只剩这一个回复球,与 WebUI `reply-fab` 同位) */
|
||||
.margin({ right: 16, bottom: this.navReserve + 16 })
|
||||
}
|
||||
.width('100%').layoutWeight(1)
|
||||
|
||||
Reference in New Issue
Block a user