Files
kandev/apps/web/lib/utils/file-change-status.ts
T
José Almeida e067e7a1f6 feat(web): show file statuses in review (#1683)
* feat(web): show file statuses in review

* fix(web): address review status feedback

* fix(web): deduplicate review sources

* fix(web): align review progress identities

* fix(web): guard review status labels

* fix(web): enforce file status exhaustiveness

* perf(web): index review progress sources

* fix(web): preserve files during status hydration

* fix(web): align multi-repo review progress
2026-07-15 12:54:43 +01:00

36 lines
874 B
TypeScript

export type FileChangeStatus = "modified" | "added" | "deleted" | "untracked" | "renamed";
export function normalizeFileChangeStatus(status?: string): FileChangeStatus {
switch (status) {
case "added":
case "modified":
case "deleted":
case "untracked":
case "renamed":
return status;
case "removed":
return "deleted";
default:
return "modified";
}
}
export function fileChangeStatusLabel(status: FileChangeStatus, oldPath?: string): string {
switch (status) {
case "added":
return "Added";
case "untracked":
return "Untracked";
case "modified":
return "Modified";
case "deleted":
return "Deleted";
case "renamed":
return oldPath ? `Moved from ${oldPath}` : "Moved";
default: {
const exhaustiveStatus: never = status;
return exhaustiveStatus;
}
}
}