orca/mobile/src/source-control/use-mobile-source-control-c...

32 lines
1.1 KiB
TypeScript

import { useState } from 'react'
import type { ConnectionState } from '../transport/types'
import type { RpcClient } from '../transport/rpc-client'
import type {
MobileCommitFailureRecovery,
RecordMobileCommitFailure
} from './mobile-commit-failure-recovery'
import { useMobileCommitFailureRecovery } from './use-mobile-commit-failure-recovery'
type Params = {
client: RpcClient | null
connState: ConnectionState
worktreeId: string
}
export function useMobileSourceControlCommitFailure({ client, connState, worktreeId }: Params): {
commitFailureRecovery: MobileCommitFailureRecovery | null
commitFailureRecoveryAction: ReturnType<typeof useMobileCommitFailureRecovery>
recordCommitFailure: RecordMobileCommitFailure
} {
const [commitFailureRecovery, recordCommitFailure] = useState<MobileCommitFailureRecovery | null>(
null
)
const commitFailureRecoveryAction = useMobileCommitFailureRecovery({
client,
connState,
worktreeId,
failure: commitFailureRecovery
})
return { commitFailureRecovery, commitFailureRecoveryAction, recordCommitFailure }
}