import React, { useState } from 'react'; import { FormModal, FormFieldContainer, TextInput, } from '@mongodb-js/compass-components'; import type { ConnectionFavoriteOptions } from '@mongodb-js/connection-storage/renderer'; import { FavoriteColorPicker } from './favorite-color-picker'; function SaveConnectionModal({ initialFavoriteInfo, onCancelClicked, onSaveClicked, open, saveText = 'Save', }: { initialFavoriteInfo?: ConnectionFavoriteOptions; onCancelClicked: () => void; onSaveClicked: (favoriteInfo: ConnectionFavoriteOptions) => Promise; open: boolean; saveText?: string; }): React.ReactElement { const [editingFavorite, setEditingFavorite] = useState({ name: '', ...initialFavoriteInfo, }); return ( { void onSaveClicked({ ...editingFavorite, }); }} submitDisabled={(editingFavorite.name || '').trim() ? false : true} onCancel={onCancelClicked} submitButtonText={saveText} data-testid="favorite-modal" > ) => { setEditingFavorite({ ...editingFavorite, name: value, }); }} label="Name" value={editingFavorite.name} /> { setEditingFavorite({ ...editingFavorite, color: newColor, }); }} /> ); } export default SaveConnectionModal;