diff --git a/frontend/src/components/QueuePanel.vue b/frontend/src/components/QueuePanel.vue
index 5266a4c..bcf543e 100644
--- a/frontend/src/components/QueuePanel.vue
+++ b/frontend/src/components/QueuePanel.vue
@@ -79,12 +79,25 @@ const setPlays = (id: string, plays: number) =>
const warnInvalidPlays = () => notify('Wartość musi być z przedziału 1-999', 'error')
-const restoreQueue = () =>
- run(
- () => api.restoreQueue(),
- 'Przywrócono ostatnią kolejkę',
- 'Nie udało się przywrócić ostatniej kolejki',
- )
+const restoring = ref(false)
+
+async function restoreQueue() {
+ if (restoring.value) return
+ if (!props.status?.active_voice_channel) {
+ notify('Bot musi być połączony z kanałem głosowym!', 'error')
+ return
+ }
+ restoring.value = true
+ try {
+ await run(
+ () => api.restoreQueue(),
+ 'Przywrócono ostatnią kolejkę',
+ 'Nie udało się przywrócić ostatniej kolejki',
+ )
+ } finally {
+ restoring.value = false
+ }
+}
@@ -146,11 +159,14 @@ const restoreQueue = () =>
@@ -158,6 +174,29 @@ const restoreQueue = () =>