summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useKittyKeyboardProtocol.ts
blob: 53c7566c69e2c6446a28ed154b6dbb7cf4fa36f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * @license
 * Copyright 2025 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */

import { useState } from 'react';
import {
  isKittyProtocolEnabled,
  isKittyProtocolSupported,
} from '../utils/kittyProtocolDetector.js';

export interface KittyProtocolStatus {
  supported: boolean;
  enabled: boolean;
  checking: boolean;
}

/**
 * Hook that returns the cached Kitty keyboard protocol status.
 * Detection is done once at app startup to avoid repeated queries.
 */
export function useKittyKeyboardProtocol(): KittyProtocolStatus {
  const [status] = useState<KittyProtocolStatus>({
    supported: isKittyProtocolSupported(),
    enabled: isKittyProtocolEnabled(),
    checking: false,
  });

  return status;
}