import type { EnvironmentThreadStatus } from "@t3tools/client-runtime/state/threads"; export type ThreadSyncPhase = "loading" | "syncing"; export function resolveThreadSyncPhase(input: { readonly detailExists: boolean; readonly shellExists: boolean; readonly status: EnvironmentThreadStatus;}): ThreadSyncPhase | null { if (!input.shellExists) { return null; } switch (input.status) { case "empty": case "cached": case "synchronizing": return input.detailExists ? "syncing" : "loading"; case "deleted": case "live": return null; }} export function threadSyncLabel(phase: ThreadSyncPhase): string { return phase === "loading" ? "Loading messages..." : "Syncing messages...";}
import type { EnvironmentThreadStatus } from "@t3tools/client-runtime/state/threads";
export type ThreadSyncPhase = "loading" | "syncing";
export function resolveThreadSyncPhase(input: {
readonly detailExists: boolean;
readonly shellExists: boolean;
readonly status: EnvironmentThreadStatus;
}): ThreadSyncPhase | null {
if (!input.shellExists) {
return null;
}
switch (input.status) {
case "empty":
case "cached":
case "synchronizing":
return input.detailExists ? "syncing" : "loading";
case "deleted":
case "live":
return null;
}
}
export function threadSyncLabel(phase: ThreadSyncPhase): string {
return phase === "loading" ? "Loading messages..." : "Syncing messages...";
}