RTL layout compatibility: bridges list on room settings page (#8243)

pull/28788/head^2
Suguru Hirahara 2022-04-19 11:39:45 +00:00 committed by GitHub
parent f70186ea9b
commit 80c1fad088
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 88 additions and 73 deletions

View File

@ -22,41 +22,49 @@ limitations under the License.
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
}
.mx_RoomSettingsDialog_BridgeList li { li {
list-style-type: none; list-style-type: none;
&.mx_RoomSettingsDialog_BridgeList_listItem {
display: flex;
flex-wrap: wrap;
gap: $spacing-8;
padding: 5px; padding: 5px;
margin-bottom: 8px; margin-bottom: $spacing-8;
// border-style around each bridge list item
border-width: 1px 1px; border-width: 1px 1px;
border-color: $primary-hairline-color; border-color: $primary-hairline-color;
border-style: solid; border-style: solid;
border-radius: 5px; border-radius: 5px;
.column-icon { .mx_RoomSettingsDialog_column_icon {
float: left; .mx_RoomSettingsDialog_protocolIcon,
padding-right: 10px; .mx_RoomSettingsDialog_protocolIcon span,
.mx_RoomSettingsDialog_noProtocolIcon {
* { box-sizing: border-box;
border-radius: 5px; border-radius: 5px;
border: 1px solid $input-darker-bg-color; border: 1px solid $input-darker-bg-color;
} }
.noProtocolIcon { .mx_RoomSettingsDialog_noProtocolIcon,
width: 48px; .mx_RoomSettingsDialog_protocolIcon img {
height: 48px;
background: $input-darker-bg-color;
border-radius: 5px; border-radius: 5px;
} }
.protocol-icon { .mx_RoomSettingsDialog_noProtocolIcon {
float: left; width: 48px;
margin-right: 5px; height: 48px;
background: $input-darker-bg-color;
}
.mx_RoomSettingsDialog_protocolIcon {
img { img {
border-radius: 5px;
border-width: 1px 1px; border-width: 1px 1px;
border-color: $primary-hairline-color; border-color: $primary-hairline-color;
} }
span { span {
/* Correct letter placement */ /* Correct letter placement */
left: auto; left: auto;
@ -64,42 +72,49 @@ limitations under the License.
} }
} }
.column-data { .mx_RoomSettingsDialog_column_data {
display: inline-block; display: inline-block;
width: 85%; width: 85%;
> h3 { .mx_RoomSettingsDialog_column_data_details,
margin-top: 0px; .mx_RoomSettingsDialog_column_data_metadata,
margin-bottom: 0px; .mx_RoomSettingsDialog_column_data_metadata li,
.mx_RoomSettingsDialog_column_data_protocolName {
margin-bottom: 0;
}
.mx_RoomSettingsDialog_column_data_details,
.mx_RoomSettingsDialog_column_data_metadata {
margin-top: $spacing-4;
}
.mx_RoomSettingsDialog_column_data_metadata li {
margin-top: $spacing-8;
}
.mx_RoomSettingsDialog_column_data_protocolName {
margin-top: 0;
font-size: 16pt; font-size: 16pt;
color: $primary-content; color: $primary-content;
} }
> * { .mx_RoomSettingsDialog_workspace_channel_details {
margin-top: 4px;
margin-bottom: 0;
}
.workspace-channel-details {
color: $primary-content; color: $primary-content;
font-weight: 600; font-weight: $font-semi-bold;
.channel { .mx_RoomSettingsDialog_channel {
margin-left: 5px; margin-inline-start: 5px;
} }
} }
.metadata { .mx_RoomSettingsDialog_metadata {
color: $muted-fg-color; color: $muted-fg-color;
margin-bottom: 0; margin-bottom: 0;
overflow-y: visible; overflow-y: visible;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: normal; white-space: normal;
padding: 0; padding: 0;
}
> li {
padding: 0;
border: 0;
} }
} }
} }

View File

@ -115,7 +115,7 @@ export default class BridgeTile extends React.PureComponent<IProps> {
if (protocol.avatar_url) { if (protocol.avatar_url) {
const avatarUrl = mediaFromMxc(protocol.avatar_url).getSquareThumbnailHttp(64); const avatarUrl = mediaFromMxc(protocol.avatar_url).getSquareThumbnailHttp(64);
networkIcon = <BaseAvatar className="protocol-icon" networkIcon = <BaseAvatar className="mx_RoomSettingsDialog_protocolIcon"
width={48} width={48}
height={48} height={48}
resizeMethod='crop' resizeMethod='crop'
@ -124,7 +124,7 @@ export default class BridgeTile extends React.PureComponent<IProps> {
url={avatarUrl} url={avatarUrl}
/>; />;
} else { } else {
networkIcon = <div className="noProtocolIcon" />; networkIcon = <div className="mx_RoomSettingsDialog_noProtocolIcon" />;
} }
let networkItem = null; let networkItem = null;
if (network) { if (network) {
@ -146,19 +146,19 @@ export default class BridgeTile extends React.PureComponent<IProps> {
} }
const id = this.props.ev.getId(); const id = this.props.ev.getId();
return (<li key={id}> return (<li key={id} className="mx_RoomSettingsDialog_BridgeList_listItem">
<div className="column-icon"> <div className="mx_RoomSettingsDialog_column_icon">
{ networkIcon } { networkIcon }
</div> </div>
<div className="column-data"> <div className="mx_RoomSettingsDialog_column_data">
<h3>{ protocolName }</h3> <h3 className="mx_RoomSettingsDialog_column_data_protocolName">{ protocolName }</h3>
<p className="workspace-channel-details"> <p className="mx_RoomSettingsDialog_column_data_details mx_RoomSettingsDialog_workspace_channel_details">
{ networkItem } { networkItem }
<span className="channel">{ _t("Channel: <channelLink/>", {}, { <span className="mx_RoomSettingsDialog_channel">{ _t("Channel: <channelLink/>", {}, {
channelLink: () => channelLink, channelLink: () => channelLink,
}) }</span> }) }</span>
</p> </p>
<ul className="metadata"> <ul className="mx_RoomSettingsDialog_column_data_metadata mx_RoomSettingsDialog_metadata">
{ creator } { bot } { creator } { bot }
</ul> </ul>
</div> </div>