diff --git a/app/javascript/gabsocial/components/account/account.scss b/app/javascript/gabsocial/components/account/account.scss
index a097ced4..a888801d 100644
--- a/app/javascript/gabsocial/components/account/account.scss
+++ b/app/javascript/gabsocial/components/account/account.scss
@@ -17,7 +17,7 @@
display: block;
color: $primary-text-color;
- @include text-overflow;
+ @include text-overflow(nowrap);
}
}
diff --git a/app/javascript/gabsocial/components/autosuggest_textbox/autosuggest_textbox.scss b/app/javascript/gabsocial/components/autosuggest_textbox/autosuggest_textbox.scss
index 8c39d7e6..07058d5e 100644
--- a/app/javascript/gabsocial/components/autosuggest_textbox/autosuggest_textbox.scss
+++ b/app/javascript/gabsocial/components/autosuggest_textbox/autosuggest_textbox.scss
@@ -38,17 +38,14 @@
outline: 0;
}
- @media screen and (max-width: 600px) {
- font-size: 16px;
- }
-
&::-webkit-scrollbar {
all: unset;
}
- @media screen and (max-width: 600px) {
+ @include breakpoint(sm) {
max-height: 100px !important; // prevent auto-resize textarea
resize: vertical;
+ font-size: 16px;
}
}
diff --git a/app/javascript/gabsocial/components/avatar/avatar.scss b/app/javascript/gabsocial/components/avatar/avatar.scss
index 99f26162..a5161eca 100644
--- a/app/javascript/gabsocial/components/avatar/avatar.scss
+++ b/app/javascript/gabsocial/components/avatar/avatar.scss
@@ -1,9 +1,16 @@
-.avatar {
+.avatar,
+.account__avatar {
// @include avatar-radius();
display: block;
position: relative;
// background-color: $ui-base-color;
object-fit: cover;
+ background-size: cover;
+
+ // TEMPORARY - need a default size for the avatars for now
+ // They are sized individually all over the application and need to change with breakpoints as well
+ // Might create a mixin to accept the size attribute and apply the various properties where necessary
+ @include size(56px);
&--inline {
display: inline-block;
@@ -22,4 +29,8 @@
box-sizing: border-box;
}
}
+}
+
+a .account__avatar {
+ cursor: pointer;
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/avatar_overlay/avatar_overlay.scss b/app/javascript/gabsocial/components/avatar_overlay/avatar_overlay.scss
index d91de055..9e18951d 100644
--- a/app/javascript/gabsocial/components/avatar_overlay/avatar_overlay.scss
+++ b/app/javascript/gabsocial/components/avatar_overlay/avatar_overlay.scss
@@ -1,4 +1,6 @@
.avatar-overlay {
+ background-size: 48px 48px;
+
@include circle(48px);
&__base {
@@ -8,7 +10,7 @@
&__overlay {
@include circle(36px);
@include abs-position(auto, 0, 0);
-
+
z-index: 1;
}
-}
\ No newline at end of file
+}
diff --git a/app/javascript/gabsocial/components/button/button.scss b/app/javascript/gabsocial/components/button/button.scss
index d4a32620..75baf4ef 100644
--- a/app/javascript/gabsocial/components/button/button.scss
+++ b/app/javascript/gabsocial/components/button/button.scss
@@ -12,7 +12,7 @@
@include border-design(transparent, 10px, 4px);
@include text-sizing(14px, 500, 36px, center);
@include size(auto, 36px);
- @include text-overflow;
+ @include text-overflow(nowrap);
&:active,
&:focus,
diff --git a/app/javascript/gabsocial/components/column/column.scss b/app/javascript/gabsocial/components/column/column.scss
index 2a3a53ba..eef1106c 100644
--- a/app/javascript/gabsocial/components/column/column.scss
+++ b/app/javascript/gabsocial/components/column/column.scss
@@ -4,4 +4,19 @@
box-sizing: border-box;
flex-direction: column;
width: 350px;
+ flex: 1 1 100%;
+ overflow: hidden;
+
+ @media screen and (min-width: 631px) {
+ flex: 0 0 auto;
+ padding: 10px 5px;
+
+ &:first-child {
+ padding-left: 10px;
+ }
+
+ &:last-child {
+ padding-right: 10px;
+ }
+ }
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/column_indicator/column_indicator.scss b/app/javascript/gabsocial/components/column_indicator/column_indicator.scss
index fccddd4a..8a0987ad 100644
--- a/app/javascript/gabsocial/components/column_indicator/column_indicator.scss
+++ b/app/javascript/gabsocial/components/column_indicator/column_indicator.scss
@@ -48,4 +48,46 @@
.no-reduce-motion .column-indicator--loading .column-indicator__figure {
animation: loader-figure 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
+}
+
+@keyframes loader-label {
+ 0% {
+ opacity: 0.25;
+ }
+
+ 30% {
+ opacity: 1;
+ }
+
+ 100% {
+ opacity: 0.25;
+ }
+}
+
+@keyframes loader-figure {
+ 0% {
+ background-color: lighten($ui-base-color, 26%);
+
+ @include size(0);
+ }
+
+ 29% {
+ background-color: lighten($ui-base-color, 26%);
+ }
+
+ 30% {
+ background-color: transparent;
+ border-width: 21px;
+ opacity: 1;
+
+ @include size(42px);
+ }
+
+ 100% {
+ border-width: 0;
+ opacity: 0;
+ background-color: transparent;
+
+ @include size(42px);
+ }
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/column_inline_form/column_inline_form.scss b/app/javascript/gabsocial/components/column_inline_form/column_inline_form.scss
index 05967f13..ced91843 100644
--- a/app/javascript/gabsocial/components/column_inline_form/column_inline_form.scss
+++ b/app/javascript/gabsocial/components/column_inline_form/column_inline_form.scss
@@ -8,14 +8,13 @@
flex: 1 1 auto;
}
- &__title {
-
- }
+ &__title {}
&__input {
- width: 100%;
margin-bottom: 6px;
+ @include size(100%, 36px);
+
&:focus {
outline: 0;
}
@@ -24,5 +23,7 @@
&__btn {
flex: 0 0 auto;
margin: 0 5px;
+ margin-left: 6px;
+ width: 112px;
}
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/column_subheading/column_subheading.scss b/app/javascript/gabsocial/components/column_subheading/column_subheading.scss
index 2ebde9d5..fb2cd008 100644
--- a/app/javascript/gabsocial/components/column_subheading/column_subheading.scss
+++ b/app/javascript/gabsocial/components/column_subheading/column_subheading.scss
@@ -2,8 +2,8 @@
background: $ui-base-color;
color: $dark-text-color;
padding: 8px 20px;
- font-size: 12px;
- font-weight: 500;
text-transform: uppercase;
cursor: default;
+
+ @include text-sizing(12px, 500);
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/columns_area/columns_area.scss b/app/javascript/gabsocial/components/columns_area/columns_area.scss
index f54d680f..dc02fd23 100644
--- a/app/javascript/gabsocial/components/columns_area/columns_area.scss
+++ b/app/javascript/gabsocial/components/columns_area/columns_area.scss
@@ -24,25 +24,22 @@
}
.columns-area {
- display: flex;
flex: 1 1 auto;
- flex-direction: row;
- justify-content: flex-start;
position: relative;
- &__panels {
- display: flex;
- justify-content: center;
+ @include flex(center, stretch, row);
+ &__panels {
@include size(100%);
+ @include flex(center);
&__pane {
height: 100%;
pointer-events: none;
- display: flex;
- justify-content: flex-end;
padding-top: 15px;
+ @include flex(flex-end);
+
&--start {
justify-content: flex-start;
}
@@ -78,14 +75,12 @@
@media screen and (min-width: 631px) {
.columns-area {
padding: 0;
- }
- .columns-area>div {
-
- .column,
- .drawer {
- padding-left: 5px;
- padding-right: 5px;
+ >div {
+ .column,
+ .drawer {
+ @include horizontal-padding(5px);
+ }
}
}
}
@@ -104,9 +99,9 @@
}
.search__input {
- line-height: 18px;
- font-size: 16px;
padding: 15px 30px 15px 15px;
+
+ @include text-sizing(16px, 400, 18px);
}
.search__icon .fa {
@@ -163,8 +158,7 @@
}
.account__avatar-wrapper {
- margin-left: 17px;
- margin-right: 15px;
+ @include horizontal-margin(17px, 15px);
}
}
}
diff --git a/app/javascript/gabsocial/components/dropdown_menu/dropdown_menu.scss b/app/javascript/gabsocial/components/dropdown_menu/dropdown_menu.scss
index 35b011bb..8a852266 100644
--- a/app/javascript/gabsocial/components/dropdown_menu/dropdown_menu.scss
+++ b/app/javascript/gabsocial/components/dropdown_menu/dropdown_menu.scss
@@ -2,11 +2,11 @@
z-index: 9999;
position: absolute;
background: $gab-background-container;
- border-radius: 4px;
- border: 1px solid $gab-placeholder-accent;
padding: 4px 0;
box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.5);
+ @include border-design($gab-placeholder-accent, 1px, 4px);
+
&.left {
transform-origin: 100% 50%;
}
@@ -71,7 +71,7 @@
text-transform: capitalize;
color: $gab-secondary-text;
- @include text-overflow;
+ @include text-overflow(nowrap);
@include text-sizing(13px, 400, 26px);
&:focus,
diff --git a/app/javascript/gabsocial/components/icon/icon.scss b/app/javascript/gabsocial/components/icon/icon.scss
new file mode 100644
index 00000000..60423cb7
--- /dev/null
+++ b/app/javascript/gabsocial/components/icon/icon.scss
@@ -0,0 +1,3 @@
+.star-icon.active {
+ color: $gold-star;
+}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/link_footer/link_footer.scss b/app/javascript/gabsocial/components/link_footer/link_footer.scss
index f7e93b2f..fe0709cf 100644
--- a/app/javascript/gabsocial/components/link_footer/link_footer.scss
+++ b/app/javascript/gabsocial/components/link_footer/link_footer.scss
@@ -1,7 +1,6 @@
.link-footer {
flex: 0 0 auto;
- padding: 10px;
- padding-top: 20px;
+ padding: 20px 10px 10px 10px;
ul {
margin-bottom: 10px;
diff --git a/app/javascript/gabsocial/components/modal/embed_modal/embed_modal.scss b/app/javascript/gabsocial/components/modal/embed_modal/embed_modal.scss
index fce48e11..08111325 100644
--- a/app/javascript/gabsocial/components/modal/embed_modal/embed_modal.scss
+++ b/app/javascript/gabsocial/components/modal/embed_modal/embed_modal.scss
@@ -1,12 +1,10 @@
.embed-modal {
- max-width: 80vw;
- max-height: 80vh;
+ @include max-size(80vw, 80vh);
h4 {
padding: 30px;
- font-weight: 500;
- font-size: 16px;
- text-align: center;
+
+ @include text-sizing(16px, 500, 1, center);
}
.embed-modal__container {
@@ -44,7 +42,7 @@
background: lighten($ui-base-color, 4%);
}
- @media screen and (max-width: 600px) {
+ @include breakpoint(sm) {
font-size: 16px;
}
}
diff --git a/app/javascript/gabsocial/components/modal/hotkeys_modal/hotkeys_modal.scss b/app/javascript/gabsocial/components/modal/hotkeys_modal/hotkeys_modal.scss
index d88ecdc3..26b1165a 100644
--- a/app/javascript/gabsocial/components/modal/hotkeys_modal/hotkeys_modal.scss
+++ b/app/javascript/gabsocial/components/modal/hotkeys_modal/hotkeys_modal.scss
@@ -13,8 +13,7 @@
position: relative;
border-bottom: 1px solid lighten($classic-base-color, 8%);
border-radius: 6px 6px 0 0;
- padding-top: 12px;
- padding-bottom: 12px;
+ padding: 12px 0;
&__title {
display: block;
@@ -66,8 +65,8 @@
display: inline-block;
padding: 2px 8px;
background-color: lighten($ui-base-color, 8%);
- border: 1px solid darken($ui-base-color, 4%);
- border-radius: 4px;
+
+ @include border-design(darken($ui-base-color, 4%), 1px, 4px);
}
}
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/modal/modal.scss b/app/javascript/gabsocial/components/modal/modal.scss
index 8aecbe91..2f01f948 100644
--- a/app/javascript/gabsocial/components/modal/modal.scss
+++ b/app/javascript/gabsocial/components/modal/modal.scss
@@ -26,8 +26,8 @@
position: relative;
border-bottom: 1px solid lighten($classic-base-color, 8%);
border-radius: 6px 6px 0 0;
- padding-top: 12px;
- padding-bottom: 12px;
+
+ @include vertical-padding(12px);
&__title {
display: block;
diff --git a/app/javascript/gabsocial/components/modal/report_modal/report_modal.scss b/app/javascript/gabsocial/components/modal/report_modal/report_modal.scss
index e69de29b..b6fdc904 100644
--- a/app/javascript/gabsocial/components/modal/report_modal/report_modal.scss
+++ b/app/javascript/gabsocial/components/modal/report_modal/report_modal.scss
@@ -0,0 +1,22 @@
+.setting-text {
+ color: $darker-text-color;
+ background: transparent;
+ border: none;
+ border-bottom: 2px solid $ui-primary-color;
+ box-sizing: border-box;
+ display: block;
+ font-family: inherit;
+ margin-bottom: 10px;
+ padding: 7px 0;
+ width: 100%;
+
+ &:focus,
+ &:active {
+ color: $primary-text-color;
+ border-bottom-color: $highlight-text-color;
+ }
+
+ @include breakpoint(sm) {
+ font-size: 16px;
+ }
+}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/panel/panel.scss b/app/javascript/gabsocial/components/panel/panel.scss
index 5cdad7d1..efdc3204 100644
--- a/app/javascript/gabsocial/components/panel/panel.scss
+++ b/app/javascript/gabsocial/components/panel/panel.scss
@@ -1,12 +1,12 @@
.panel {
display: flex;
- width: 100%;
border-radius: 10px;
flex-direction: column;
- height: auto;
box-sizing: border-box;
background: $gab-background-container;
+ @include size(100%, auto);
+
body.theme-gabsocial-light & {
// @include light-theme-shadow();
background: $gab-background-container-light;
@@ -66,11 +66,11 @@
padding-right: 10px;
&__avatar {
- height: 46px;
- width: 46px;
background-color: red;
left: -58px;
position: absolute;
+
+ @include size(46px);
}
&__name {
@@ -81,18 +81,17 @@
&__name {
color: $primary-text-color;
- font-size: 14px;
- font-weight: bold;
- line-height: 16px;
margin-bottom: 2px;
max-height: 32px; //2 lines of text
overflow: hidden;
+
+ @include text-sizing(14px, 700, 16px);
}
&__username {
color: $lighter-text-color;
- font-size: 12px;
- line-height: 14px;
+
+ @include text-sizing(12px, 400, 14px);
}
}
}
@@ -125,8 +124,7 @@
&__title {
flex: 1 1;
color: $primary-text-color;
- font-size: 16px;
- font-weight: bold;
- line-height: 19px;
+
+ @include text-sizing(16px, 700, 19px);
}
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/poll/poll.scss b/app/javascript/gabsocial/components/poll/poll.scss
index f1292cef..834874c4 100644
--- a/app/javascript/gabsocial/components/poll/poll.scss
+++ b/app/javascript/gabsocial/components/poll/poll.scss
@@ -26,7 +26,7 @@
cursor: default;
color: #fff;
- @include text-overflow;
+ @include text-overflow(nowrap);
body.theme-gabsocial-light & {
color: $gab-default-text-light;
@@ -51,10 +51,10 @@
outline: 0;
font-family: inherit;
background: $simple-background-color;
- border: 1px solid darken($simple-background-color, 14%);
- border-radius: 4px;
padding: 6px 10px;
+ @include border-design(darken($simple-background-color, 14%), 1px, 4px);
+
&:focus {
border-color: $highlight-text-color;
}
@@ -94,10 +94,10 @@
}
&__footer {
- padding-top: 6px;
- padding-bottom: 5px;
color: $dark-text-color;
+ @include vertical-padding(6px, 5px);
+
span {
font-size: 14px;
}
diff --git a/app/javascript/gabsocial/components/promo_panel/promo_panel.scss b/app/javascript/gabsocial/components/promo_panel/promo_panel.scss
index 3f16194a..5b07775f 100644
--- a/app/javascript/gabsocial/components/promo_panel/promo_panel.scss
+++ b/app/javascript/gabsocial/components/promo_panel/promo_panel.scss
@@ -17,11 +17,11 @@
&__message {
display: block;
- font-size: 14px;
- line-height: 16px;
margin-top: 6px;
color: $primary-text-color;
+ @include text-sizing(14px, 400, 16px);
+
&--dark {
color: $ui-secondary-color;
}
diff --git a/app/javascript/gabsocial/components/search/search.scss b/app/javascript/gabsocial/components/search/search.scss
index e69de29b..7c4d3a66 100644
--- a/app/javascript/gabsocial/components/search/search.scss
+++ b/app/javascript/gabsocial/components/search/search.scss
@@ -0,0 +1,69 @@
+.search {
+ position: relative;
+
+ &__input {
+ display: block;
+ padding: 7px 30px 6px 10px;
+ @include search-input();
+ }
+
+ &__icon {
+ &::-moz-focus-inner {
+ border: 0;
+ }
+
+ &::-moz-focus-inner,
+ &:focus {
+ outline: 0 !important;
+ }
+
+ .fa {
+ cursor: default;
+ display: inline-block;
+ position: absolute;
+ top: 8px;
+ right: 6px;
+ z-index: 2;
+ font-size: 16px;
+ color: $gab-placeholder-accent;
+ opacity: 0;
+ pointer-events: none;
+
+ @include size(18px);
+
+ &.active {
+ pointer-events: auto;
+ opacity: 1;
+ }
+ }
+
+ .fa-search.active {
+ pointer-events: none;
+ }
+
+ .fa-times-circle {
+ cursor: pointer;
+ font-size: 17px;
+ color: $gab-alert-red;
+
+ &:hover {
+ color: lighten($gab-alert-red, 7%);
+ }
+ }
+ }
+
+ @media screen and (max-width: 630px) and (max-height: 400px) {
+ will-change: margin-top;
+ transition: margin-top 400ms 100ms;
+ }
+
+ @media screen and (min-width: 360px) {
+ margin-bottom: 10px;
+ }
+}
+
+@media screen and (min-width: 895px) {
+ .search-page .search {
+ display: none;
+ }
+}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/section_headline_bar/section_headline_bar.scss b/app/javascript/gabsocial/components/section_headline_bar/section_headline_bar.scss
index e6a35c7d..c4bf245b 100644
--- a/app/javascript/gabsocial/components/section_headline_bar/section_headline_bar.scss
+++ b/app/javascript/gabsocial/components/section_headline_bar/section_headline_bar.scss
@@ -17,28 +17,25 @@
flex: 1 1 auto;
color: $secondary-text-color;
padding: 15px 0;
- font-size: 14px;
- font-weight: 500;
- text-align: center;
text-decoration: none;
position: relative;
+ @include text-sizing(14px, 500, 1, center);
+
&.active {
color: $primary-text-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%);
+
+ @include pseudo;
+ @include size(0);
}
&::after {
@@ -47,4 +44,15 @@
}
}
}
+}
+
+.account-section-headline {
+
+ button,
+ a {
+ flex: none;
+ padding: 18px 15px;
+
+ @include text-sizing(16px, 600);
+ }
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/status/status.scss b/app/javascript/gabsocial/components/status/status.scss
index d0f07335..8169dba2 100644
--- a/app/javascript/gabsocial/components/status/status.scss
+++ b/app/javascript/gabsocial/components/status/status.scss
@@ -1,6 +1,5 @@
.status {
- padding: 8px 10px;
- padding-left: 68px;
+ padding: 8px 10px 8px 68px;
position: relative;
min-height: 54px;
border-bottom: 1px solid lighten($ui-base-color, 8%);
@@ -120,17 +119,15 @@
.status__wrapper--filtered {
color: $dark-text-color;
border: 0;
- font-size: inherit;
- text-align: center;
- line-height: inherit;
margin: 0;
padding: 15px;
box-sizing: border-box;
width: 100%;
clear: both;
border-bottom: 1px solid lighten($ui-base-color, 8%);
-}
+ @include text-sizing(inherit, 400, inherit, center);
+}
.status__prepend-icon-wrapper {
left: -26px;
@@ -172,8 +169,8 @@
>span {
display: block;
- overflow: hidden;
- text-overflow: ellipsis;
+
+ @include text-overflow
}
}
@@ -184,18 +181,53 @@
}
.status__avatar {
- height: 48px;
- left: 10px;
- position: absolute;
- top: 10px;
- width: 48px;
+ @include size(48px);
+ @include abs-position(10px, auto, auto, 10px);
}
.status__expand {
- width: 68px;
- position: absolute;
- left: 0;
- top: 0;
- height: 100%;
cursor: pointer;
+
+ @include size(68px, 100%);
+ @include abs-position(0, auto, auto, 0);
+}
+
+
+.media-spoiler-video {
+ cursor: pointer;
+ margin-top: 8px;
+ position: relative;
+ border: 0;
+ display: block;
+
+ @include background-image("");
+}
+
+.media-spoiler-video-play-icon {
+ border-radius: 100px;
+ color: rgba($primary-text-color, 0.8);
+ font-size: 36px;
+ padding: 5px;
+ transform: translate(-50%, -50%);
+
+ @include abs-position(50%, auto, auto, 50%);
+}
+
+
+.media-spoiler {
+ background: $base-overlay-background;
+ color: $darker-text-color;
+ border: 0;
+ padding: 0;
+ border-radius: 4px;
+ appearance: none;
+
+ @include size(100%);
+
+ &:hover,
+ &:active,
+ &:focus {
+ padding: 0;
+ color: lighten($darker-text-color, 8%);
+ }
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/components/status_content/status_content.scss b/app/javascript/gabsocial/components/status_content/status_content.scss
index 911ad0a7..77e427d2 100644
--- a/app/javascript/gabsocial/components/status_content/status_content.scss
+++ b/app/javascript/gabsocial/components/status_content/status_content.scss
@@ -4,12 +4,10 @@
.status__content {
position: relative;
- word-wrap: break-word;
- overflow: hidden;
- text-overflow: ellipsis;
padding-top: 2px;
color: $primary-text-color;
+ @include text-overflow(normal, break-word);
@include text-sizing(15px, 400, 20px);
&:focus {
@@ -103,8 +101,7 @@
color: $gab-brand-default;
border: 0;
background: transparent;
- padding: 0;
- padding-top: 8px;
+ padding: 8px 0 0 0;
@include text-sizing(15px, 400, 20px);
diff --git a/app/javascript/gabsocial/components/tabs_bar/tabs_bar.scss b/app/javascript/gabsocial/components/tabs_bar/tabs_bar.scss
index a1e0401c..827a33ee 100644
--- a/app/javascript/gabsocial/components/tabs_bar/tabs_bar.scss
+++ b/app/javascript/gabsocial/components/tabs_bar/tabs_bar.scss
@@ -124,6 +124,11 @@
.flex {
display: flex;
}
+
+ @media screen and (max-width: 630px) and (max-height: 400px) {
+ will-change: margin-top;
+ transition: margin-top 400ms 100ms;
+ }
}
.tabs-bar-item {
diff --git a/app/javascript/gabsocial/components/toggle_switch/toggle_switch.scss b/app/javascript/gabsocial/components/toggle_switch/toggle_switch.scss
index c9f6b8ad..999a15a7 100644
--- a/app/javascript/gabsocial/components/toggle_switch/toggle_switch.scss
+++ b/app/javascript/gabsocial/components/toggle_switch/toggle_switch.scss
@@ -5,10 +5,11 @@
background-color: transparent;
border: 0;
padding: 0;
- user-select: none;
-webkit-tap-highlight-color: rgba($base-overlay-background, 0);
-webkit-tap-highlight-color: transparent;
+ @include unselectable;
+
&--disabled {
cursor: not-allowed;
opacity: 0.5;
@@ -19,17 +20,15 @@
.react-toggle-screenreader-only {
border: 0;
clip: rect(0 0 0 0);
- height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
- width: 1px;
+
+ @include size(1px);
}
.react-toggle-track {
- width: 50px;
- height: 24px;
padding: 0;
border-radius: 30px;
background-color: $ui-base-color;
@@ -51,14 +50,13 @@
}
.react-toggle-track-check {
- margin-top: auto;
- margin-bottom: auto;
line-height: 0;
opacity: 0;
transition: opacity 0.25s ease;
@include abs-position(0, auto, 0, 8px);
@include size(14px, 10px);
+ @include vertical-margin(auto);
}
.react-toggle--checked .react-toggle-track-check {
@@ -67,14 +65,13 @@
}
.react-toggle-track-x {
- margin-top: auto;
- margin-bottom: auto;
line-height: 0;
opacity: 1;
transition: opacity 0.25s ease;
@include abs-position(0, 10px, 0);
@include size(10px);
+ @include vertical-margin(auto);
}
.react-toggle--checked .react-toggle-track-x {
diff --git a/app/javascript/gabsocial/components/trending_item/trending_item.scss b/app/javascript/gabsocial/components/trending_item/trending_item.scss
index 4759ba85..26a175df 100644
--- a/app/javascript/gabsocial/components/trending_item/trending_item.scss
+++ b/app/javascript/gabsocial/components/trending_item/trending_item.scss
@@ -12,7 +12,7 @@
flex: 1 1 auto;
color: $dark-text-color;
- @include text-overflow;
+ @include text-overflow(nowrap);
strong {
font-weight: 500;
@@ -24,7 +24,7 @@
text-decoration: none;
@include text-sizing(14px, 500);
- @include text-overflow;
+ @include text-overflow(nowrap);
&:hover,
&:focus,
diff --git a/app/javascript/gabsocial/components/user_panel/user_panel.scss b/app/javascript/gabsocial/components/user_panel/user_panel.scss
index 43a3f15d..026b2828 100644
--- a/app/javascript/gabsocial/components/user_panel/user_panel.scss
+++ b/app/javascript/gabsocial/components/user_panel/user_panel.scss
@@ -35,7 +35,7 @@
display: block;
border: 6px solid $gab-background-base;
background-size: cover;
-
+
@include size(82px);
body.theme-gabsocial-light & {
@@ -74,17 +74,17 @@
&__username {
display: block;
- font-size: 14px;
- line-height: 16px;
color: $gab-secondary-text;
text-decoration: none !important;
+
+ @include text-sizing(14px, 16px);
}
}
&__stats-block {
- display: flex;
- justify-content: space-between;
padding-top: 12px;
+
+ @include flex(space-between);
}
.user-panel-stats-item {
diff --git a/app/javascript/gabsocial/features/account_timeline/components/inner_header/inner_header.js b/app/javascript/gabsocial/features/account_timeline/components/inner_header/inner_header.js
index 31f7f5ec..0b72a23b 100644
--- a/app/javascript/gabsocial/features/account_timeline/components/inner_header/inner_header.js
+++ b/app/javascript/gabsocial/features/account_timeline/components/inner_header/inner_header.js
@@ -6,7 +6,6 @@ import { NavLink } from 'react-router-dom';
import { debounce } from 'lodash';
import Button from '../../../components/button';
import { autoPlayGif, me, isStaff } from '../../../initial_state';
-import Icon from '../../../components/icon';
import Avatar from '../../../components/avatar';
import { shortNumberFormat } from '../../../utils/numbers';
import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
@@ -42,17 +41,12 @@ const messages = defineMessages({
unendorse: { id: 'account.unendorse', defaultMessage: 'Don\'t feature on profile' },
admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' },
add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' },
+ accountFollowsYou: { id: 'account.follows_you', defaultMessage: 'Follows you' },
+ accountBlocked: { id: 'account.blocked', defaultMessage: 'Blocked' },
+ accountMuted: { id: 'account.muted', defaultMessage: 'Muted' },
+ domainBlocked: { id: 'account.domain_blocked', defaultMessage: 'Domain hidden' },
});
-const dateFormatOptions = {
- month: 'short',
- day: 'numeric',
- year: 'numeric',
- hour12: false,
- hour: '2-digit',
- minute: '2-digit',
-};
-
export default @injectIntl
class Header extends ImmutablePureComponent {
@@ -175,15 +169,15 @@ class Header extends ImmutablePureComponent {
if (!account || !me) return info;
if (me !== account.get('id') && account.getIn(['relationship', 'followed_by'])) {
- info.push();
+ info.push({intl.formatMessage(messages.accountFollowsYou)});
} else if (me !== account.get('id') && account.getIn(['relationship', 'blocking'])) {
- info.push();
+ info.push({intl.formatMessage(messages.accountBlocked)});
}
if (me !== account.get('id') && account.getIn(['relationship', 'muting'])) {
- info.push();
+ info.push({intl.formatMessage(messages.accountMuted)});
} else if (me !== account.get('id') && account.getIn(['relationship', 'domain_blocking'])) {
- info.push();
+ info.push({intl.formatMessage(messages.domainBlocked)});
}
return info;
diff --git a/app/javascript/gabsocial/features/account_timeline/components/inner_header/inner_header.scss b/app/javascript/gabsocial/features/account_timeline/components/inner_header/inner_header.scss
index b19bebb2..45082120 100644
--- a/app/javascript/gabsocial/features/account_timeline/components/inner_header/inner_header.scss
+++ b/app/javascript/gabsocial/features/account_timeline/components/inner_header/inner_header.scss
@@ -5,12 +5,12 @@
color: $primary-text-color;
background-color: $base-overlay-background;
text-transform: uppercase;
- font-size: 11px;
- font-weight: 500;
padding: 4px;
border-radius: 4px;
opacity: 0.7;
+ @include text-sizing(11px, 500);
+
&:hover {
opacity: 1;
}
diff --git a/app/javascript/gabsocial/features/account_timeline/components/moved_note/moved_note.scss b/app/javascript/gabsocial/features/account_timeline/components/moved_note/moved_note.scss
index b9a56bfd..6dda86be 100644
--- a/app/javascript/gabsocial/features/account_timeline/components/moved_note/moved_note.scss
+++ b/app/javascript/gabsocial/features/account_timeline/components/moved_note/moved_note.scss
@@ -13,8 +13,8 @@
>span {
display: block;
- overflow: hidden;
- text-overflow: ellipsis;
+
+ @include text-overflow;
}
}
@@ -33,8 +33,8 @@
strong,
span {
display: block;
- text-overflow: ellipsis;
- overflow: hidden;
+
+ @include text-overflow;
}
strong {
diff --git a/app/javascript/gabsocial/features/account_timeline/components/profile_info_panel/profile_info_panel.scss b/app/javascript/gabsocial/features/account_timeline/components/profile_info_panel/profile_info_panel.scss
index 47d9e539..d2260d0c 100644
--- a/app/javascript/gabsocial/features/account_timeline/components/profile_info_panel/profile_info_panel.scss
+++ b/app/javascript/gabsocial/features/account_timeline/components/profile_info_panel/profile_info_panel.scss
@@ -33,12 +33,11 @@
span {
color: $primary-text-color;
+ @include text-sizing(15px, 400, 1.25);
+
body.theme-gabsocial-light & {
color: $gab-default-text-light;
}
-
- font-size: 15px;
- line-height: 1.25;
}
}
}
@@ -51,15 +50,14 @@
}
.emojione {
- width: 22px;
- height: 22px;
+ @include size(22px);
}
h1 {
span:first-of-type {
color: #ffffff;
- @include text-overflow;
+ @include text-overflow(nowrap);
@include text-sizing(20px, 600, 1.25);
body.theme-gabsocial-light & {
@@ -70,10 +68,9 @@
small {
display: block;
color: $secondary-text-color;
- overflow: hidden;
- text-overflow: ellipsis;
- @include text-sizing(16px, 400, 1.5)
+ @include text-sizing(16px, 400, 1.5);
+ @include text-overflow;
}
}
}
@@ -83,8 +80,8 @@
flex: 1 1;
color: $primary-text-color;
margin: 15px 0;
- font-size: 15px;
- line-height: 1.25;
+
+ @include text-sizing(15px, 400, 1.25);
a {
color: lighten($ui-highlight-color, 8%);
@@ -121,8 +118,7 @@
flex: 1 1;
* {
- font-size: 15px;
- line-height: 24px;
+ @include text-sizing(15px, 400, 24px);
}
dt {
diff --git a/app/javascript/gabsocial/features/compose/components/compose_form/compose_form.scss b/app/javascript/gabsocial/features/compose/components/compose_form/compose_form.scss
index e69de29b..80c68236 100644
--- a/app/javascript/gabsocial/features/compose/components/compose_form/compose_form.scss
+++ b/app/javascript/gabsocial/features/compose/components/compose_form/compose_form.scss
@@ -0,0 +1,144 @@
+.compose-form {
+ padding: 10px;
+
+ &__sensitive-button {
+ padding: 0 10px 10px 10px;
+
+ @include text-sizing(14px, 500);
+
+ &.active {
+ color: $highlight-text-color;
+ }
+
+ input[type=checkbox] {
+ display: none;
+ }
+
+ .checkbox {
+ display: inline-block;
+ position: relative;
+ box-sizing: border-box;
+ flex: 0 0 auto;
+ margin-right: 10px;
+ top: -1px;
+ vertical-align: middle;
+
+ @include size(18px);
+ @include border-design($ui-primary-color, 1px, 4px);
+
+ &.active {
+ border-color: $highlight-text-color;
+ background: $highlight-text-color;
+ }
+ }
+ }
+
+ .emoji-picker-dropdown {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ z-index: 1;
+ }
+
+ &.condensed {
+ .autosuggest-textarea__textarea {
+ min-height: 46px;
+ border-radius: 5px;
+ }
+ }
+
+ .emoji-picker-wrapper {
+ position: relative;
+ height: 0;
+ }
+
+ &__modifiers {
+ color: $inverted-text-color;
+ font-family: inherit;
+ font-size: 14px;
+ background: $simple-background-color;
+ }
+
+ &__buttons-wrapper {
+ padding: 10px;
+ background: darken($simple-background-color, 8%);
+ border-radius: 0 0 4px 4px;
+ flex: 0 0 auto;
+
+ @include flex(space-between);
+
+ .compose-form__buttons {
+ display: flex;
+
+ .compose-form__sensitive-button {
+ display: none;
+
+ &.compose-form__sensitive-button--visible {
+ display: block;
+ }
+
+ .compose-form__sensitive-button__icon {
+ line-height: 27px;
+ }
+ }
+ }
+
+ .icon-button {
+ box-sizing: content-box;
+ padding: 0 3px;
+ }
+ }
+
+ &__publish {
+ min-width: 0;
+ flex: 0 0 auto;
+
+ @include flex(flex-end);
+ }
+
+ &__publish-button-wrapper {
+ overflow: hidden;
+ padding-top: 10px;
+ }
+}
+
+.spoiler-input {
+ height: 0;
+ transform-origin: bottom;
+ opacity: 0.0;
+ position: relative;
+
+ &--visible {
+ height: 36px;
+ margin-bottom: 11px;
+ opacity: 1.0;
+ }
+
+ &__input {
+ display: block;
+ box-sizing: border-box;
+ width: 100%;
+ margin: 0;
+ color: $inverted-text-color;
+ background: $simple-background-color;
+ padding: 10px;
+ font-family: inherit;
+ font-size: 14px;
+ resize: vertical;
+ border: 0;
+ outline: 0;
+ border-radius: 4px;
+
+ &:focus {
+ outline: 0;
+ }
+
+ @include breakpoint(sm) {
+ font-size: 16px;
+ }
+ }
+}
+
+.no-reduce-motion .spoiler-input {
+ transition: height 0.4s ease, opacity 0.4s ease;
+}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/features/compose/components/emoji_picker_dropdown/emoji_picker_dropdown.scss b/app/javascript/gabsocial/features/compose/components/emoji_picker_dropdown/emoji_picker_dropdown.scss
index 429b1e8e..8ce93650 100644
--- a/app/javascript/gabsocial/features/compose/components/emoji_picker_dropdown/emoji_picker_dropdown.scss
+++ b/app/javascript/gabsocial/features/compose/components/emoji_picker_dropdown/emoji_picker_dropdown.scss
@@ -53,13 +53,13 @@
.emoji-button {
display: block;
- font-size: 24px;
- line-height: 24px;
margin-left: 2px;
width: 24px;
outline: 0;
cursor: pointer;
+ @include text-sizing(24px, 400, 24px);
+
&:active,
&:focus {
outline: 0 !important;
@@ -69,10 +69,9 @@
filter: grayscale(100%);
opacity: 0.8;
display: block;
- margin: 0;
- width: 22px;
- height: 22px;
- margin-top: 2px;
+ margin: 2px 0 0 0;
+
+ @include size(22px);
}
&:hover,
@@ -83,4 +82,36 @@
filter: none;
}
}
+}
+
+.no-reduce-motion .pulse-loading {
+ transform-origin: center center;
+ animation: heartbeat 1.5s ease-in-out infinite both;
+}
+
+@keyframes heartbeat {
+ from {
+ transform: scale(1);
+ animation-timing-function: ease-out;
+ }
+
+ 10% {
+ transform: scale(0.91);
+ animation-timing-function: ease-in;
+ }
+
+ 17% {
+ transform: scale(0.98);
+ animation-timing-function: ease-out;
+ }
+
+ 33% {
+ transform: scale(0.87);
+ animation-timing-function: ease-in;
+ }
+
+ 45% {
+ transform: scale(1);
+ animation-timing-function: ease-out;
+ }
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/features/compose/components/navigation_bar/navigation_bar.scss b/app/javascript/gabsocial/features/compose/components/navigation_bar/navigation_bar.scss
index 85fdb143..19ae3e7e 100644
--- a/app/javascript/gabsocial/features/compose/components/navigation_bar/navigation_bar.scss
+++ b/app/javascript/gabsocial/features/compose/components/navigation_bar/navigation_bar.scss
@@ -47,7 +47,7 @@
display: block;
font-weight: 500;
- @include text-overflow;
+ @include text-overflow(nowrap);
}
&__profile-edit {
diff --git a/app/javascript/gabsocial/features/compose/components/reply_indicator/reply_indicator.scss b/app/javascript/gabsocial/features/compose/components/reply_indicator/reply_indicator.scss
index 7c993bf8..c4f7f98e 100644
--- a/app/javascript/gabsocial/features/compose/components/reply_indicator/reply_indicator.scss
+++ b/app/javascript/gabsocial/features/compose/components/reply_indicator/reply_indicator.scss
@@ -48,15 +48,12 @@
.reply-indicator-content {
position: relative;
- font-size: 15px;
- line-height: 20px;
- word-wrap: break-word;
- font-weight: 400;
- overflow: hidden;
- text-overflow: ellipsis;
padding-top: 2px;
color: $primary-text-color;
+ @include text-sizing(15px, 400, 20px);
+ @include text-overflow(normal, break-word);
+
&:focus {
outline: 0;
}
@@ -70,9 +67,9 @@
}
.emojione {
- width: 20px;
- height: 20px;
margin: -3px 0 0;
+
+ @include size(20px);
}
p {
diff --git a/app/javascript/gabsocial/features/compose/compose.scss b/app/javascript/gabsocial/features/compose/compose.scss
index 642f85dd..1eb04173 100644
--- a/app/javascript/gabsocial/features/compose/compose.scss
+++ b/app/javascript/gabsocial/features/compose/compose.scss
@@ -41,8 +41,8 @@
flex-direction: column;
overflow: hidden;
overflow-y: auto;
- width: 100%;
- height: 100%;
+
+ @include size(100%);
&.darker {
background: $ui-base-color;
@@ -59,11 +59,11 @@
display: block;
object-fit: contain;
object-position: bottom left;
- width: 100%;
- height: 100%;
pointer-events: none;
user-drag: none;
- user-select: none;
+
+ @include unselectable;
+ @include size(100%);
}
@media screen and (min-height: 640px) {
@@ -93,8 +93,8 @@
.drawer {
flex: 0 0 auto;
padding: 10px;
- padding-left: 5px;
- padding-right: 5px;
+
+ @include horizontal-padding(5px);
&:first-child {
padding-left: 10px;
diff --git a/app/javascript/gabsocial/features/follow_requests/components/account_authorize/account_authorize.scss b/app/javascript/gabsocial/features/follow_requests/components/account_authorize/account_authorize.scss
index 2d614e22..56e6c07d 100644
--- a/app/javascript/gabsocial/features/follow_requests/components/account_authorize/account_authorize.scss
+++ b/app/javascript/gabsocial/features/follow_requests/components/account_authorize/account_authorize.scss
@@ -16,8 +16,8 @@
strong,
span {
display: block;
- text-overflow: ellipsis;
- overflow: hidden;
+
+ @include text-overflow;
}
strong {
@@ -33,12 +33,12 @@
.account__header__content {
color: $darker-text-color;
- font-size: 14px;
- font-weight: 400;
overflow: hidden;
word-break: normal;
word-wrap: break-word;
+ @include text-sizing(14px, 400);
+
p {
margin-bottom: 20px;
@@ -55,4 +55,18 @@
text-decoration: none;
}
}
+}
+
+.account--panel {
+ background: lighten($ui-base-color, 4%);
+ border-top: 1px solid lighten($ui-base-color, 8%);
+ border-bottom: 1px solid lighten($ui-base-color, 8%);
+ display: flex;
+ flex-direction: row;
+ padding: 10px 0;
+}
+
+.account--panel__button {
+ flex: 1 1 auto;
+ text-align: center;
}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/features/introduction/introduction.scss b/app/javascript/gabsocial/features/introduction/introduction.scss
index 4a076757..aaffc948 100644
--- a/app/javascript/gabsocial/features/introduction/introduction.scss
+++ b/app/javascript/gabsocial/features/introduction/introduction.scss
@@ -135,8 +135,7 @@
}
&__action {
- padding: 25px;
- padding-top: 0;
+ padding: 0 25px 25px 25px;
@include flex(center, center);
}
diff --git a/app/javascript/gabsocial/features/notifications/components/notification/notification.scss b/app/javascript/gabsocial/features/notifications/components/notification/notification.scss
index 5d7fca12..50bc9d50 100644
--- a/app/javascript/gabsocial/features/notifications/components/notification/notification.scss
+++ b/app/javascript/gabsocial/features/notifications/components/notification/notification.scss
@@ -1,20 +1,21 @@
.notification {
+
&--favourite {
+ .status.status-direct {
+ background: transparent;
+ .icon-button.disabled {
+ color: lighten($action-button-color, 13%);
+ }
+ }
}
- &--follow {
+ &--follow {}
- }
+ &--reblog {}
- &--reblog {
-
- }
-
- &--poll {
-
- }
+ &--poll {}
&__message {
margin: 0 10px 0 68px;
@@ -32,7 +33,7 @@
>span {
display: inline;
- @include text-overflow;
+ @include text-overflow(nowrap);
}
}
diff --git a/app/javascript/gabsocial/features/search/components/header/header.scss b/app/javascript/gabsocial/features/search/components/header/header.scss
index 9677f934..94bdbf72 100644
--- a/app/javascript/gabsocial/features/search/components/header/header.scss
+++ b/app/javascript/gabsocial/features/search/components/header/header.scss
@@ -18,7 +18,7 @@
max-width: 1200px;
@include text-sizing(27px, bold, 32px);
- @include text-overflow;
+ @include text-overflow(nowrap);
@include margin-center;
@media (min-width:895px) and (max-width:1190px) {
diff --git a/app/javascript/gabsocial/features/status/components/card/card.scss b/app/javascript/gabsocial/features/status/components/card/card.scss
new file mode 100644
index 00000000..0e9f1f0d
--- /dev/null
+++ b/app/javascript/gabsocial/features/status/components/card/card.scss
@@ -0,0 +1,169 @@
+.status-card {
+ display: flex;
+ font-size: 14px;
+ color: $dark-text-color;
+ margin-top: 14px;
+ text-decoration: none;
+ overflow: hidden;
+
+ @include border-design(lighten($ui-base-color, 8%), 1px, 4px);
+
+ &__actions {
+ @include flex(center, center);
+ @include abs-position(0, 0, 0, 0);
+
+ &>div {
+ background: rgba($base-shadow-color, 0.6);
+ border-radius: 8px;
+ padding: 12px 9px;
+ flex: 0 0 auto;
+
+ @include flex(center, center);
+ }
+
+ button,
+ a {
+ display: inline;
+ color: $secondary-text-color;
+ background: transparent;
+ border: 0;
+ padding: 0 8px;
+ text-decoration: none;
+ font-size: 18px;
+ line-height: 18px;
+
+ &:hover,
+ &:active,
+ &:focus {
+ color: $primary-text-color;
+ }
+ }
+
+ a {
+ font-size: 19px;
+ position: relative;
+ bottom: -1px;
+ }
+ }
+
+ &__title {
+ display: block;
+ font-weight: 500;
+ margin-bottom: 5px;
+ color: $darker-text-color;
+ text-decoration: none;
+
+ @include text-overflow(nowrap);
+ }
+
+ &__content {
+ flex: 1 1 auto;
+ overflow: hidden;
+ padding: 14px 14px 14px 8px;
+ }
+
+ &__description {
+ color: $darker-text-color;
+ }
+
+ &__host {
+ display: block;
+ margin-top: 5px;
+ font-size: 13px;
+
+ @include text-overflow(nowrap);
+ }
+
+ &__image {
+ flex: 0 0 100px;
+ background: lighten($ui-base-color, 8%);
+ position: relative;
+
+ &>.fa {
+ font-size: 21px;
+ position: absolute;
+ transform-origin: 50% 50%;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ }
+ }
+
+ &__image-image {
+ border-radius: 4px 0 0 4px;
+ display: block;
+ margin: 0;
+ object-fit: cover;
+ background-size: cover;
+ background-position: center center;
+
+ @include size(100%);
+ }
+
+ &.horizontal {
+ display: block;
+ }
+
+ &.horizontal & {
+ &__image {
+ width: 100%;
+ }
+
+ &__image-image {
+ border-radius: 4px 4px 0 0;
+ }
+
+ &__title {
+ white-space: inherit;
+ }
+ }
+
+ &.compact {
+ border-color: lighten($ui-base-color, 4%);
+
+ &.interactive {
+ border: 0;
+ }
+ }
+
+ &.compact & {
+ &__content {
+ padding: 10px 8px 8px 8px;
+ }
+
+ &__title {
+ white-space: nowrap;
+ }
+
+ &__image {
+ flex: 0 0 60px;
+ }
+ }
+}
+
+a.status-card {
+ cursor: pointer;
+
+ &:hover {
+ background: lighten($ui-base-color, 8%);
+ }
+
+ &.compact:hover {
+ background-color: lighten($ui-base-color, 4%);
+ }
+}
+
+.status-card-photo {
+ cursor: zoom-in;
+ display: block;
+ text-decoration: none;
+ margin: 0;
+
+ @include size(100%, auto);
+}
+
+.status-card-video {
+ iframe {
+ @include size(100%);
+ }
+}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/features/status/components/detailed_status/detailed_status.scss b/app/javascript/gabsocial/features/status/components/detailed_status/detailed_status.scss
index e69de29b..76ead71c 100644
--- a/app/javascript/gabsocial/features/status/components/detailed_status/detailed_status.scss
+++ b/app/javascript/gabsocial/features/status/components/detailed_status/detailed_status.scss
@@ -0,0 +1,96 @@
+.detailed-status {
+ background: lighten($ui-base-color, 4%);
+ padding: 14px 10px;
+
+ &--flex {
+ @include flex(space-between, flex-start, row, wrap);
+
+ .status__content,
+ .detailed-status__meta {
+ flex: 100%;
+ }
+ }
+
+ .status__content {
+ @include text-sizing(19px, 400, 24px);
+
+ .emojione {
+ margin: -1px 0 0;
+
+ @include size(24px);
+ }
+
+ .status__content__spoiler-link {
+ line-height: 24px;
+ margin: -1px 0 0;
+ }
+ }
+
+ .video-player {
+ margin-top: 8px;
+ }
+
+
+ &__meta {
+ margin-top: 15px;
+ color: $dark-text-color;
+
+ @include text-sizing(14px, 400, 18px);
+ }
+
+ &__datetime {
+ &:hover {
+ text-decoration: underline;
+ }
+ }
+
+ &__favorites,
+ &__reblogs {
+ display: inline-block;
+ margin-left: 6px;
+
+ @include text-sizing(12px, 500);
+ }
+
+ &__display-name,
+ &__datetime,
+ &__application {
+ text-decoration: none;
+ }
+
+ &__display-name {
+ &:hover strong {
+ text-decoration: underline;
+ }
+ }
+
+ &__application,
+ &__datetime {
+ color: inherit;
+ }
+
+ &__display-name {
+ color: $secondary-text-color;
+ display: block;
+ line-height: 24px;
+ margin-bottom: 15px;
+ overflow: hidden;
+
+ strong,
+ span {
+ display: block;
+
+ @include text-overflow;
+ }
+
+ strong {
+ font-size: 16px;
+ color: $primary-text-color;
+ }
+ }
+
+ &__display-avatar {
+ float: left;
+ margin-right: 10px;
+ }
+}
\ No newline at end of file
diff --git a/app/javascript/gabsocial/features/ui/util/reduced_motion.js b/app/javascript/gabsocial/features/ui/util/reduced_motion.js
index e95a6b3d..0bfbdb61 100644
--- a/app/javascript/gabsocial/features/ui/util/reduced_motion.js
+++ b/app/javascript/gabsocial/features/ui/util/reduced_motion.js
@@ -9,7 +9,7 @@ const extractValue = (value) => {
return (typeof value === 'object' && value && 'val' in value) ? value.val : value;
};
-class ReducedMotion extends Component {
+class ReducedMotion extends PureComponent {
static propTypes = {
defaultStyle: PropTypes.object,
diff --git a/app/javascript/gabsocial/features/video/video.scss b/app/javascript/gabsocial/features/video/video.scss
index 5fd4e787..99e82f84 100644
--- a/app/javascript/gabsocial/features/video/video.scss
+++ b/app/javascript/gabsocial/features/video/video.scss
@@ -94,15 +94,15 @@
}
&__buttons-bar {
- display: flex;
- justify-content: space-between;
padding-bottom: 10px;
+
+ @include flex(space-between);
}
&__buttons {
font-size: 16px;
- @include text-overflow;
+ @include text-overflow(nowrap);
&.left {
button {
@@ -177,13 +177,12 @@
&__handle {
z-index: 3;
- border-radius: 50%;
transition: opacity .1s ease;
background: lighten($ui-highlight-color, 8%);
box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
pointer-events: none;
- @include size(12px);
+ @include circle(12px);
@include abs-position(auto, auto, 16px, 70px);
}
}
@@ -222,11 +221,11 @@
&__progress,
&__buffer {
display: block;
- position: absolute;
height: 4px;
border-radius: 4px;
- top: 10px;
background: lighten($ui-highlight-color, 8%);
+
+ @include abs-position(10px);
}
&__buffer {
@@ -234,10 +233,8 @@
}
&__handle {
- position: absolute;
z-index: 3;
opacity: 0;
- top: 6px;
margin-left: -6px;
transition: opacity .1s ease;
background: lighten($ui-highlight-color, 8%);
@@ -245,6 +242,7 @@
pointer-events: none;
@include circle(12px);
+ @include abs-position(6px);
&.active {
opacity: 1;
@@ -262,8 +260,7 @@
&.fullscreen {
.video-player__buttons {
button {
- padding-top: 10px;
- padding-bottom: 10px;
+ @include vertical-padding(10px);
}
}
}