Fix various layout concerns with the new room list
It had ~32px of overflow causing a horizontal scrollbar. Turns out the layout engine gets confused when hidden elements are at the end of a flexbox, so we just move them higher in the DOM (where they logically still make sense). The remaining changes are all alignment and misc changes in that respect, and probably not obvious.pull/21833/head
parent
b63d73e3b6
commit
be366bdd7f
|
@ -131,6 +131,11 @@ $roomListMinimizedWidth: 50px;
|
||||||
.mx_LeftPanel2_actualRoomListContainer {
|
.mx_LeftPanel2_actualRoomListContainer {
|
||||||
flex-grow: 1; // fill the available space
|
flex-grow: 1; // fill the available space
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
|
||||||
|
// Create a flexbox to trick the layout engine
|
||||||
|
display: flex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,6 @@ limitations under the License.
|
||||||
|
|
||||||
&.mx_NotificationBadge_visible {
|
&.mx_NotificationBadge_visible {
|
||||||
background-color: $roomtile2-badge-color;
|
background-color: $roomtile2-badge-color;
|
||||||
margin-right: 14px;
|
|
||||||
|
|
||||||
// Create a flexbox to order the count a bit easier
|
// Create a flexbox to order the count a bit easier
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -46,7 +45,6 @@ limitations under the License.
|
||||||
width: 6px;
|
width: 6px;
|
||||||
height: 6px;
|
height: 6px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
margin-right: 8px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.mx_NotificationBadge_2char {
|
&.mx_NotificationBadge_2char {
|
||||||
|
|
|
@ -21,7 +21,7 @@ limitations under the License.
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
padding-left: 8px;
|
margin-left: 8px;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -30,16 +30,18 @@ limitations under the License.
|
||||||
// Create a flexbox to make ordering easy
|
// Create a flexbox to make ordering easy
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
height: 24px;
|
||||||
|
|
||||||
.mx_RoomSublist2_badgeContainer {
|
.mx_RoomSublist2_badgeContainer {
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
padding-right: 7px;
|
width: 16px;
|
||||||
|
margin-right: 5px; // aligns with the room tile's badge
|
||||||
|
|
||||||
// Create another flexbox row because it's super easy to position the badge at
|
// Create another flexbox row because it's super easy to position the badge this way.
|
||||||
// the end this way.
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-end;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Both of these buttons are hidden by default until the list is hovered
|
// Both of these buttons are hidden by default until the list is hovered
|
||||||
|
@ -77,10 +79,9 @@ limitations under the License.
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
line-height: $font-16px;
|
line-height: $font-16px;
|
||||||
font-size: $font-12px;
|
font-size: $font-12px;
|
||||||
padding-bottom: 8px;
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
max-width: calc(100% - 16px); // 16px is the badge width
|
||||||
|
|
||||||
// Ellipsize any text overflow
|
// Ellipsize any text overflow
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
@ -184,7 +185,7 @@ limitations under the License.
|
||||||
&:not(.mx_RoomSublist2_headerContainer_withAux) {
|
&:not(.mx_RoomSublist2_headerContainer_withAux) {
|
||||||
// The menu button will be the rightmost button, so make it correctly aligned.
|
// The menu button will be the rightmost button, so make it correctly aligned.
|
||||||
.mx_RoomSublist2_menuButton {
|
.mx_RoomSublist2_menuButton {
|
||||||
margin-right: 16px;
|
margin-right: 1px; // line it up with the badges on the room tiles
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -218,7 +219,7 @@ limitations under the License.
|
||||||
// Show the aux button, but not the list button
|
// Show the aux button, but not the list button
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
margin-right: 16px;
|
margin-right: 1px; // line it up with the badges on the room tiles
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,9 +18,7 @@ limitations under the License.
|
||||||
|
|
||||||
// Note: the room tile expects to be in a flexbox column container
|
// Note: the room tile expects to be in a flexbox column container
|
||||||
.mx_RoomTile2 {
|
.mx_RoomTile2 {
|
||||||
width: calc(100% - 21px); // 10px for alignment/inset, 8px for padding on sides, 3px for margin
|
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
margin-right: 3px;
|
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
|
|
||||||
// The tile is also a flexbox row itself
|
// The tile is also a flexbox row itself
|
||||||
|
@ -84,7 +82,7 @@ limitations under the License.
|
||||||
// the end this way.
|
// the end this way.
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-end;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The menu button is hidden by default
|
// The menu button is hidden by default
|
||||||
|
|
|
@ -237,11 +237,11 @@ export default class RoomSublist2 extends React.Component<IProps, IState> {
|
||||||
>
|
>
|
||||||
<span>{this.props.label}</span>
|
<span>{this.props.label}</span>
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
|
{this.renderMenu()}
|
||||||
|
{addRoomButton}
|
||||||
<div className="mx_RoomSublist2_badgeContainer">
|
<div className="mx_RoomSublist2_badgeContainer">
|
||||||
{badge}
|
{badge}
|
||||||
</div>
|
</div>
|
||||||
{this.renderMenu()}
|
|
||||||
{addRoomButton}
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
|
|
Loading…
Reference in New Issue