Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
Merge pull request #4974 from matrix-org/jryans/sticky-pop
Browse files Browse the repository at this point in the history
Tweak sticky header hiding to avoid pop
  • Loading branch information
bwindels authored Jul 14, 2020
2 parents f394190 + a09f773 commit 309c178
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 13 deletions.
15 changes: 9 additions & 6 deletions res/css/views/rooms/_RoomSublist2.scss
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,6 @@ limitations under the License.
padding-bottom: 8px;
height: 24px;

// Hide the header container if the contained element is stickied.
// We don't use display:none as that causes the header to go away too.
&.mx_RoomSublist2_headerContainer_hasSticky {
height: 0;
}

.mx_RoomSublist2_stickable {
flex: 1;
max-width: 100%;
Expand Down Expand Up @@ -180,6 +174,15 @@ limitations under the License.
}
}

// In the general case, we leave height of headers alone even if sticky, so
// that the sublists below them do not jump. However, that leaves a gap
// when scrolled to the top above the first sublist (whose header can only
// ever stick to top), so we force height to 0 for only that first header.
// See also https://github.com/vector-im/riot-web/issues/14429.
&:first-child .mx_RoomSublist2_headerContainer {
height: 0;
}

.mx_RoomSublist2_resizeBox {
position: relative;

Expand Down
7 changes: 0 additions & 7 deletions src/components/structures/LeftPanel2.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,6 @@ export default class LeftPanel2 extends React.Component<IProps, IState> {
// layout updates.
for (const header of targetStyles.keys()) {
const style = targetStyles.get(header);
const headerContainer = header.parentElement; // .mx_RoomSublist2_headerContainer

if (style.makeInvisible) {
// we will have already removed the 'display: none', so add it back.
Expand Down Expand Up @@ -205,9 +204,6 @@ export default class LeftPanel2 extends React.Component<IProps, IState> {
if (!header.classList.contains("mx_RoomSublist2_headerContainer_sticky")) {
header.classList.add("mx_RoomSublist2_headerContainer_sticky");
}
if (!headerContainer.classList.contains("mx_RoomSublist2_headerContainer_hasSticky")) {
headerContainer.classList.add("mx_RoomSublist2_headerContainer_hasSticky");
}

const newWidth = `${headerStickyWidth}px`;
if (header.style.width !== newWidth) {
Expand All @@ -217,9 +213,6 @@ export default class LeftPanel2 extends React.Component<IProps, IState> {
if (header.classList.contains("mx_RoomSublist2_headerContainer_sticky")) {
header.classList.remove("mx_RoomSublist2_headerContainer_sticky");
}
if (headerContainer.classList.contains("mx_RoomSublist2_headerContainer_hasSticky")) {
headerContainer.classList.remove("mx_RoomSublist2_headerContainer_hasSticky");
}
if (header.style.width) {
header.style.removeProperty('width');
}
Expand Down

0 comments on commit 309c178

Please sign in to comment.