From 826f34f821b69886eb5f47996b917047abe78556 Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Mon, 9 May 2022 09:26:52 +0200 Subject: [PATCH] Show confirmation modal before deleting keys (#2028) Show confirmation modal before deleting public keys and api keys. --- gradle/changelog/confirm_key_deletion.yaml | 2 ++ scm-ui/ui-webapp/public/locales/de/users.json | 14 ++++++++- scm-ui/ui-webapp/public/locales/en/users.json | 14 ++++++++- .../users/components/apiKeys/ApiKeyEntry.tsx | 29 +++++++++++++++++-- .../components/publicKeys/PublicKeyEntry.tsx | 29 +++++++++++++++++-- 5 files changed, 80 insertions(+), 8 deletions(-) create mode 100644 gradle/changelog/confirm_key_deletion.yaml diff --git a/gradle/changelog/confirm_key_deletion.yaml b/gradle/changelog/confirm_key_deletion.yaml new file mode 100644 index 0000000000..ad76b41000 --- /dev/null +++ b/gradle/changelog/confirm_key_deletion.yaml @@ -0,0 +1,2 @@ +- type: fixed + description: Show confirmation modal before deleting key ([#2028](https://github.com/scm-manager/scm-manager/pull/2028)) diff --git a/scm-ui/ui-webapp/public/locales/de/users.json b/scm-ui/ui-webapp/public/locales/de/users.json index cb4ef2b035..388e0cd752 100644 --- a/scm-ui/ui-webapp/public/locales/de/users.json +++ b/scm-ui/ui-webapp/public/locales/de/users.json @@ -89,7 +89,13 @@ "download": "Herunterladen", "delete": "Löschen", "addSubtitle": "Neuen Schlüssel hinzufügen", - "addKey": "Schlüssel hinzufügen" + "addKey": "Schlüssel hinzufügen", + "deleteConfirmAlert": { + "title": "Öffentlicher Schlüssel", + "message": "Soll der öffentliche Schlüssel wirklich gelöscht werden?", + "submit": "Ja", + "cancel": "Nein" + } }, "apiKey": { "subtitle": "API Schlüssel", @@ -114,6 +120,12 @@ "alt": "Api Key", "clipboard": "In die Zwischenablage kopieren", "close": "Schließen" + }, + "deleteConfirmAlert": { + "title": "API Schlüssel", + "message": "Soll der API Schlüssel wirklich gelöscht werden?", + "submit": "Ja", + "cancel": "Nein" } } } diff --git a/scm-ui/ui-webapp/public/locales/en/users.json b/scm-ui/ui-webapp/public/locales/en/users.json index f285e7117a..903153a0ec 100644 --- a/scm-ui/ui-webapp/public/locales/en/users.json +++ b/scm-ui/ui-webapp/public/locales/en/users.json @@ -89,7 +89,13 @@ "download": "Download", "delete": "Delete", "addSubtitle": "Add New Key", - "addKey": "Add Key" + "addKey": "Add Key", + "deleteConfirmAlert": { + "title": "Public Key", + "message": "Do you really want to delete this public key?", + "submit": "Yes", + "cancel": "No" + } }, "apiKey": { "subtitle": "API Keys", @@ -114,6 +120,12 @@ "alt": "Api Key", "clipboard": "Copy to clipboard", "close": "Close" + }, + "deleteConfirmAlert": { + "title": "API Key", + "message": "Do you really want to delete this API key?", + "submit": "Yes", + "cancel": "No" } } } diff --git a/scm-ui/ui-webapp/src/users/components/apiKeys/ApiKeyEntry.tsx b/scm-ui/ui-webapp/src/users/components/apiKeys/ApiKeyEntry.tsx index e51c1ce285..d62ddf7dab 100644 --- a/scm-ui/ui-webapp/src/users/components/apiKeys/ApiKeyEntry.tsx +++ b/scm-ui/ui-webapp/src/users/components/apiKeys/ApiKeyEntry.tsx @@ -22,8 +22,8 @@ * SOFTWARE. */ -import React, { FC } from "react"; -import { Button, DateFromNow } from "@scm-manager/ui-components"; +import React, { FC, useState } from "react"; +import { ConfirmAlert, Button, DateFromNow } from "@scm-manager/ui-components"; import { ApiKey } from "@scm-manager/ui-types"; import { useTranslation } from "react-i18next"; import { DeleteFunction } from "@scm-manager/ui-api"; @@ -35,10 +35,11 @@ type Props = { export const ApiKeyEntry: FC = ({ apiKey, onDelete }) => { const [t] = useTranslation("users"); + const [showModal, setShowModal] = useState(false); let deleteButton; if (apiKey?._links?.delete) { deleteButton = ( -