Skip to content

Commit 15352a7

Browse files
authored
feat: show confirmation dialog deleting WOL target (#1007)
1 parent 136966a commit 15352a7

File tree

10 files changed

+44
-1
lines changed

10 files changed

+44
-1
lines changed

ui/localization/messages/da.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@
914914
"wake_on_lan_add_device_save_device": "Gem enhed",
915915
"wake_on_lan_description": "Send en magisk pakke for at vække en fjern enhed.",
916916
"wake_on_lan_device_list_add_new_device": "Tilføj ny enhed",
917+
"wake_on_lan_device_list_confirm_delete_message": "Er du sikker på, at du vil slette denne enhed? {name}",
917918
"wake_on_lan_device_list_delete_device": "Slet enhed",
918919
"wake_on_lan_device_list_wake": "Vågne",
919920
"wake_on_lan_empty_add_device_to_start": "Tilføj en enhed for at begynde at bruge Wake-on-LAN",

ui/localization/messages/de.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@
914914
"wake_on_lan_add_device_save_device": "Gerät speichern",
915915
"wake_on_lan_description": "Senden Sie ein Magic Packet, um ein Remote-Gerät zu wecken.",
916916
"wake_on_lan_device_list_add_new_device": "Neues Gerät hinzufügen",
917+
"wake_on_lan_device_list_confirm_delete_message": "Möchten Sie dieses Gerät wirklich löschen? {name}",
917918
"wake_on_lan_device_list_delete_device": "Gerät löschen",
918919
"wake_on_lan_device_list_wake": "Aufwachen",
919920
"wake_on_lan_empty_add_device_to_start": "Fügen Sie ein Gerät hinzu, um Wake-on-LAN zu verwenden",

ui/localization/messages/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@
914914
"wake_on_lan_add_device_save_device": "Save Device",
915915
"wake_on_lan_description": "Send a Magic Packet to wake up a remote device.",
916916
"wake_on_lan_device_list_add_new_device": "Add New Device",
917+
"wake_on_lan_device_list_confirm_delete_message": "Are you sure you want to delete this device? {name}",
917918
"wake_on_lan_device_list_delete_device": "Delete device",
918919
"wake_on_lan_device_list_wake": "Wake",
919920
"wake_on_lan_empty_add_device_to_start": "Add a device to start using Wake-on-LAN",

ui/localization/messages/es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@
914914
"wake_on_lan_add_device_save_device": "Guardar dispositivo",
915915
"wake_on_lan_description": "Envíe un paquete mágico para activar un dispositivo remoto.",
916916
"wake_on_lan_device_list_add_new_device": "Agregar nuevo dispositivo",
917+
"wake_on_lan_device_list_confirm_delete_message": "¿Estás seguro de que quieres eliminar este dispositivo? {name}",
917918
"wake_on_lan_device_list_delete_device": "Eliminar dispositivo",
918919
"wake_on_lan_device_list_wake": "Despertar",
919920
"wake_on_lan_empty_add_device_to_start": "Agregue un dispositivo para comenzar a usar Wake-on-LAN",

ui/localization/messages/fr.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@
914914
"wake_on_lan_add_device_save_device": "Enregistrer l'appareil",
915915
"wake_on_lan_description": "Envoyez un paquet magique pour réveiller un appareil distant.",
916916
"wake_on_lan_device_list_add_new_device": "Ajouter un nouvel appareil",
917+
"wake_on_lan_device_list_confirm_delete_message": "Êtes-vous sûr de vouloir supprimer cet appareil? {name}",
917918
"wake_on_lan_device_list_delete_device": "Supprimer l'appareil",
918919
"wake_on_lan_device_list_wake": "Se réveiller",
919920
"wake_on_lan_empty_add_device_to_start": "Ajoutez un appareil pour commencer à utiliser Wake-on-LAN",

ui/localization/messages/it.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@
914914
"wake_on_lan_add_device_save_device": "Salva dispositivo",
915915
"wake_on_lan_description": "Invia un Magic Packet per riattivare un dispositivo remoto.",
916916
"wake_on_lan_device_list_add_new_device": "Aggiungi nuovo dispositivo",
917+
"wake_on_lan_device_list_confirm_delete_message": "Sei sicuro di voler eliminare questo dispositivo? {name}",
917918
"wake_on_lan_device_list_delete_device": "Elimina dispositivo",
918919
"wake_on_lan_device_list_wake": "Veglia",
919920
"wake_on_lan_empty_add_device_to_start": "Aggiungi un dispositivo per iniziare a utilizzare Wake-on-LAN",

ui/localization/messages/nb.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@
914914
"wake_on_lan_add_device_save_device": "Lagre enhet",
915915
"wake_on_lan_description": "Send en magisk pakke for å vekke en ekstern enhet.",
916916
"wake_on_lan_device_list_add_new_device": "Legg til ny enhet",
917+
"wake_on_lan_device_list_confirm_delete_message": "Er du sikker på at du vil slette denne enheten? {name}",
917918
"wake_on_lan_device_list_delete_device": "Slett enhet",
918919
"wake_on_lan_device_list_wake": "Våkne",
919920
"wake_on_lan_empty_add_device_to_start": "Legg til en enhet for å begynne å bruke Wake-on-LAN",

ui/localization/messages/sv.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@
914914
"wake_on_lan_add_device_save_device": "Spara enhet",
915915
"wake_on_lan_description": "Skicka ett magiskt paket för att väcka en fjärrenhet.",
916916
"wake_on_lan_device_list_add_new_device": "Lägg till ny enhet",
917+
"wake_on_lan_device_list_confirm_delete_message": "Är du säkert på att du vill ta bort enheten? {name}",
917918
"wake_on_lan_device_list_delete_device": "Ta bort enhet",
918919
"wake_on_lan_device_list_wake": "Vakna",
919920
"wake_on_lan_empty_add_device_to_start": "Lägg till en enhet för att börja använda Wake-on-LAN",

ui/localization/messages/zh.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@
914914
"wake_on_lan_add_device_save_device": "保存设备",
915915
"wake_on_lan_description": "发送魔术包来唤醒远程设备。",
916916
"wake_on_lan_device_list_add_new_device": "添加新设备",
917+
"wake_on_lan_device_list_confirm_delete_message": "您确定要删除此设备吗? {name}",
917918
"wake_on_lan_device_list_delete_device": "删除设备",
918919
"wake_on_lan_device_list_wake": "唤醒",
919920
"wake_on_lan_empty_add_device_to_start": "添加设备以开始使用网络唤醒",

ui/src/components/popovers/WakeOnLan/DeviceList.tsx

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { LuPlus, LuSend, LuTrash2 } from "react-icons/lu";
2+
import { useState } from "react";
23

34
import { m } from "@localizations/messages.js";
45
import { Button } from "@components/Button";
@@ -27,6 +28,23 @@ export default function DeviceList({
2728
onCancelWakeOnLanModal,
2829
setShowAddForm,
2930
}: DeviceListProps) {
31+
const [deleteIndex, setDeleteIndex] = useState<number | null>(null);
32+
33+
const handleDelete = (index: number) => {
34+
setDeleteIndex(index);
35+
};
36+
37+
const confirmDelete = () => {
38+
if (deleteIndex !== null) {
39+
onDeleteDevice(deleteIndex);
40+
setDeleteIndex(null);
41+
}
42+
};
43+
44+
const cancelDelete = () => {
45+
setDeleteIndex(null);
46+
};
47+
3048
return (
3149
<div className="space-y-4">
3250
<Card className="animate-fadeIn opacity-0">
@@ -55,14 +73,30 @@ export default function DeviceList({
5573
size="XS"
5674
theme="danger"
5775
LeadingIcon={LuTrash2}
58-
onClick={() => onDeleteDevice(index)}
76+
onClick={() => handleDelete(index)}
5977
aria-label={m.wake_on_lan_device_list_delete_device()}
6078
/>
6179
</div>
6280
</div>
6381
))}
6482
</div>
6583
</Card>
84+
{deleteIndex !== null && (
85+
<div className="fixed inset-0 z-50 flex items-center justify-center bg-black/40">
86+
<Card className="p-6 w-full max-w-xs animate-fadeIn">
87+
<h3 className="text-lg font-semibold mb-2 text-slate-900 dark:text-slate-100">
88+
{m.wake_on_lan_device_list_delete_device()}
89+
</h3>
90+
<p className="text-sm mb-4 text-slate-700 dark:text-slate-300">
91+
{m.wake_on_lan_device_list_confirm_delete_message({ name: storedDevices[deleteIndex]?.name || "" })}
92+
</p>
93+
<div className="flex justify-end space-x-2">
94+
<Button size="SM" theme="blank" text={m.cancel()} onClick={cancelDelete} />
95+
<Button size="SM" theme="danger" text={m.delete()} onClick={confirmDelete} />
96+
</div>
97+
</Card>
98+
</div>
99+
)}
66100
<div
67101
className="flex animate-fadeIn opacity-0 items-center justify-end space-x-2"
68102
style={{

0 commit comments

Comments
 (0)