From 1fd9d1574ee4f65f263a3cf80286783070fed385 Mon Sep 17 00:00:00 2001 From: Jeffrey Smith Date: Tue, 31 Mar 2026 12:13:11 +0000 Subject: [PATCH] feat(admin): add Package Registry settings UI section Adds a registry URL field to Admin > Settings so admins can configure an external package registry without touching env vars or the API directly. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/js/sw/surfaces/admin/settings.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/js/sw/surfaces/admin/settings.js b/src/js/sw/surfaces/admin/settings.js index ddf907f..7092766 100644 --- a/src/js/sw/surfaces/admin/settings.js +++ b/src/js/sw/surfaces/admin/settings.js @@ -36,6 +36,7 @@ export default function SettingsSection() { message_variant: cfg_.message?.variant || 'info', footer_enabled: !!cfg_.footer?.enabled, footer_text: cfg_.footer?.text || '', + package_registry_url: cfg_.package_registry?.url || '', }); setVault(v); } catch (e) { sw.toast(e.message, 'error'); } @@ -78,6 +79,9 @@ export default function SettingsSection() { text: cfg.footer_text, }}); + // Package Registry + await sw.api.admin.settings.update('package_registry', { value: { url: cfg.package_registry_url } }); + sw.toast('Settings saved', 'success'); } catch (e) { sw.toast(e.message, 'error'); } finally { setSaving(false); } @@ -166,6 +170,13 @@ export default function SettingsSection() { } +

Package Registry

+
+ set('package_registry_url', e.target.value)} placeholder="https://registry.example.com/registry.json" /> +
+ URL to a JSON registry index. Enables browsing and one-click install under Packages > Registry. +
+

Email