refactor: remove success notifications from api action wrappers and websocket connection
This commit is contained in:
7 files changed
+15
-32
No files matched your search
@@ -25,7 +25,7 @@ async function submit() {
|
||||
busy.value = true
|
||||
const guildId = props.status.active_voice_channel.guild_id
|
||||
const pendingId = addPendingTrack(guildId, trimmed)
|
||||
const added = await run(() => api.play(trimmed), 'Dodano utwór do kolejki!', 'Błąd dodawania')
|
||||
const added = await run(() => api.play(trimmed), '', 'Błąd dodawania')
|
||||
removePendingTrack(pendingId)
|
||||
if (added) query.value = ''
|
||||
busy.value = false
|
||||
|
||||
@@ -34,7 +34,7 @@ async function replay(entry: HistoryTrack) {
|
||||
notify('Ten wpis historii nie ma źródła do odtworzenia', 'error')
|
||||
return
|
||||
}
|
||||
await run(() => api.play(entry.url as string), 'Dodano z historii do kolejki!', 'Błąd')
|
||||
await run(() => api.play(entry.url as string), '', 'Błąd')
|
||||
} finally {
|
||||
removePendingTrack(pendingId)
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ async function onToggleEffect(fx: PlayerEffect) {
|
||||
const next = !fx.active
|
||||
await run(
|
||||
() => api.toggleEffect(fx.id, next),
|
||||
next ? `Włączono efekt: ${fx.name} ✨` : `Wyłączono efekt: ${fx.name}`,
|
||||
'',
|
||||
`Błąd przełączania efektu ${fx.name}`,
|
||||
)
|
||||
}
|
||||
@@ -127,7 +127,7 @@ async function togglePlayback() {
|
||||
}
|
||||
await run(
|
||||
() => (playing.value ? api.pause() : api.resume()),
|
||||
playing.value ? 'Wstrzymano odtwarzanie' : 'Wznowiono odtwarzanie',
|
||||
'',
|
||||
'Błąd sterowania odtwarzaniem',
|
||||
)
|
||||
}
|
||||
@@ -158,7 +158,7 @@ async function commitSeek() {
|
||||
const position = seekPosition.value
|
||||
seekSubmitting.value = true
|
||||
try {
|
||||
await run(() => api.seek(position), 'Przewinięto utwór', 'Błąd przewijania utworu')
|
||||
await run(() => api.seek(position), '', 'Błąd przewijania utworu')
|
||||
} finally {
|
||||
seekSubmitting.value = false
|
||||
seeking.value = false
|
||||
@@ -170,28 +170,20 @@ async function restartCurrent() {
|
||||
seekPosition.value = 0
|
||||
seekSubmitting.value = true
|
||||
try {
|
||||
await run(() => api.seek(0), 'Uruchomiono utwór od początku', 'Błąd uruchamiania od początku')
|
||||
await run(() => api.seek(0), '', 'Błąd uruchamiania od początku')
|
||||
} finally {
|
||||
seekSubmitting.value = false
|
||||
seeking.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const skip = () => run(() => api.skip(), 'Pominięto utwór', 'Błąd pomijania utworu')
|
||||
const skip = () => run(() => api.skip(), '', 'Błąd pomijania utworu')
|
||||
|
||||
const stop = () =>
|
||||
run(() => api.stop(), 'Zatrzymano odtwarzanie i wyczyszczono kolejkę', 'Błąd zatrzymywania')
|
||||
|
||||
const LOOP_MESSAGES = {
|
||||
playlist: 'Zapętlanie kolejki włączone',
|
||||
single: 'Zapętlanie utworu włączone',
|
||||
off: 'Zapętlanie wyłączone',
|
||||
} as const
|
||||
const stop = () => run(() => api.stop(), '', 'Błąd zatrzymywania')
|
||||
|
||||
async function cycleLoop() {
|
||||
try {
|
||||
const { mode } = await api.cycleLoop()
|
||||
notify(LOOP_MESSAGES[mode], 'info')
|
||||
await api.cycleLoop()
|
||||
} catch {
|
||||
notify('Błąd ustawiania pętli', 'error')
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ const draggedId = ref<string | null>(null)
|
||||
const dropTargetId = ref<string | null>(null)
|
||||
|
||||
const sendOrder = (ids: string[]) =>
|
||||
run(() => api.reorder(ids), 'Zmieniono kolejność utworów!', 'Nie udało się zapisać kolejności')
|
||||
run(() => api.reorder(ids), '', 'Nie udało się zapisać kolejności')
|
||||
|
||||
function reordered(from: number, to: number): string[] {
|
||||
const ids = queue.value.map((track) => track.id)
|
||||
@@ -69,10 +69,10 @@ function moveDown(index: number) {
|
||||
}
|
||||
|
||||
const jump = (index: number) =>
|
||||
run(() => api.jump(index), 'Zmieniono odtwarzany utwór', 'Nie udało się zmienić utworu')
|
||||
run(() => api.jump(index), '', 'Nie udało się zmienić utworu')
|
||||
|
||||
const remove = (id: string) =>
|
||||
run(() => api.remove(id), 'Usunięto utwór z kolejki', 'Nie udało się usunąć utworu')
|
||||
run(() => api.remove(id), '', 'Nie udało się usunąć utworu')
|
||||
|
||||
const setPlays = (id: string, plays: number) =>
|
||||
run(() => api.setTrackPlays(id, plays), '', 'Błąd aktualizacji odtworzeń')
|
||||
|
||||
@@ -52,14 +52,14 @@ watch(
|
||||
|
||||
async function toggle() {
|
||||
if (active.value) {
|
||||
await run(() => api.disconnect(), 'Rozłączono z kanału głosowego', 'Błąd rozłączania')
|
||||
await run(() => api.disconnect(), '', 'Błąd rozłączania')
|
||||
return
|
||||
}
|
||||
if (!selected.value) {
|
||||
notify('Wybierz kanał głosowy z listy!', 'error')
|
||||
return
|
||||
}
|
||||
await run(() => api.connect(selected.value), 'Połączono z kanałem głosowym!', 'Nie udało się połączyć')
|
||||
await run(() => api.connect(selected.value), '', 'Nie udało się połączyć')
|
||||
}
|
||||
|
||||
async function setNotificationChannel() {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { onUnmounted, ref } from 'vue'
|
||||
import type { BotStatus } from '@/types/status'
|
||||
import { useToasts } from '@/composables/useToasts'
|
||||
import { getGuildId, setGuildId } from '@/api/client'
|
||||
|
||||
const RECONNECT_DELAY_MS = 3000
|
||||
@@ -13,13 +12,10 @@ const pendingTracks = ref<{ id: string; guildId: string; title: string }[]>([])
|
||||
|
||||
let socket: WebSocket | null = null
|
||||
let reconnectTimer: number | null = null
|
||||
let connectedOnce = false
|
||||
let subscribers = 0
|
||||
|
||||
/** Jedno połączenie WebSocket na aplikację, niezależnie od liczby komponentów. */
|
||||
export function useBotStatus() {
|
||||
const { notify } = useToasts()
|
||||
|
||||
function open() {
|
||||
const scheme = window.location.protocol === 'https:' ? 'wss:' : 'ws:'
|
||||
const guild = getGuildId()
|
||||
@@ -30,11 +26,6 @@ export function useBotStatus() {
|
||||
|
||||
currentSocket.onopen = () => {
|
||||
connected.value = true
|
||||
notify(
|
||||
connectedOnce ? 'Połączenie WebSocket przywrócone (Live)!' : 'WebSocket zsynchronizowany (Live)!',
|
||||
'success',
|
||||
)
|
||||
connectedOnce = true
|
||||
}
|
||||
|
||||
currentSocket.onmessage = (event) => {
|
||||
|
||||
@@ -40,7 +40,7 @@ export function useUploads() {
|
||||
}
|
||||
|
||||
async function enqueue(filename: string) {
|
||||
await run(() => api.playFile(filename), 'Dodano plik do kolejki!', 'Błąd odtwarzania')
|
||||
await run(() => api.playFile(filename), '', 'Błąd odtwarzania')
|
||||
await refresh()
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user