Beatbump icon indicating copy to clipboard operation
Beatbump copied to clipboard

Boxes around everything

Open davidcollini opened this issue 3 years ago • 7 comments

Beatbump uses visible boxes for grouping elements and making sure they behave properly but the problem for me is that they make the website look bad, I'm not sure if there's a way these boxes can blend into the background or if they're not needed at all but I think it would be better without them ex: image!!image

davidcollini avatar Mar 31 '22 02:03 davidcollini

Totally get what you mean. It’s leftover from way long ago that I haven’t touched really since, aside from tweaks and fixes.

Along with a code rewrite, a UI touch up/reworking was in the cards as well. So perfect timing you posted this.

although not finished with the design, I’ve pushed the beginnings of some minor UI changes to production 0901F5CB-0061-4852-B654-78819581A64D

I’ll leave this open for any other related inquiries you may have!

snuffyDev avatar Apr 01 '22 19:04 snuffyDev

Is getting rid of boxes around songs on artist's pages and the home page gonna be something for the UI overhaul? Also I think that using the space leftover from the boxes to make albums bigger would be a good idea since the albums on artists pages for the YouTube music app are big and I think it looks nice, also another UI improvement would be to get rid of the Grey lines between songs since I don't think it looks that good plus YouTube music doesn't have those lines (here's images of what I'm talking about)imageimageimage![image]![image]image Keep up the great work though, I'm finishing my school's Java class and have been attempting to learn Svelte in my free time, so I'll be opening pull requests instead of issues when the rewrite is done :)

davidcollini avatar Apr 01 '22 21:04 davidcollini

The main reason for the lines between songs was in case it helps someone with a visual impairment since it helps “separate the concerns”. I think the borders should stay for that reason since I do intend on making Beatbump as accessible as it can be.

snuffyDev avatar Apr 02 '22 10:04 snuffyDev

I agree with you about that, and have deleted the comments I made about the album size, since I think it looks good now, but for a lot of albums, the name of the artist doesn't show up below each song in the album and this applies for desktop and mobile, the albums personally look a lot better with the artist name under each song EDE0D5E9-BD5E-412C-A357-045EB8969DD0 B426D87C-0AA4-4949-9127-C2AB87256AC1

davidcollini avatar Apr 05 '22 01:04 davidcollini

Unfortunately, at least directly from their API, it's hit or miss with albums/singles having an artist name attached to tracks.

For example, here's a song that has the artist name attached (path is musicResponsiveListItemRenderer.flexColumns[1]):

