mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
On safari, after search box wraps to next line on smaller widths, it is not visible due to some flex box default property difference between chrome and safari. We fix this by resetting default property.
289 lines
7.4 KiB
CSS
289 lines
7.4 KiB
CSS
.recent_topics_container {
|
|
padding: 0;
|
|
border-radius: 4px;
|
|
background-color: hsl(0, 0%, 100%);
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-height: 100vh;
|
|
|
|
#recent_topics_table {
|
|
max-width: 100%;
|
|
padding-top: 12px;
|
|
overflow: hidden !important;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-style: solid;
|
|
border-color: hsl(0, 0%, 88%);
|
|
border-width: 0 1px;
|
|
border-radius: 0;
|
|
margin-top: 40px;
|
|
|
|
td {
|
|
vertical-align: middle;
|
|
padding: 3px 8px 3px 8px;
|
|
}
|
|
|
|
.recent_topics_focusable {
|
|
display: inline-block;
|
|
|
|
& > * {
|
|
outline: 0;
|
|
}
|
|
|
|
&:focus-within {
|
|
/* Use the same color as the message feed pointer */
|
|
box-shadow: 0 3px 0 hsl(215, 47%, 50%);
|
|
}
|
|
}
|
|
|
|
a {
|
|
color: hsl(205, 47%, 42%);
|
|
text-decoration: none;
|
|
&:hover {
|
|
color: hsl(214, 40%, 58%);
|
|
}
|
|
}
|
|
|
|
.required-text:empty::after {
|
|
content: attr(data-empty);
|
|
display: block;
|
|
font-style: italic;
|
|
color: hsl(0, 0%, 67%);
|
|
}
|
|
|
|
.fa-check-square-o,
|
|
.fa-square-o {
|
|
padding: 0 2px 0 2px;
|
|
}
|
|
|
|
.fa-lock {
|
|
padding-right: 3px;
|
|
}
|
|
|
|
.table_fix_head {
|
|
padding: 0 !important;
|
|
/* 100px = space occupied by `recent_topics_filter_buttons`( ~49px)
|
|
+ give user some extra space at the bottom so that last
|
|
topic row is clearly visible. */
|
|
max-height: calc(100vh - 100px);
|
|
}
|
|
|
|
.table_fix_head table {
|
|
/* To keep border properties to the thead th. */
|
|
border-collapse: separate;
|
|
}
|
|
|
|
#recent_topics_filter_buttons {
|
|
margin: 0 10px 0 10px;
|
|
display: flex;
|
|
/* Search box has no height without this in safari. */
|
|
flex: 0 0 auto;
|
|
flex-wrap: wrap;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.search_group {
|
|
display: flex;
|
|
flex-grow: 1;
|
|
margin: 0 0 10px 0;
|
|
}
|
|
|
|
#recent_topics_search {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.clear_search_button {
|
|
/* Overrides app_components.css property. */
|
|
padding-top: 6px !important;
|
|
}
|
|
|
|
#recent_topics_search_clear {
|
|
margin-top: -10px !important;
|
|
}
|
|
|
|
.btn-recent-filters {
|
|
border-radius: 40px;
|
|
margin: 0 5px 10px 0;
|
|
|
|
&:focus {
|
|
background-color: hsl(0, 0%, 80%);
|
|
outline: 0;
|
|
}
|
|
}
|
|
|
|
.btn-recent-selected {
|
|
background-color: hsl(0, 11%, 93%);
|
|
}
|
|
|
|
.recent_topic_unread_count {
|
|
background-color: hsl(105, 2%, 50%) !important;
|
|
color: hsl(0, 0%, 100%);
|
|
height: 16px;
|
|
line-height: 16px;
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
letter-spacing: 0.6px;
|
|
border-radius: 4px;
|
|
padding: 0 4px;
|
|
margin-right: 10px;
|
|
align-self: center;
|
|
}
|
|
|
|
.flex_container {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.flex_container .left_part {
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.flex_container .right_part {
|
|
margin-left: auto;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.recent_topic_actions {
|
|
display: flex;
|
|
flex-flow: row nowrap;
|
|
}
|
|
|
|
.recent_avatars {
|
|
display: inline-flex; /* Causes LI items to display in row. */
|
|
list-style-type: none;
|
|
margin: auto; /* Centers vertically / horizontally in flex container. */
|
|
height: 24px;
|
|
padding: 4px;
|
|
border-radius: 6px;
|
|
overflow: hidden;
|
|
|
|
/*
|
|
By using the row-reverse layout, the visual ordering will be opposite of
|
|
the DOM ordering. This will allows us to stack the items in the opposite
|
|
direction of the natural stacking order without having to mess with the
|
|
zIndex value. The MAJOR DOWNSIDE is that the HTML itself now reads
|
|
backwards, which super janky.
|
|
*/
|
|
flex-direction: row-reverse;
|
|
}
|
|
|
|
.recent_avatars_item {
|
|
height: 24px;
|
|
margin: 0;
|
|
padding: 0 1.5px 0 1.5px;
|
|
position: relative;
|
|
min-width: 24px;
|
|
}
|
|
|
|
.recent_avatars_img,
|
|
.recent_avatars_others {
|
|
border: 0;
|
|
border-radius: 6px;
|
|
color: hsl(0, 0%, 100%);
|
|
display: block;
|
|
height: 24px;
|
|
text-align: center;
|
|
background-color: hsl(0, 0%, 88%);
|
|
}
|
|
|
|
.recent_avatars_others {
|
|
color: hsl(0, 0%, 0%);
|
|
line-height: 24px;
|
|
}
|
|
|
|
tr {
|
|
background-color: hsl(100, 11%, 96%);
|
|
|
|
&:hover {
|
|
background-color: hsl(210, 100%, 97%);
|
|
}
|
|
}
|
|
|
|
.unread_topic {
|
|
background-color: hsl(0, 0%, 100%);
|
|
}
|
|
|
|
.last_msg_time {
|
|
float: left;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
thead th {
|
|
background-color: hsl(0, 0%, 100%);
|
|
color: inherit;
|
|
border-top: 1px solid hsla(0, 0%, 0%, 0.2) !important;
|
|
border-bottom: 1px solid hsla(0, 0%, 0%, 0.2) !important;
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 1;
|
|
|
|
&.active::after,
|
|
&[data-sort]:hover::after {
|
|
content: " \f0d8";
|
|
white-space: pre;
|
|
display: inline-block;
|
|
position: absolute;
|
|
padding-top: 3px;
|
|
font: normal normal normal 12px/1 FontAwesome;
|
|
font-size: inherit;
|
|
}
|
|
|
|
&.active {
|
|
opacity: 1;
|
|
transition: opacity 100ms ease-out;
|
|
|
|
&.descend::after {
|
|
content: " \f0d7";
|
|
}
|
|
}
|
|
|
|
&[data-sort]:hover {
|
|
cursor: pointer;
|
|
background-color: hsla(0, 0%, 95%);
|
|
transition: background-color 100ms ease-in-out;
|
|
|
|
&:not(.active)::after {
|
|
opacity: 0.3;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* These fixed column widths prevent column widths from being adjusted
|
|
as new messages arrive from the server. */
|
|
.recent_topic_stream {
|
|
width: 25%;
|
|
padding: 8px 8px;
|
|
}
|
|
|
|
.recent_topic_name {
|
|
width: 40%;
|
|
}
|
|
|
|
.recent_topic_users {
|
|
width: 20%;
|
|
}
|
|
|
|
.recent_topic_timestamp {
|
|
width: 15%;
|
|
}
|
|
|
|
@media (width < $md_min) {
|
|
/* Hide participants and last message time
|
|
on smaller screens. This ensures user always
|
|
has a nice UI experience. */
|
|
.recent_topic_users,
|
|
.recent_topic_timestamp,
|
|
thead .participants_header,
|
|
thead .last_msg_time_header {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#recent_topics_view {
|
|
display: none;
|
|
position: relative;
|
|
}
|