feat(web): admin settings page — module cards, toggles, config forms #100

Closed
opened 2026-02-14 19:46:48 +00:00 by forbes · 0 comments
Owner

Ref: docs/MODULES.md §10, §11 step 7

Add module configuration UI to the Settings page, visible only to admin users.

Layout:
Each module gets a collapsible card with:

  • Enable/disable toggle (optional modules only)
  • Status badge: Active (green), Disabled (overlay1), Error (red), Setup Required (yellow)
  • Module-specific config fields
  • Test connectivity button where applicable (storage, LDAP, OIDC, Odoo)
  • Save button per card

Module cards:

Module Fields
Core PDM Server host, port, base_url, read_only (read-only display)
Schemas Directory, default schema (read-only display)
Storage Endpoint, bucket, access_key, use_ssl, region, status + Test button
Auth Local toggle, LDAP config (URL, base DN) + Test, OIDC config (issuer, client_id) + Test, CORS origins (tag input)
Projects Enable toggle only
Audit Enable toggle only
Odoo Enable toggle, URL, database, username + Test
Create Integration Enable toggle, URI scheme, executable path
Job Queue Enable toggle, directory, runner_timeout, job_timeout_check, default_priority
Dependency DAG Enable toggle (validates jobs dependency)

Infrastructure section (§10.3):
Read-only cards for Database and Storage connection status with Test buttons.

Required modules (core, schemas, storage) show config but no enable/disable toggle.

Restart banner: When PUT response includes restart_required: true, show a persistent banner.

SSE: Listen for settings.changed to show toast and update module state live.

Depends on #97, #99.

**Ref:** docs/MODULES.md §10, §11 step 7 Add module configuration UI to the Settings page, visible only to admin users. **Layout:** Each module gets a collapsible card with: - Enable/disable toggle (optional modules only) - Status badge: Active (green), Disabled (overlay1), Error (red), Setup Required (yellow) - Module-specific config fields - Test connectivity button where applicable (storage, LDAP, OIDC, Odoo) - Save button per card **Module cards:** | Module | Fields | |--------|--------| | Core PDM | Server host, port, base_url, read_only (read-only display) | | Schemas | Directory, default schema (read-only display) | | Storage | Endpoint, bucket, access_key, use_ssl, region, status + Test button | | Auth | Local toggle, LDAP config (URL, base DN) + Test, OIDC config (issuer, client_id) + Test, CORS origins (tag input) | | Projects | Enable toggle only | | Audit | Enable toggle only | | Odoo | Enable toggle, URL, database, username + Test | | Create Integration | Enable toggle, URI scheme, executable path | | Job Queue | Enable toggle, directory, runner_timeout, job_timeout_check, default_priority | | Dependency DAG | Enable toggle (validates jobs dependency) | **Infrastructure section (§10.3):** Read-only cards for Database and Storage connection status with Test buttons. **Required modules** (core, schemas, storage) show config but no enable/disable toggle. **Restart banner:** When `PUT` response includes `restart_required: true`, show a persistent banner. **SSE:** Listen for `settings.changed` to show toast and update module state live. Depends on #97, #99.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/silo#100