{
    "trackingParams": "CNcCEMn0AhgAIhMImeyZmv6B9wIVCN-cCh1bgA77",
    "overlay": {
        "musicItemThumbnailOverlayRenderer": {
            "background": {
                "verticalGradient": {
                    "gradientLayerColors": [
                        "3422552064",
                        "3422552064"
                    ]
                }
            },
            "content": {
                "musicPlayButtonRenderer": {
                    "playNavigationEndpoint": {
                        "clickTrackingParams": "COYCEMjeAiITCJnsmZr-gfcCFQjfnAodW4AO-w==",
                        "watchEndpoint": {
                            "videoId": "acfQ_o-wtHw",
                            "playlistId": "OLAK5uy_nvuWWEh7Q_pZtzq8IWD-csl0twDoTqc_A",
                            "loggingContext": {
                                "vssLoggingContext": {
                                    "serializedContextData": "GilPTEFLNXV5X252dVdXRWg3UV9wWnR6cThJV0QtY3NsMHR3RG9UcWNfQQ%3D%3D"
                                }
                            },
                            "watchEndpointMusicSupportedConfigs": {
                                "watchEndpointMusicConfig": {
                                    "musicVideoType": "MUSIC_VIDEO_TYPE_OMV"
                                }
                            }
                        }
                    },
                    "trackingParams": "COYCEMjeAiITCJnsmZr-gfcCFQjfnAodW4AO-w==",
                    "playIcon": {
                        "iconType": "PLAY_ARROW"
                    },
                    "pauseIcon": {
                        "iconType": "PAUSE"
                    },
                    "iconColor": 4294967295,
                    "backgroundColor": 0,
                    "activeBackgroundColor": 0,
                    "loadingIndicatorColor": 4294901760,
                    "playingIcon": {
                        "iconType": "VOLUME_UP"
                    },
                    "iconLoadingColor": 0,
                    "activeScaleFactor": 1,
                    "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL",
                    "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF",
                    "accessibilityPlayData": {
                        "accessibilityData": {
                            "label": "Play Painting Pictures - Polo G"
                        }
                    },
                    "accessibilityPauseData": {
                        "accessibilityData": {
                            "label": "Pause Painting Pictures - Polo G"
                        }
                    }
                }
            },
            "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED",
            "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT"
        }
    },
    "flexColumns": [
        {
            "musicResponsiveListItemFlexColumnRenderer": {
                "text": {
                    "runs": [
                        {
                            "text": "Painting Pictures",
                            "navigationEndpoint": {
                                "clickTrackingParams": "CNcCEMn0AhgAIhMImeyZmv6B9wIVCN-cCh1bgA77",
                                "watchEndpoint": {
                                    "videoId": "acfQ_o-wtHw",
                                    "playlistId": "OLAK5uy_nvuWWEh7Q_pZtzq8IWD-csl0twDoTqc_A",
                                    "loggingContext": {
                                        "vssLoggingContext": {
                                            "serializedContextData": "GilPTEFLNXV5X252dVdXRWg3UV9wWnR6cThJV0QtY3NsMHR3RG9UcWNfQQ%3D%3D"
                                        }
                                    },
                                    "watchEndpointMusicSupportedConfigs": {
                                        "watchEndpointMusicConfig": {
                                            "musicVideoType": "MUSIC_VIDEO_TYPE_OMV"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH"
            }
        },
        {
            "musicResponsiveListItemFlexColumnRenderer": {
                "text": {
                    "runs": [
                        {
                            "text": "Polo G",
                            "navigationEndpoint": {
                                "clickTrackingParams": "CNcCEMn0AhgAIhMImeyZmv6B9wIVCN-cCh1bgA77",
                                "browseEndpoint": {
                                    "browseId": "UCBeXuLfTU8vI-BQKImvEK3Q",
                                    "browseEndpointContextSupportedConfigs": {
                                        "browseEndpointContextMusicConfig": {
                                            "pageType": "MUSIC_PAGE_TYPE_ARTIST"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH"
            }
        }
    ],
    "fixedColumns": [
        {
            "musicResponsiveListItemFixedColumnRenderer": {
                "text": {
                    "runs": [
                        {
                            "text": "2:18"
                        }
                    ]
                },
                "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH",
                "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL"
            }
        }
    ],
    "menu": {
        "menuRenderer": {
            "items": [
                {
                    "menuNavigationItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Start radio"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "MIX"
                        },
                        "navigationEndpoint": {
                            "clickTrackingParams": "COUCEJvzBRgAIhMImeyZmv6B9wIVCN-cCh1bgA77",
                            "watchEndpoint": {
                                "videoId": "acfQ_o-wtHw",
                                "playlistId": "RDAMVMacfQ_o-wtHw",
                                "params": "wAEB",
                                "loggingContext": {
                                    "vssLoggingContext": {
                                        "serializedContextData": "GhFSREFNVk1hY2ZRX28td3RIdw%3D%3D"
                                    }
                                },
                                "watchEndpointMusicSupportedConfigs": {
                                    "watchEndpointMusicConfig": {
                                        "musicVideoType": "MUSIC_VIDEO_TYPE_OMV"
                                    }
                                }
                            }
                        },
                        "trackingParams": "COUCEJvzBRgAIhMImeyZmv6B9wIVCN-cCh1bgA77"
                    }
                },
                {
                    "menuServiceItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Play next"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "QUEUE_PLAY_NEXT"
                        },
                        "serviceEndpoint": {
                            "clickTrackingParams": "COMCEL7uBRgBIhMImeyZmv6B9wIVCN-cCh1bgA77",
                            "queueAddEndpoint": {
                                "queueTarget": {
                                    "videoId": "acfQ_o-wtHw"
                                },
                                "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO",
                                "commands": [
                                    {
                                        "clickTrackingParams": "COMCEL7uBRgBIhMImeyZmv6B9wIVCN-cCh1bgA77",
                                        "addToToastAction": {
                                            "item": {
                                                "notificationTextRenderer": {
                                                    "successResponseText": {
                                                        "runs": [
                                                            {
                                                                "text": "Song will play next"
                                                            }
                                                        ]
                                                    },
                                                    "trackingParams": "COQCEMrHAyITCJnsmZr-gfcCFQjfnAodW4AO-w=="
                                                }
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "trackingParams": "COMCEL7uBRgBIhMImeyZmv6B9wIVCN-cCh1bgA77"
                    }
                },
                {
                    "menuServiceItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Add to queue"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "ADD_TO_REMOTE_QUEUE"
                        },
                        "serviceEndpoint": {
                            "clickTrackingParams": "COECEPvvBRgCIhMImeyZmv6B9wIVCN-cCh1bgA77",
                            "queueAddEndpoint": {
                                "queueTarget": {
                                    "videoId": "acfQ_o-wtHw"
                                },
                                "queueInsertPosition": "INSERT_AT_END",
                                "commands": [
                                    {
                                        "clickTrackingParams": "COECEPvvBRgCIhMImeyZmv6B9wIVCN-cCh1bgA77",
                                        "addToToastAction": {
                                            "item": {
                                                "notificationTextRenderer": {
                                                    "successResponseText": {
                                                        "runs": [
                                                            {
                                                                "text": "Song added to queue"
                                                            }
                                                        ]
                                                    },
                                                    "trackingParams": "COICEMrHAyITCJnsmZr-gfcCFQjfnAodW4AO-w=="
                                                }
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "trackingParams": "COECEPvvBRgCIhMImeyZmv6B9wIVCN-cCh1bgA77"
                    }
                },
                {
                    "menuNavigationItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Add to playlist"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "ADD_TO_PLAYLIST"
                        },
                        "navigationEndpoint": {
                            "clickTrackingParams": "CN8CEMOUBhgDIhMImeyZmv6B9wIVCN-cCh1bgA77",
                            "modalEndpoint": {
                                "modal": {
                                    "modalWithTitleAndButtonRenderer": {
                                        "title": {
                                            "runs": [
                                                {
                                                    "text": "Save this for later"
                                                }
                                            ]
                                        },
                                        "content": {
                                            "runs": [
                                                {
                                                    "text": "Make playlists and share them after signing in"
                                                }
                                            ]
                                        },
                                        "button": {
                                            "buttonRenderer": {
                                                "style": "STYLE_BLUE_TEXT",
                                                "isDisabled": false,
                                                "text": {
                                                    "runs": [
                                                        {
                                                            "text": "Sign in"
                                                        }
                                                    ]
                                                },
                                                "navigationEndpoint": {
                                                    "clickTrackingParams": "COACEPBbIhMImeyZmv6B9wIVCN-cCh1bgA77",
                                                    "signInEndpoint": {
                                                        "hack": true
                                                    }
                                                },
                                                "trackingParams": "COACEPBbIhMImeyZmv6B9wIVCN-cCh1bgA77"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "trackingParams": "CN8CEMOUBhgDIhMImeyZmv6B9wIVCN-cCh1bgA77"
                    }
                },
                {
                    "menuNavigationItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Go to artist"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "ARTIST"
                        },
                        "navigationEndpoint": {
                            "clickTrackingParams": "CN4CEJD7BRgEIhMImeyZmv6B9wIVCN-cCh1bgA77",
                            "browseEndpoint": {
                                "browseId": "UCBeXuLfTU8vI-BQKImvEK3Q",
                                "browseEndpointContextSupportedConfigs": {
                                    "browseEndpointContextMusicConfig": {
                                        "pageType": "MUSIC_PAGE_TYPE_ARTIST"
                                    }
                                }
                            }
                        },
                        "trackingParams": "CN4CEJD7BRgEIhMImeyZmv6B9wIVCN-cCh1bgA77"
                    }
                },
                {
                    "menuNavigationItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Share"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "SHARE"
                        },
                        "navigationEndpoint": {
                            "clickTrackingParams": "CN0CEJH7BRgFIhMImeyZmv6B9wIVCN-cCh1bgA77",
                            "shareEntityEndpoint": {
                                "serializedShareEntity": "CgthY2ZRX28td3RIdw%3D%3D",
                                "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL"
                            }
                        },
                        "trackingParams": "CN0CEJH7BRgFIhMImeyZmv6B9wIVCN-cCh1bgA77"
                    }
                }
            ],
            "trackingParams": "CNkCEKc7IhMImeyZmv6B9wIVCN-cCh1bgA77",
            "topLevelButtons": [
                {
                    "likeButtonRenderer": {
                        "target": {
                            "videoId": "acfQ_o-wtHw"
                        },
                        "likeStatus": "INDIFFERENT",
                        "trackingParams": "CNoCEKVBGAYiEwiZ7Jma_oH3AhUI35wKHVuADvs=",
                        "likesAllowed": true,
                        "dislikeNavigationEndpoint": {
                            "clickTrackingParams": "CNoCEKVBGAYiEwiZ7Jma_oH3AhUI35wKHVuADvs=",
                            "modalEndpoint": {
                                "modal": {
                                    "modalWithTitleAndButtonRenderer": {
                                        "title": {
                                            "runs": [
                                                {
                                                    "text": "Not a fan?"
                                                }
                                            ]
                                        },
                                        "content": {
                                            "runs": [
                                                {
                                                    "text": "Improve your recommendations after signing in"
                                                }
                                            ]
                                        },
                                        "button": {
                                            "buttonRenderer": {
                                                "style": "STYLE_BLUE_TEXT",
                                                "isDisabled": false,
                                                "text": {
                                                    "runs": [
                                                        {
                                                            "text": "Sign in"
                                                        }
                                                    ]
                                                },
                                                "navigationEndpoint": {
                                                    "clickTrackingParams": "CNwCEPBbIhMImeyZmv6B9wIVCN-cCh1bgA77",
                                                    "signInEndpoint": {
                                                        "hack": true
                                                    }
                                                },
                                                "trackingParams": "CNwCEPBbIhMImeyZmv6B9wIVCN-cCh1bgA77"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "likeCommand": {
                            "clickTrackingParams": "CNoCEKVBGAYiEwiZ7Jma_oH3AhUI35wKHVuADvs=",
                            "modalEndpoint": {
                                "modal": {
                                    "modalWithTitleAndButtonRenderer": {
                                        "title": {
                                            "runs": [
                                                {
                                                    "text": "Like this song"
                                                }
                                            ]
                                        },
                                        "content": {
                                            "runs": [
                                                {
                                                    "text": "Improve recommendations and save music after signing in"
                                                }
                                            ]
                                        },
                                        "button": {
                                            "buttonRenderer": {
                                                "style": "STYLE_BLUE_TEXT",
                                                "isDisabled": false,
                                                "text": {
                                                    "runs": [
                                                        {
                                                            "text": "Sign in"
                                                        }
                                                    ]
                                                },
                                                "navigationEndpoint": {
                                                    "clickTrackingParams": "CNsCEPBbIhMImeyZmv6B9wIVCN-cCh1bgA77",
                                                    "signInEndpoint": {
                                                        "hack": true
                                                    }
                                                },
                                                "trackingParams": "CNsCEPBbIhMImeyZmv6B9wIVCN-cCh1bgA77"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            ],
            "accessibility": {
                "accessibilityData": {
                    "label": "Action menu"
                }
            }
        }
    },
    "badges": [
        {
            "musicInlineBadgeRenderer": {
                "trackingParams": "CNgCEKHtAhgDIhMImeyZmv6B9wIVCN-cCh1bgA77",
                "icon": {
                    "iconType": "MUSIC_EXPLICIT_BADGE"
                },
                "accessibilityData": {
                    "accessibilityData": {
                        "label": "Explicit"
                    }
                }
            }
        }
    ],
    "playlistItemData": {
        "playlistSetVideoId": "7B3CE8E6D2E112BB",
        "videoId": "acfQ_o-wtHw"
    },
    "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM",
    "index": {
        "runs": [
            {
                "text": "1"
            }
        ]
    }
}

(from https://beatbump.ml/release?type=MUSIC_PAGE_TYPE_ALBUM&id=MPREb_q2vvG8lGKg0)

The one above provides all of the information needed to display the artist name as well as link to their page when you click on their name.

Where as this one from a different release doesn't have any data under the path musicResponsiveListItemRenderer.flexColumns[1]:

{
    "trackingParams": "CJcCEMn0AhgAIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
    "overlay": {
        "musicItemThumbnailOverlayRenderer": {
            "background": {
                "verticalGradient": {
                    "gradientLayerColors": [
                        "3422552064",
                        "3422552064"
                    ]
                }
            },
            "content": {
                "musicPlayButtonRenderer": {
                    "playNavigationEndpoint": {
                        "clickTrackingParams": "CKYCEMjeAiITCO6Pkc7_gfcCFcW9nAod8yUBpg==",
                        "watchEndpoint": {
                            "videoId": "-yIVRRN42oU",
                            "playlistId": "OLAK5uy_n7vCVDDMq2Sfr218X15QevGUHAsSYWTG8",
                            "loggingContext": {
                                "vssLoggingContext": {
                                    "serializedContextData": "GilPTEFLNXV5X243dkNWRERNcTJTZnIyMThYMTVRZXZHVUhBc1NZV1RHOA%3D%3D"
                                }
                            },
                            "watchEndpointMusicSupportedConfigs": {
                                "watchEndpointMusicConfig": {
                                    "musicVideoType": "MUSIC_VIDEO_TYPE_OMV"
                                }
                            }
                        }
                    },
                    "trackingParams": "CKYCEMjeAiITCO6Pkc7_gfcCFcW9nAod8yUBpg==",
                    "playIcon": {
                        "iconType": "PLAY_ARROW"
                    },
                    "pauseIcon": {
                        "iconType": "PAUSE"
                    },
                    "iconColor": 4294967295,
                    "backgroundColor": 0,
                    "activeBackgroundColor": 0,
                    "loadingIndicatorColor": 4294901760,
                    "playingIcon": {
                        "iconType": "VOLUME_UP"
                    },
                    "iconLoadingColor": 0,
                    "activeScaleFactor": 1,
                    "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL",
                    "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF",
                    "accessibilityPlayData": {
                        "accessibilityData": {
                            "label": "Play Don't Believe The Hype - Polo G"
                        }
                    },
                    "accessibilityPauseData": {
                        "accessibilityData": {
                            "label": "Pause Don't Believe The Hype - Polo G"
                        }
                    }
                }
            },
            "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED",
            "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT"
        }
    },
    "flexColumns": [
        {
            "musicResponsiveListItemFlexColumnRenderer": {
                "text": {
                    "runs": [
                        {
                            "text": "Don't Believe The Hype",
                            "navigationEndpoint": {
                                "clickTrackingParams": "CJcCEMn0AhgAIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                                "watchEndpoint": {
                                    "videoId": "-yIVRRN42oU",
                                    "playlistId": "OLAK5uy_n7vCVDDMq2Sfr218X15QevGUHAsSYWTG8",
                                    "loggingContext": {
                                        "vssLoggingContext": {
                                            "serializedContextData": "GilPTEFLNXV5X243dkNWRERNcTJTZnIyMThYMTVRZXZHVUhBc1NZV1RHOA%3D%3D"
                                        }
                                    },
                                    "watchEndpointMusicSupportedConfigs": {
                                        "watchEndpointMusicConfig": {
                                            "musicVideoType": "MUSIC_VIDEO_TYPE_OMV"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH"
            }
        },
        {
            "musicResponsiveListItemFlexColumnRenderer": {
                "text": {},
                "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH"
            }
        }
    ],
    "fixedColumns": [
        {
            "musicResponsiveListItemFixedColumnRenderer": {
                "text": {
                    "runs": [
                        {
                            "text": "2:55"
                        }
                    ]
                },
                "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH",
                "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL"
            }
        }
    ],
    "menu": {
        "menuRenderer": {
            "items": [
                {
                    "menuNavigationItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Start radio"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "MIX"
                        },
                        "navigationEndpoint": {
                            "clickTrackingParams": "CKUCEJvzBRgAIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                            "watchEndpoint": {
                                "videoId": "-yIVRRN42oU",
                                "playlistId": "RDAMVM-yIVRRN42oU",
                                "params": "wAEB",
                                "loggingContext": {
                                    "vssLoggingContext": {
                                        "serializedContextData": "GhFSREFNVk0teUlWUlJONDJvVQ%3D%3D"
                                    }
                                },
                                "watchEndpointMusicSupportedConfigs": {
                                    "watchEndpointMusicConfig": {
                                        "musicVideoType": "MUSIC_VIDEO_TYPE_OMV"
                                    }
                                }
                            }
                        },
                        "trackingParams": "CKUCEJvzBRgAIhMI7o-Rzv-B9wIVxb2cCh3zJQGm"
                    }
                },
                {
                    "menuServiceItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Play next"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "QUEUE_PLAY_NEXT"
                        },
                        "serviceEndpoint": {
                            "clickTrackingParams": "CKMCEL7uBRgBIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                            "queueAddEndpoint": {
                                "queueTarget": {
                                    "videoId": "-yIVRRN42oU"
                                },
                                "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO",
                                "commands": [
                                    {
                                        "clickTrackingParams": "CKMCEL7uBRgBIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                                        "addToToastAction": {
                                            "item": {
                                                "notificationTextRenderer": {
                                                    "successResponseText": {
                                                        "runs": [
                                                            {
                                                                "text": "Song will play next"
                                                            }
                                                        ]
                                                    },
                                                    "trackingParams": "CKQCEMrHAyITCO6Pkc7_gfcCFcW9nAod8yUBpg=="
                                                }
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "trackingParams": "CKMCEL7uBRgBIhMI7o-Rzv-B9wIVxb2cCh3zJQGm"
                    }
                },
                {
                    "menuServiceItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Add to queue"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "ADD_TO_REMOTE_QUEUE"
                        },
                        "serviceEndpoint": {
                            "clickTrackingParams": "CKECEPvvBRgCIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                            "queueAddEndpoint": {
                                "queueTarget": {
                                    "videoId": "-yIVRRN42oU"
                                },
                                "queueInsertPosition": "INSERT_AT_END",
                                "commands": [
                                    {
                                        "clickTrackingParams": "CKECEPvvBRgCIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                                        "addToToastAction": {
                                            "item": {
                                                "notificationTextRenderer": {
                                                    "successResponseText": {
                                                        "runs": [
                                                            {
                                                                "text": "Song added to queue"
                                                            }
                                                        ]
                                                    },
                                                    "trackingParams": "CKICEMrHAyITCO6Pkc7_gfcCFcW9nAod8yUBpg=="
                                                }
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "trackingParams": "CKECEPvvBRgCIhMI7o-Rzv-B9wIVxb2cCh3zJQGm"
                    }
                },
                {
                    "menuNavigationItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Add to playlist"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "ADD_TO_PLAYLIST"
                        },
                        "navigationEndpoint": {
                            "clickTrackingParams": "CJ8CEMOUBhgDIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                            "modalEndpoint": {
                                "modal": {
                                    "modalWithTitleAndButtonRenderer": {
                                        "title": {
                                            "runs": [
                                                {
                                                    "text": "Save this for later"
                                                }
                                            ]
                                        },
                                        "content": {
                                            "runs": [
                                                {
                                                    "text": "Make playlists and share them after signing in"
                                                }
                                            ]
                                        },
                                        "button": {
                                            "buttonRenderer": {
                                                "style": "STYLE_BLUE_TEXT",
                                                "isDisabled": false,
                                                "text": {
                                                    "runs": [
                                                        {
                                                            "text": "Sign in"
                                                        }
                                                    ]
                                                },
                                                "navigationEndpoint": {
                                                    "clickTrackingParams": "CKACEPBbIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                                                    "signInEndpoint": {
                                                        "hack": true
                                                    }
                                                },
                                                "trackingParams": "CKACEPBbIhMI7o-Rzv-B9wIVxb2cCh3zJQGm"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "trackingParams": "CJ8CEMOUBhgDIhMI7o-Rzv-B9wIVxb2cCh3zJQGm"
                    }
                },
                {
                    "menuNavigationItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Go to artist"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "ARTIST"
                        },
                        "navigationEndpoint": {
                            "clickTrackingParams": "CJ4CEJD7BRgEIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                            "browseEndpoint": {
                                "browseId": "UCBeXuLfTU8vI-BQKImvEK3Q",
                                "browseEndpointContextSupportedConfigs": {
                                    "browseEndpointContextMusicConfig": {
                                        "pageType": "MUSIC_PAGE_TYPE_ARTIST"
                                    }
                                }
                            }
                        },
                        "trackingParams": "CJ4CEJD7BRgEIhMI7o-Rzv-B9wIVxb2cCh3zJQGm"
                    }
                },
                {
                    "menuNavigationItemRenderer": {
                        "text": {
                            "runs": [
                                {
                                    "text": "Share"
                                }
                            ]
                        },
                        "icon": {
                            "iconType": "SHARE"
                        },
                        "navigationEndpoint": {
                            "clickTrackingParams": "CJ0CEJH7BRgFIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                            "shareEntityEndpoint": {
                                "serializedShareEntity": "CgsteUlWUlJONDJvVQ%3D%3D",
                                "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL"
                            }
                        },
                        "trackingParams": "CJ0CEJH7BRgFIhMI7o-Rzv-B9wIVxb2cCh3zJQGm"
                    }
                }
            ],
            "trackingParams": "CJkCEKc7IhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
            "topLevelButtons": [
                {
                    "likeButtonRenderer": {
                        "target": {
                            "videoId": "-yIVRRN42oU"
                        },
                        "likeStatus": "INDIFFERENT",
                        "trackingParams": "CJoCEKVBGAYiEwjuj5HO_4H3AhXFvZwKHfMlAaY=",
                        "likesAllowed": true,
                        "dislikeNavigationEndpoint": {
                            "clickTrackingParams": "CJoCEKVBGAYiEwjuj5HO_4H3AhXFvZwKHfMlAaY=",
                            "modalEndpoint": {
                                "modal": {
                                    "modalWithTitleAndButtonRenderer": {
                                        "title": {
                                            "runs": [
                                                {
                                                    "text": "Not a fan?"
                                                }
                                            ]
                                        },
                                        "content": {
                                            "runs": [
                                                {
                                                    "text": "Improve your recommendations after signing in"
                                                }
                                            ]
                                        },
                                        "button": {
                                            "buttonRenderer": {
                                                "style": "STYLE_BLUE_TEXT",
                                                "isDisabled": false,
                                                "text": {
                                                    "runs": [
                                                        {
                                                            "text": "Sign in"
                                                        }
                                                    ]
                                                },
                                                "navigationEndpoint": {
                                                    "clickTrackingParams": "CJwCEPBbIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                                                    "signInEndpoint": {
                                                        "hack": true
                                                    }
                                                },
                                                "trackingParams": "CJwCEPBbIhMI7o-Rzv-B9wIVxb2cCh3zJQGm"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "likeCommand": {
                            "clickTrackingParams": "CJoCEKVBGAYiEwjuj5HO_4H3AhXFvZwKHfMlAaY=",
                            "modalEndpoint": {
                                "modal": {
                                    "modalWithTitleAndButtonRenderer": {
                                        "title": {
                                            "runs": [
                                                {
                                                    "text": "Like this song"
                                                }
                                            ]
                                        },
                                        "content": {
                                            "runs": [
                                                {
                                                    "text": "Improve recommendations and save music after signing in"
                                                }
                                            ]
                                        },
                                        "button": {
                                            "buttonRenderer": {
                                                "style": "STYLE_BLUE_TEXT",
                                                "isDisabled": false,
                                                "text": {
                                                    "runs": [
                                                        {
                                                            "text": "Sign in"
                                                        }
                                                    ]
                                                },
                                                "navigationEndpoint": {
                                                    "clickTrackingParams": "CJsCEPBbIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                                                    "signInEndpoint": {
                                                        "hack": true
                                                    }
                                                },
                                                "trackingParams": "CJsCEPBbIhMI7o-Rzv-B9wIVxb2cCh3zJQGm"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            ],
            "accessibility": {
                "accessibilityData": {
                    "label": "Action menu"
                }
            }
        }
    },
    "badges": [
        {
            "musicInlineBadgeRenderer": {
                "trackingParams": "CJgCEKHtAhgDIhMI7o-Rzv-B9wIVxb2cCh3zJQGm",
                "icon": {
                    "iconType": "MUSIC_EXPLICIT_BADGE"
                },
                "accessibilityData": {
                    "accessibilityData": {
                        "label": "Explicit"
                    }
                }
            }
        }
    ],
    "playlistItemData": {
        "playlistSetVideoId": "95A164F87A797E96",
        "videoId": "-yIVRRN42oU"
    },
    "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM",
    "index": {
        "runs": [
            {
                "text": "1"
            }
        ]
    }
}

(can be found here: https://beatbump.ml/release?type=MUSIC_PAGE_TYPE_ALBUM&id=MPREb_octN2WL2eqG)

While it'd be possible to mess around with the parser itself, or the ListItem component (since technically I already have all the needed data) -- I think it's unlikely to happen. The main reason why I think this is because if I mess with the parser, there'd be a lot more steps in the parsing process (which will affect each page) that could potentially break. But on the other hand if I mess with the component things, once again, could break. I'll see if there's any solution I can come up with once I start rewriting more towards that end of things, but I cannot guarantee that it'll be something I can easily implement

snuffyDev avatar Apr 07 '22 13:04 snuffyDev

Music.YouTube.com has this problem, but the app doesn't, so this feature is possible to implement in a stable way, but don't feel like you need to sacrifice stability or speed to implement this, so only implement this when you believe it's ready :) also it'd be cool to add the song length after the artists name in albums and numbers before songs in albums (since numbers before songs in albums go away when the screen is smaller on Beatbump) like the YouTube music app does, since I think it looks good, but you don't need to add the the time of the song if the artist isn't found image

davidcollini avatar Apr 07 '22 14:04 davidcollini

Also for the name of the artist in albums, could you get the name the same way you get the artists name for songs in custom playlists?

davidcollini avatar Apr 07 '22 19:04 davidcollini

Thanks for the fix :)

davidcollini avatar Aug 14 '22 15:08 davidcollini