import { basename, relative } from 'path' import React from 'react' import { Box, Text } from '../ink.js' import { getCwd } from '../utils/cwd.js' import { isSupportedVSCodeTerminal } from '../utils/ide.js' import { Select } from './CustomSelect/index.js' import { Pane } from './design-system/Pane.js' import type { PermissionOption, PermissionOptionWithLabel, } from './permissions/FilePermissionDialog/permissionOptions.js' type Props = { filePath: string input: A onChange: (option: PermissionOption, args: A, feedback?: string) => void options: PermissionOptionWithLabel[] ideName: string symlinkTarget?: string | null rejectFeedback: string acceptFeedback: string setFocusedOption: (value: string) => void onInputModeToggle: (value: string) => void focusedOption: string yesInputMode: boolean noInputMode: boolean } export function ShowInIDEPrompt({ onChange, options, input, filePath, ideName, symlinkTarget, rejectFeedback, acceptFeedback, setFocusedOption, onInputModeToggle, focusedOption, yesInputMode, noInputMode, }: Props): React.ReactNode { return ( Opened changes in {ideName} ⧉ {symlinkTarget && ( {relative(getCwd(), symlinkTarget).startsWith('..') ? `This will modify ${symlinkTarget} (outside working directory) via a symlink` : `Symlink target: ${symlinkTarget}`} )} {isSupportedVSCodeTerminal() && ( Save file to continue… )} Do you want to make this edit to{' '} {basename(filePath)}?