Problem/Motivation
Follow-up to discussion on #2860419: [Meta] Appearance page is too long and confusing and during #3249152: Drupal Usability Meeting 2021-11-12.
Currently, there are two different concepts on the Appearance page. On one hand, you have the Install, Uninstall, and Settings buttons leading either to a redirect to the corresponding settings page or the direct installation with the Set as default option or the uninstall of the chosen theme. Those buttons are unusual for the Drupal admin user experience, where you are normally unable to trigger a process without submitting a form first.
But on the other hand you then also have a form at the bottom of the page spatially and functionally separated, where you can select the Admin Theme and set one related option. To set the Admin Theme you have to submit the form in contrast to the direct action buttons - where you are able to directly set the Default Theme without a form submission.

Proposed resolution
Would it make sense and be technically possible in the first place to remove the form at the bottom of the page and move the Use the administration theme when editing or creating content checkbox up to the active Admin Theme section (see form_submissions.png)?
The process previously triggered clicking the Save configuration button might now be run every time an Install, Set as default, Set as admin, Set as default & admin or Install and set as default & admin button is clicked or if the state of the Use the administration theme when editing or creating content checkbox is changed underneath the admin theme card. That way there wouldn't be a mix of a form and the direct action buttons - the necessity of a form submission would be obsolete.

In regards of the direct action buttons there are two options.
- It might be a reasonable step to introduce drop buttons to group similar actions. I've exemplary expanded two different cases in the mockup. For uninstalled themes, you have one button to install the theme and one drop button to
Install and set as default,Install and set as adminandInstall and set as default & admin, taking care of the ability that a single theme could be selected as Default Theme and Admin Theme at the same time.
For installed themes, you have theSettingsbutton, a drop button forSet as default,Set as adminandSet as default & admin. For none base themes of Default or Admin themes, there would be an Uninstall-button as well. The default theme has only theSettingsbutton and aSet as adminbutton" while the Admin theme has aSettingsbutton and aSet as defaultbutton. In case the same theme is selected as Default and Admin Theme there should beSettingsbuttons only (The ability and foundation only the buttons that make sense are displayed is based on #3249371: Enable themes to describe themeselves as admin or default in the info.yml file - The other option might be, since the space on a card is limited to reduce the number of action buttons on cards and move everything or at least most of the button functionality to dedicated theme preview pages proposed in the following issue #3249371: Enable themes to describe themeselves as admin or default in the info.yml file
Remaining tasks
1. Evaluate & discuss if the the removal of the Admin Theme form and making all form submissions consistent on the Appearance page is a viable approach
2. Discuss and decide how to handle the action buttons. With the introduction of drop down buttons or moving most of the button functionality to preview pages
3. tbd
| Comment | File | Size | Author |
|---|---|---|---|
| form_submissions.png | 82.29 KB | rkoller | |
| current.png | 140.1 KB | rkoller |
Comments
Comment #2
aaronmchaleComment #3
aaronmchaleFixing issue links.
Comment #4
aaronmchaleI wonder if we should do #3249355: Implement theme preview functionality first, and postpone this issue on that one. The reason being that we could potentially solve this problem by implementing a two-step process, whereby you first open the theme preview, and on that screen you are clearly presented with all or some of the options, specifically: Set as default, Set as admin.
I might leave the "Uninstall" option out of that. Perhaps we just follow the pattern of the modules Extend interface and have a separate screen for uninstalling, where you see all of the themes that are eligible to be uninstalled and you can select which ones you want to uninstall.
Comment #5
aaronmchale