Skip to content

Replace item details app bar with header#124

Merged
formatBCE merged 12 commits intomusic-assistant:mainfrom
seadowg:new-album-ui
Feb 25, 2026
Merged

Replace item details app bar with header#124
formatBCE merged 12 commits intomusic-assistant:mainfrom
seadowg:new-album-ui

Conversation

@seadowg
Copy link
Copy Markdown
Collaborator

@seadowg seadowg commented Feb 25, 2026

Work towards #108

This reworks the item details UI:

Screenshot_20260225_163543

There are a few things to do before closing off the issue (discussed there), but this felt like a good point to get feedback and merge in.

@seadowg seadowg changed the title Add header to item details Replace item details app bar with header Feb 25, 2026
@seadowg seadowg marked this pull request as ready for review February 25, 2026 16:37
import kotlin.test.assertEquals

@RunWith(AndroidJUnit4::class)
class ItemDetailsTest {
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is by no means exhaustive, but I wanted to backfill at a test harness for at least the most critical parts before moving things around.

) : ViewModel() {

data class State(
val connectionState: SessionState,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need that anymore?


private val _state = MutableStateFlow(
State(
connectionState = SessionState.Disconnected.Initial,
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This actually wasn't being used so it was helpful to just remove it for setting up test/preview state.

@formatBCE formatBCE merged commit 8eec77a into music-assistant:main Feb 25, 2026
1 check passed
)

if (onToggleViewMode != null) {
IconButton(onClick = onToggleViewMode) {
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't quite sure where this button should live in the new layout. Personally, I'd happily get rid of it and just display a grid or row dependent on type for the moment.

One interesting side effect of showing it here is that you get a grid/row selector in multiple places on artist screens (for albums and for tracks). This is a little weird because toggling on toggles the other, but eventually I think it would make sense to store a different layout mode for each type (rather than a global one). That's assuming we are going to keep the button!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would still leave the button - functionality is already there, and more choice for users is always better.
Probably worth making it smaller and putting somewhere on top-right? So it doesn't mess with main layout much.

Definitely no sense displaying it separately for albums and tracks. :) it's global, at least for now.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'd planned to put a top right overflow menu in for non-play actions though. We could just add it in there? Not quite as natural, but at least it's still there for people who want it.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, upon adding three-dot menu we can keep it there.

@seadowg seadowg deleted the new-album-ui branch February 25, 2026 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants