refactor: extract timer data to hook

This commit is contained in:
Carlos Valente
2025-07-23 21:39:20 +02:00
committed by Carlos Valente
parent 78184b23b7
commit 20ee391525
8 changed files with 117 additions and 165 deletions
@@ -4,3 +4,22 @@ export type ViewData<T> = {
data: T;
status: QueryStatus;
};
/**
* Aggregates a loading status from multiple query statuses.
* If all statuses are 'pending', returns 'pending'.
* If all statuses are 'success', returns 'success'.
* If any status is 'error', returns 'error'.
*/
export function aggregateQueryStatus(statuses: QueryStatus[]): QueryStatus {
if (statuses.every((status) => status === 'pending')) {
return 'pending';
}
if (statuses.every((status) => status === 'success')) {
return 'success';
}
if (statuses.some((status) => status === 'error')) {
return 'error';
}
return 'pending';
}