discourse/app/assets/stylesheets/mobile/user.scss
Alan Guo Xiang Tan 9d5da2b383
PERF: Revert all inboxes from messages route. (#14445)
The all inboxes was introduced in
016efeadf6 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 016efeadf6
2021-09-28 11:58:04 +08:00

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;
}
}