feat: Add settings editing to web UI#346
feat: Add settings editing to web UI#346itsthisjustin wants to merge 1 commit intocrosspoint-reader:masterfrom
Conversation
Add a new Settings page to the crosspoint.local web interface that allows viewing and editing all device settings via the hotspot. Settings page that auto-generates form from settings metadata New settings added to SettingsList.h automatically appear in both the device UI and web UI - Supports all setting types: toggle, enum, value (range), and string - Settings are saved immediately and persist to SD card API endpoints: - GET /settings - Settings page - GET /api/settings - Returns all settings with metadata as JSON - POST /api/settings - Updates settings (accepts JSON key-value pairs)
|
@daveallie Added the hotspot settings feature here if you're interested |
|
Works great - saved me a lot of time testing Calibre-web stuff |
Exactly haha |
daveallie
left a comment
There was a problem hiding this comment.
This is great, any keyboard entry on the device is a real pain. Just some feedback around settings appearing twice.
| SettingInfo::String("opdsServerUrl", "Calibre Web URL", SETTINGS.opdsServerUrl, | ||
| sizeof(SETTINGS.opdsServerUrl) - 1), |
There was a problem hiding this comment.
This setting now appears in the UI for the root settings options, but also in the Calibre Settings sub-section. Perhaps we should categories all settings (just leaving all the existing ones as "General" which show up at the root settings page), and then the UI in the web/on-device could be a little more capable of supporting these subsections. <- This isn't my greatest idea, and if you'd prefer to defer this issue for the moment by just marking settings as "hidden" in this list for the device UI, then I'm ok with that, or if you have better ideas, happy to take a look at another approach
|
This would be awesome! Im currently trying to setup OPDS and KoReader and its a pain |
Reimplements PR crosspoint-reader#346 on top of current master. Adds a web settings page at /settings that allows viewing and editing all device settings via the hotspot, with GET/POST JSON API at /api/settings.
|
closing this pr in favor of one from @obra |
## Summary This is an updated version of @itsthisjustin's #346 that builds on current master and also deduplicates the settings list so we don't have two copies of the settings. In the Web UI, it should organize the settings a little closer to what you see on device. ## Additional Context I tested this live on device and it seems to play nicely for me. It's re-based on master since master's settings stuff has moved somewhat since the original PR and addresses the sole review comment #346 - it also means that I don't need to manually key in the URL for my OPDS server. :) --- ### AI Usage My changes were implemented with Claude Opus 4.5 and Claude Code 2.1.25. I don't know if @itsthisjustin's original work used AI assistance. Co-authored-by: Dave Allie <[email protected]>
## Summary This is an updated version of @itsthisjustin's crosspoint-reader#346 that builds on current master and also deduplicates the settings list so we don't have two copies of the settings. In the Web UI, it should organize the settings a little closer to what you see on device. ## Additional Context I tested this live on device and it seems to play nicely for me. It's re-based on master since master's settings stuff has moved somewhat since the original PR and addresses the sole review comment crosspoint-reader#346 - it also means that I don't need to manually key in the URL for my OPDS server. :) --- ### AI Usage My changes were implemented with Claude Opus 4.5 and Claude Code 2.1.25. I don't know if @itsthisjustin's original work used AI assistance. Co-authored-by: Dave Allie <[email protected]>
## Summary This is an updated version of @itsthisjustin's crosspoint-reader#346 that builds on current master and also deduplicates the settings list so we don't have two copies of the settings. In the Web UI, it should organize the settings a little closer to what you see on device. ## Additional Context I tested this live on device and it seems to play nicely for me. It's re-based on master since master's settings stuff has moved somewhat since the original PR and addresses the sole review comment crosspoint-reader#346 - it also means that I don't need to manually key in the URL for my OPDS server. :) --- ### AI Usage My changes were implemented with Claude Opus 4.5 and Claude Code 2.1.25. I don't know if @itsthisjustin's original work used AI assistance. Co-authored-by: Dave Allie <[email protected]>
## Summary This is an updated version of @itsthisjustin's crosspoint-reader#346 that builds on current master and also deduplicates the settings list so we don't have two copies of the settings. In the Web UI, it should organize the settings a little closer to what you see on device. ## Additional Context I tested this live on device and it seems to play nicely for me. It's re-based on master since master's settings stuff has moved somewhat since the original PR and addresses the sole review comment crosspoint-reader#346 - it also means that I don't need to manually key in the URL for my OPDS server. :) --- ### AI Usage My changes were implemented with Claude Opus 4.5 and Claude Code 2.1.25. I don't know if @itsthisjustin's original work used AI assistance. Co-authored-by: Dave Allie <[email protected]>
## Summary This is an updated version of @itsthisjustin's crosspoint-reader#346 that builds on current master and also deduplicates the settings list so we don't have two copies of the settings. In the Web UI, it should organize the settings a little closer to what you see on device. ## Additional Context I tested this live on device and it seems to play nicely for me. It's re-based on master since master's settings stuff has moved somewhat since the original PR and addresses the sole review comment crosspoint-reader#346 - it also means that I don't need to manually key in the URL for my OPDS server. :) --- ### AI Usage My changes were implemented with Claude Opus 4.5 and Claude Code 2.1.25. I don't know if @itsthisjustin's original work used AI assistance. Co-authored-by: Dave Allie <[email protected]>
Add a new Settings page to the crosspoint.local web interface that allows viewing and editing all device settings via the hotspot.
Settings page that auto-generates form from settings metadata New settings added to SettingsList.h automatically
appear in both the device UI and web UI
API endpoints: