mirror of
https://github.com/getpaseo/paseo.git
synced 2026-11-06 00:14:54 +00:00
* feat(app): refine workspace pane actions Prioritize Changes when available, keep Files useful before a selection, and reserve desktop diff clicks for selection so comments require the explicit affordance. Move the Changes shortcut to Shift+G to avoid consuming a likely copy variant. * feat(app): improve access to workspace changes
25 lines
874 B
TypeScript
25 lines
874 B
TypeScript
import type { WorkspaceDescriptor } from "@/stores/session-store";
|
|
import { useWorkspaceFields } from "@/stores/session-store-hooks";
|
|
|
|
type DiffStat = NonNullable<WorkspaceDescriptor["diffStat"]>;
|
|
|
|
export function useVisibleWorkspaceDiffStat(
|
|
serverId: string,
|
|
workspaceId: string,
|
|
): DiffStat | null {
|
|
const diffStat = useWorkspaceFields(serverId, workspaceId, (workspace) => workspace.diffStat);
|
|
return hasDiffStatChanges(diffStat) ? diffStat : null;
|
|
}
|
|
|
|
export function useWorkspaceHasDiffStat(serverId: string, workspaceId: string): boolean {
|
|
return (
|
|
useWorkspaceFields(serverId, workspaceId, (workspace) =>
|
|
hasDiffStatChanges(workspace.diffStat),
|
|
) ?? false
|
|
);
|
|
}
|
|
|
|
function hasDiffStatChanges(diffStat: WorkspaceDescriptor["diffStat"]): diffStat is DiffStat {
|
|
return Boolean(diffStat && (diffStat.additions > 0 || diffStat.deletions > 0));
|
|
}
|