🐛 fix(vscode): 刷新按钮加载态可见,图标随重拉转圈
刷新按钮此前只发消息重拉数据,看板已有列表时界面毫无变化,用户 无法判断点击是否生效。消息协议里的 issues/loading 从未被发送。 loadAndPush 现在在开跑前推 issues/loading,并在 finally 里推新增的 issues/loaded,保证成功、报错、缺 token 提前返回都能收尾;webhook 触发的自动重拉同样走这条链路。webview 据此维护 refreshing 状态, 刷新图标转圈并在期间禁用按钮。 Claude-Session: https://claude.ai/code/session_01REdhpbaNyqWASF2HWsnTFv
This commit is contained in:
1 parent
9167b86708
commit
ef0750b4ef
7 files changed
+30
-5
No files matched your search
@@ -4,6 +4,8 @@ import { useEffect, useRef, useState } from 'react'
|
||||
|
||||
interface Props {
|
||||
onRefresh: () => void
|
||||
/** host 正在重拉看板;为 true 时刷新图标转起来。 */
|
||||
refreshing: boolean
|
||||
/** 看板范围:'mine' 只看我的(assigned/created),'all' 团队全部工单。 */
|
||||
scope: 'mine' | 'all'
|
||||
onToggleScope: () => void
|
||||
@@ -65,6 +67,7 @@ function releaseTitle(release: ReleaseStatus | undefined): string {
|
||||
|
||||
export function PanelHeader({
|
||||
onRefresh,
|
||||
refreshing,
|
||||
scope,
|
||||
onToggleScope,
|
||||
onEditAuth,
|
||||
@@ -207,11 +210,13 @@ export function PanelHeader({
|
||||
<button
|
||||
type="button"
|
||||
onClick={onRefresh}
|
||||
title="刷新"
|
||||
disabled={refreshing}
|
||||
title={refreshing ? '正在刷新…' : '刷新'}
|
||||
aria-label="刷新"
|
||||
className="flex h-6 w-6 items-center justify-center rounded hover:bg-[var(--vscode-toolbar-hoverBackground)]"
|
||||
aria-busy={refreshing}
|
||||
className="flex h-6 w-6 items-center justify-center rounded hover:bg-[var(--vscode-toolbar-hoverBackground)] disabled:cursor-not-allowed"
|
||||
>
|
||||
<RefreshCw size={14} />
|
||||
<RefreshCw size={14} className={refreshing ? 'animate-spin' : undefined} />
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
|
||||
Reference in new issue
Block a user