Open settings, admin, the directory and OPML in the page #5

Closed
opened 2026-09-19 16:56:10 -07:00 by rays · 1 comment
Owner

Once the main window is native, the screens that are not need somewhere to live.

Blocked by #3 -- there has to be a native interface to present them from.

Settings, the admin page, Directory and Popular, and OPML import and export stay in the page, presented as a sheet over the native interface rather than rewritten. They are form-heavy, rarely opened, admin-gated in places, and they already work. Rewriting them would be the largest part of the job for the smallest return, and the admin page is sent only to admins by the server, which native would have to reproduce.

This is a decision as much as a task, and it is worth writing down: the goal is not a native app with no web view in it. It is native where native is better -- lists, playback, the car -- and the page everywhere else.

Once the main window is native, the screens that are not need somewhere to live. **Blocked by #3** -- there has to be a native interface to present them from. Settings, the admin page, Directory and Popular, and OPML import and export stay in the page, presented as a sheet over the native interface rather than rewritten. They are form-heavy, rarely opened, admin-gated in places, and they already work. Rewriting them would be the largest part of the job for the smallest return, and the admin page is sent only to admins by the server, which native would have to reproduce. This is a decision as much as a task, and it is worth writing down: the goal is not a native app with no web view in it. It is native where native is better -- lists, playback, the car -- and the page everywhere else.
rays added the enhancement label 2026-09-19 16:56:10 -07:00
rays added a new dependency 2026-09-19 16:58:58 -07:00
Author
Owner

Done in 33c3790.

Each screen is named in the toolbar's menu rather than hidden behind one button — reaching Settings here should be no harder than in a browser. Admin appears only for an admin, since the server sends that page to admins alone.

Settings, Directory, Popular and OPML are dialogs the page opens by name rather than routes, so they are reached by calling them once it has loaded (prefsModal(), opmlModal(), selectFeed(':directory')), a moment after the load so it is not racing the page wiring them up. Asking for the screen already showing runs the script without reloading.

The test opens the menu, chooses Settings and looks for the page's own dialog, so a menu that opens the page but not the thing asked for fails rather than passing quietly. It also turned up that the menu had no accessibility label, which it should have had anyway.

Done in 33c3790. Each screen is named in the toolbar's menu rather than hidden behind one button — reaching Settings here should be no harder than in a browser. Admin appears only for an admin, since the server sends that page to admins alone. Settings, Directory, Popular and OPML are dialogs the page opens by name rather than routes, so they are reached by calling them once it has loaded (`prefsModal()`, `opmlModal()`, `selectFeed(':directory')`), a moment after the load so it is not racing the page wiring them up. Asking for the screen already showing runs the script without reloading. The test opens the menu, chooses Settings and looks for the page's own dialog, so a menu that opens the page but not the thing asked for fails rather than passing quietly. It also turned up that the menu had no accessibility label, which it should have had anyway.
rays closed this issue 2026-09-20 06:38:28 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Depends on
Reference: rays/ipodderx-app#5