From 8f1395117a11a02089d7294cfb6cb4dc1be6bf8d Mon Sep 17 00:00:00 2001 From: Marcin Macierzanka Date: Sun, 13 Sep 2026 16:18:18 +0200 Subject: [PATCH] feat: add loading state and voice channel validation to queue restoration and update uploads panel header --- frontend/src/components/QueuePanel.vue | 55 ++++++++++++++++++++---- frontend/src/components/UploadsPanel.vue | 2 +- 2 files changed, 48 insertions(+), 9 deletions(-) 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 = () =>