discourse/app/assets/javascripts/admin/addon/components/admin-config-areas
Kris ed6ed00fa7
UX: unify filters for colors, themes, and components (#33863)
I'd like to unify our admin filtering around a central component that
achieves some simple styling. It looks like this:

<img width="2190" height="328" alt="image"
src="https://github.com/user-attachments/assets/ae223ab9-e12f-4e99-a2b8-968aa3a51805"
/>

This sort of filter has already been implemented in the AI plugin, for
the plugin index, and for color palettes. These implementations haven't
been all tied up into a single component yet.

In this PR I've put some stand-alone filters through the new
`AdminFilterControls` component.

This includes: 

* Filtering by theme (when you have 8 or more themes). We didn't have a
filter here yet, but it's useful in some extreme cases (including
development!)

* Filtering by color palette. This existed already, but now uses the
shared component.

* Filtering by component. We already had a filter here, but it wasn't
using this new unified style. This was a little trickier because it's
not unusual for sites to have many components, so we paginate and filter
these server-side. I've added support for callbacks in
`AdminFilterControls` so it can support either client or server based
filtering.

<img width="2206" height="1108" alt="image"
src="https://github.com/user-attachments/assets/6ce6d2f1-1ed1-4168-a6fc-77760fd34384"
/>


<img width="2204" height="1182" alt="image"
src="https://github.com/user-attachments/assets/b0409bc3-9da0-4ae1-b1a3-dd3dcde2a0b3"
/>

<img width="2224" height="1156" alt="image"
src="https://github.com/user-attachments/assets/f82ef6dd-f5d4-46f0-9a57-00349522ef8f"
/>
2025-07-31 09:20:50 -04:00
..
about.gjs DEV: Have about page extra groups depend on groups selected (#33095) 2025-06-06 11:25:59 +08:00
api-keys-list.gjs DEV: Use reusable d-table instead of admin-only styles (#33531) 2025-07-10 19:58:04 -06:00
api-keys-new.gjs DEV: Move admin only constants into admin bundle (#32141) 2025-04-03 14:28:36 +08:00
api-keys-show.gjs DEV: Convert admin API keys to conform to UI guidelines (#30660) 2025-01-09 10:57:40 +08:00
color-palette.gjs FEAT: Add clipboard button to new palette UI (#33430) 2025-07-03 08:09:49 +03:00
color-palettes.gjs UX: Various improvements to the new color palette page (#32597) 2025-05-07 17:53:50 +03:00
components.gjs UX: unify filters for colors, themes, and components (#33863) 2025-07-31 09:20:50 -04:00
emojis-list.gjs DEV: Use reusable d-table instead of admin-only styles (#33531) 2025-07-10 19:58:04 -06:00
emojis-new.gjs DEV: Move admin config pages out of /customize/ sub-route (#30511) 2025-01-02 09:13:11 +10:00
flags.gjs DEV: Use reusable d-table instead of admin-only styles (#33531) 2025-07-10 19:58:04 -06:00
themes.gjs UX: unify filters for colors, themes, and components (#33863) 2025-07-31 09:20:50 -04:00
user-fields-list.gjs DEV: Use reusable d-table instead of admin-only styles (#33531) 2025-07-10 19:58:04 -06:00
webhooks-form.gjs FIX: Allow setting blank secret on an existing webhook (#33096) 2025-06-11 09:53:12 +08:00
webhooks-list.gjs DEV: Use reusable d-table instead of admin-only styles (#33531) 2025-07-10 19:58:04 -06:00