From 0e21b8e7f180611bab88b85c5126a30f06f551b8 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Thu, 8 Oct 2026 15:14:10 -0400 Subject: [PATCH] DRY pass #3: SyncView's update choices are one fieldset, twice (#5373) The source and channel fieldsets were the same markup over different options. updateChoices holds each set with its legend, radio name and when it is offered, and one v-for draws them. Co-Authored-By: Claude Opus 5.5 --- frontend/src/views/SyncView.vue | 53 ++++++++++++++------------------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/frontend/src/views/SyncView.vue b/frontend/src/views/SyncView.vue index 0e7d031..435e3c4 100644 --- a/frontend/src/views/SyncView.vue +++ b/frontend/src/views/SyncView.vue @@ -147,6 +147,13 @@ const channelOptions = computed(() => [ }, ]); +// Each set of choices, and when it is offered. A server holds one build, so a +// channel only means something on the forge. +const updateChoices = computed(() => [ + { legend: "Updates from", name: "update-source", shown: !!offeredServer.value, options: sourceOptions.value }, + { legend: "Channel", name: "update-channel", shown: source.value === null, options: channelOptions.value }, +]); + // --- Quick capture ----------------------------------------------------------- // A desktop-local preference, so it lives here beside the update channel rather // than in admin Settings: that screen is the SERVER's, and this is a property of @@ -650,36 +657,22 @@ onBeforeUnmount(() => stopSyncListener?.()); This is version {{ update?.current_version ?? "—" }}.

-
- -
- -
-
- - -
- -
- -
-
+