Merge pull request 'Stop upcoming lesson rows rendering on top of each other' (#151) from fix/149-upcoming-lesson-overlap into main
CI / Coding Standards (push) Successful in 2m56s
CI / Tests (PHP 8.1) (push) Successful in 51s
CI / No Debug Code (push) Successful in 2s
CI / Tests (PHP 8.2) (push) Successful in 43s
CI / PHPStan (push) Successful in 2m50s
CI / Tests (PHP 8.3) (push) Successful in 2m40s
CI / Build Plugin Zip (push) Successful in 2m51s

Reviewed-on: #151
This commit was merged in pull request #151.
This commit is contained in:
2026-07-29 23:29:18 +00:00
3 changed files with 42 additions and 3 deletions
+2 -1
View File
@@ -5,7 +5,8 @@
"Bash(composer lint *)", "Bash(composer lint *)",
"Bash(tea actions:*)", "Bash(tea actions:*)",
"Bash(tea issue *)", "Bash(tea issue *)",
"Bash(tea label *)" "Bash(tea label *)",
"Bash(composer cs *)"
] ]
} }
} }
+3
View File
@@ -13,6 +13,9 @@ each change under the current top section as you work.
## [1.3.1] ## [1.3.1]
### Fixed
- Upcoming lesson rows no longer render on top of each other. The row's text sits in inline elements that a theme can pull out of normal flow, which dropped the date and time onto the lesson title and the status pill onto the Cancel button; those elements are now pinned into flow alongside the rest of the panel's theme-proofing. The rows held behind **Show all** also stayed visible under the `div { display: block }` reset that many themes still carry, since `[hidden]` is only a browser default — they are now hidden for real.
## [1.3.0] ## [1.3.0]
### Added ### Added
+37 -2
View File
@@ -99,6 +99,36 @@
align-items: center; align-items: center;
} }
/*
* Theme-proofing for the leaf text. The row and its two columns are divs with
* explicit flex rules above, but the text itself still sits in inline elements
* a theme is free to take out of normal flow — an absolutely positioned,
* floated or negatively offset span drops the date/time on top of the title and
* the status pill on top of the Cancel button. Pinning the three properties
* that would have to change keeps the leaves in flow, at the same id-level
* specificity the rules above rely on.
*/
#us-booking-app .us-my-lesson-title,
#us-booking-app .us-my-lesson-when,
#us-booking-app .us-my-lesson-duration,
#us-booking-app .us-my-lesson-who,
#us-booking-app .us-lesson-status {
position: static;
float: none;
margin: 0;
}
/*
* The rows the "Show all" button reveals. `[hidden]` is only a UA-stylesheet
* rule, so any author rule setting a display on div beats it — the html5-reset
* `div { display: block }` is still widespread in themes — and the rows the
* button is meant to gate render anyway. An author !important is the only way
* to win that cascade.
*/
#us-booking-app [hidden] {
display: none !important;
}
#us-booking-app .us-show-all-lessons { #us-booking-app .us-show-all-lessons {
background: transparent; background: transparent;
border: 1px solid #ccc; border: 1px solid #ccc;
@@ -397,8 +427,13 @@
max-width: 100%; max-width: 100%;
} }
/* Whose lesson a row in the upcoming panel is — only shown on a family account. */ /*
.us-my-lesson-who { * Whose lesson a row in the upcoming panel is — only shown on an account that
* books for more than one person. Scoped under #us-booking-app like the rest of
* the panel; as a bare class it was the one rule in the group a theme could
* outrank on a plain span.
*/
#us-booking-app .us-my-lesson-who {
font-weight: normal; font-weight: normal;
opacity: 0.75; opacity: 0.75;
} }