feat(web-ui): expose all API preferences, aligned with amuleGUI - #595
Merged
Conversation
Rework the preferences view to cover every category the amuleapi /preferences endpoint exposes and lay it out like the desktop amuleGUI PrefsUnifiedDlg. Structure and layout: - Tabs follow the desktop page order (General, Connection, Directories, Servers, Files, Security, IP2Country, Proxy, Filters, Remote controls, Online signature, Advanced); Proxy is its own tab and Kad settings live under a Kademlia group in the Servers tab. - A tab's fields can belong to a different API category (f.cat), so Proxy writes into 'connection' and the Kademlia group into 'kademlia'. - Every field sits in a titled group rendered as a card; cards flow into masonry-style columns (up to 3 on wide desktop, 2 on medium, 1 on phones) and keep source order, so the phone view is that same sequence. - One field per row inside a card; the Apply button is centered. Fields and behaviour: - New field renderers: select, password (write-only), textarea (shared folders), trigger (update_now), plus derived read-only fields (e.g. the TCP+3 server-request UDP port, computed client-side, never sent). - Sub-options are indented and gated by their parent (start-next-file children, min free space, ffprobe path, extended UDP / UPnP ports, dead-server retries, obfuscation options). - Capability/parent gating supports several conditions: gatedBy, an inverted parent (gatedByNot) and a sibling-equals test (gatedByEq, e.g. the GeoIP source select); gated and read-only fields are never sent. - Passwords are only sent when non-empty; the ms-based reask intervals are shown/edited in minutes; udp_disabled is shown as an inverted 'Enable Extended UDP port' checkbox. - Integer fields are clamped to their [min, max] range on Apply (empty or out-of-range input snaps to the nearest bound), not just floored at 0. i18n: all strings under prefs_* in en.json and es.json, kept in sync. CSS: group cards, masonry columns, sub-option indent, centered actions.
Member
Author
This was referenced Jul 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Rework the preferences view to cover every category the amuleapi /preferences endpoint exposes and lay it out like the desktop amuleGUI PrefsUnifiedDlg.
Structure and layout:
Fields and behaviour:
i18n: all strings under prefs_* in en.json and es.json, kept in sync.
CSS: group cards, masonry columns, sub-option indent, centered actions.