style search bar

pull/21833/head
Bruno Windels 2019-01-15 16:20:04 +01:00
parent 177d9f245a
commit 77a62b9174
3 changed files with 77 additions and 62 deletions

View File

@ -98,6 +98,7 @@ limitations under the License.
font-size: 18px; font-size: 18px;
margin: 0 7px; margin: 0 7px;
border-bottom: 1px solid transparent; border-bottom: 1px solid transparent;
display: flex;
} }
.mx_RoomHeader_nametext { .mx_RoomHeader_nametext {
@ -111,7 +112,6 @@ limitations under the License.
} }
.mx_RoomHeader_searchStatus { .mx_RoomHeader_searchStatus {
display: inline-block;
font-weight: normal; font-weight: normal;
opacity: 0.6; opacity: 0.6;
} }

View File

@ -15,69 +15,52 @@ limitations under the License.
*/ */
.mx_SearchBar { .mx_SearchBar {
padding-top: 5px; height: 56px;
padding-bottom: 5px;
display: flex; display: flex;
align-items: center; align-items: center;
} border-bottom: 1px solid $primary-hairline-color;
.mx_SearchBar_input { .mx_SearchBar_input {
display: inline block; // border: 1px solid $input-border-color;
border-radius: 3px 0px 0px 3px; // font-size: 15px;
border: 1px solid $input-border-color; flex: 1 1 0;
font-size: 15px; margin-left: 22px;
padding: 9px; }
padding-left: 11px;
width: auto;
flex: 1 1 0;
}
.mx_SearchBar_searchButton { .mx_SearchBar_searchButton {
cursor: pointer; cursor: pointer;
margin-right: 10px; width: 37px;
width: 37px; height: 37px;
height: 37px; background-color: $accent-color;
border-radius: 0px 3px 3px 0px; mask: url('../../../img/feather-icons/search-input.svg');
background-color: $accent-color; mask-repeat: no-repeat;
} mask-position: center;
}
@keyframes pulsate { .mx_SearchBar_button {
0% { opacity: 1.0; } border: 0;
50% { opacity: 0.1; } margin: 0 0 0 22px;
100% { opacity: 1.0; } padding: 5px;
} font-size: 15px;
cursor: pointer;
color: $primary-fg-color;
border-bottom: 2px solid $accent-color;
font-weight: 600;
}
.mx_SearchBar_searching img { .mx_SearchBar_unselected {
animation: pulsate 0.5s ease-out; color: $input-darker-fg-color;
animation-iteration-count: infinite; border-color: transparent;
} }
.mx_SearchBar_button { .mx_SearchBar_cancel {
display: inline; background-color: $warning-color;
border: 0px; mask: url('../../../img/cancel.svg');
border-radius: 36px; mask-repeat: no-repeat;
font-weight: 400; mask-position: center;
font-size: 15px; mask-size: 12px;
color: $accent-fg-color; padding: 10px;
background-color: $accent-color; margin: 0 12px 0 3px;
width: auto; cursor: pointer;
margin: auto; }
margin-left: 7px;
padding-top: 6px;
padding-bottom: 4px;
padding-left: 24px;
padding-right: 24px;
cursor: pointer;
}
.mx_SearchBar_unselected {
background-color: $primary-bg-color;
color: $accent-color;
border: $accent-color 1px solid;
}
.mx_SearchBar_cancel {
padding-left: 14px;
padding-right: 14px;
cursor: pointer;
} }

View File

@ -60,12 +60,44 @@ module.exports = React.createClass({
return ( return (
<div className="mx_SearchBar"> <div className="mx_SearchBar">
<input ref="search_term" className="mx_SearchBar_input" type="text" autoFocus={true} placeholder={_t("Search…")} onKeyDown={this.onSearchChange} />
<AccessibleButton className={ searchButtonClasses } onClick={this.onSearch}><img src="img/search-button.svg" width="37" height="37" alt={_t("Search")} /></AccessibleButton>
<AccessibleButton className={ thisRoomClasses } onClick={this.onThisRoomClick}>{_t("This Room")}</AccessibleButton> <AccessibleButton className={ thisRoomClasses } onClick={this.onThisRoomClick}>{_t("This Room")}</AccessibleButton>
<AccessibleButton className={ allRoomsClasses } onClick={this.onAllRoomsClick}>{_t("All Rooms")}</AccessibleButton> <AccessibleButton className={ allRoomsClasses } onClick={this.onAllRoomsClick}>{_t("All Rooms")}</AccessibleButton>
<AccessibleButton className="mx_SearchBar_cancel" onClick={this.props.onCancelClick}><img src="img/cancel.svg" width="18" height="18" /></AccessibleButton> <div className="mx_SearchBar_input mx_textinput">
<input ref="search_term" type="text" autoFocus={true} placeholder={_t("Search…")} onKeyDown={this.onSearchChange} />
<AccessibleButton className={ searchButtonClasses } onClick={this.onSearch}></AccessibleButton>
</div>
<AccessibleButton className="mx_SearchBar_cancel" onClick={this.props.onCancelClick}></AccessibleButton>
</div> </div>
); );
/*
const clearButton = this.state.searchTerm.length > 0 ?
(<AccessibleButton key="button"
className="mx_SearchBox_closeButton"
onClick={ () => {this._clearSearch("button")} }>
</AccessibleButton>) : undefined;
return (
<div className="mx_SearchBox mx_textinput">
<input
key="searchfield"
type="text"
ref="search"
className="mx_textinput_icon mx_textinput_search"
value={ this.state.searchTerm }
onFocus={ this._onFocus }
onChange={ this.onChange }
onKeyDown={ this._onKeyDown }
placeholder={ _t('Filter room names') }
/>
{ clearButton }
</div>
);
*/
}, },
}); });