mirror of
https://github.com/discourse/discourse.git
synced 2025-02-26 07:03:10 +08:00

The all inboxes was introduced in 016efeadf6f242e04daf5ef8e18c2ca708a1392d but we decided to roll it back for performance reasons. The main performance challenge here is that PG has to basically loop through all the PMs that a user is allowed to view before being able to order by `Topic#bumped_at`. The all inboxes was not planned as part of the new/unread filter so we've decided not to tackle the performance issue for the upcoming release. Follow-up to 016efeadf6f242e04daf5ef8e18c2ca708a1392d
418 lines
6.8 KiB
SCSS
418 lines
6.8 KiB
SCSS
// Mobile styles for "/user" section
|
|
|
|
.user-content-wrapper {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
grid-template-rows: auto auto auto;
|
|
grid-gap: 16px;
|
|
.user-primary-navigation {
|
|
grid-column-start: 1;
|
|
grid-row-start: 1;
|
|
grid-column-end: 2;
|
|
min-width: 120px;
|
|
}
|
|
.user-secondary-navigation {
|
|
grid-column-start: 2;
|
|
grid-row-start: 1;
|
|
min-width: 120px;
|
|
}
|
|
.user-additional-controls + .user-content,
|
|
.user-secondary-navigation + .user-content {
|
|
grid-column-start: 1;
|
|
}
|
|
.user-additional-controls {
|
|
grid-column-start: 1;
|
|
grid-row-start: 2;
|
|
}
|
|
.user-content,
|
|
.spinner {
|
|
grid-row-start: 3;
|
|
grid-column-start: 1;
|
|
}
|
|
|
|
// specific to messages
|
|
|
|
.user-messages {
|
|
grid-row-start: 2;
|
|
grid-column-start: 1;
|
|
grid-column-end: 3;
|
|
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 16px;
|
|
|
|
+ .user-additional-controls {
|
|
grid-row-start: 2;
|
|
grid-column-start: 1;
|
|
}
|
|
}
|
|
|
|
.inboxes-controls {
|
|
display: flex;
|
|
}
|
|
|
|
.new-private-message {
|
|
grid-row-start: 1;
|
|
grid-column-start: 2;
|
|
}
|
|
|
|
.group-notifications-button {
|
|
margin-left: 8px;
|
|
|
|
.select-kit-header {
|
|
.selected-name .name {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.user-messages-page {
|
|
.paginated-topics-list {
|
|
margin-top: 0;
|
|
}
|
|
.show-mores {
|
|
margin-top: 0.5em;
|
|
}
|
|
}
|
|
|
|
.user-main {
|
|
padding-bottom: 60px; // slightly taller than .footer-nav
|
|
|
|
.user-content {
|
|
box-sizing: border-box;
|
|
background-color: var(--secondary);
|
|
table {
|
|
width: 100%;
|
|
margin-top: 12px;
|
|
}
|
|
}
|
|
|
|
.about {
|
|
margin-bottom: 0;
|
|
color: var(--secondary);
|
|
|
|
.secondary {
|
|
dl {
|
|
padding: 8px 0;
|
|
}
|
|
}
|
|
|
|
.details {
|
|
margin-bottom: 12px;
|
|
|
|
h1 {
|
|
line-height: $line-height-small;
|
|
}
|
|
|
|
h2 {
|
|
line-height: $line-height-medium;
|
|
}
|
|
|
|
.user-profile-avatar {
|
|
.avatar-flair {
|
|
right: 2px;
|
|
}
|
|
display: block;
|
|
float: none;
|
|
margin: 8px auto;
|
|
img.avatar {
|
|
float: none;
|
|
}
|
|
}
|
|
|
|
.user-profile-names {
|
|
text-align: center;
|
|
}
|
|
|
|
.featured-topic {
|
|
text-align: center;
|
|
font-size: $font-0;
|
|
}
|
|
|
|
.location-and-website {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
font-size: $font-0;
|
|
.d-icon {
|
|
width: 0.8em;
|
|
height: 0.8em;
|
|
margin-right: 0.25em;
|
|
}
|
|
a {
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
|
|
.user-profile-location {
|
|
margin-right: 1em;
|
|
}
|
|
|
|
.user-profile-location,
|
|
.user-profile-website {
|
|
justify-content: center;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
}
|
|
|
|
.primary {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
color: var(--primary);
|
|
|
|
.avatar {
|
|
margin: 0 0 12px;
|
|
}
|
|
|
|
.primary-textual {
|
|
flex: 1 1 100%;
|
|
word-break: break-word;
|
|
margin: 0;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.bio {
|
|
color: var(--primary);
|
|
margin: 0 auto 8px;
|
|
max-width: 700px;
|
|
text-align: center;
|
|
|
|
ol {
|
|
margin-left: 25px;
|
|
}
|
|
|
|
ul,
|
|
ol {
|
|
display: inline-block;
|
|
padding-left: 0;
|
|
text-align: left;
|
|
}
|
|
}
|
|
|
|
.public-user-fields .public-user-field {
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
&.has-background {
|
|
.user-profile-image {
|
|
height: 200px;
|
|
}
|
|
.user-profile-avatar {
|
|
margin-top: -60px;
|
|
}
|
|
}
|
|
|
|
.controls {
|
|
order: 3;
|
|
flex: 1 1 25%;
|
|
margin-left: auto;
|
|
|
|
.btn {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
ul {
|
|
margin: 0;
|
|
display: flex;
|
|
flex: 1 1 auto;
|
|
flex-wrap: wrap;
|
|
li,
|
|
> span {
|
|
display: flex;
|
|
flex: 1 1 45%;
|
|
margin-left: 1em;
|
|
button,
|
|
a {
|
|
width: 100%;
|
|
}
|
|
.select-kit.dropdown-select-box.user-notifications-dropdown {
|
|
width: 100%;
|
|
li {
|
|
flex: 1 1 100%;
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
> ul {
|
|
margin-left: -1em; // negates left button margin, for alignment
|
|
}
|
|
|
|
.user-profile-controls-outlet {
|
|
margin: 0 0 0 1em;
|
|
li {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
a {
|
|
flex: 1 1 auto;
|
|
min-width: 120px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.user-field {
|
|
label {
|
|
width: auto;
|
|
text-align: left;
|
|
font-weight: bold;
|
|
}
|
|
}
|
|
}
|
|
|
|
.user-main .collapsed-info.about.has-background {
|
|
background-image: none !important; // todo: make changes to behavior to remove this
|
|
.details {
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
|
|
.user-main .collapsed-info.about .details {
|
|
display: flex;
|
|
margin-bottom: 16px;
|
|
.user-profile-avatar {
|
|
margin: 0;
|
|
flex: 0 0 auto;
|
|
align-self: flex-start;
|
|
}
|
|
.primary .primary-textual {
|
|
flex: 1 0 80%;
|
|
margin: 0;
|
|
}
|
|
.user-profile-names {
|
|
text-align: left;
|
|
}
|
|
}
|
|
|
|
.paginated-topics-list {
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.stats-section {
|
|
li {
|
|
margin: 0 15px 10px 0;
|
|
padding: 0;
|
|
&.linked-stat {
|
|
a {
|
|
padding: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.badge-card.medium {
|
|
width: 100%;
|
|
}
|
|
|
|
.user-preferences {
|
|
padding-bottom: 2em;
|
|
|
|
.instructions {
|
|
margin-top: 4px;
|
|
}
|
|
|
|
.controls-dropdown {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.delete-account {
|
|
overflow: hidden;
|
|
}
|
|
|
|
.checkbox-label {
|
|
display: flex;
|
|
overflow: auto;
|
|
width: 100%;
|
|
padding: 5px 0;
|
|
input {
|
|
margin-right: 5px;
|
|
flex: 0 0 auto;
|
|
}
|
|
}
|
|
|
|
.apps .controls button {
|
|
float: right;
|
|
}
|
|
}
|
|
|
|
.user-right {
|
|
&,
|
|
> .user-stream {
|
|
> .alert:first-child {
|
|
margin-top: 20px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.user-invites-page {
|
|
.user-invite-search input {
|
|
width: 100%;
|
|
}
|
|
|
|
.admin-controls {
|
|
flex-wrap: wrap;
|
|
.pull-right {
|
|
flex: 1 1 100%;
|
|
font-size: $font-down-1;
|
|
padding: 5px 0;
|
|
}
|
|
}
|
|
|
|
table.user-invite-list {
|
|
thead {
|
|
display: none;
|
|
}
|
|
|
|
tr {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 1fr);
|
|
padding: 0.25em;
|
|
}
|
|
|
|
.label {
|
|
display: block;
|
|
color: var(--primary-medium);
|
|
font-size: $font-down-1;
|
|
margin: 0.5em 0 0.15em 0;
|
|
}
|
|
|
|
td.invite-type {
|
|
grid-column-start: 1;
|
|
grid-column-end: -2;
|
|
order: 1;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
td.invite-actions {
|
|
order: 2;
|
|
align-self: center;
|
|
text-align: right;
|
|
|
|
button {
|
|
margin: 0.25em;
|
|
}
|
|
}
|
|
|
|
td.invite-updated-at {
|
|
grid-column-start: 1;
|
|
grid-column-end: 3;
|
|
order: 3;
|
|
}
|
|
|
|
td.invite-expires-at {
|
|
grid-column-start: 3;
|
|
grid-column-end: -1;
|
|
order: 4;
|
|
}
|
|
}
|
|
|
|
.user-invite-none {
|
|
margin-top: 1em;
|
|
}
|
|
}
|