diff --git a/res/css/views/rooms/_RoomHeader.scss b/res/css/views/rooms/_RoomHeader.scss index 3eabf5e57a..20369830c6 100644 --- a/res/css/views/rooms/_RoomHeader.scss +++ b/res/css/views/rooms/_RoomHeader.scss @@ -84,6 +84,27 @@ limitations under the License. align-items: center; } +.mx_RoomHeader_simpleHeader { + line-height: $font-52px; + color: $primary-content; + font-size: $font-18px; + font-weight: $font-semi-bold; + overflow: hidden; + margin-left: 63px; + text-overflow: ellipsis; + width: 100%; + + .mx_RoomHeader_cancelButton { + float: right; + } + + .mx_RoomHeader_icon { + margin-left: 14px; + margin-right: 24px; + vertical-align: -4px; + } +} + .mx_RoomHeader_name { flex: 0 1 auto; overflow: hidden; diff --git a/src/components/views/rooms/SimpleRoomHeader.tsx b/src/components/views/rooms/SimpleRoomHeader.tsx new file mode 100644 index 0000000000..5c83f1df14 --- /dev/null +++ b/src/components/views/rooms/SimpleRoomHeader.tsx @@ -0,0 +1,53 @@ +/* +Copyright 2016-2021 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import React from 'react'; + +import { replaceableComponent } from "../../../utils/replaceableComponent"; + +interface IProps { + title?: string; + // `src` to an image. Optional. + icon?: string; +} + +/* + * A stripped-down room header used for things like the user settings + * and room directory. + */ +@replaceableComponent("views.rooms.SimpleRoomHeader") +export default class SimpleRoomHeader extends React.PureComponent { + public render(): JSX.Element { + let icon; + if (this.props.icon) { + icon = ; + } + + return ( +
+
+ { icon } + { this.props.title } +
+
+ ); + } +}