kagemomiji / airsonic-advanced

airsonic-advanced
GNU General Public License v3.0
152 stars 14 forks source link

[Feature Request]: Update view technology #250

Closed checketts closed 6 months ago

checketts commented 1 year ago

Scope

GUI

What problem

The current UI is very clunky. (Similar to #108) I would like to send several PRs that fix that, this issue is to discuss the next steps

Feature

  1. Migrate off of JSPs to Thymeleaf (this removes requiring the antiquated WAR packaging, but is quite straight forward)
  2. Add a secondary UI (inspired by 'refit' but keeping the Technology self contained in the airsonic codebase and not requiring a frontend build pipeline, using HTMX)

Goals

  1. Make the new UI phone friendly
  2. Improve UI speed (add update indicators)
  3. Leverage infinite scrolling to remove the need for paginations
  4. Use events to keep UI elements in sync (remove the 'refresh' links)
  5. Use auto-save when making changes (remove the 'save' buttons)

I'll be making these changes anyways on my own branch, and would love to share them with others. Are you open to these sorts of PRs?

zc-devs commented 1 year ago

What can be worse than JSP? 🤣

Use auto-save when making changes (remove the 'save' buttons)

It looks dangerous for me.

checketts commented 1 year ago

Use auto-save when making changes (remove the 'save' buttons)

It looks dangerous for me.

Here is one example: with the queued play list right now, you can click the drop down and select 'save play queue' option to write it to the database (which can them be loaded again). This is because the current play queue is only held in Airsonic's memory.

Automatically persisting it, and reloading it makes sense and reduces complexity to the interface. Save buttons should remain where they make sense.