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 + } +} @@ -158,6 +174,29 @@ const restoreQueue = () =>