merge in matthew-css

pull/1/head
Matthew Hodgson 2015-07-07 03:44:41 +01:00
commit a94f1664d8
15 changed files with 138 additions and 90 deletions

View File

@ -15,6 +15,6 @@ limitations under the License.
*/ */
.mx_MessageTimestamp { .mx_MessageTimestamp {
width: 75px; display: table-cell;
display: inline-block; white-space: pre;
} }

View File

@ -14,6 +14,10 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
body {
font-family: Helvetica, Arial, Sans-Serif;
}
div.error { div.error {
color: red; color: red;
} }

View File

@ -14,13 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
.mx_MessageComposer {
}
.mx_MessageComposer textarea { .mx_MessageComposer textarea {
position: absolute;
width: 100%; width: 100%;
margin-left: auto; margin: auto;
margin-right: auto;
padding: 0px;
} }

View File

@ -15,6 +15,11 @@ limitations under the License.
*/ */
.mx_MessageTile { .mx_MessageTile {
display: table-row;
}
.mx_MessageTile .mx_messageTileType {
display: table-cell;
} }
.mx_MessageTile.sending { .mx_MessageTile.sending {

View File

@ -23,12 +23,10 @@ limitations under the License.
} }
.mx_RoomTile.selected { .mx_RoomTile.selected {
border: 2px inset #eee; text-decoration: underline;
} }
.mx_RoomTile_name { .mx_RoomTile_name {
font-size: 80%;
font-weight: bold;
} }
.mx_RoomTile div { .mx_RoomTile div {
@ -37,7 +35,7 @@ limitations under the License.
} }
.mx_RoomTile.unread { .mx_RoomTile.unread {
background-color: #66e; font-weight: bold;
} }
.mx_RoomTile.highlight { .mx_RoomTile.highlight {
@ -45,7 +43,7 @@ limitations under the License.
} }
.mx_RoomTile.invited { .mx_RoomTile.invited {
background-color: #6e6; font-weight: bold;
} }
.mx_RoomTile:hover { .mx_RoomTile:hover {

View File

@ -15,6 +15,6 @@ limitations under the License.
*/ */
.mx_SenderProfile { .mx_SenderProfile {
display: inline-block; display: table-cell;
width: 150px; padding: 0px 1em 0em 1em;
} }

View File

@ -16,12 +16,3 @@ limitations under the License.
.mx_RoomList { .mx_RoomList {
} }
.mx_RoomList ul {
padding: 0px;
margin: 0px;
}
.mx_RoomList ul li {
list-style-type: none;
}

View File

@ -16,53 +16,67 @@ limitations under the License.
.mx_RoomView { .mx_RoomView {
word-wrap: break-word; word-wrap: break-word;
position: relative;
} }
.mx_RoomView .mx_RoomHeader { .mx_RoomHeader {
position: absolute;
top: 0px;
width: 100%;
height: 30px; height: 30px;
} }
.mx_RoomView .mx_RoomView_MessageList { .mx_RoomView_roomWrapper {
padding: 0px; display: -webkit-box;
margin: 0px; display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
position: absolute; position: absolute;
top: 35px; width: 100%;
bottom: 40px; top: 32px;
left: 0px; bottom: 0px;
right: 150px; }
.mx_RoomView_messagePanel {
-webkit-box-ordinal-group: 1;
-moz-box-ordinal-group: 1;
-ms-flex-order: 1;
-webkit-order: 1;
order: 1;
width: 100%;
height: 100%;
/* background-color: #ff0; */
}
.mx_RoomView_messageListWrapper {
height: 100%;
overflow-y: scroll;
}
.mx_RoomView_MessageList {
display: table;
}
.mx_RoomView_invitePrompt {
}
.mx_MemberList {
-webkit-box-ordinal-group: 2;
-moz-box-ordinal-group: 2;
-ms-flex-order: 2;
-webkit-order: 2;
order: 2;
/* background-color: #0f0; */
width: 250px;
overflow-y: scroll; overflow-y: scroll;
height: 100%;
} }
.mx_RoomView ul li { .mx_MemberList ul {
list-style-type: none;
}
.mx_RoomView .mx_RoomView_invitePrompt {
}
.mx_RoomView .mx_MemberList {
position: absolute;
top: 35px;
bottom: 40px;
right: 0px;
width: 150px;
margin: 0px;
padding: 0px;
overflow-y: scroll;
}
.mx_RoomView .mx_MemberList ul {
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
} }
.mx_RoomView .mx_MessageComposer { .mx_MessageComposer {
position: absolute; width: 100%;
bottom: 5px; bottom: 0px;
right: 0px;
left: 0px;
height: 36px;
} }

View File

@ -20,29 +20,69 @@ limitations under the License.
height: 100%; height: 100%;
} }
.mx_MatrixChat_leftPanel { .mx_MatrixChat_chatWrapper {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
position: absolute; position: absolute;
left: 0px; width: 100%;
top: 0px;
bottom: 42px;
}
.mx_MatrixChat_leftPanel {
-webkit-box-ordinal-group: 1;
-moz-box-ordinal-group: 1;
-ms-flex-order: 1;
-webkit-order: 1;
order: 1;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex-direction: column;
/* background-color: #f00; */
width: 250px; width: 250px;
height: 100%; height: 100%;
} }
.mx_MatrixChat_leftPanel .mx_MatrixToolbar { .mx_MatrixChat_leftPanel .mx_MatrixToolbar {
position: absolute; -webkit-box-ordinal-group: 1;
height: 20px; -moz-box-ordinal-group: 1;
-ms-flex-order: 1;
-webkit-order: 1;
order: 1;
width: 100%;
height: 40px;
} }
.mx_MatrixChat_leftPanel .mx_RoomList { .mx_MatrixChat_leftPanel .mx_RoomList {
position: absolute; -webkit-box-ordinal-group: 2;
top: 20px; -moz-box-ordinal-group: 2;
bottom: 0px; -ms-flex-order: 2;
width: 250px; -webkit-order: 2;
order: 2;
/* background-color: #0ff; */
width: 100%;
height: 100%;
overflow-y: scroll; overflow-y: scroll;
} }
.mx_MatrixChat .mx_RoomView { .mx_MatrixChat .mx_RoomView {
position: absolute; -webkit-box-ordinal-group: 2;
left: 255px; -moz-box-ordinal-group: 2;
right: 0px; -ms-flex-order: 2;
height: 100%; -webkit-order: 2;
order: 2;
/* background-color: #00f; */
width: 100%;
height: 100%;
} }

