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
|
busy.value = true
|
||||||
const guildId = props.status.active_voice_channel.guild_id
|
const guildId = props.status.active_voice_channel.guild_id
|
||||||
const pendingId = addPendingTrack(guildId, trimmed)
|
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)
|
removePendingTrack(pendingId)
|
||||||
if (added) query.value = ''
|
if (added) query.value = ''
|
||||||
busy.value = false
|
busy.value = false
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ async function replay(entry: HistoryTrack) {
|
|||||||
notify('Ten wpis historii nie ma źródła do odtworzenia', 'error')
|
notify('Ten wpis historii nie ma źródła do odtworzenia', 'error')
|
||||||
return
|
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 {
|
} finally {
|
||||||
removePendingTrack(pendingId)
|
removePendingTrack(pendingId)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ async function onToggleEffect(fx: PlayerEffect) {
|
|||||||
const next = !fx.active
|
const next = !fx.active
|
||||||
await run(
|
await run(
|
||||||
() => api.toggleEffect(fx.id, next),
|
() => api.toggleEffect(fx.id, next),
|
||||||
next ? `Włączono efekt: ${fx.name} ✨` : `Wyłączono efekt: ${fx.name}`,
|
'',
|
||||||
`Błąd przełączania efektu ${fx.name}`,
|
`Błąd przełączania efektu ${fx.name}`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -127,7 +127,7 @@ async function togglePlayback() {
|
|||||||
}
|
}
|
||||||
await run(
|
await run(
|
||||||
() => (playing.value ? api.pause() : api.resume()),
|
() => (playing.value ? api.pause() : api.resume()),
|
||||||
playing.value ? 'Wstrzymano odtwarzanie' : 'Wznowiono odtwarzanie',
|
'',
|
||||||
'Błąd sterowania odtwarzaniem',
|
'Błąd sterowania odtwarzaniem',
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -158,7 +158,7 @@ async function commitSeek() {
|
|||||||
const position = seekPosition.value
|
const position = seekPosition.value
|
||||||
seekSubmitting.value = true
|
seekSubmitting.value = true
|
||||||
try {
|
try {
|
||||||
await run(() => api.seek(position), 'Przewinięto utwór', 'Błąd przewijania utworu')
|
await run(() => api.seek(position), '', 'Błąd przewijania utworu')
|
||||||
} finally {
|
} finally {
|
||||||
seekSubmitting.value = false
|
seekSubmitting.value = false
|
||||||
seeking.value = false
|
seeking.value = false
|
||||||
@@ -170,28 +170,20 @@ async function restartCurrent() {
|
|||||||
seekPosition.value = 0
|
seekPosition.value = 0
|
||||||
seekSubmitting.value = true
|
seekSubmitting.value = true
|
||||||
try {
|
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 {
|
} finally {
|
||||||
seekSubmitting.value = false
|
seekSubmitting.value = false
|
||||||
seeking.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 = () =>
|
const stop = () => run(() => api.stop(), '', 'Błąd zatrzymywania')
|
||||||
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
|
|
||||||
|
|
||||||
async function cycleLoop() {
|
async function cycleLoop() {
|
||||||
try {
|
try {
|
||||||
const { mode } = await api.cycleLoop()
|
await api.cycleLoop()
|
||||||
notify(LOOP_MESSAGES[mode], 'info')
|
|
||||||
} catch {
|
} catch {
|
||||||
notify('Błąd ustawiania pętli', 'error')
|
notify('Błąd ustawiania pętli', 'error')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ const draggedId = ref<string | null>(null)
|
|||||||
const dropTargetId = ref<string | null>(null)
|
const dropTargetId = ref<string | null>(null)
|
||||||
|
|
||||||
const sendOrder = (ids: string[]) =>
|
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[] {
|
function reordered(from: number, to: number): string[] {
|
||||||
const ids = queue.value.map((track) => track.id)
|
const ids = queue.value.map((track) => track.id)
|
||||||
@@ -69,10 +69,10 @@ function moveDown(index: number) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const jump = (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) =>
|
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) =>
|
const setPlays = (id: string, plays: number) =>
|
||||||
run(() => api.setTrackPlays(id, plays), '', 'Błąd aktualizacji odtworzeń')
|
run(() => api.setTrackPlays(id, plays), '', 'Błąd aktualizacji odtworzeń')
|
||||||
|
|||||||
@@ -52,14 +52,14 @@ watch(
|
|||||||
|
|
||||||
async function toggle() {
|
async function toggle() {
|
||||||
if (active.value) {
|
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
|
return
|
||||||
}
|
}
|
||||||
if (!selected.value) {
|
if (!selected.value) {
|
||||||
notify('Wybierz kanał głosowy z listy!', 'error')
|
notify('Wybierz kanał głosowy z listy!', 'error')
|
||||||
return
|
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() {
|
async function setNotificationChannel() {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import { onUnmounted, ref } from 'vue'
|
import { onUnmounted, ref } from 'vue'
|
||||||
import type { BotStatus } from '@/types/status'
|
import type { BotStatus } from '@/types/status'
|
||||||
import { useToasts } from '@/composables/useToasts'
|
|
||||||
import { getGuildId, setGuildId } from '@/api/client'
|
import { getGuildId, setGuildId } from '@/api/client'
|
||||||
|
|
||||||
const RECONNECT_DELAY_MS = 3000
|
const RECONNECT_DELAY_MS = 3000
|
||||||
@@ -13,13 +12,10 @@ const pendingTracks = ref<{ id: string; guildId: string; title: string }[]>([])
|
|||||||
|
|
||||||
let socket: WebSocket | null = null
|
let socket: WebSocket | null = null
|
||||||
let reconnectTimer: number | null = null
|
let reconnectTimer: number | null = null
|
||||||
let connectedOnce = false
|
|
||||||
let subscribers = 0
|
let subscribers = 0
|
||||||
|
|
||||||
/** Jedno połączenie WebSocket na aplikację, niezależnie od liczby komponentów. */
|
/** Jedno połączenie WebSocket na aplikację, niezależnie od liczby komponentów. */
|
||||||
export function useBotStatus() {
|
export function useBotStatus() {
|
||||||
const { notify } = useToasts()
|
|
||||||
|
|
||||||
function open() {
|
function open() {
|
||||||
const scheme = window.location.protocol === 'https:' ? 'wss:' : 'ws:'
|
const scheme = window.location.protocol === 'https:' ? 'wss:' : 'ws:'
|
||||||
const guild = getGuildId()
|
const guild = getGuildId()
|
||||||
@@ -30,11 +26,6 @@ export function useBotStatus() {
|
|||||||
|
|
||||||
currentSocket.onopen = () => {
|
currentSocket.onopen = () => {
|
||||||
connected.value = true
|
connected.value = true
|
||||||
notify(
|
|
||||||
connectedOnce ? 'Połączenie WebSocket przywrócone (Live)!' : 'WebSocket zsynchronizowany (Live)!',
|
|
||||||
'success',
|
|
||||||
)
|
|
||||||
connectedOnce = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSocket.onmessage = (event) => {
|
currentSocket.onmessage = (event) => {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ export function useUploads() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function enqueue(filename: string) {
|
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()
|
await refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user