Files
fleet/frontend/components/MainContent/_styles.scss
T
Andrew Mellor 8e0c038eff 47701 abm errors UI (#49896)
**Related issue:** Resolves #47701

# Checklist for submitter

## Testing

- [x] Added/updated automated tests

- [ ] QA'd all new/changed functionality manually: Not able to test
token_rejected, terms and conditions or apple server error.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added an Apple Business Manager invalid-token warning banner that
lists the affected organization names.
* Introduced dedicated invalid-token state support so the banner can
appear with the correct priority.
* **Bug Fixes**
* Ensured invalid-token state is cleared when no tokens are returned and
consistently set on token fetch success/error.
* Improved Apple/DEP status messaging and made profile-assignment
rendering more resilient for non-DEP and partial-error responses.
* **Style**
* Adjusted banner spacing and added styling for DEP error presentation.
* **Tests**
* Added/expanded tests for invalid-token messaging, ABM expiry updates,
and MDM status/error scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-28 15:01:48 +01:00

48 lines
1.3 KiB
SCSS

.main-content {
max-width: $break-lg;
margin: 0 auto;
padding: $pad-page;
flex-grow: 1;
// min-width: 0 lets this flex item shrink below its content's intrinsic
// min size so wide descendants don't push the document past the viewport.
// Pages with intrinsically wide content (data tables, etc.) must handle
// their own horizontal overflow scoped to that content — see #47029.
min-width: 0;
> :not(.main-content--animation-disabled) {
animation: fade-in 250ms ease-out;
}
&__warning-banner {
margin-bottom: $pad-large;
// TODO: figure out if sticky styling is needed?
position: sticky; // Needed for settings page scroll
z-index: 4; // Needed for settings page scroll
// The AB token invalid banner sits directly above page content that
// already provides its own top spacing, so it doesn't need this margin.
&:has(.apple-bm-token-invalid-message) {
margin-bottom: 0;
}
}
&.manage-hosts,
&.query-details-page,
&.run-query-page,
&.live-policy-page {
max-width: 100%;
}
}
@media (max-width: ($break-xs - 1)) {
.main-content {
padding: $pad-large $pad-medium $pad-medium; // 24px top, 16px sides according to #32247
}
}
@media (max-width: ($break-mobile-md - 1)) {
.main-content {
padding: 20px;
}
}