import React, { useState } from 'react'; import { Modal } from '@grafana/ui'; import { css } from '@emotion/css'; import { SaveDashboardForm } from './forms/SaveDashboardForm'; import { SaveDashboardErrorProxy } from './SaveDashboardErrorProxy'; import { useDashboardSave } from './useDashboardSave'; import { SaveDashboardModalProps } from './types'; export const SaveDashboardModal: React.FC = ({ dashboard, onDismiss, onSaveSuccess }) => { const { state, onDashboardSave } = useDashboardSave(dashboard); const [dashboardSaveModelClone, setDashboardSaveModelClone] = useState(); return ( <> {state.error && ( )} {!state.error && ( { onDismiss(); if (onSaveSuccess) { onSaveSuccess(); } }} onSubmit={(clone, options, dashboard) => { setDashboardSaveModelClone(clone); return onDashboardSave(clone, options, dashboard); }} /> )} ); };