-
+
+
+
ŻyrarBOT
Kontroler Web
@@ -26,11 +28,17 @@ const label = computed(() =>
diff --git a/frontend/src/components/HistoryPanel.vue b/frontend/src/components/HistoryPanel.vue
index 31f7d1f..a1f4424 100644
--- a/frontend/src/components/HistoryPanel.vue
+++ b/frontend/src/components/HistoryPanel.vue
@@ -37,19 +37,34 @@ async function replay(entry: HistoryTrack) {
-
-
+
+
+
+
-
{{ entry.title }}
+
+ {{ entry.title }}
+
{{ entry.duration ? formatTime(entry.duration) : '--:--' }}
- • plik lokalny
+
+ • plik lokalny
+
@@ -63,7 +78,10 @@ async function replay(entry: HistoryTrack) {
-
+
Historia odtwarzania jest pusta.
diff --git a/frontend/src/components/ModalShell.vue b/frontend/src/components/ModalShell.vue
index 634b3f4..1d95c2e 100644
--- a/frontend/src/components/ModalShell.vue
+++ b/frontend/src/components/ModalShell.vue
@@ -14,11 +14,25 @@ onUnmounted(() => window.removeEventListener('keydown', onKeydown))
-
-
+
+
diff --git a/frontend/src/components/PlayerPanel.vue b/frontend/src/components/PlayerPanel.vue
index 8cf0bed..f63cb5f 100644
--- a/frontend/src/components/PlayerPanel.vue
+++ b/frontend/src/components/PlayerPanel.vue
@@ -106,43 +106,74 @@ async function cycleLoop() {
-
-
-
-
-
+
-
-
{{ current?.title ?? 'Nic nie jest odtwarzane' }}
+
+ {{ current?.title ?? 'Nic nie jest odtwarzane' }}
+
{{ current ? (current.url ? 'Źródło: YouTube' : 'Źródło: plik lokalny') : 'Połącz bota i dodaj utwór' }}
-
+
Otwórz w YouTube
-
+
{{ formatTime(elapsed) }}
{{ duration > 0 ? formatTime(duration) : 'Live' }}
-
+
{{ loopButton.badge }}
diff --git a/frontend/src/components/QueueItem.vue b/frontend/src/components/QueueItem.vue
index b264ee7..c31570e 100644
--- a/frontend/src/components/QueueItem.vue
+++ b/frontend/src/components/QueueItem.vue
@@ -62,20 +62,48 @@ function commit() {
}"
draggable="true"
>
-
+
+
+
-
+
-
{{ index + 1 }}
+
+ {{ index + 1 }}
+
-
{{ track.title }}
+
+ {{ track.title }}
+
-
Pozostało:
-
+
Pozostało:
+
+
+
-
+ >
+
+
+
diff --git a/frontend/src/components/QueuePanel.vue b/frontend/src/components/QueuePanel.vue
index 09e65e3..078495d 100644
--- a/frontend/src/components/QueuePanel.vue
+++ b/frontend/src/components/QueuePanel.vue
@@ -78,7 +78,9 @@ const warnInvalidPlays = () => notify('Wartość musi być z przedziału 1-999',
@@ -105,7 +107,10 @@ const warnInvalidPlays = () => notify('Wartość musi być z przedziału 1-999',
@set-plays="setPlays"
@invalid-plays="warnInvalidPlays"
/>
-
+
Kolejka jest pusta. Dodaj coś!
diff --git a/frontend/src/components/SettingsModal.vue b/frontend/src/components/SettingsModal.vue
index baf16a8..affcf24 100644
--- a/frontend/src/components/SettingsModal.vue
+++ b/frontend/src/components/SettingsModal.vue
@@ -50,7 +50,9 @@ const saveLogChannel = (guildId: string, channelId: string) =>
- Ustawienia ŻyrarBOT
+
+ Ustawienia ŻyrarBOT
+
Domyślna liczba odtworzeń w kolejce
@@ -68,8 +70,13 @@ const saveLogChannel = (guildId: string, channelId: string) =>
:max="MAX_PLAYS"
@focus="editing = true"
@blur="editing = false"
- />
- Zapisz
+ >
+
+ Zapisz
+
@@ -81,12 +88,22 @@ const saveLogChannel = (guildId: string, channelId: string) =>
-
+
-
+
+
+
-
{{ guild.guild_name }}
-
ID: {{ guild.guild_id }}
+
+ {{ guild.guild_name }}
+
+
+ ID: {{ guild.guild_id }}
+
@@ -95,7 +112,9 @@ const saveLogChannel = (guildId: string, channelId: string) =>
:value="guild.active_notification_channel_id ?? ''"
@change="saveLogChannel(guild.guild_id, ($event.target as HTMLSelectElement).value)"
>
- -- Brak / Domyślny --
+
+ -- Brak / Domyślny --
+
-
+
Brak serwerów Discord w pamięci bota.
diff --git a/frontend/src/components/ToastHost.vue b/frontend/src/components/ToastHost.vue
index 28c3fe8..31f141c 100644
--- a/frontend/src/components/ToastHost.vue
+++ b/frontend/src/components/ToastHost.vue
@@ -14,7 +14,12 @@ const icons = {
-
+
{{ toast.message }}
diff --git a/frontend/src/components/UploadedFileRow.vue b/frontend/src/components/UploadedFileRow.vue
index 3eeafce..29b3778 100644
--- a/frontend/src/components/UploadedFileRow.vue
+++ b/frontend/src/components/UploadedFileRow.vue
@@ -8,16 +8,33 @@ defineEmits<{ enqueue: [filename: string]; remove: [filename: string] }>()
-
+
+
+
-
{{ file.filename }}
-
{{ file.size_mb }} MB
+
+ {{ file.filename }}
+
+
+ {{ file.size_mb }} MB
+
diff --git a/frontend/src/components/UploadsLibraryModal.vue b/frontend/src/components/UploadsLibraryModal.vue
index c24f460..94f35c9 100644
--- a/frontend/src/components/UploadsLibraryModal.vue
+++ b/frontend/src/components/UploadsLibraryModal.vue
@@ -22,8 +22,13 @@ function play(filename: string) {
-
- Wszystkie pliki na serwerze
+
+
+ Wszystkie pliki na serwerze
+
Pełna lista plików zapisanych w serwerowej bazie danych (posortowana od ostatnio używanych /
@@ -38,7 +43,10 @@ function play(filename: string) {
@enqueue="play"
@remove="remove"
/>
-
+
Brak przesłanych plików na serwerze.
diff --git a/frontend/src/components/UploadsPanel.vue b/frontend/src/components/UploadsPanel.vue
index 58bd9ca..45514ba 100644
--- a/frontend/src/components/UploadsPanel.vue
+++ b/frontend/src/components/UploadsPanel.vue
@@ -34,18 +34,33 @@ function play(filename: string) {
-
-
+
+
Prześlij plik wideo/audio na serwer
-
+
@@ -60,14 +75,20 @@ function play(filename: string) {
@enqueue="play"
@remove="remove"
/>
-
+
Brak przesłanych plików na serwerze.
-
+
Pokaż wszystkie pliki na serwerze ({{ files.length }})
diff --git a/frontend/src/components/VoiceChannelPanel.vue b/frontend/src/components/VoiceChannelPanel.vue
index d44b475..60eb14b 100644
--- a/frontend/src/components/VoiceChannelPanel.vue
+++ b/frontend/src/components/VoiceChannelPanel.vue
@@ -41,15 +41,34 @@ async function toggle() {
-
Kanał Głosowy
+
+ Kanał Głosowy
+
-
- Brak dostępnych kanałów
-
+
+
+ Brak dostępnych kanałów
+
+
{{ channel.guild_name }} - {{ channel.channel_name }}
-
+
{{ active ? 'Odłącz' : 'Połącz' }}