diff --git a/containers/libreportal/frontend/components/admin/config/js/catalog-manager.js b/containers/libreportal/frontend/components/admin/config/js/catalog-manager.js new file mode 100644 index 0000000..64626d4 --- /dev/null +++ b/containers/libreportal/frontend/components/admin/config/js/catalog-manager.js @@ -0,0 +1,152 @@ +// Catalog Sources - block editor for CFG_CATALOG_1..9 (extra App Center catalog +// URLs). Mirrors the domains block UI (reuses its CSS) but with URL inputs and +// no DNS checks. Values are saved by the generic config-form (any CFG_* input), +// and configUpdateBatch rebuilds registry_catalog.json when a CFG_CATALOG_* +// changes. The official catalog is source #1 and is not editable here. +class CatalogManager { + _num(key) { const m = key.match(/CFG_CATALOG_(\d+)/); return m ? parseInt(m[1], 10) : 0; } + _esc(s) { return String(s == null ? '' : s).replace(/&/g, '&').replace(/"/g, '"').replace(/ +
${subcategoryDescription}
+