fix: correct schedule refresh loading state

This commit is contained in:
mlogclub
2026-04-30 10:16:43 +08:00
parent 6d97721a3f
commit 4d6e9a01c8
@@ -86,7 +86,7 @@ export default function DashboardAgentTeamSchedulesPage() {
const [weekStart, setWeekStart] = useState(() => startOfWeek(new Date())) const [weekStart, setWeekStart] = useState(() => startOfWeek(new Date()))
const [page, setPage] = useState(1) const [page, setPage] = useState(1)
const [limit, setLimit] = useState(20) const [limit, setLimit] = useState(20)
const [loading, setLoading] = useState(true) const [loading, setLoading] = useState(false)
const [calendarLoading, setCalendarLoading] = useState(true) const [calendarLoading, setCalendarLoading] = useState(true)
const [saving, setSaving] = useState(false) const [saving, setSaving] = useState(false)
const [actionLoadingId, setActionLoadingId] = useState<number | null>(null) const [actionLoadingId, setActionLoadingId] = useState<number | null>(null)
@@ -108,6 +108,8 @@ export default function DashboardAgentTeamSchedulesPage() {
return teams.filter((team) => String(team.id) === teamFilter) return teams.filter((team) => String(team.id) === teamFilter)
}, [teamFilter, teams]) }, [teamFilter, teams])
const refreshing = viewMode === "list" ? loading || calendarLoading : calendarLoading
const loadData = useCallback(async () => { const loadData = useCallback(async () => {
setLoading(true) setLoading(true)
try { try {
@@ -369,16 +371,16 @@ export default function DashboardAgentTeamSchedulesPage() {
onChange={(value) => setTeamFilterInput(value)} onChange={(value) => setTeamFilterInput(value)}
/> />
</div> </div>
<Button variant="outline" onClick={applyFilters} disabled={loading || calendarLoading}> <Button variant="outline" onClick={applyFilters} disabled={refreshing}>
<SearchIcon /> <SearchIcon />
</Button> </Button>
<Button <Button
variant="outline" variant="outline"
onClick={() => void refreshActiveView()} onClick={() => void refreshActiveView()}
disabled={loading || calendarLoading} disabled={refreshing}
> >
<RefreshCwIcon className={loading || calendarLoading ? "animate-spin" : ""} /> <RefreshCwIcon className={refreshing ? "animate-spin" : ""} />
</Button> </Button>
<Button variant="outline" onClick={() => setBatchDialogOpen(true)}> <Button variant="outline" onClick={() => setBatchDialogOpen(true)}>