Merge remote-tracking branch 'origin/master' into merge-upstream

Conflicts:
 	README.md
 	app/controllers/follower_accounts_controller.rb
 	app/controllers/following_accounts_controller.rb
 	app/serializers/rest/instance_serializer.rb
 	app/views/stream_entries/_simple_status.html.haml
 	config/locales/simple_form.ja.yml
This commit is contained in:
David Yip
2018-03-02 21:46:44 -06:00
158 changed files with 3365 additions and 1411 deletions

View File

@ -15,117 +15,169 @@ $small-breakpoint: 960px;
}
}
.show-xs,
.show-sm {
display: none;
}
.landing-page {
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: 1fr 2fr;
grid-auto-columns: 25%;
grid-auto-rows: max-content;
.show-m {
display: block;
}
.column-0 {
display: none;
}
@media screen and (max-width: $small-breakpoint) {
.hide-sm {
display: none !important;
.column-1 {
grid-column: 1;
grid-row: 1;
}
.column-2 {
grid-column: 2;
grid-row: 1;
}
.column-3 {
grid-column: 3;
grid-row: 1 / 3;
}
.column-4 {
grid-column: 1 / 3;
grid-row: 2;
}
}
.show-sm {
display: block !important;
}
}
@media screen and (max-width: $small-breakpoint) {
.grid {
grid-template-columns: 40% 60%;
@media screen and (max-width: $column-breakpoint) {
.hide-xs {
display: none !important;
}
.column-0 {
display: none;
}
.show-xs {
display: block !important;
}
}
.column-1 {
grid-column: 1;
grid-row: 1;
.row {
display: flex;
flex-wrap: wrap;
margin: 0 -5px;
@for $i from 1 through 15 {
.column-#{$i} {
box-sizing: border-box;
min-height: 1px;
flex: 0 0 percentage($i / 15);
max-width: percentage($i / 15);
padding: 0 5px;
@media screen and (max-width: $small-breakpoint) {
&-sm {
box-sizing: border-box;
min-height: 1px;
flex: 0 0 percentage($i / 15);
max-width: percentage($i / 15);
padding: 0 5px;
@media screen and (max-width: $column-breakpoint) {
max-width: 100%;
flex: 0 0 100%;
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
}
&.non-preview .landing-page__forms {
height: 100%;
}
}
@media screen and (max-width: $column-breakpoint) {
max-width: 100%;
flex: 0 0 100%;
margin-bottom: 10px;
.column-2 {
grid-column: 2;
grid-row: 1 / 3;
&:last-child {
margin-bottom: 0;
&.non-preview {
grid-column: 2;
grid-row: 1;
}
}
.column-3 {
grid-column: 1;
grid-row: 2 / 4;
}
.column-4 {
grid-column: 2;
grid-row: 3;
&.non-preview {
grid-column: 1 / 3;
grid-row: 2;
}
}
}
}
}
.column-flex {
display: flex;
flex-direction: column;
}
@media screen and (max-width: $column-breakpoint) {
.grid {
grid-template-columns: auto;
.separator-or {
position: relative;
margin: 40px 0;
text-align: center;
.column-0 {
display: block;
grid-column: 1;
grid-row: 1;
}
&::before {
content: "";
display: block;
width: 100%;
height: 0;
border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
position: absolute;
top: 50%;
left: 0;
.column-1 {
grid-column: 1;
grid-row: 3;
.brand {
display: none;
}
}
.column-2 {
grid-column: 1;
grid-row: 2;
.landing-page__logo,
.landing-page__call-to-action {
display: none;
}
&.non-preview {
grid-column: 1;
grid-row: 2;
}
}
.column-3 {
grid-column: 1;
grid-row: 5;
}
.column-4 {
grid-column: 1;
grid-row: 4;
&.non-preview {
grid-column: 1;
grid-row: 4;
}
}
}
}
span {
display: inline-block;
background: $ui-base-color;
font-size: 12px;
font-weight: 500;
color: $ui-primary-color;
text-transform: uppercase;
.column-flex {
display: flex;
flex-direction: column;
}
.separator-or {
position: relative;
z-index: 1;
padding: 0 8px;
cursor: default;
}
}
margin: 40px 0;
text-align: center;
&::before {
content: "";
display: block;
width: 100%;
height: 0;
border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
position: absolute;
top: 50%;
left: 0;
}
span {
display: inline-block;
background: $ui-base-color;
font-size: 12px;
font-weight: 500;
color: $ui-primary-color;
text-transform: uppercase;
position: relative;
z-index: 1;
padding: 0 8px;
cursor: default;
}
}
.landing-page {
p,
li {
font-family: 'mastodon-font-sans-serif', sans-serif;
@ -539,6 +591,7 @@ $small-breakpoint: 960px;
img {
position: static;
padding: 10px 0;
}
@media screen and (max-width: $small-breakpoint) {
@ -558,18 +611,33 @@ $small-breakpoint: 960px;
}
&__call-to-action {
margin-bottom: 10px;
background: darken($ui-base-color, 4%);
border-radius: 4px;
padding: 25px 40px;
overflow: hidden;
.row {
display: flex;
flex-direction: row-reverse;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.information-board__section {
padding: 0;
.row__information-board {
display: flex;
justify-content: flex-end;
align-items: flex-end;
.information-board__section {
flex: 1 0 auto;
padding: 0 10px;
}
}
.row__mascot {
flex: 1;
margin: 10px -50px 0 0;
}
}
@ -619,6 +687,8 @@ $small-breakpoint: 960px;
&__short-description {
.row {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom: 40px;
}
@ -668,7 +738,6 @@ $small-breakpoint: 960px;
height: 100%;
@media screen and (max-width: $small-breakpoint) {
margin-bottom: 10px;
height: auto;
}
@ -717,6 +786,7 @@ $small-breakpoint: 960px;
width: 100%;
flex: 1 1 auto;
overflow: hidden;
height: 100%;
.column-header {
color: inherit;
@ -942,93 +1012,54 @@ $small-breakpoint: 960px;
}
&.tag-page {
.features {
padding: 30px 0;
.grid {
@media screen and (min-width: $small-breakpoint) {
grid-template-columns: 33% 67%;
}
.container-alt {
max-width: 820px;
#mastodon-timeline {
margin-right: 0;
border-top-right-radius: 0;
}
.about-mastodon {
.about-hashtag {
background: darken($ui-base-color, 4%);
padding: 0 20px 20px 30px;
border-radius: 0 5px 5px 0;
.brand {
padding-top: 20px;
margin-bottom: 20px;
img {
height: 48px;
width: auto;
}
}
p {
strong {
color: $ui-secondary-color;
font-weight: 700;
}
}
.cta {
margin: 0;
.button {
margin-right: 4px;
}
}
}
.features-list {
margin-left: 30px;
margin-right: 10px;
}
}
.column-2 {
grid-column: 2;
grid-row: 1;
}
}
@media screen and (max-width: 675px) {
.features {
padding: 10px 0;
.brand {
text-align: unset;
padding: 0;
.container-alt {
display: flex;
flex-direction: column;
img {
height: 48px;
width: auto;
}
}
#mastodon-timeline {
order: 2;
flex: 0 0 auto;
height: 60vh;
margin-bottom: 20px;
border-top-right-radius: 4px;
}
.cta {
margin: 0;
.about-mastodon {
order: 1;
flex: 0 0 auto;
max-width: 100%;
.button {
margin-right: 4px;
}
}
.about-hashtag {
background: unset;
padding: 0;
border-radius: 0;
.cta {
margin: 20px 0;
}
}
.features-list {
display: none;
}
}
@media screen and (max-width: $column-breakpoint) {
.grid {
.column-1 {
grid-column: 1;
grid-row: 2;
}
.column-2 {
grid-column: 1;
grid-row: 1;
}
}
.brand {
margin: 0;
}
.landing-page__features {
display: none;
}
}
}

View File

@ -97,32 +97,6 @@
}
}
.controls {
position: absolute;
top: 15px;
left: 15px;
z-index: 2;
.icon-button {
color: rgba($white, 0.8);
text-decoration: none;
font-size: 13px;
line-height: 13px;
font-weight: 500;
.fa {
font-weight: 400;
margin-right: 5px;
}
&:hover,
&:active,
&:focus {
color: $white;
}
}
}
.roles {
margin-bottom: 30px;
padding: 0 15px;
@ -226,6 +200,40 @@
}
}
.card,
.account-grid-card {
.controls {
position: absolute;
top: 15px;
left: 15px;
z-index: 2;
.icon-button {
color: rgba($white, 0.8);
text-decoration: none;
font-size: 13px;
line-height: 13px;
font-weight: 500;
.fa {
font-weight: 400;
margin-right: 5px;
}
&:hover,
&:active,
&:focus {
color: $white;
}
}
}
}
.account-grid-card .controls {
left: auto;
right: 15px;
}
.pagination {
padding: 30px 0;
text-align: center;
@ -233,8 +241,8 @@
a,
.current,
.next,
.prev,
.newer,
.older,
.page,
.gap {
font-size: 14px;
@ -257,13 +265,13 @@
cursor: default;
}
.prev,
.next {
.older,
.newer {
text-transform: uppercase;
color: $ui-secondary-color;
}
.prev {
.older {
float: left;
padding-left: 0;
@ -273,7 +281,7 @@
}
}
.next {
.newer {
float: right;
padding-right: 0;
@ -295,8 +303,8 @@
display: none;
}
.next,
.prev {
.newer,
.older {
display: inline-block;
}
}
@ -411,13 +419,14 @@
font-weight: 400;
}
.note {
.account__header__content {
padding: 10px 15px;
padding-top: 15px;
box-sizing: border-box;
color: lighten($ui-base-color, 26%);
word-wrap: break-word;
min-height: 80px;
overflow: hidden;
text-overflow: ellipsis;
height: 5.5em;
}
}
}

View File

@ -1878,7 +1878,7 @@
font-size: 14px;
font-weight: 500;
border-bottom: 2px solid lighten($ui-base-color, 8%);
transition: all 200ms linear;
transition: all 50ms linear;
.fa {
font-weight: 400;
@ -1895,7 +1895,6 @@
&:active {
@media screen and (min-width: 631px) {
background: lighten($ui-base-color, 14%);
transition: all 100ms linear;
}
}
@ -3891,8 +3890,7 @@ a.status-card {
.boost-modal__action-bar,
.confirmation-modal__action-bar,
.mute-modal__action-bar,
.report-modal__action-bar {
.mute-modal__action-bar {
display: flex;
justify-content: space-between;
background: $ui-secondary-color;
@ -3936,21 +3934,94 @@ a.status-card {
vertical-align: middle;
}
.report-modal {
width: 90vw;
max-width: 700px;
}
.report-modal__container {
display: flex;
border-top: 1px solid $ui-secondary-color;
@media screen and (max-width: 480px) {
flex-wrap: wrap;
overflow-y: auto;
}
}
.report-modal__statuses,
.report-modal__comment {
padding: 10px;
box-sizing: border-box;
width: 50%;
@media screen and (max-width: 480px) {
width: 100%;
}
}
.report-modal__statuses {
flex: 1 1 auto;
min-height: 20vh;
max-height: 40vh;
overflow-y: auto;
overflow-x: hidden;
@media screen and (max-width: 480px) {
max-height: 10vh;
}
}
.report-modal__comment {
padding: 20px;
border-right: 1px solid $ui-secondary-color;
max-width: 320px;
p {
font-size: 14px;
line-height: 20px;
margin-bottom: 20px;
}
.setting-text {
margin-top: 10px;
display: block;
box-sizing: border-box;
width: 100%;
margin: 0;
color: $ui-base-color;
background: $white;
padding: 10px;
font-family: inherit;
font-size: 14px;
resize: vertical;
border: 0;
outline: 0;
border-radius: 4px;
border: 1px solid $ui-secondary-color;
margin-bottom: 20px;
&:focus {
border: 1px solid darken($ui-secondary-color, 8%);
}
}
.setting-toggle {
margin-top: 20px;
margin-bottom: 24px;
&__label {
color: $ui-base-color;
font-size: 14px;
}
}
@media screen and (max-width: 480px) {
padding: 10px;
max-width: 100%;
order: 2;
.setting-toggle {
margin-bottom: 4px;
}
}
}
@ -4043,6 +4114,15 @@ a.status-card {
}
}
.report-modal__target {
padding: 20px;
.media-modal__close {
top: 19px;
right: 15px;
}
}
.loading-bar {
background-color: $ui-highlight-color;
height: 3px;
@ -4154,6 +4234,7 @@ a.status-card {
&.standalone {
.media-gallery__item-gifv-thumbnail {
transform: none;
top: 0;
}
}
}
@ -4283,7 +4364,7 @@ a.status-card {
&.inline {
video {
object-fit: cover;
object-fit: contain;
position: relative;
top: 50%;
transform: translateY(-50%);
@ -4503,64 +4584,96 @@ a.status-card {
/* End Video Player */
.account-gallery__container {
margin: -2px;
padding: 4px;
display: flex;
justify-content: center;
flex-wrap: wrap;
padding: 2px;
}
.account-gallery__item {
flex: 1 1 auto;
width: calc(100% / 3 - 4px);
height: 95px;
margin: 2px;
flex-grow: 1;
width: 50%;
overflow: hidden;
position: relative;
&::before {
content: "";
display: block;
padding-top: 100%;
}
a {
display: block;
width: 100%;
height: 100%;
width: calc(100% - 4px);
height: calc(100% - 4px);
margin: 2px;
top: 0;
left: 0;
background-color: $base-overlay-background;
background-size: cover;
background-position: center;
position: relative;
position: absolute;
color: inherit;
text-decoration: none;
border-radius: 4px;
&:hover,
&:active,
&:focus {
outline: 0;
&::before {
content: "";
display: block;
width: 100%;
height: 100%;
background: rgba($base-overlay-background, 0.3);
border-radius: 4px;
}
}
}
}
.account-section-headline {
color: $ui-base-lighter-color;
background: lighten($ui-base-color, 2%);
border-bottom: 1px solid lighten($ui-base-color, 4%);
padding: 15px 10px;
font-size: 14px;
font-weight: 500;
position: relative;
.account__section-headline {
background: darken($ui-base-color, 4%);
border-bottom: 1px solid lighten($ui-base-color, 8%);
cursor: default;
display: flex;
&::before,
&::after {
a {
display: block;
content: "";
position: absolute;
bottom: 0;
left: 18px;
width: 0;
height: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: transparent transparent lighten($ui-base-color, 4%);
}
flex: 1 1 auto;
color: $ui-primary-color;
padding: 15px 0;
font-size: 14px;
font-weight: 500;
text-align: center;
text-decoration: none;
position: relative;
&::after {
bottom: -1px;
border-color: transparent transparent $ui-base-color;
&.active {
color: $ui-secondary-color;
&::before,
&::after {
display: block;
content: "";
position: absolute;
bottom: 0;
left: 50%;
width: 0;
height: 0;
transform: translateX(-50%);
border-style: solid;
border-width: 0 10px 10px;
border-color: transparent transparent lighten($ui-base-color, 8%);
}
&::after {
bottom: -1px;
border-color: transparent transparent $ui-base-color;
}
}
}
}
@ -4910,3 +5023,27 @@ noscript {
left: 0;
}
}
.floating-action-button {
position: fixed;
display: flex;
justify-content: center;
align-items: center;
width: 3.9375rem;
height: 3.9375rem;
bottom: 1.3125rem;
right: 1.3125rem;
background: darken($ui-highlight-color, 3%);
color: $white;
border-radius: 50%;
font-size: 21px;
line-height: 21px;
text-decoration: none;
box-shadow: 2px 3px 9px rgba($base-shadow-color, 0.4);
&:hover,
&:focus,
&:active {
background: lighten($ui-highlight-color, 7%);
}
}

View File

@ -278,6 +278,11 @@ code {
.actions {
margin-top: 30px;
display: flex;
&.actions--top {
margin-top: 0;
margin-bottom: 30px;
}
}
button,