discourse/app/assets/stylesheets/mobile/user.scss
Penar Musaraj 2de2537595
UX: add bottom padding to user lists on mobile
In some cases, when lists had a handful of items, the last item would be covered by the footer-nav eoverlay on PWAs and DiscourseHub.
2020-06-04 21:42:01 -04:00

338 lines
5.5 KiB
SCSS

// Mobile styles for "/user" section
.user-content-wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto auto;
grid-row-gap: 20px;
grid-column-gap: 16px;
.user-primary-navigation {
grid-column-start: 1;
grid-row-start: 1;
grid-column-end: 2;
}
.user-secondary-navigation {
grid-column-start: 2;
grid-row-start: 1;
}
.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;
}
}
.user-main {
margin-top: 12px;
padding-bottom: 60px; // slightly taller than .footer-nav
.user-content {
box-sizing: border-box;
background-color: $secondary;
table {
width: 100%;
margin-top: 12px;
}
}
.about {
margin-bottom: 0;
color: $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: $primary;
.avatar {
margin: 0 0 12px;
}
.primary-textual {
flex: 1 1 100%;
word-break: break-word;
margin: 0;
max-width: 100%;
}
.bio {
color: $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;
ul {
margin: 0;
display: flex;
flex: 1 1 auto;
flex-wrap: wrap;
margin-left: -1em;
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;
}
}
}
}
.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;
.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;
}
}
.form-horizontal .control-group.category {
margin-top: 18px;
}
.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-badges {
margin-bottom: 2em;
}
.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 {
.admin-controls {
flex-wrap: wrap;
.pull-right {
flex: 1 1 100%;
font-size: $font-down-1;
padding: 0;
}
}
table {
tr:first-of-type {
display: none;
}
tr {
display: flex;
flex-wrap: wrap;
margin-bottom: 1em;
}
td:first-of-type {
margin-right: 1em;
}
td:nth-of-type(n + 3) {
display: block;
width: 50%;
padding: 0.25em 0 1em 0;
}
}
.user-invite-none {
margin-top: 1em;
}
}