discourse/app/assets/stylesheets/admin/admin_section_landing_page.scss
Kris 42b3148f7b
UX: don't highlight admin content on hover if it isn't clickable (#34332)
This resolves a number of cases where we were highlighting content on
hover that isn't clickable.


Common table example

Before:
<img width="1726" height="548" alt="image"
src="https://github.com/user-attachments/assets/24635052-0efd-4c02-b75b-dc3901acd799"
/>


After:
<img width="1744" height="550" alt="image"
src="https://github.com/user-attachments/assets/73837bff-532b-48ec-99de-2e579221eccb"
/>




Reports are a case where the box *should* be clickable, so I kept the
hover effect and made the box clickable via changes to
`admin-section-landing-item`...

Before: 
<img width="1710" height="838" alt="image"
src="https://github.com/user-attachments/assets/a8bc8f67-5f1f-44c1-8de7-e64c1a60fd49"
/>


After (removed the blue because the headings aren't actually links
anymore, the whole box is):
<img width="1732" height="922" alt="image"
src="https://github.com/user-attachments/assets/2fb5b63a-1cdc-4fc9-906a-c343c26cd025"
/>

In cases where these boxes have buttons, the inner title (if linked) and
buttons are clickable, not the box...

<img width="400" alt="image"
src="https://github.com/user-attachments/assets/3bf04522-179b-49e6-ae0a-f5d3714b94ec"
/>
2025-08-14 15:59:29 -04:00

76 lines
1.4 KiB
SCSS
Vendored

@use "lib/viewport";
.admin-section-landing-wrapper {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(16em, 1fr));
gap: 1em 2em;
margin-top: 1em;
padding-top: 1em;
.admin-section-landing-item {
display: grid;
grid-template-rows: subgrid;
grid-template-columns: 1fr;
grid-row: span 2;
gap: 0;
margin-bottom: 2em;
padding: var(--space-4);
color: var(--primary);
@include viewport.from(sm) {
margin-bottom: 2em;
}
&.--has-icon {
grid-template-columns: 1fr 8fr;
gap: 0 var(--space-4);
.admin-section-landing-item__buttons {
grid-column: 2;
}
}
&__content {
grid-row: 1;
}
&__tagline {
font-size: var(--font-down-1);
font-weight: normal;
color: var(--primary-high);
margin: 0;
letter-spacing: 0.1px;
}
&__title {
margin: 0;
line-height: var(--line-height-medium);
}
&__description {
color: var(--primary-high);
margin: 0.25em 0 0.5em;
line-height: var(--line-height-large);
align-self: start;
@include viewport.from(sm) {
max-width: 17em;
}
}
&__icon {
font-size: var(--font-up-3);
color: var(--primary-low-mid);
grid-row: 1;
}
&__buttons {
grid-row: 2;
grid-column: 1;
}
button {
justify-self: start;
}
}
}