Просмотр исходного кода

RHL-043 fix(admin-users): use clipboard helper for password copy

Code_Uwe 1 месяц назад
Родитель
Сommit
724d7272b0
1 измененных файлов с 9 добавлено и 14 удалено
  1. 9 14
      components/admin/users/UserTemporaryPasswordField.jsx

+ 9 - 14
components/admin/users/UserTemporaryPasswordField.jsx

@@ -32,6 +32,7 @@ import {
 	notifyError,
 	notifyApiError,
 } from "@/lib/frontend/ui/toast";
+import { writeTextToClipboard } from "@/lib/frontend/ui/clipboard";
 
 function useCopySuccessTimeout(isActive, onReset) {
 	React.useEffect(() => {
@@ -160,23 +161,17 @@ export default function UserTemporaryPasswordField({
 
 	const handleCopyPassword = React.useCallback(async () => {
 		if (!hasTempPassword || isDisabled) return;
-		if (!navigator?.clipboard?.writeText) {
-			notifyError({
-				title: "Kopieren nicht verfügbar",
-				description: "Die Zwischenablage ist in diesem Browser nicht verfügbar.",
-			});
-			return;
-		}
 
-		try {
-			await navigator.clipboard.writeText(temporaryPassword);
+		const result = await writeTextToClipboard(temporaryPassword);
+		if (result.ok) {
 			setCopySuccess(true);
-		} catch {
-			notifyError({
-				title: "Passwort konnte nicht kopiert werden.",
-				description: "Bitte erneut versuchen.",
-			});
+			return;
 		}
+
+		notifyError({
+			title: "Kopieren nicht verfügbar",
+			description: "Die Zwischenablage ist in diesem Browser nicht verfügbar.",
+		});
 	}, [hasTempPassword, isDisabled, temporaryPassword]);
 
 	const displayValue = getDisplayedTemporaryPassword({