View File

@ -29,7 +29,7 @@ module.exports = React.createClass({
var content = mxEvent.getContent(); var content = mxEvent.getContent();
var name = mxEvent.sender ? mxEvent.sender.name : mxEvent.getSender(); var name = mxEvent.sender ? mxEvent.sender.name : mxEvent.getSender();
return ( return (
<span className="mx_MEmoteTile"> <span className="mx_MEmoteTile mx_messageTileType">
{name} {content.body} {name} {content.body}
</span> </span>
); );

View File

@ -27,7 +27,7 @@ module.exports = React.createClass({
render: function() { render: function() {
var content = this.props.mxEvent.getContent(); var content = this.props.mxEvent.getContent();
return ( return (
<span className="mx_MNoticeTile"> <span className="mx_MNoticeTile mx_messageTileType">
{content.body} {content.body}
</span> </span>
); );

View File

@ -27,7 +27,7 @@ module.exports = React.createClass({
render: function() { render: function() {
var content = this.props.mxEvent.getContent(); var content = this.props.mxEvent.getContent();
return ( return (
<span className="mx_MTextTile"> <span className="mx_MTextTile mx_messageTileType">
{content.body} {content.body}
</span> </span>
); );

View File

@ -28,9 +28,7 @@ module.exports = React.createClass({
render: function() { render: function() {
return ( return (
<div className="mx_RoomList"> <div className="mx_RoomList">
<ul> {this.makeRoomTiles()}
{this.makeRoomTiles()}
</ul>
</div> </div>
); );
} }

View File

@ -68,15 +68,17 @@ module.exports = React.createClass({
return ( return (
<div className="mx_RoomView"> <div className="mx_RoomView">
<RoomHeader room={this.state.room} /> <RoomHeader room={this.state.room} />
<div className="mx_RoomView_HSplit"> <div className="mx_RoomView_roomWrapper">
<ul className="mx_RoomView_MessageList" ref="messageList" aria-live="polite" onScroll={this.onMessageListScroll}> <div className="mx_RoomView_messagePanel">
<li className={scrollheader_classes}> <div className="mx_RoomView_messageListWrapper">
</li> <div className="mx_RoomView_MessageList" ref="messageList" aria-live="polite" onScroll={this.onMessageListScroll}>
{this.getEventTiles()} {this.getEventTiles()}
</ul> </div>
</div>
<MessageComposer roomId={this.props.roomId} />
</div>
<MemberList roomId={this.props.roomId} key={this.props.roomId} /> <MemberList roomId={this.props.roomId} key={this.props.roomId} />
</div> </div>
<MessageComposer roomId={this.props.roomId} />
</div> </div>
); );
} }

View File

@ -38,11 +38,13 @@ module.exports = React.createClass({
if (this.state.logged_in && this.state.ready) { if (this.state.logged_in && this.state.ready) {
return ( return (
<div className="mx_MatrixChat"> <div className="mx_MatrixChat">
<div className="mx_MatrixChat_leftPanel"> <div className="mx_MatrixChat_chatWrapper">
<MatrixToolbar /> <div className="mx_MatrixChat_leftPanel">
<RoomList selectedRoom={this.state.currentRoom} /> <MatrixToolbar />
<RoomList selectedRoom={this.state.currentRoom} />
</div>
<RoomView roomId={this.state.currentRoom} key={this.state.currentRoom} />
</div> </div>
<RoomView roomId={this.state.currentRoom} key={this.state.currentRoom} />
</div> </div>
); );
} else if (this.state.logged_in) { } else if (this.state.logged_in) {