mirror of
https://codeberg.org/PLG-Development/PLG-MuDiCS
synced 2026-07-06 00:47:09 +00:00
chore(control): improve handling with offline displays
This commit is contained in:
@@ -23,7 +23,12 @@
|
||||
startup,
|
||||
show_html
|
||||
} from '$lib/ts/api_handler';
|
||||
import { get_display_by_id, run_on_all_selected_displays } from '$lib/ts/stores/displays';
|
||||
import {
|
||||
get_display_by_id,
|
||||
no_active_display_selected,
|
||||
online_displays,
|
||||
run_on_all_selected_displays
|
||||
} from '$lib/ts/stores/displays';
|
||||
import { selected_display_ids } from '$lib/ts/stores/select';
|
||||
import TipTapInput from './TipTapInput.svelte';
|
||||
import { db } from '$lib/ts/database';
|
||||
@@ -217,7 +222,7 @@
|
||||
<Button
|
||||
title="Vorherige Folie (Pfeil nach Links)"
|
||||
className="px-9"
|
||||
disabled={$selected_display_ids.length === 0}
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
click_function={async () => {
|
||||
await send_single_key_press('VK_LEFT');
|
||||
}}><ArrowBigLeft /></Button
|
||||
@@ -225,7 +230,7 @@
|
||||
<Button
|
||||
title="Nächste Folie (Pfeil nach Rechts)"
|
||||
className="px-9"
|
||||
disabled={$selected_display_ids.length === 0}
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
click_function={async () => {
|
||||
await send_single_key_press('VK_RIGHT');
|
||||
}}><ArrowBigRight /></Button
|
||||
@@ -234,19 +239,20 @@
|
||||
|
||||
<Button
|
||||
className="px-3 flex gap-3 w-75 justify-normal"
|
||||
disabled={$selected_display_ids.length === 0}
|
||||
click_function={show_text_popup}><TextAlignStart /> Text Anzeigen</Button
|
||||
click_function={show_text_popup}
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
><TextAlignStart /> Text Anzeigen</Button
|
||||
>
|
||||
|
||||
<Button
|
||||
className="px-3 flex gap-3 w-75 justify-normal"
|
||||
disabled={$selected_display_ids.length === 0}
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
click_function={show_website_popup}><Globe /> Webseite Anzeigen</Button
|
||||
>
|
||||
|
||||
<Button
|
||||
className="px-3 flex gap-3 w-75 justify-normal"
|
||||
disabled={$selected_display_ids.length === 0}
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
click_function={async () => {
|
||||
await run_on_all_selected_displays((d) => show_blackscreen(d.ip));
|
||||
}}><Presentation />Blackout</Button
|
||||
@@ -261,7 +267,7 @@
|
||||
|
||||
<Button
|
||||
className="px-3 flex gap-3 w-75 justify-normal"
|
||||
disabled={$selected_display_ids.length === 0}
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
click_function={show_send_keys_popup}><Keyboard /> Tastatur-Eingaben Senden</Button
|
||||
>
|
||||
</div>
|
||||
@@ -269,7 +275,8 @@
|
||||
<div class="flex flex-col gap-2">
|
||||
<Button
|
||||
className="px-3 flex gap-3 w-full xl:w-75 justify-normal"
|
||||
disabled={$all_display_states === 'on' || $selected_display_ids.length === 0}
|
||||
disabled={$all_display_states === 'on' ||
|
||||
no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
click_function={startup_action}
|
||||
>
|
||||
<Power /> Bildschirm Hochfahren
|
||||
@@ -277,7 +284,8 @@
|
||||
|
||||
<Button
|
||||
className="px-3 flex gap-3 w-full xl:w-75 justify-normal"
|
||||
disabled={$all_display_states === 'off' || $selected_display_ids.length === 0}
|
||||
disabled={$all_display_states === 'off' ||
|
||||
no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
click_function={ask_shutdonw}
|
||||
>
|
||||
<PowerOff /> Bildschirm Herunterfahren</Button
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
import HighlightedText from '$lib/components/HighlightedText.svelte';
|
||||
import { liveQuery, type Observable } from 'dexie';
|
||||
import { download_file, add_upload, add_sync_recursively } from '$lib/ts/file_transfer_handler';
|
||||
import { no_active_display_selected, online_displays } from '$lib/ts/stores/displays';
|
||||
|
||||
let current_name: string = $state('');
|
||||
let current_valid: boolean = $state(false);
|
||||
@@ -321,7 +322,7 @@
|
||||
title="Neuen Ordner erstellen (Neuen Ordner mit ausgewählten Objekten erstellen)"
|
||||
className="px-3 flex"
|
||||
click_function={show_new_folder_popup}
|
||||
disabled={$selected_display_ids.length === 0}><FolderPlus /></Button
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}><FolderPlus /></Button
|
||||
>
|
||||
<div class="border border-stone-700 my-1"></div>
|
||||
<Button
|
||||
@@ -330,7 +331,7 @@
|
||||
click_function={() => {
|
||||
if (file_input) file_input.click();
|
||||
}}
|
||||
disabled={$selected_display_ids.length === 0}><Upload /></Button
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}><Upload /></Button
|
||||
>
|
||||
<Button
|
||||
title="Ausgewählte Datei herunterladen"
|
||||
@@ -349,7 +350,7 @@
|
||||
$selected_display_ids,
|
||||
$current_folder_elements ?? []
|
||||
)}
|
||||
disabled={$selected_display_ids.length === 0}
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
><RefreshCcw />
|
||||
<span class="hidden 2xl:flex">Synchronisieren</span>
|
||||
</Button>
|
||||
@@ -363,7 +364,7 @@
|
||||
<Button
|
||||
title="Ausgewählte Datei(en) einfügen"
|
||||
className="px-3 flex"
|
||||
disabled={$selected_display_ids.length === 0}
|
||||
disabled={no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
>
|
||||
<ClipboardPaste />
|
||||
</Button>
|
||||
@@ -387,7 +388,7 @@
|
||||
</div>
|
||||
<div class="min-h-0 h-full overflow-y-auto overflow-x-hidden bg-stone-750 rounded-xl">
|
||||
<div class="flex flex-col gap-2 p-2 min-h-0 max-w-full">
|
||||
{#if $selected_display_ids.length === 0}
|
||||
{#if no_active_display_selected($selected_display_ids, $online_displays)}
|
||||
<span class="text-stone-450 px-10 py-6 leading-relaxed text-center">
|
||||
Es sind keine Bildschirme ausgewählt.
|
||||
</span>
|
||||
|
||||
Reference in New Issue
Block a user