Files
Ashley Harrison 31b71f79dd Internationalisation: Manual mark up following review (#107625)
* mark up and add confirmText to lint rule

* mark up and add ariaLabel to lint rule

* add confirmText to propertiesToCheck

* mark up and add body to propsToCheck

* mark up latest

* mark up 'Dashboard saved'

* mark up filterbyvalue options

* mark up tooltip options

* mark up and add lint rules for noOptionsMessage/loadingMessage

* mark up 'Convert field type'

* mark up placeholderText/noOptionsMessage

* mark up run query

* mark up variable editor fields

* mark up week start options

* mark up dashboard link options

* mark up prom options

* mark up builder/code toggles

* make CI happy

* kick CI
2025-07-07 16:43:19 +01:00

45 lines
1.3 KiB
TypeScript

import { useEffect } from 'react';
import { Trans, t } from '@grafana/i18n';
import { ConfirmModal } from '@grafana/ui';
import { useDashboardRestore } from './useDashboardRestore';
export interface RevertDashboardModalProps {
hideModal: () => void;
id: number;
version: number;
}
export const RevertDashboardModal = ({ hideModal, id, version }: RevertDashboardModalProps) => {
// TODO: how should state.error be handled?
const { state, onRestoreDashboard } = useDashboardRestore(id, version);
useEffect(() => {
if (!state.loading && state.value) {
hideModal();
}
}, [state, hideModal]);
return (
<ConfirmModal
isOpen={true}
title={t('dashboard.revert-dashboard-modal.title-restore-version', 'Restore version')}
icon="history"
onDismiss={hideModal}
onConfirm={onRestoreDashboard}
body={
<p>
<Trans i18nKey="dashboard.revert-dashboard-modal.body-restore-version">
Are you sure you want to restore the dashboard to version {{ version }}? All unsaved changes will be lost.
</Trans>
</p>
}
confirmText={t(
'dashboard.revert-dashboard-modal.confirmText-restore-version',
'Yes, restore to version {{version}}',
{ version }
)}
/>
);
};