diff --git a/packages/yucca-sdk/orchestration-ui/src/lib/components/integrations/immich/settings/ImmichSettingsBandwidth.svelte b/packages/yucca-sdk/orchestration-ui/src/lib/components/integrations/immich/settings/ImmichSettingsBandwidth.svelte index 06043f04..d4e39044 100644 --- a/packages/yucca-sdk/orchestration-ui/src/lib/components/integrations/immich/settings/ImmichSettingsBandwidth.svelte +++ b/packages/yucca-sdk/orchestration-ui/src/lib/components/integrations/immich/settings/ImmichSettingsBandwidth.svelte @@ -5,7 +5,7 @@ defaultQuietHoursStart, toBandwidthDto, toBandwidthForm, - unlimitedBandwidth, + toBytesPerSec, useConfig, useUpdateConfig, } from "$lib/services/config.service"; @@ -14,6 +14,7 @@ Field, HStack, LoadingSpinner, + NumberInput, Select, Stack, Switch, @@ -21,16 +22,6 @@ } from "@immich/ui"; import { mdiSpeedometerSlow } from "@mdi/js"; - const bytesPerMegabyte = 1_000_000; - - const speeds = [ - { value: unlimitedBandwidth, label: "No limit" }, - ...[0.5, 1, 2, 5, 10, 20, 50, 100].map((megabytes) => ({ - value: String(megabytes * bytesPerMegabyte), - label: `${megabytes} MB/s`, - })), - ]; - const hours = Array.from({ length: 24 }, (_, hour) => ({ value: `${String(hour).padStart(2, "0")}:00`, label: `${String(hour).padStart(2, "0")}:00`, @@ -39,7 +30,7 @@ const config = useConfig(); const mutation = useUpdateConfig(); - let speed = $state(unlimitedBandwidth); + let mbps = $state(); let quiet = $state(false); let quietStart = $state(defaultQuietHoursStart); let quietEnd = $state(defaultQuietHoursEnd); @@ -50,7 +41,7 @@ return; } - ({ speed, quiet, quietStart, quietEnd } = toBandwidthForm( + ({ mbps, quiet, quietStart, quietEnd } = toBandwidthForm( config.data.bandwidth, )); }; @@ -64,11 +55,11 @@ load(); }); - const limited = $derived(speed !== unlimitedBandwidth); + const limited = $derived(toBytesPerSec(mbps) > 0); const onSave = () => { mutation.mutate({ - bandwidth: toBandwidthDto({ speed, quiet, quietStart, quietEnd }), + bandwidth: toBandwidthDto({ mbps, quiet, quietStart, quietEnd }), }); }; @@ -84,13 +75,15 @@ {:else} -