diff --git a/app/javascript/gabsocial/containers/gabsocial.js b/app/javascript/gabsocial/containers/gabsocial.js
index 06252956..574b3cd3 100644
--- a/app/javascript/gabsocial/containers/gabsocial.js
+++ b/app/javascript/gabsocial/containers/gabsocial.js
@@ -15,7 +15,6 @@ import { getLocale } from '../locales';
import initialState from '../initial_state';
import { me } from '../initial_state';
import ErrorBoundary from '../components/error_boundary';
-// import { whyDidYouUpdate } from 'why-did-you-update';
import '../../styles/gabsocial/components.scss';
import '../../styles/gabsocial/components/buttons.scss';
@@ -84,10 +83,6 @@ class GabSocialMount extends PureComponent {
}
-// whyDidYouUpdate(React);
-// whyDidYouUpdate(React, { groupByComponent: true, collapseComponentGroups: false });
-// whyDidYouUpdate(React, { exclude: [/^Connect|Link|NavLink|Route/] });
-
export default class GabSocial extends PureComponent {
static propTypes = {
diff --git a/app/javascript/styles/contrast/diff.scss b/app/javascript/styles/contrast/diff.scss
index f78e6059..babdd485 100644
--- a/app/javascript/styles/contrast/diff.scss
+++ b/app/javascript/styles/contrast/diff.scss
@@ -58,16 +58,6 @@
}
}
-.getting-started__footer a {
- text-decoration: underline;
-
- &:hover,
- &:focus,
- &:active {
- text-decoration: none;
- }
-}
-
.nothing-here {
color: $darker-text-color;
}
diff --git a/app/javascript/styles/gabsocial-light/diff.scss b/app/javascript/styles/gabsocial-light/diff.scss
index cd0c8ba8..6c178fb8 100644
--- a/app/javascript/styles/gabsocial-light/diff.scss
+++ b/app/javascript/styles/gabsocial-light/diff.scss
@@ -5,7 +5,7 @@
.button {
color: $white;
- &.button-alternative-2 {
+ &.button--alternative-2 {
color: $white;
}
}
@@ -79,7 +79,7 @@
}
.detailed-status,
-.detailed-status__action-bar {
+.detailed-status-action-bar {
background: darken($ui-base-color, 6%);
}
@@ -214,7 +214,6 @@
}
// Change the default color used for the text in an empty column or on the error column
-.empty-column-indicator,
.error-column {
color: $primary-text-color;
background: $white;
@@ -317,7 +316,7 @@
}
}
-.account__section-headline a.active::after {
+.account-section-headline a.active::after {
border-color: transparent transparent $white;
}
diff --git a/app/javascript/styles/gabsocial/_mixins.scss b/app/javascript/styles/gabsocial/_mixins.scss
index 57319a29..e69de29b 100644
--- a/app/javascript/styles/gabsocial/_mixins.scss
+++ b/app/javascript/styles/gabsocial/_mixins.scss
@@ -1,93 +0,0 @@
-// NEW GAB SPECIFIC MIXINS
-
-// THEME MIXINS
-
-// standard container drop shadow
-@mixin light-theme-shadow() {box-shadow: 0 0 6px 0 rgba(0,0,0,0.1);}
-
-// common properties for all standard containers
-@mixin gab-container-standards() {
- border-radius: 10px;
- background: $gab-background-container;
- body.theme-gabsocial-light & {
- @include light-theme-shadow();
- background: $gab-background-container-light;
- }
-}
-
-// SHORTCUTS
-@mixin input-placeholder($color) {
- &::-webkit-input-placeholder {color: $color;}
- &::-moz-placeholder {color: $color;}
- &:-ms-input-placeholder {color: $color;}
- &:-moz-placeholder {color: $color;}
-}
-
-// OLDER MIXINS
-@mixin avatar-radius() {
- border-radius: 50%;
- background: transparent no-repeat;
- background-position: 50%;
- background-clip: padding-box;
-}
-
-@mixin avatar-size($size:48px) {
- width: $size;
- height: $size;
- background-size: $size $size;
-}
-
-@mixin search-input() {
- outline: 0;
- box-sizing: border-box;
- width: 100%;
- border: 1px $gab-placeholder-accent solid;
- box-shadow: none;
- font-family: inherit;
- background: $gab-background-container;
- color: $gab-text-highlight;
- @include font-size(16);
- @include line-height(19);
- margin: 0;
- border-radius: 4px;
-
- // Chrome does not like these concatinated together
- &::placeholder {color: $gab-placeholder-accent;}
- &:-ms-input-placeholder {color: $gab-placeholder-accent;}
- &::-ms-input-placeholder{color: $gab-placeholder-accent;}
-
- &::-moz-focus-inner {
- border: 0;
- }
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
-}
-
-@mixin search-popout() {
- background: $gab-background-container;
- border-radius: 4px;
- border: 1px solid $gab-placeholder-accent;
- padding: 8px 10px 17px 10px;
- margin: 4px 0 0 0;
- @include font-size(12);
- @include line-height(14);
- @include font-weight(normal);
- color: $gab-secondary-text;
- box-shadow: 0 0 6px 0 rgba(0,0,0,0.5);
- h4 {
- color: #fff;
- @include font-size(14);
- @include line-height(16);
- @include font-weight(bold);
- }
- ul {
- margin: 6px 0 6px;
- li {
- margin: 0 0 2px 0;
- em {color: $gab-text-highlight;}
- }
- }
-}
diff --git a/app/javascript/styles/gabsocial/about.scss b/app/javascript/styles/gabsocial/about.scss
index 3452503f..4f264eb4 100644
--- a/app/javascript/styles/gabsocial/about.scss
+++ b/app/javascript/styles/gabsocial/about.scss
@@ -17,13 +17,11 @@ $small-breakpoint: 960px;
.rich-formatting {
font-family: $font-sans-serif, sans-serif;
- font-size: 16px;
- font-weight: 400;
- font-size: 16px;
- line-height: 30px;
color: $darker-text-color;
padding-right: 10px;
+ @include text-sizing(16px, 400, 30px);
+
a {
color: $highlight-text-color;
text-decoration: underline;
@@ -32,13 +30,11 @@ $small-breakpoint: 960px;
p,
li {
font-family: $font-sans-serif, sans-serif;
- font-size: 16px;
- font-weight: 400;
- font-size: 16px;
- line-height: 30px;
margin-bottom: 12px;
color: $darker-text-color;
+ @include text-sizing(16px, 400, 30px);
+
a {
color: $highlight-text-color;
text-decoration: underline;
@@ -57,64 +53,58 @@ $small-breakpoint: 960px;
h1 {
font-family: $font-display, sans-serif;
- font-size: 26px;
- line-height: 30px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+ @include text-sizing(26px, 500, 30px);
+
small {
font-family: $font-sans-serif, sans-serif;
display: block;
- font-size: 18px;
- font-weight: 400;
color: lighten($darker-text-color, 10%);
+
+ @include text-sizing(18px, 400);
}
}
h2 {
font-family: $font-display, sans-serif;
- font-size: 22px;
- line-height: 26px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(22px, 500, 26px);
}
h3 {
font-family: $font-display, sans-serif;
- font-size: 18px;
- line-height: 24px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(18px, 500, 24px);
}
h4 {
font-family: $font-display, sans-serif;
- font-size: 16px;
- line-height: 24px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(16px, 500, 24px);
}
h5 {
font-family: $font-display, sans-serif;
- font-size: 14px;
- line-height: 24px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(14px, 500, 24px);
}
h6 {
font-family: $font-display, sans-serif;
- font-size: 12px;
- line-height: 24px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(12px, 500, 24px);
}
ul,
@@ -144,12 +134,12 @@ $small-breakpoint: 960px;
}
hr {
- width: 100%;
- height: 0;
border: 0;
border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
margin: 20px 0;
+ @include size(100%, 0);
+
&.spacer {
height: 1px;
border: 0;
@@ -163,24 +153,23 @@ $small-breakpoint: 960px;
.container-alt {
position: relative;
- padding-right: 280px + 15px;
+ padding-right: 295px;
}
&__sections {
- display: flex;
- justify-content: space-between;
flex-wrap: wrap;
+
+ @include flex(space-between);
}
&__section {
flex: 1 0 0;
font-family: $font-sans-serif, sans-serif;
- font-size: 16px;
- line-height: 28px;
color: $primary-text-color;
- text-align: right;
padding: 10px 15px;
+ @include text-sizing(16px, 400, 28px, right);
+
span,
strong {
display: block;
@@ -194,9 +183,8 @@ $small-breakpoint: 960px;
strong {
font-family: $font-display, sans-serif;
- font-weight: 500;
- font-size: 32px;
- line-height: 48px;
+
+ @include text-sizing(32px, 500, 48px);
}
@media screen and (max-width: $column-breakpoint) {
@@ -204,56 +192,19 @@ $small-breakpoint: 960px;
}
}
- .panel {
- position: absolute;
- width: 280px;
- box-sizing: border-box;
- background: darken($ui-base-color, 8%);
- padding: 20px;
- padding-top: 10px;
- border-radius: 4px 4px 0 0;
- right: 0;
- bottom: -40px;
-
- .panel-header {
- font-family: $font-display, sans-serif;
- font-size: 14px;
- line-height: 24px;
- font-weight: 500;
- color: $darker-text-color;
- padding-bottom: 5px;
- margin-bottom: 15px;
- border-bottom: 1px solid lighten($ui-base-color, 4%);
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
-
- a,
- span {
- font-weight: 400;
- color: darken($darker-text-color, 10%);
- }
-
- a {
- text-decoration: none;
- }
- }
- }
-
.owner {
text-align: center;
.avatar {
- width: 80px;
- height: 80px;
- margin: 0 auto;
margin-bottom: 15px;
+ @include size(80px);
+ @include margin-center;
+
img {
display: block;
- width: 80px;
- height: 80px;
- border-radius: 48px;
+
+ @include circle(80px);
}
}
@@ -284,13 +235,11 @@ $small-breakpoint: 960px;
p,
li {
font-family: $font-sans-serif, sans-serif;
- font-size: 16px;
- font-weight: 400;
- font-size: 16px;
- line-height: 30px;
margin-bottom: 12px;
color: $darker-text-color;
+ @include text-sizing(16px, 400, 30px);
+
a {
color: $highlight-text-color;
text-decoration: underline;
@@ -301,74 +250,67 @@ $small-breakpoint: 960px;
display: inline;
margin: 0;
padding: 0;
- font-weight: 700;
background: transparent;
font-family: inherit;
- font-size: inherit;
- line-height: inherit;
color: lighten($darker-text-color, 10%);
+
+ @include text-sizing(inherit, 700, inherit);
}
h1 {
font-family: $font-display, sans-serif;
- font-size: 26px;
- line-height: 30px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+ @include text-sizing(26px, 500, 30px);
+
small {
font-family: $font-sans-serif, sans-serif;
display: block;
- font-size: 18px;
- font-weight: 400;
color: lighten($darker-text-color, 10%);
+
+ @include text-sizing(18px, 400);
}
}
h2 {
font-family: $font-display, sans-serif;
- font-size: 22px;
- line-height: 26px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(22px, 500, 26px);
}
h3 {
font-family: $font-display, sans-serif;
- font-size: 18px;
- line-height: 24px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(18px, 500, 24px);
}
h4 {
font-family: $font-display, sans-serif;
- font-size: 16px;
- line-height: 24px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(16px, 500, 24px);
}
h5 {
font-family: $font-display, sans-serif;
- font-size: 14px;
- line-height: 24px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(14px, 500, 24px);
}
h6 {
font-family: $font-display, sans-serif;
- font-size: 12px;
- line-height: 24px;
- font-weight: 500;
margin-bottom: 20px;
color: $secondary-text-color;
+
+ @include text-sizing(12px, 24px, 500);
}
ul,
@@ -398,12 +340,12 @@ $small-breakpoint: 960px;
}
hr {
- width: 100%;
- height: 0;
border: 0;
border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
margin: 20px 0;
+ @include size(100%, 0);
+
&.spacer {
height: 1px;
border: 0;
@@ -424,17 +366,12 @@ $small-breakpoint: 960px;
.row {
width: 100%;
- display: flex;
- flex-direction: row-reverse;
- flex-wrap: nowrap;
- justify-content: space-between;
- align-items: center;
+
+ @include flex(space-between, center, row-reverse, nowrap);
}
.row__information-board {
- display: flex;
- justify-content: flex-end;
- align-items: flex-end;
+ @include flex(flex-end, flex-end);
.information-board__section {
flex: 1 0 auto;
@@ -446,24 +383,15 @@ $small-breakpoint: 960px;
justify-content: space-between;
}
}
-
- .row__mascot {
- flex: 1;
- margin: 10px -50px 0 0;
-
- @media screen and (max-width: $no-gap-breakpoint) {
- display: none;
- }
- }
}
&__logo {
margin-right: 20px;
img {
- height: 50px;
- width: auto;
mix-blend-mode: lighten;
+
+ @include size(auto, 50px);
}
}
@@ -508,9 +436,9 @@ $small-breakpoint: 960px;
}
&__avatar {
- width: 44px;
- height: 44px;
background-size: 44px 44px;
+
+ @include size(44px);
}
.display-name {
@@ -542,18 +470,6 @@ $small-breakpoint: 960px;
box-shadow: 0 0 6px rgba($black, 0.1);
}
- &__mascot {
- height: 104px;
- position: relative;
- left: -40px;
- bottom: 25px;
-
- img {
- height: 190px;
- width: auto;
- }
- }
-
&__short-description {
.row {
display: flex;
@@ -608,17 +524,6 @@ $small-breakpoint: 960px;
.container-alt {
padding-right: 20px;
}
-
- .panel {
- position: static;
- margin-top: 20px;
- width: 100%;
- border-radius: 4px;
-
- .panel-header {
- text-align: center;
- }
- }
}
}
@@ -674,7 +579,7 @@ $small-breakpoint: 960px;
padding: 40px 20px 20px 20px;
&--left {
- margin-right: 40px;
+ margin-: 40px;
}
&--right {
@@ -701,10 +606,7 @@ $small-breakpoint: 960px;
}
&__brand {
- display: flex;
- justify-content: start;
- align-items: center;
- flex-direction: column;
+ @include flex(start, center, column);
.brand {
margin-right: auto !important;
@@ -731,15 +633,14 @@ $small-breakpoint: 960px;
}
.hero-widget {
- margin-top: 30px;
- margin-bottom: 0;
+ @include vertical-margin(30px, 0);
h4 {
padding: 10px;
text-transform: uppercase;
- font-weight: 700;
- font-size: 13px;
color: $darker-text-color;
+
+ @include text-sizing(13px, 700);
}
&__text {
@@ -768,9 +669,9 @@ $small-breakpoint: 960px;
}
.account__avatar {
- width: 44px;
- height: 44px;
background-size: 44px 44px;
+
+ @include size(44px);
}
}
@@ -779,9 +680,9 @@ $small-breakpoint: 960px;
strong {
font-family: $font-display, sans-serif;
- font-size: 15px;
- font-weight: 700;
display: block;
+
+ @include text-sizing(15px, 700);
}
span {
@@ -798,10 +699,9 @@ $small-breakpoint: 960px;
.simple_form p.lead {
color: $darker-text-color;
- font-size: 15px;
- line-height: 20px;
- font-weight: 400;
margin-bottom: 25px;
+
+ @include text-sizing(15px, 400, 20px);
}
&__grid {
@@ -826,10 +726,10 @@ $small-breakpoint: 960px;
}
.hero-widget {
- margin-top: 0;
- margin-bottom: 10px;
order: 1;
flex: 0 0 auto;
+
+ @include vertical-margin(0, 10px);
}
}
@@ -894,10 +794,9 @@ $small-breakpoint: 960px;
display: block;
width: 470px;
color: $primary-text-color;
- font-size: 30px;
- line-height: 1.4;
margin-top: 25px;
- font-weight: 400;
+
+ @include text-sizing(30px, 400, 1.4);
@media (min-width:767px) and (max-width:1024px) {
width: 320px;
diff --git a/app/javascript/styles/gabsocial/accounts.scss b/app/javascript/styles/gabsocial/accounts.scss
index dba94b7c..71e70938 100644
--- a/app/javascript/styles/gabsocial/accounts.scss
+++ b/app/javascript/styles/gabsocial/accounts.scss
@@ -1,5 +1,5 @@
.card {
- & > a {
+ &>a {
display: block;
text-decoration: none;
color: inherit;
@@ -26,14 +26,14 @@
img {
display: block;
- width: 100%;
- height: 100%;
margin: 0;
object-fit: cover;
border-radius: 4px 4px 0 0;
+
+ @include size(100%);
}
- @media screen and (max-width: 600px) {
+ @include breakpoint(sm) {
height: 200px;
}
@@ -45,30 +45,29 @@
&__bar {
position: relative;
padding: 15px;
- display: flex;
- justify-content: flex-start;
- align-items: center;
background: lighten($ui-base-color, 4%);
border-radius: 0 0 4px 4px;
+ @include flex(flex-start, center);
+
@media screen and (max-width: $no-gap-breakpoint) {
border-radius: 0;
}
.avatar {
flex: 0 0 auto;
- width: 48px;
- height: 48px;
padding-top: 2px;
+ @include size(48px);
+
img {
- width: 100%;
- height: 100%;
display: block;
margin: 0;
border-radius: 4px;
background: darken($ui-base-color, 8%);
object-fit: cover;
+
+ @include size(100%);
}
}
@@ -77,20 +76,18 @@
text-align: left;
strong {
- font-size: 15px;
color: $primary-text-color;
- font-weight: 500;
- overflow: hidden;
- text-overflow: ellipsis;
+
+ @include text-overflow;
+ @include text-sizing(15px, 500);
}
span {
display: block;
- font-size: 14px;
color: $gab-secondary-text;
- font-weight: 400;
- overflow: hidden;
- text-overflow: ellipsis;
+
+ @include text-overflow;
+ @include text-sizing(14px, 400);
}
}
}
@@ -107,12 +104,12 @@
.older,
.page,
.gap {
- font-size: 14px;
color: $primary-text-color;
- font-weight: 500;
display: inline-block;
padding: 6px 10px;
text-decoration: none;
+
+ @include text-sizing(14px, 500);
}
.current {
@@ -176,17 +173,14 @@
background: $ui-base-color;
box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
color: $gab-secondary-text;
- font-size: 14px;
- font-weight: 500;
- text-align: center;
- display: flex;
- justify-content: center;
- align-items: center;
cursor: default;
border-radius: 4px;
padding: 20px;
min-height: 30vh;
+ @include flex(center, center);
+ @include text-sizing(14px, 500, 1, center);
+
&--under-tabs {
border-radius: 0 0 4px 4px;
}
@@ -201,13 +195,11 @@
display: inline-block;
padding: 4px 6px;
cursor: default;
- border-radius: 3px;
- font-size: 12px;
- line-height: 12px;
- font-weight: 500;
color: $ui-secondary-color;
background-color: rgba($ui-secondary-color, 0.1);
- border: 1px solid rgba($ui-secondary-color, 0.5);
+
+ @include text-sizing(12px, 500, 12px);
+ @include border-design(rgba($ui-secondary-color, 0.5), 1px, 3px);
&.moderator {
color: $success-green;
@@ -228,8 +220,8 @@
border: 0 none;
border-top: 1px solid lighten($ui-base-color, 12%);
border-bottom: 1px solid lighten($ui-base-color, 12%);
- font-size: 14px;
- line-height: 20px;
+
+ @include text-sizing(14px, 400, 20px);
dl {
display: flex;
@@ -239,12 +231,10 @@
dt,
dd {
box-sizing: border-box;
- padding: 14px;
- text-align: center;
max-height: 48px;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
+
+ @include text-overflow(nowrap);
+ @include text-sizing(14px, 400, 1, center);
}
dt {
@@ -290,7 +280,7 @@
}
}
-.directory__tag .trends__item__current {
+.directory__tag .trending-item__uses {
width: auto;
}
@@ -318,4 +308,4 @@
&__body {
margin-top: 10px;
}
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/admin.scss b/app/javascript/styles/gabsocial/admin.scss
index c7f6e23d..1a9474ec 100644
--- a/app/javascript/styles/gabsocial/admin.scss
+++ b/app/javascript/styles/gabsocial/admin.scss
@@ -3,16 +3,16 @@ $sidebar-width: 240px;
$content-width: 840px;
.admin-wrapper {
- display: flex;
- justify-content: center;
height: 100%;
+ @include flex(center);
+
.sidebar-wrapper {
flex: 1 1 $sidebar-width;
height: 100%;
background: $ui-base-color;
- display: flex;
- justify-content: flex-end;
+
+ @include flex(flex-end);
}
.sidebar {
@@ -24,12 +24,12 @@ $content-width: 840px;
.logo {
display: block;
margin: 40px auto;
- width: 100px;
- height: 100px;
+
+ @include size(100px);
}
@media screen and (max-width: $no-columns-breakpoint) {
- & > a:first-child {
+ &>a:first-child {
display: none;
}
}
@@ -93,7 +93,7 @@ $content-width: 840px;
}
}
- & > ul > .simple-navigation-active-leaf a {
+ &>ul>.simple-navigation-active-leaf a {
border-radius: 4px 0 0 4px;
}
}
@@ -105,49 +105,41 @@ $content-width: 840px;
.content {
max-width: $content-width;
- padding: 20px 15px;
- padding-top: 60px;
- padding-left: 25px;
+ padding: 60px 15px 20px 25px;
@media screen and (max-width: $no-columns-breakpoint) {
max-width: none;
- padding: 15px;
- padding-top: 30px;
+ padding: 30px 15px 15px 15px;
}
h2 {
color: $secondary-text-color;
- font-size: 24px;
- line-height: 28px;
- font-weight: 400;
- padding-bottom: 40px;
border-bottom: 1px solid lighten($ui-base-color, 8%);
- margin-bottom: 40px;
+
+ @include text-sizing(24px, 400, 28px);
+ @include bottom-spacing(40px);
}
h3 {
color: $secondary-text-color;
- font-size: 20px;
- line-height: 28px;
- font-weight: 400;
margin-bottom: 30px;
+
+ @include text-sizing(20px, 400, 28px);
}
h4 {
text-transform: uppercase;
- font-size: 13px;
- font-weight: 700;
color: $gab-secondary-text;
- padding-bottom: 8px;
- margin-bottom: 8px;
border-bottom: 1px solid lighten($ui-base-color, 8%);
+
+ @include text-sizing(13px, 700);
+ @include bottom-spacing(8px);
}
h6 {
- font-size: 16px;
color: $secondary-text-color;
- line-height: 28px;
- font-weight: 400;
+
+ @include text-sizing(16px, 400, 28px);
}
.fields-group h6 {
@@ -155,8 +147,8 @@ $content-width: 840px;
font-weight: 500;
}
- .directory__tag > a,
- .directory__tag > div {
+ .directory__tag>a,
+ .directory__tag>div {
box-shadow: none;
}
@@ -165,21 +157,20 @@ $content-width: 840px;
}
.directory__tag h4 {
- font-size: 18px;
- font-weight: 700;
color: $gab-secondary-text;
text-transform: none;
- padding-bottom: 0;
- margin-bottom: 0;
border-bottom: none;
+
+ @include text-sizing(18px, 700);
+ @include bottom-spacing(0);
}
- & > p {
- font-size: 14px;
- line-height: 18px;
+ &>p {
color: $gab-secondary-text;
margin-bottom: 20px;
+ @include text-sizing(14px, 400, 18px);
+
strong {
color: $gab-secondary-text;
font-weight: 500;
@@ -193,12 +184,12 @@ $content-width: 840px;
}
hr {
- width: 100%;
- height: 0;
border: 0;
border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
margin: 20px 0;
+ @include size(100%, 0);
+
&.spacer {
height: 1px;
border: 0;
@@ -272,9 +263,9 @@ $content-width: 840px;
}
strong {
- font-weight: 500;
text-transform: uppercase;
- font-size: 12px;
+
+ @include text-sizing(12px, 500);
@each $lang in $cjk-langs {
&:lang(#{$lang}) {
@@ -288,10 +279,10 @@ $content-width: 840px;
color: $gab-secondary-text;
text-decoration: none;
text-transform: uppercase;
- font-size: 12px;
- font-weight: 500;
border-bottom: 2px solid $gab-secondary-text;
+ @include text-sizing(12px, 500);
+
&:hover {
color: $primary-text-color;
border-bottom: 2px solid lighten($gab-secondary-text, 5%);
@@ -317,14 +308,13 @@ $content-width: 840px;
flex-direction: column;
margin: 0 5px;
- & > strong {
+ &>strong {
display: block;
margin: 0 0 10px -5px;
- font-weight: 500;
- font-size: 14px;
- line-height: 18px;
color: $secondary-text-color;
+ @include text-sizing(14px, 500, 18px);
+
@each $lang in $cjk-langs {
&:lang(#{$lang}) {
font-weight: 700;
@@ -420,15 +410,14 @@ $content-width: 840px;
line-height: 20px;
&__header {
- display: flex;
- justify-content: flex-start;
- align-items: center;
padding: 10px;
background: $ui-base-color;
color: $darker-text-color;
border-radius: 4px 4px 0 0;
font-size: 14px;
position: relative;
+
+ @include flex(flex-start, center);
}
&__avatar {
@@ -437,9 +426,8 @@ $content-width: 840px;
.avatar {
display: block;
margin: 0;
- border-radius: 50%;
- width: 40px;
- height: 40px;
+
+ @include circle(40px);
}
}
@@ -473,12 +461,8 @@ $content-width: 840px;
}
&__icon__overlay {
- position: absolute;
- top: 10px;
- right: 10px;
- width: 10px;
- height: 10px;
- border-radius: 50%;
+ @include circle(10px);
+ @include abs-position(10px, 10px);
&.positive {
background: $success-green;
@@ -575,13 +559,11 @@ a.name-tag,
}
&__bubble {
- padding: 16px;
- padding-left: 14px;
- font-size: 15px;
- line-height: 20px;
+ padding: 16px 16px 16px 14px;
border-radius: 4px 4px 4px 0;
position: relative;
- font-weight: 500;
+
+ @include text-sizing(15px, 500, 20px);
a {
color: $darker-text-color;
@@ -589,8 +571,7 @@ a.name-tag,
}
&__owner {
- padding: 8px;
- padding-left: 12px;
+ padding: 8px 8px 8px 12px;
}
time {
@@ -604,11 +585,10 @@ a.name-tag,
margin-bottom: 20px;
&__profile {
- display: flex;
- justify-content: space-between;
- align-items: center;
padding: 15px;
+ @include flex(space-between, center);
+
.account {
padding: 0;
border: 0;
@@ -644,10 +624,10 @@ a.name-tag,
&__summary {
&__item {
- display: flex;
- justify-content: flex-start;
border-top: 1px solid darken($ui-base-color, 4%);
+ @include flex(flex-start);
+
&:hover {
background: lighten($ui-base-color, 2%);
}
@@ -662,9 +642,7 @@ a.name-tag,
&,
.username {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
+ @include text-overflow(nowrap);
}
}
@@ -692,15 +670,13 @@ a.name-tag,
}
.one-line {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
+ @include text-overflow(nowrap);
}
.ellipsized-ip {
display: inline-block;
max-width: 120px;
- overflow: hidden;
- text-overflow: ellipsis;
vertical-align: middle;
-}
+
+ @include text-overflow;
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/basics.scss b/app/javascript/styles/gabsocial/basics.scss
index 1996b64f..59c76f45 100644
--- a/app/javascript/styles/gabsocial/basics.scss
+++ b/app/javascript/styles/gabsocial/basics.scss
@@ -1,8 +1,9 @@
@function hex-color($color) {
- @if type-of($color) == 'color' {
+ @if type-of($color)=='color' {
$color: str-slice(ie-hex-str($color), 4);
}
- @return '%23' + unquote($color)
+
+ @return '%23'+unquote($color)
}
html {
@@ -15,16 +16,17 @@ html {
}
body {
- @include font-size(16);
- @include line-height(19);
+ font-size: 16px;
+ line-height: 19px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizelegibility;
font-feature-settings: "kern";
- -webkit-tap-highlight-color: rgba(0,0,0,0);
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-tap-highlight-color: transparent;
color: white;
background: $gab-background-base;
+
&.theme-gabsocial-light {
color: $gab-default-text-light;
background: $gab-background-base-light;
@@ -82,18 +84,18 @@ body {
.container {
position: absolute;
- width: 100%;
- height: 100%;
overflow: hidden;
+
+ @include size(100%);
}
}
&.admin {
background: darken($ui-base-color, 4%);
position: fixed;
- width: 100%;
- height: 100%;
padding: 0;
+
+ @include size(100%);
}
&.error {
@@ -101,12 +103,10 @@ body {
text-align: center;
color: $darker-text-color;
background: $ui-base-color;
- width: 100%;
- height: 100%;
padding: 0;
- display: flex;
- justify-content: center;
- align-items: center;
+
+ @include flex(center, center);
+ @include size(100%);
.dialog {
vertical-align: middle;
@@ -116,16 +116,14 @@ body {
img {
display: block;
max-width: 470px;
- width: 100%;
- height: auto;
margin-top: -120px;
+
+ @include size(100%, auto);
}
}
h1 {
- font-size: 20px;
- line-height: 28px;
- font-weight: 400;
+ @include text-sizing(20px, 400, 28px);
}
}
}
@@ -141,24 +139,12 @@ button {
}
.app-holder {
- &,
- & > div {
- display: flex;
- width: 100%;
- height: 100%;
- align-items: start;
- justify-content: center;
- outline: 0 !important;
- }
-}
-.visuallyhidden {
- border: 0 !important;
- clip: rect(1px,1px,1px,1px) !important;
- font-size: 1px !important;
- height: 1px !important;
- overflow: hidden !important;
- padding: 0 !important;
- position: absolute !important;
- width: 1px !important;
-}
+ &,
+ &>div {
+ outline: 0 !important;
+
+ @include flex(center, start);
+ @include size(100%);
+ }
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/boost.scss b/app/javascript/styles/gabsocial/boost.scss
index 5a6d6ae4..3e126947 100644
--- a/app/javascript/styles/gabsocial/boost.scss
+++ b/app/javascript/styles/gabsocial/boost.scss
@@ -9,3 +9,30 @@ button.icon-button i.fa-retweet {
button.icon-button.disabled i.fa-retweet {
background-image: url("data:image/svg+xml;utf8,");
}
+
+.no-reduce-motion button.icon-button i.fa-retweet {
+ background-position: 0 0;
+ height: 19px;
+ transition: background-position 0.9s steps(10);
+ transition-duration: 0s;
+ vertical-align: middle;
+ width: 22px;
+
+ &::before {
+ display: none !important;
+ }
+}
+
+.no-reduce-motion button.icon-button.active i.fa-retweet {
+ transition-duration: 0.9s;
+ background-position: 0 100%;
+}
+
+.reduce-motion button.icon-button i.fa-retweet {
+ color: $action-button-color;
+ transition: color 100ms ease-in;
+}
+
+.reduce-motion button.icon-button.active i.fa-retweet {
+ color: $highlight-text-color;
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/compact_header.scss b/app/javascript/styles/gabsocial/compact_header.scss
index 4980ab5f..e69de29b 100644
--- a/app/javascript/styles/gabsocial/compact_header.scss
+++ b/app/javascript/styles/gabsocial/compact_header.scss
@@ -1,34 +0,0 @@
-.compact-header {
- h1 {
- font-size: 24px;
- line-height: 28px;
- color: $darker-text-color;
- font-weight: 500;
- margin-bottom: 20px;
- padding: 0 10px;
- word-wrap: break-word;
-
- @media screen and (max-width: 740px) {
- text-align: center;
- padding: 20px 10px 0;
- }
-
- a {
- color: inherit;
- text-decoration: none;
- }
-
- small {
- font-weight: 400;
- color: $secondary-text-color;
- }
-
- img {
- display: inline-block;
- margin-bottom: -5px;
- margin-right: 15px;
- width: 36px;
- height: 36px;
- }
- }
-}
diff --git a/app/javascript/styles/gabsocial/components.scss b/app/javascript/styles/gabsocial/components.scss
index cd208103..f5e2ac59 100644
--- a/app/javascript/styles/gabsocial/components.scss
+++ b/app/javascript/styles/gabsocial/components.scss
@@ -1,5212 +1,265 @@
.app-body {
- -webkit-overflow-scrolling: touch;
- -ms-overflow-style: -ms-autohiding-scrollbar;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
}
.button {
- background-color: $ui-highlight-color;
- border: 10px none;
- border-radius: 4px;
- box-sizing: border-box;
- color: $primary-text-color;
- cursor: pointer;
- display: inline-block;
- font-family: inherit;
- font-size: 14px;
- font-weight: 500;
- height: 36px;
- letter-spacing: 0;
- line-height: 36px;
- overflow: hidden;
- padding: 0 16px;
- position: relative;
- text-align: center;
- text-decoration: none;
- text-overflow: ellipsis;
- white-space: nowrap;
- width: auto;
+ background-color: $ui-highlight-color;
+ border: 10px none;
+ border-radius: 4px;
+ box-sizing: border-box;
+ color: $primary-text-color;
+ cursor: pointer;
+ display: inline-block;
+ font-family: inherit;
+ padding: 0 16px;
+ position: relative;
+ text-decoration: none;
- &:active,
- &:focus,
- &:hover {background-color: lighten($ui-highlight-color, 10%);}
+ @include size(auto, 36px);
+ @include text-overflow(nowrap);
+ @include text-sizing(14px, 500, 36px, center, 0);
- &--destructive {
- transition: none;
+ &:active,
+ &:focus,
+ &:hover {
+ background-color: lighten($ui-highlight-color, 10%);
+ }
- &:active,
- &:focus,
- &:hover {
- background-color: $error-red;
- transition: none;
- }
- }
+ &--destructive {
+ transition: none;
- &:disabled,
- &.disabled {
- background-color: $ui-primary-color;
- cursor: default;
- }
+ &:active,
+ &:focus,
+ &:hover {
+ background-color: $error-red;
+ transition: none;
+ }
+ }
- &::-moz-focus-inner {
- border: 0;
- }
+ &:disabled,
+ &.disabled {
+ background-color: $ui-primary-color;
+ cursor: default;
+ }
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
+ &::-moz-focus-inner {
+ border: 0;
+ }
- &.button-alternative {
- color: $inverted-text-color;
- background: $ui-primary-color;
+ &::-moz-focus-inner,
+ &:focus,
+ &:active {
+ outline: 0 !important;
+ }
- &:active,
- &:focus,
- &:hover {
- background-color: lighten($ui-primary-color, 4%);
- }
- }
+ &.button-alternative {
+ color: $inverted-text-color;
+ background: $ui-primary-color;
- &.button-alternative-2 {
- background: $ui-base-lighter-color;
+ &:active,
+ &:focus,
+ &:hover {
+ background-color: lighten($ui-primary-color, 4%);
+ }
+ }
- &:active,
- &:focus,
- &:hover {
- background-color: lighten($ui-base-lighter-color, 4%);
- }
- }
+ &.button-alternative-2 {
+ background: $ui-base-lighter-color;
- &.button-secondary {
- color: $darker-text-color;
- background: transparent;
- padding: 3px 15px;
- border: 1px solid $ui-primary-color;
+ &:active,
+ &:focus,
+ &:hover {
+ background-color: lighten($ui-base-lighter-color, 4%);
+ }
+ }
- &:active,
- &:focus,
- &:hover {
- border-color: lighten($ui-primary-color, 4%);
- color: lighten($darker-text-color, 4%);
- }
+ &.button-secondary {
+ color: $darker-text-color;
+ background: transparent;
+ padding: 3px 15px;
+ border: 1px solid $ui-primary-color;
- &:disabled {
- opacity: 0.5;
- }
- }
+ &:active,
+ &:focus,
+ &:hover {
+ border-color: lighten($ui-primary-color, 4%);
+ color: lighten($darker-text-color, 4%);
+ }
- &.button--block {
- display: block;
- width: 100%;
- }
-}
+ &:disabled {
+ opacity: 0.5;
+ }
+ }
-.column__wrapper {
- display: flex;
- flex: 1 1 auto;
- position: relative;
-}
-
-.icon-button {
- display: inline-block;
- padding: 0;
- color: $gab-secondary-text;
- border: none;
- background: transparent;
- cursor: pointer;
- transition: color 100ms ease-in;
-
- &:hover,
- &:active,
- &:focus {
- color: lighten($action-button-color, 7%);
- transition: color 200ms ease-out;
- }
-
- &.disabled {
- color: darken($action-button-color, 13%);
- cursor: default;
- }
-
- &.active {
- color: $highlight-text-color;
- }
-
- &::-moz-focus-inner {
- border: 0;
- }
-
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
-
- &.inverted {
- color: $gab-secondary-text;
-
- &:hover,
- &:active,
- &:focus {
- color: darken($lighter-text-color, 7%);
- }
-
- &.disabled {
- color: lighten($lighter-text-color, 7%);
- }
-
- &.active {
- color: $highlight-text-color;
-
- &.disabled {
- color: lighten($highlight-text-color, 13%);
- }
- }
- }
-
- &.overlayed {
- box-sizing: content-box;
- background: rgba($base-overlay-background, 0.6);
- color: rgba($primary-text-color, 0.7);
- border-radius: 4px;
- padding: 2px;
-
- &:hover {
- background: rgba($base-overlay-background, 0.9);
- }
- }
-}
-
-.text-icon-button {
- color: $gab-secondary-text;
- border: none;
- background: transparent;
- cursor: pointer;
- font-weight: 600;
- font-size: 11px;
- padding: 0 3px;
- line-height: 27px;
- outline: 0;
- transition: color 100ms ease-in;
-
- &:hover,
- &:active,
- &:focus {
- color: darken($lighter-text-color, 7%);
- transition: color 200ms ease-out;
- }
-
- &.disabled {
- color: lighten($lighter-text-color, 20%);
- cursor: default;
- }
-
- &.active {
- color: $highlight-text-color;
- }
-
- &::-moz-focus-inner {
- border: 0;
- }
-
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
+ &.button--block {
+ display: block;
+ width: 100%;
+ }
}
.invisible {
- font-size: 0 !important;
- line-height: 0 !important;
- display: inline-block;
- width: 0;
- height: 0;
- position: absolute;
+ font-size: 0 !important;
+ line-height: 0 !important;
+ display: inline-block;
+ position: absolute;
- img,
- svg {
- margin: 0 !important;
- border: 0 !important;
- padding: 0 !important;
- width: 0 !important;
- height: 0 !important;
- }
+ @include size(0);
+
+ img,
+ svg {
+ margin: 0 !important;
+ border: 0 !important;
+ padding: 0 !important;
+
+ @include size(0 !important);
+ }
}
-.ellipsis::after {content: "…";}
-
-.timeline-compose-block {
- display: flex;
- align-items: flex-start;
- padding: 20px;
- margin-bottom: 20px;
- @include gab-container-standards();
- .emoji-picker-wrapper {
- .emoji-picker-dropdown {top: 10px;}
- }
- .compose-form {
- flex: 1 1;
- padding: 0 0 0 20px !important;
- position: relative;
- .compose-form__autosuggest-wrapper {
- &:before {
- content: "";
- display: block;
- position: absolute;
- height: 0px;
- width: 0px;
- border-top: 11px solid transparent;
- border-right: 12px solid #fff;
- border-bottom: 11px solid transparent;
- border-left: 11px solid transparent;
- left: -22px;
- top: 13px;
- }
- .autosuggest-textarea__textarea {
- padding: 14px 32px 13px 10px !important;
- body.theme-gabsocial-light & {background: $gab-background-base-light;}
- }
- }
- }
-}
-
-.no-reduce-motion .spoiler-input {
- transition: height 0.4s ease, opacity 0.4s ease;
-}
-
-.emojione {
- font-size: inherit;
- vertical-align: middle;
- object-fit: contain;
- margin: -.2ex .15em .2ex;
- width: 16px;
- height: 16px;
-
- img {
- width: auto;
- }
-}
-
-.reply-indicator {
- border-radius: 4px;
- margin-bottom: 10px;
- background: $gab-background-base-light;
- padding: 10px;
- min-height: 23px;
- overflow-y: auto;
- flex: 0 2 auto;
- max-height: 500px;
- @media screen and (min-width: 320px) and (max-width: 375px) {max-height: 220px;}
- @media screen and (max-width: 320px) {max-height :130px;}
-}
-
-.reply-indicator__header {
- margin-bottom: 5px;
- overflow: hidden;
-}
-
-.reply-indicator__cancel {
- float: right;
- line-height: 24px;
-}
-
-.reply-indicator__display-name {
- color: $inverted-text-color;
- display: block;
- max-width: 100%;
- line-height: 24px;
- overflow: hidden;
- padding-right: 25px;
- text-decoration: none;
-}
-
-.reply-indicator__display-avatar {
- float: left;
- margin-right: 5px;
-}
-
-.status__content--with-action {
- cursor: pointer;
-}
-
-.status__content,
-.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;
-
- &:focus {
- outline: 0;
- }
-
- &.status__content--with-spoiler {
- white-space: normal;
-
- .status__content__text {
- white-space: pre-wrap;
- }
- }
-
- .emojione {
- width: 20px;
- height: 20px;
- margin: -3px 0 0;
- }
-
- p {
- margin-bottom: 20px;
- white-space: pre-wrap;
-
- &:last-child {
- margin-bottom: 2px;
- }
- }
-
- a {
- color: $gab-brand-default;
- text-decoration: none;
-
- &:hover {
- text-decoration: underline;
-
- .fa {
- color: lighten($dark-text-color, 7%);
- }
- }
-
- &.mention {
- &:hover {
- text-decoration: none;
-
- span {
- text-decoration: underline;
- }
- }
- }
-
- .fa {
- color: $dark-text-color;
- }
- }
-
- .status__content__spoiler-link {
- background: $action-button-color;
-
- &:hover {
- background: lighten($action-button-color, 7%);
- text-decoration: none;
- }
-
- &::-moz-focus-inner {
- border: 0;
- }
-
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
- }
-
- .status__content__text {
- display: none;
-
- &.status__content__text--visible {
- display: block;
- }
- }
-}
-
-.status__content.status__content--collapsed {
- max-height: 20px * 15; // 15 lines is roughly above 500 characters
-}
-
-.status__content__read-more-button {
- display: block;
- font-size: 15px;
- line-height: 20px;
- color: $gab-brand-default;
- border: 0;
- background: transparent;
- padding: 0;
- padding-top: 8px;
- &:hover,
- &:active {
- text-decoration: underline;
- }
-}
-
-.status__content__spoiler-link {
- display: inline-block;
- border-radius: 2px;
- background: transparent;
- border: 0;
- color: $inverted-text-color;
- font-weight: 700;
- font-size: 11px;
- padding: 0 6px;
- text-transform: uppercase;
- line-height: 20px;
- cursor: pointer;
- vertical-align: middle;
-}
-
-.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%);
-}
-
-.status__prepend-icon-wrapper {
- left: -26px;
- position: absolute;
+.ellipsis::after {
+ content: "…";
}
.focusable {
- &:focus {
- outline: 0;
- background: lighten($ui-base-color, 4%);
+ &:focus {
+ outline: 0;
+ background: lighten($ui-base-color, 4%);
- .status.status-direct {
- background: lighten($ui-base-color, 12%);
+ .status.status-direct {
+ background: lighten($ui-base-color, 12%);
- &.muted {
- background: transparent;
- }
- }
+ &.muted {
+ background: transparent;
+ }
+ }
- .detailed-status,
- .detailed-status__action-bar {
- background: lighten($ui-base-color, 8%);
- }
- }
+ .detailed-status,
+ .detailed-status-action-bar {
+ background: lighten($ui-base-color, 8%);
+ }
+ }
}
-.status {
- padding: 8px 10px;
- padding-left: 68px;
- position: relative;
- min-height: 54px;
- border-bottom: 1px solid lighten($ui-base-color, 8%);
- cursor: default;
-
- @supports (-ms-overflow-style: -ms-autohiding-scrollbar) {
- // Add margin to avoid Edge auto-hiding scrollbar appearing over content.
- // On Edge 16 this is 16px and Edge <=15 it's 12px, so aim for 16px.
- padding-right: 26px; // 10px + 16px
- }
-
- @keyframes fade {
- 0% { opacity: 0; }
- 100% { opacity: 1; }
- }
-
- opacity: 1;
- animation: fade 150ms linear;
-
- .video-player {
- margin-top: 8px;
- }
-
- &.status-direct:not(.read) {
- background: lighten($ui-base-color, 8%);
- border-bottom-color: lighten($ui-base-color, 12%);
- }
-
- &.light {
- .status__relative-time {
- color: $light-text-color;
- }
-
- .status__display-name {
- color: $inverted-text-color;
- }
-
- .display-name {
- strong {
- color: $inverted-text-color;
- }
-
- span {
- color: $light-text-color;
- }
- }
-
- .status__content {
- color: $inverted-text-color;
-
- a {
- color: $highlight-text-color;
- }
-
- a.status__content__spoiler-link {
- color: $primary-text-color;
- background: $ui-primary-color;
-
- &:hover {
- background: lighten($ui-primary-color, 8%);
- }
- }
- }
- }
-
- &__meta {
- font-size: 14px;
- color: $gab-secondary-text;
-
- a {
- color: $gab-brand-default;
- font-weight: bold;
- text-decoration: none;
-
- &:hover {
- text-decoration: underline;
- }
- }
- }
+.status__display-name,
+.status__relative-time {
+ text-decoration: none;
}
-.notification-favourite {
- .status.status-direct {
- background: transparent;
-
- .icon-button.disabled {
- color: lighten($action-button-color, 13%);
- }
- }
-}
-
-.status__relative-time,
-.notification__relative_time {
- color: $dark-text-color;
- float: right;
- font-size: 14px;
+.muted {
+ .emojione {
+ opacity: 0.5;
+ }
}
.status__display-name {
- color: $dark-text-color;
-}
-
-.status__info .status__display-name {
- display: block;
- max-width: 100%;
- padding-right: 25px;
-}
-
-.status__info {
- font-size: 15px;
- z-index: 4;
-}
-
-.status-check-box {
- border-bottom: 1px solid $ui-secondary-color;
- display: flex;
-
- .status-check-box__status {
- margin: 10px 0 10px 10px;
- flex: 1;
-
- .media-gallery {
- max-width: 250px;
- }
-
- .status__content {
- padding: 0;
- white-space: normal;
- }
-
- .video-player {
- margin-top: 8px;
- max-width: 250px;
- }
-
- .media-gallery__item-thumbnail {
- cursor: default;
- }
- }
-}
-
-.status-check-box-toggle {
- align-items: center;
- display: flex;
- flex: 0 0 auto;
- justify-content: center;
- padding: 10px;
-}
-
-.status__prepend {
- margin-left: 68px;
- color: $dark-text-color;
- padding: 8px 0;
- padding-bottom: 2px;
- font-size: 14px;
- position: relative;
-
- .status__display-name strong {
- color: $dark-text-color;
- }
-
- > span {
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
- }
-}
-
-.status__action-bar {
- align-items: center;
- display: flex;
- margin-top: 25px;
- z-index: 4;
-
- &__counter {
- display: inline-flex;
- margin-right: 22px;
- align-items: center;
-
- .status__action-bar-button {
- margin-right: 4px;
- }
-
- &__label {
- display: inline-block;
- width: 14px;
- font-size: 12px;
- font-weight: 500;
- color: $action-button-color;
- }
- }
-}
-
-.status__action-bar-button {
- margin-right: 18px;
-}
-
-.status__action-bar-dropdown {
- height: 23.15px;
- width: 23.15px;
-}
-
-.detailed-status__action-bar-dropdown {
- flex: 1 1 auto;
- display: flex;
- align-items: center;
- justify-content: center;
- position: relative;
-}
-
-.detailed-status {
- background: lighten($ui-base-color, 4%);
- padding: 14px 10px;
-
- &--flex {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- align-items: flex-start;
-
- .status__content,
- .detailed-status__meta {
- flex: 100%;
- }
- }
-
- .status__content {
- font-size: 19px;
- line-height: 24px;
-
- .emojione {
- width: 24px;
- height: 24px;
- margin: -1px 0 0;
- }
-
- .status__content__spoiler-link {
- line-height: 24px;
- margin: -1px 0 0;
- }
- }
-
- .video-player {
- margin-top: 8px;
- }
-}
-
-.detailed-status__meta {
- margin-top: 15px;
- color: $dark-text-color;
- font-size: 14px;
- line-height: 18px;
-}
-
-.detailed-status__action-bar {
- 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;
-}
-
-.detailed-status__link {
- color: $action-button-color;
- cursor: pointer;
- text-decoration: none;
- font-size: 13px;
-}
-
-.detailed-status__favorites,
-.detailed-status__reblogs {
- display: inline-block;
- font-weight: 500;
- font-size: 12px;
- margin-left: 6px;
-}
-
-.reply-indicator__content {
- color: $gab-default-text-light;
- font-size: 14px;
-
- a {
- color: $lighter-text-color;
- }
-}
-
-.domain {
- padding: 10px;
- border-bottom: 1px solid lighten($ui-base-color, 8%);
-
- .domain__domain-name {
- flex: 1 1 auto;
- display: block;
- color: $primary-text-color;
- text-decoration: none;
- font-size: 14px;
- font-weight: 500;
- }
-}
-
-.domain__wrapper {
- display: flex;
-}
-
-.domain_buttons {
- height: 18px;
- padding: 10px;
- white-space: nowrap;
-}
-
-.account {
- padding: 10px;
-
- &:not(:last-of-type) {
- border-bottom: 1px solid lighten($ui-base-color, 8%);
+ &:hover strong {
+ text-decoration: underline;
}
-
- &.compact {
- padding: 0;
- border-bottom: 0;
-
- .account__avatar-wrapper {
- margin-left: 0;
- }
- }
-
- .account__display-name {
- flex: 1 1 auto;
- display: block;
- color: $darker-text-color;
- overflow: hidden;
- text-decoration: none;
- font-size: 14px;
- }
-}
-
-.account__wrapper {
- display: flex;
-}
-
-.account__avatar-wrapper {
- float: left;
- margin-right: 12px;
-}
-
-.account__avatar {
- @include avatar-radius();
- position: relative;
- background-color: $ui-base-color;
-
- &-inline {
- display: inline-block;
- vertical-align: middle;
- margin-right: 5px;
- }
-
- &-composite {
- @include avatar-radius();
- overflow: hidden;
-
- & > div {
- @include avatar-radius();
- float: left;
- position: relative;
- box-sizing: border-box;
- }
- }
-}
-
-a .account__avatar {
- cursor: pointer;
-}
-
-.account__avatar-overlay {
- @include avatar-size(48px);
-
- &-base {
- @include avatar-radius();
- @include avatar-size(36px);
- }
-
- &-overlay {
- @include avatar-radius();
- @include avatar-size(24px);
-
- position: absolute;
- bottom: 0;
- right: 0;
- z-index: 1;
- }
-}
-
-.account__relationship {
- height: auto;
- padding: 0 0 0 5px;
- position: relative;
-
- .dismiss-account-btn {
- display: block;
- margin-bottom: 5px;
- }
-}
-
-.account__disclaimer {
- padding: 10px;
- border-top: 1px solid lighten($ui-base-color, 8%);
- color: $dark-text-color;
-
- strong {
- font-weight: 500;
-
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
-
- a {
- font-weight: 500;
- color: inherit;
- text-decoration: underline;
-
- &:hover,
- &:focus,
- &:active {
- text-decoration: none;
- }
- }
-}
-
-.account__action-bar {
- border-top: 1px solid lighten($ui-base-color, 8%);
- border-bottom: 1px solid lighten($ui-base-color, 8%);
- line-height: 36px;
- overflow: hidden;
- flex: 0 0 auto;
- display: flex;
-}
-
-.account__action-bar-dropdown {
- padding: 10px;
-
- .icon-button {
- vertical-align: middle;
- }
-
- .dropdown--active {
- .dropdown__content.dropdown__right {
- left: 6px;
- right: initial;
- }
-
- &::after {
- bottom: initial;
- margin-left: 11px;
- margin-top: -7px;
- right: initial;
- }
- }
-}
-
-.account__action-bar-links {
- display: flex;
- flex: 1 1 auto;
- line-height: 18px;
- text-align: center;
-}
-
-.account__action-bar__tab {
- text-decoration: none;
- overflow: hidden;
- flex: 0 1 100%;
- border-right: 1px solid lighten($ui-base-color, 8%);
- padding: 10px 0;
- border-bottom: 4px solid transparent;
-
- &.active {
- border-bottom: 4px solid $ui-highlight-color;
- }
-
- & > span {
- display: block;
- text-transform: uppercase;
- font-size: 11px;
- color: $darker-text-color;
- }
-
- strong {
- display: block;
- font-size: 15px;
- font-weight: 500;
- color: $primary-text-color;
-
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
-}
-
-.account-authorize {
- padding: 14px 10px;
-
- .detailed-status__display-name {
- display: block;
- margin-bottom: 15px;
- overflow: hidden;
- }
-}
-
-.account-authorize__avatar {
- float: left;
- margin-right: 10px;
-}
-
-.status__display-name,
-.status__relative-time,
-.detailed-status__display-name,
-.detailed-status__datetime,
-.detailed-status__application,
-.account__display-name {
- text-decoration: none;
-}
-
-.status__display-name,
-.account__display-name {
- strong {
- color: $primary-text-color;
- }
}
.muted {
- .emojione {
- opacity: 0.5;
- }
-}
+ .status__content p,
+ .status__content a {
+ color: $dark-text-color;
+ }
-.status__display-name,
-.reply-indicator__display-name,
-.detailed-status__display-name,
-a.account__display-name {
- &:hover strong {
- text-decoration: underline;
- }
-}
+ .status__display-name strong {
+ color: $dark-text-color;
+ }
-.account__display-name strong {
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
-}
+ .status__avatar {
+ opacity: 0.5;
+ }
-.detailed-status__application,
-.detailed-status__datetime {
- color: inherit;
-}
+ a.status__content__spoiler-link {
+ background: $ui-base-lighter-color;
+ color: $inverted-text-color;
-.detailed-status__display-name {
- color: $secondary-text-color;
- display: block;
- line-height: 24px;
- margin-bottom: 15px;
- overflow: hidden;
-
- strong,
- span {
- display: block;
- text-overflow: ellipsis;
- overflow: hidden;
- }
-
- strong {
- font-size: 16px;
- color: $primary-text-color;
- }
-}
-
-.detailed-status__display-avatar {
- float: left;
- margin-right: 10px;
-}
-
-.status__avatar {
- height: 48px;
- left: 10px;
- position: absolute;
- top: 10px;
- width: 48px;
-}
-
-.status__expand {
- width: 68px;
- position: absolute;
- left: 0;
- top: 0;
- height: 100%;
- cursor: pointer;
-}
-
-.muted {
- .status__content p,
- .status__content a {
- color: $dark-text-color;
- }
-
- .status__display-name strong {
- color: $dark-text-color;
- }
-
- .status__avatar {
- opacity: 0.5;
- }
-
- a.status__content__spoiler-link {
- background: $ui-base-lighter-color;
- color: $inverted-text-color;
-
- &:hover {
- background: lighten($ui-base-lighter-color, 7%);
- text-decoration: none;
- }
- }
-}
-
-.notification__message {
- margin: 0 10px 0 68px;
- padding: 8px 0 0;
- cursor: default;
- color: $gab-secondary-text;
- font-size: 15px;
- line-height: 22px;
- position: relative;
-
- .fa {
- color: $highlight-text-color;
- }
-
- > span {
- display: inline;
- overflow: hidden;
- text-overflow: ellipsis;
- }
-}
-
-.notification__favourite-icon-wrapper {
- left: -26px;
- position: absolute;
-
- .star-icon {
- color: $gold-star;
- }
-}
-
-.star-icon.active {
- color: $gold-star;
-}
-
-.notification__display-name {
- color: inherit;
- font-weight: 500;
- text-decoration: none;
-
- &:hover {
- color: $primary-text-color;
- text-decoration: underline;
- }
-}
-
-.notification__relative_time {
- float: right;
-}
-
-.display-name {
- display: block;
- max-width: 100%;
- overflow: hidden;
- text-overflow: ellipsis;
- word-break: break-word;
-}
-
-.display-name__html {
- font-weight: 600;
- padding-right: 4px;
-}
-
-.display-name__account {
- font-size: 14px;
-}
-
-.status__relative-time,
-.detailed-status__datetime {
- &:hover {
- text-decoration: underline;
- }
-}
-
-.image-loader {
- position: relative;
- width: 100%;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- flex-direction: column;
-
- .image-loader__preview-canvas {
- max-width: $media-modal-media-max-width;
- max-height: $media-modal-media-max-height;
- background: url('../images/void.png') repeat;
- object-fit: contain;
- }
-
- .loading-bar {
- position: relative;
- }
-
- &.image-loader--amorphous .image-loader__preview-canvas {
- display: none;
- }
-}
-
-.zoomable-image {
- position: relative;
- width: 100%;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
-
- img {
- max-width: $media-modal-media-max-width;
- max-height: $media-modal-media-max-height;
- width: auto;
- height: auto;
- object-fit: contain;
- }
-}
-
-.navigation-bar {
- padding: 10px;
- display: flex;
- align-items: center;
- flex-shrink: 0;
- cursor: default;
- color: $darker-text-color;
-
- strong {
- color: $secondary-text-color;
- }
-
- a {
- color: inherit;
- }
-
- .permalink {
- text-decoration: none;
- }
-
- .navigation-bar__actions {
- position: relative;
-
- .icon-button.close {
- position: absolute;
- pointer-events: none;
- transform: scale(0.0, 1.0) translate(-100%, 0);
- opacity: 0;
- }
-
- .compose__action-bar .icon-button {
- pointer-events: auto;
- transform: scale(1.0, 1.0) translate(0, 0);
- opacity: 1;
- }
- }
-}
-
-.navigation-bar__profile {
- flex: 1 1 auto;
- margin-left: 8px;
- line-height: 20px;
- margin-top: -1px;
- overflow: hidden;
-}
-
-.navigation-bar__profile-account {
- display: block;
- font-weight: 500;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.navigation-bar__profile-edit {
- color: inherit;
- text-decoration: none;
-}
-
-.columns-area {
- display: flex;
- flex: 1 1 auto;
- flex-direction: row;
- justify-content: flex-start;
- position: relative;
-
- &__panels {
- display: flex;
- justify-content: center;
- width: 100%;
- height: 100%;
-
- &__pane {
- height: 100%;
- pointer-events: none;
- display: flex;
- justify-content: flex-end;
- padding-top: 15px;
-
- &--start {
- justify-content: flex-start;
- }
-
- &__inner {
- width: 265px;
- pointer-events: auto;
- height: 100%;
- }
- }
-
- &__main {
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
- width: 100%;
- max-width: 600px;
- padding: 0 20px;
- @media screen and (max-width: 375px) {
- padding: 0 10px;
- }
- @media screen and (min-width: 895px) {
- margin: 0 20px;
- padding: 0;
- }
- }
- }
-}
-
-.react-swipeable-view-container {
- &,
- .columns-area,
- .drawer,
- .column {
- height: 100%;
- }
-}
-
-.react-swipeable-view-container > * {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 100%;
-}
-
-.column {
- width: 350px;
- position: relative;
- box-sizing: border-box;
- display: flex;
- flex-direction: column;
-
- article {
- // TEMPORARY - content of columns may be significantly altered
- background: $gab-background-container;
- }
-}
-
-.ui {
- display: block;
- width: 100%;
- padding: 0 0 100px 0;
-
- .page {
- display: flex;
- flex-direction: column;
- width: 100%;
-
- &__top {
- display: flex;
- width: 100%;
- height: auto;
- z-index: 105;
-
- @media (min-width:895px) {
- top: -290px;
- position: sticky;
- }
- }
-
- &__columns {
- display: flex;
- flex-direction: column;
- width: 100%;
- height: 100%;
- }
+ &:hover {
+ background: lighten($ui-base-lighter-color, 7%);
+ text-decoration: none;
+ }
}
}
-.drawer {
- width: 300px;
- box-sizing: border-box;
- display: flex;
- flex-direction: column;
- overflow-y: hidden;
-}
-
-.drawer__tab {
- display: block;
- flex: 1 1 auto;
- padding: 15px 5px 13px;
- color: $darker-text-color;
- text-decoration: none;
- text-align: center;
- font-size: 16px;
- border-bottom: 2px solid transparent;
-}
-
-.column,
-.drawer {
- flex: 1 1 100%;
- overflow: hidden;
-}
-
-@media screen and (min-width: 631px) {
- .columns-area {
- padding: 0;
- }
-
- .column,
- .drawer {
- flex: 0 0 auto;
- padding: 10px;
- padding-left: 5px;
- padding-right: 5px;
-
- &:first-child {
- padding-left: 10px;
- }
-
- &:last-child {
- padding-right: 10px;
- }
- }
-
- .columns-area > div {
- .column,
- .drawer {
- padding-left: 5px;
- padding-right: 5px;
- }
- }
-}
-
-// 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
-.account__avatar {
- width: 56px;
- height: 56px;
- background-size: cover;
-}
-
-.columns-area--mobile {
- flex-direction: column;
- width: 100%;
- margin: 0 auto;
- .column,
- .drawer {
- width: 100%;
- height: 100%;
- padding: 0;
- }
- .autosuggest-textarea__textarea {font-size: 16px;}
- .search__input {
- line-height: 18px;
- font-size: 16px;
- padding: 15px;
- padding-right: 30px;
- }
- .search__icon .fa {top: 15px;}
- @media screen and (min-width: 360px) {padding: 15px 0;}
- @media screen and (min-width: 630px) {
- .detailed-status {
- padding: 15px;
- .media-gallery,
- .video-player {
- margin-top: 15px;
- }
- }
- .account__header__bar {padding: 5px 10px;}
- .navigation-bar,
- .compose-form {padding: 15px;}
- .compose-form .compose-form__publish .compose-form__publish-button-wrapper {padding-top: 15px;}
- .status {
- padding: 15px 15px 15px (48px + 15px * 2);
- min-height: 48px + 2px;
-
- &__avatar {
- left: 15px;
- top: 17px;
- }
-
- &__content {
- padding-top: 5px;
- }
-
- &__prepend {
- margin-left: 48px + 15px * 2;
- padding-top: 15px;
- }
-
- &__prepend-icon-wrapper {
- left: -32px;
- }
-
- .media-gallery,
- .video-player {
- margin-top: 10px;
- }
- }
-
- .account {
- padding: 15px 10px;
- }
-
- .notification {
- &__message {
- margin-left: 48px + 15px * 2;
- padding-top: 15px;
- }
-
- &__favourite-icon-wrapper {
- left: -32px;
- }
-
- .status {
- padding-top: 8px;
- }
-
- .account {
- padding-top: 8px;
- }
-
- .account__avatar-wrapper {
- margin-left: 17px;
- margin-right: 15px;
- }
- }
- }
-}
-
-.floating-action-button {
- z-index: 1000;
- display: none;
- @media screen and (max-width: $nav-breakpoint-3) {display: flex;}
- position: fixed;
- bottom: 14px;
- right: 14px;
- width: 61px;
- height: 52px;
- background-image: url('../images/sprite-main-navigation.png');
- background-repeat: no-repeat;
- background-size: 161px 152px;
- background-position: -100px 0;
- background-color: transparent;
- border: none;
- &:hover,
- &:focus,
- &:active {background-position: -100px -100px;}
-}
-
-@media screen and (min-width: 360px) {
- .getting-started__wrapper,
- .getting-started__trends,
- .search {
- margin-bottom: 10px;
- }
-}
-
-// NOTE - Remove all of these weird breakpoint calculations which just spit out an integer.
-// This controls where the left column breaks.
-@media screen and (max-width: 600px + (285px * 1) + (10px * 1)) {
- .columns-area__panels__pane--left {
- display: none;
- }
-}
-
-// NOTE - Remove all of these weird breakpoint calculations which just spit out an integer.
-@media screen and (min-width: 600px + (285px * 1) + (10px * 1)) {
- .search-page .search {
- display: none;
- }
-}
-
-// NOTE - Remove all of these weird breakpoint calculations which just spit out an integer.
-@media screen and (max-width: 600px + (285px * 2) + (10px * 2)) {
- .columns-area__panels__pane--right {
- display: none;
- }
-}
-
-.icon-with-badge {
- position: relative;
-
- &__badge {
- position: absolute;
- box-sizing: border-box;
- left: -16px;
- top: -14px;
- @media screen and (max-width: $nav-breakpoint-1) {
- left: 27px;
- top: 0;
- }
- min-width: 16px;
- height: 16px;
- padding: 1px 3px 0;
- border-radius: 8px;
- text-align: center;
- @include font-montserrat();
- @include font-size(14);
- @include line-height(14);
- color: #fff;
- background: $gab-alert-red;
- }
-}
-
-.column-link--transparent .icon-with-badge__badge {
- border-color: darken($ui-base-color, 8%);
-}
-
-.promo-panel {
- margin-top: 10px;
- padding: 10px 10px 20px 10px;
- border-bottom: 1px solid lighten($ui-base-color, 4%);
-
- .promo-panel-item {
- display: block;
-
- &:not(:first-of-type) {
- margin-top: 20px;
- }
-
- &__icon {
- margin-right: 12px;
- }
-
- &__message {
- display: block;
- font-size: 14px;
- line-height: 16px;
- margin-top: 6px;
- color: $primary-text-color;
-
- &--dark {
- color: $ui-secondary-color;
- }
- }
+.status__relative-time {
+ &:hover {
+ text-decoration: underline;
}
}
-.drawer__pager {
- box-sizing: border-box;
- padding: 0;
- flex-grow: 1;
- position: relative;
- overflow: hidden;
- display: flex;
-}
-
-.drawer__inner {
- top: 0;
- left: 0;
- background: lighten($ui-base-color, 13%);
- box-sizing: border-box;
- padding: 0;
- display: flex;
- flex-direction: column;
- overflow: hidden;
- overflow-y: auto;
- width: 100%;
- height: 100%;
-
- &.darker {
- background: $ui-base-color;
- }
-}
-
-.drawer__inner__gabsocial {
- background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,') no-repeat bottom / 100% auto;
- flex: 1;
- min-height: 47px;
- display: none;
-
- > img {
- display: block;
- object-fit: contain;
- object-position: bottom left;
- width: 100%;
- height: 100%;
- pointer-events: none;
- user-drag: none;
- user-select: none;
- }
-
- @media screen and (min-height: 640px) {
- display: block;
- }
-}
-
-.pseudo-drawer {
- background: lighten($ui-base-color, 13%);
- font-size: 13px;
- text-align: left;
-}
-
-.drawer__header {
- flex: 0 0 auto;
- font-size: 16px;
- background: lighten($ui-base-color, 8%);
- margin-bottom: 10px;
- display: flex;
- flex-direction: row;
-
- a {
- transition: background 100ms ease-in;
-
- &:hover {
- background: lighten($ui-base-color, 3%);
- transition: background 200ms ease-out;
- }
- }
-}
-
-.slist {
- &--flex {
- display: flex;
- flex-direction: column;
- }
-
- &__append {
- flex: 1 1 auto;
- position: relative;
- min-height: 120px;
- }
-}
-
-.column-back-button {
- background: lighten($ui-base-color, 4%);
- color: $highlight-text-color;
- cursor: pointer;
- flex: 0 0 auto;
- font-size: 16px;
- line-height: inherit;
- border: 0;
- text-align: unset;
- padding: 15px;
- margin: 0;
- z-index: 3;
- outline: 0;
-
- &:hover {
- text-decoration: underline;
- }
-}
-
-.column-header__back-button {
- background: lighten($ui-base-color, 4%);
- border: 0;
- font-family: inherit;
- color: $highlight-text-color;
- cursor: pointer;
- white-space: nowrap;
- font-size: 16px;
- padding: 0 5px 0 0;
- z-index: 3;
-
- &:hover {
- text-decoration: underline;
- }
-
- &:last-child {
- padding: 0 15px 0 0;
- }
-}
-
-.column-back-button__icon {
- display: inline-block;
- margin-right: 5px;
-}
-
-.column-back-button--slim {
- position: relative;
-}
-
-.column-back-button--slim-button {
- cursor: pointer;
- flex: 0 0 auto;
- font-size: 16px;
- padding: 15px;
- position: absolute;
- right: 0;
- top: -48px;
-}
-
-.react-toggle {
- display: inline-block;
- position: relative;
- cursor: pointer;
- background-color: transparent;
- border: 0;
- padding: 0;
- user-select: none;
- -webkit-tap-highlight-color: rgba($base-overlay-background, 0);
- -webkit-tap-highlight-color: transparent;
-}
-
-.react-toggle-screenreader-only {
- border: 0;
- clip: rect(0 0 0 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px;
-}
-
-.react-toggle--disabled {
- cursor: not-allowed;
- opacity: 0.5;
- transition: opacity 0.25s;
-}
-
-.react-toggle-track {
- width: 50px;
- height: 24px;
- padding: 0;
- border-radius: 30px;
- background-color: $ui-base-color;
- transition: background-color 0.2s ease;
-}
-
-.react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
- background-color: darken($ui-base-color, 10%);
-}
-
-.react-toggle--checked .react-toggle-track {
- background-color: $gab-brand-default;
-}
-
-.react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
- background-color: lighten($gab-brand-default, 10%);
-}
-
-.react-toggle-track-check {
- position: absolute;
- width: 14px;
- height: 10px;
- top: 0;
- bottom: 0;
- margin-top: auto;
- margin-bottom: auto;
- line-height: 0;
- left: 8px;
- opacity: 0;
- transition: opacity 0.25s ease;
-}
-
-.react-toggle--checked .react-toggle-track-check {
- opacity: 1;
- transition: opacity 0.25s ease;
-}
-
-.react-toggle-track-x {
- position: absolute;
- width: 10px;
- height: 10px;
- top: 0;
- bottom: 0;
- margin-top: auto;
- margin-bottom: auto;
- line-height: 0;
- right: 10px;
- opacity: 1;
- transition: opacity 0.25s ease;
-}
-
-.react-toggle--checked .react-toggle-track-x {
- opacity: 0;
-}
-
-.react-toggle-thumb {
- position: absolute;
- top: 1px;
- left: 1px;
- width: 22px;
- height: 22px;
- border: 1px solid $ui-base-color;
- border-radius: 50%;
- background-color: darken($simple-background-color, 2%);
- box-sizing: border-box;
- transition: all 0.25s ease;
- transition-property: border-color, left;
-}
-
-.react-toggle--checked .react-toggle-thumb {
- left: 27px;
- border-color: $gab-brand-default;
-}
-
-.column-link {
- background: lighten($ui-base-color, 8%);
- color: $primary-text-color;
- display: block;
- font-size: 16px;
- padding: 15px;
- text-decoration: none;
-
- &:hover,
- &:focus,
- &:active {
- background: lighten($ui-base-color, 11%);
- }
-
- &:focus {
- outline: 0;
- }
-
- &--transparent {
- background: transparent;
- color: $ui-secondary-color;
-
- &:hover,
- &:focus,
- &:active {
- background: transparent;
- color: $primary-text-color;
- }
-
- &.active {
- color: $ui-highlight-color;
- }
- }
-}
-
-.column-link__icon {
- display: inline-block;
- margin-right: 5px;
-}
-
-.column-link__badge {
- display: inline-block;
- border-radius: 4px;
- font-size: 12px;
- line-height: 19px;
- font-weight: 500;
- background: $ui-base-color;
- padding: 4px 8px;
- margin: -6px 10px;
-}
-
-.column-subheading {
- background: $ui-base-color;
- color: $dark-text-color;
- padding: 8px 20px;
- font-size: 12px;
- font-weight: 500;
- text-transform: uppercase;
- cursor: default;
-}
-
-.getting-started__wrapper,
-.getting-started,
-.flex-spacer {
- background: $ui-base-color;
-}
-
-.getting-started__wrapper {
- flex: 0 0 auto;
-}
-
-.flex-spacer {
- flex: 1 1 auto;
-}
-
-.getting-started {
- color: $dark-text-color;
- overflow: auto;
-
- &__footer {
- flex: 0 0 auto;
- padding: 10px;
- padding-top: 20px;
-
- ul {
- margin-bottom: 10px;
- }
-
- ul li {
- display: inline;
- }
-
- p {
- color: $dark-text-color;
- font-size: 13px;
- margin-bottom: 20px;
-
- a {
- color: $gab-secondary-text;
- text-decoration: underline;
- }
- }
-
- a {
- text-decoration: none;
- color: $gab-secondary-text;
-
- &:hover,
- &:focus,
- &:active {
- text-decoration: underline;
- }
- }
- }
-
- &__trends {
- background: $ui-base-color;
- flex: 0 1 auto;
-
- @media screen and (max-height: 810px) {
- .trends__item:nth-child(3) {
- display: none;
- }
- }
-
- @media screen and (max-height: 720px) {
- .trends__item:nth-child(2) {
- display: none;
- }
- }
-
- @media screen and (max-height: 670px) {
- display: none;
- }
- }
-}
-
-.keyboard-shortcuts {
- padding: 8px 0 0;
- overflow: hidden;
- background-color: $classic-base-color;
- border-radius: 6px;
-
- @media screen and (max-width: 960px) {
- height: 90vh;
- }
-
- &__header {
- display: block;
- position: relative;
- border-bottom: 1px solid lighten($classic-base-color, 8%);
- border-radius: 6px 6px 0 0;
- padding-top: 12px;
- padding-bottom: 12px;
-
- &__title {
- display: block;
- width: 80%;
- margin: 0 auto;
- font-size: 18px;
- font-weight: bold;
- line-height: 24px;
- color: $primary-text-color;
- text-align: center;
- }
- }
-
- &__close {
- position: absolute;
- right: 10px;
- top: 10px;
- }
-
- &__content {
- display: flex;
- flex-direction: row;
- padding: 15px;
-
- @media screen and (max-width: 960px) {
- flex-direction: column;
- overflow: hidden;
- overflow-y: scroll;
- height: calc(100% - 80px);
- -webkit-overflow-scrolling: touch;
- }
- }
-
- table {
- thead {
- display: block;
- padding-left: 10px;
- margin-bottom: 10px;
- color: $primary-text-color;
- font-size: 16px;
- font-weight: 600;
- }
-
- tr {
- font-size: 12px;
- }
-
- td {
- padding: 0 10px 8px;
- }
-
- kbd {
- display: inline-block;
- padding: 2px 8px;
- background-color: lighten($ui-base-color, 8%);
- border: 1px solid darken($ui-base-color, 4%);
- border-radius: 4px;
- }
- }
-}
-
-.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;
- }
-
- @media screen and (max-width: 600px) {
- font-size: 16px;
- }
-}
-
-.no-reduce-motion button.icon-button i.fa-retweet {
- background-position: 0 0;
- height: 19px;
- transition: background-position 0.9s steps(10);
- transition-duration: 0s;
- vertical-align: middle;
- width: 22px;
-
- &::before {
- display: none !important;
- }
-
-}
-
-.no-reduce-motion button.icon-button.active i.fa-retweet {
- transition-duration: 0.9s;
- background-position: 0 100%;
-}
-
-.reduce-motion button.icon-button i.fa-retweet {
- color: $action-button-color;
- transition: color 100ms ease-in;
-}
-
-.reduce-motion button.icon-button.active i.fa-retweet {
- color: $highlight-text-color;
-}
-
-.status-card {
- display: flex;
- font-size: 14px;
- border: 1px solid lighten($ui-base-color, 8%);
- border-radius: 4px;
- color: $dark-text-color;
- margin-top: 14px;
- text-decoration: none;
- overflow: hidden;
-
- &__actions {
- bottom: 0;
- left: 0;
- position: absolute;
- right: 0;
- top: 0;
- display: flex;
- justify-content: center;
- align-items: center;
-
- & > div {
- background: rgba($base-shadow-color, 0.6);
- border-radius: 8px;
- padding: 12px 9px;
- flex: 0 0 auto;
- display: flex;
- justify-content: center;
- align-items: 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;
- }
- }
-}
-
-a.status-card {
- cursor: pointer;
-
- &:hover {
- background: lighten($ui-base-color, 8%);
- }
-}
-
-.status-card-photo {
- cursor: zoom-in;
- display: block;
- text-decoration: none;
- width: 100%;
- height: auto;
- margin: 0;
-}
-
-.status-card-video {
- iframe {
- width: 100%;
- height: 100%;
- }
-}
-
-.status-card__title {
- display: block;
- font-weight: 500;
- margin-bottom: 5px;
- color: $darker-text-color;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- text-decoration: none;
-}
-
-.status-card__content {
- flex: 1 1 auto;
- overflow: hidden;
- padding: 14px 14px 14px 8px;
-}
-
-.status-card__description {
- color: $darker-text-color;
-}
-
-.status-card__host {
- display: block;
- margin-top: 5px;
- font-size: 13px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.status-card__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%);
- }
-}
-
-.status-card.horizontal {
- display: block;
-
- .status-card__image {
- width: 100%;
- }
-
- .status-card__image-image {
- border-radius: 4px 4px 0 0;
- }
-
- .status-card__title {
- white-space: inherit;
- }
-}
-
-.status-card.compact {
- border-color: lighten($ui-base-color, 4%);
-
- &.interactive {
- border: 0;
- }
-
- .status-card__content {
- padding: 8px;
- padding-top: 10px;
- }
-
- .status-card__title {
- white-space: nowrap;
- }
-
- .status-card__image {
- flex: 0 0 60px;
- }
-}
-
-a.status-card.compact:hover {
- background-color: lighten($ui-base-color, 4%);
-}
-
-.status-card__image-image {
- border-radius: 4px 0 0 4px;
- display: block;
- margin: 0;
- width: 100%;
- height: 100%;
- object-fit: cover;
- background-size: cover;
- background-position: center center;
-}
-
-.load-more {
- display: block;
- color: $dark-text-color;
- background-color: transparent;
- border: 0;
- font-size: inherit;
- text-align: center;
- line-height: inherit;
- margin: 0;
- padding: 15px;
- box-sizing: border-box;
- width: 100%;
- clear: both;
- text-decoration: none;
-
- &:hover {
- background: lighten($ui-base-color, 2%);
- }
-}
-
-.load-gap {
- border-bottom: 1px solid lighten($ui-base-color, 8%);
-}
-
-.regeneration-indicator {
- text-align: center;
- font-size: 16px;
- font-weight: 500;
- color: $dark-text-color;
- background: $ui-base-color;
- cursor: default;
- display: flex;
- flex: 1 1 auto;
- align-items: center;
- justify-content: center;
- padding: 20px;
-
- & > div {
- width: 100%;
- background: transparent;
- padding-top: 0;
- }
-
- &__label {
- strong {
- display: block;
- margin-bottom: 10px;
- color: $dark-text-color;
- }
-
- span {
- font-size: 15px;
- font-weight: 400;
- }
- }
-}
-
-.columns-area--mobile .column {@include gab-container-standards();}
-.column-header__wrapper {
- position: relative;
- flex: 0 0 auto;
- overflow: hidden;
-
- &.active {
- &::before {
- display: block;
- content: "";
- position: absolute;
- top: 35px;
- left: 0;
- right: 0;
- margin: 0 auto;
- width: 60%;
- pointer-events: none;
- height: 28px;
- z-index: 1;
- background: radial-gradient(ellipse, rgba($ui-highlight-color, 0.23) 0%, rgba($ui-highlight-color, 0) 60%);
- }
- }
-}
-
-.column-header {
- display: flex;
- font-size: 16px;
-
- background: $gab-background-container;
- body.theme-gabsocial-light & {
- background: $gab-background-container-light;
- color: $gab-default-text-light;
- }
-
- flex: 0 0 auto;
- cursor: pointer;
- position: relative;
- z-index: 2;
- outline: 0;
- overflow: hidden;
-
- & > button,
- & > .btn {
- margin: 0;
- border: none;
- padding: 15px;
- color: inherit;
- background: transparent;
- font: inherit;
- text-align: left;
- text-decoration: none;
- white-space: nowrap;
-
- &--sub {
- font-size: 14px;
- padding: 6px 10px;
- }
-
- &.grouped {
- margin: 6px;
- }
-
- &.active {
- color: $primary-text-color;
- border-radius: 10px;
- background-color: rgba($highlight-text-color, .1);
- }
- }
-
- & > .column-header__back-button {
- color: $highlight-text-color;
- }
-
- &.active {
- box-shadow: 0 1px 0 rgba($highlight-text-color, 0.3);
-
- .column-header__icon {
- color: $highlight-text-color;
- text-shadow: 0 0 10px rgba($highlight-text-color, 0.4);
- }
- }
-
- &:focus,
- &:active {
- outline: 0;
- }
-}
-
-.column-header__buttons {
- height: 48px;
- display: flex;
- margin-left: auto;
-}
-
-.column-header__links .text-btn {
- margin-right: 10px;
-}
-
-.column-header__button {
- cursor: pointer;
- border: 0;
- padding: 0 15px;
- font-size: 16px;
- color: #fff;
- background: $gab-background-container;
- body.theme-gabsocial-light & {
- color: $gab-default-text-light;
- background: $gab-background-container-light;
- }
- &:hover {color: lighten($darker-text-color, 7%);}
-
- &.active {
- color: $primary-text-color;
- background: lighten($ui-base-color, 8%);
-
- &:hover {
- color: $primary-text-color;
- background: lighten($ui-base-color, 8%);
- }
- }
-}
-
-.column-header__collapsible {
- max-height: 70vh;
- overflow: hidden;
- overflow-y: auto;
- color: $darker-text-color;
- transition: max-height 150ms ease-in-out, opacity 300ms linear;
- opacity: 1;
-
- &.collapsed {
- max-height: 0;
- opacity: 0.5;
- }
-
- &.animating {
- overflow-y: hidden;
- }
-
- hr {
- height: 0;
- background: transparent;
- border: 0;
- border-top: 1px solid lighten($ui-base-color, 12%);
- margin: 10px 0;
- }
-}
-
-.column-header__collapsible-inner {
- background: #3f3f3f;
- body.theme-gabsocial-light & {background: #e6e6e6;}
- padding: 15px;
-}
-
-.column-header__setting-btn {
- &--link {
- text-decoration: none;
-
- .fa {
- margin-left: 10px;
- }
- }
- &:hover {
- color: $darker-text-color;
- text-decoration: underline;
- }
-}
-
-.column-header__setting-arrows {
- float: right;
-
- .column-header__setting-btn {
- padding: 0 10px;
-
- &:last-child {
- padding-right: 0;
- }
- }
-}
-
-.column-header__expansion {
- overflow-x: scroll;
- overflow-y: hidden;
- white-space: nowrap;
-}
-
-.text-btn {
- display: inline-block;
- padding: 0;
- font-family: inherit;
- font-size: inherit;
- color: inherit;
- border: 0;
- background: transparent;
- cursor: pointer;
-}
-
-.column-header__icon {
- display: inline-block;
- margin-right: 5px;
-}
-
-.loading-indicator {
- color: $dark-text-color;
- font-size: 12px;
- font-weight: 400;
- text-transform: uppercase;
- overflow: visible;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
-
- span {
- display: block;
- float: left;
- margin-left: 50%;
- transform: translateX(-50%);
- margin: 82px 0 0 50%;
- white-space: nowrap;
- }
-}
-
-.loading-indicator__figure {
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- width: 42px;
- height: 42px;
- box-sizing: border-box;
- background-color: transparent;
- border: 0 solid lighten($ui-base-color, 26%);
- border-width: 6px;
- border-radius: 50%;
-}
-
-.no-reduce-motion .loading-indicator span {
- animation: loader-label 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
-}
-
-.no-reduce-motion .loading-indicator__figure {
- animation: loader-figure 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
-}
-
-@keyframes loader-figure {
- 0% {
- width: 0;
- height: 0;
- background-color: lighten($ui-base-color, 26%);
- }
-
- 29% {
- background-color: lighten($ui-base-color, 26%);
- }
-
- 30% {
- width: 42px;
- height: 42px;
- background-color: transparent;
- border-width: 21px;
- opacity: 1;
- }
-
- 100% {
- width: 42px;
- height: 42px;
- border-width: 0;
- opacity: 0;
- background-color: transparent;
- }
-}
-
-@keyframes loader-label {
- 0% { opacity: 0.25; }
- 30% { opacity: 1; }
- 100% { opacity: 0.25; }
-}
-
-.video-error-cover {
- align-items: center;
- background: $base-overlay-background;
- color: $primary-text-color;
- cursor: pointer;
- display: flex;
- flex-direction: column;
- height: 100%;
- justify-content: center;
- margin-top: 8px;
- position: relative;
- text-align: center;
- z-index: 100;
-}
-
-.media-spoiler {
- background: $base-overlay-background;
- color: $darker-text-color;
- border: 0;
- padding: 0;
- width: 100%;
- height: 100%;
- border-radius: 4px;
- appearance: none;
-
- &:hover,
- &:active,
- &:focus {
- padding: 0;
- color: lighten($darker-text-color, 8%);
- }
-}
-
-.media-spoiler__warning {
- display: block;
- font-size: 14px;
-}
-
-.media-spoiler__trigger {
- display: block;
- font-size: 11px;
- font-weight: 700;
-}
-
-.spoiler-button {
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- position: absolute;
- z-index: 100;
-
- &--minified {
- display: block;
- left: 4px;
- top: 4px;
- width: auto;
- height: auto;
- }
-
- &--hidden {
- display: none;
- }
-
- &__overlay {
- display: block;
- background: transparent;
- width: 100%;
- height: 100%;
- border: 0;
-
- &__label {
- display: inline-block;
- background: rgba($base-overlay-background, 0.5);
- border-radius: 8px;
- padding: 8px 12px;
- color: $primary-text-color;
- font-weight: 500;
- font-size: 14px;
- }
-
- &:hover,
- &:focus,
- &:active {
- .spoiler-button__overlay__label {
- background: rgba($base-overlay-background, 0.8);
- }
- }
- }
-}
-
-.modal-container--preloader {
- background: lighten($ui-base-color, 8%);
-}
-
-.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,
-.detailed-status__button {
- flex: 1 1 auto;
- text-align: center;
-}
-
-.column-settings__outer {
- background: lighten($ui-base-color, 8%);
- padding: 15px;
-}
-
-.column-settings__section {
- color: $darker-text-color;
- cursor: default;
- display: block;
- font-weight: 500;
- margin-bottom: 10px;
-}
-
-.column-settings__hashtags {
- .column-settings__row {
- margin-bottom: 15px;
- }
-
- .column-select {
- &__control {
- @include search-input();
- }
-
- &__placeholder {
- color: $dark-text-color;
- padding-left: 2px;
- font-size: 12px;
- }
-
- &__value-container {
- padding-left: 6px;
- }
-
- &__multi-value {
- background: lighten($ui-base-color, 8%);
-
- &__remove {
- cursor: pointer;
-
- &:hover,
- &:active,
- &:focus {
- background: lighten($ui-base-color, 12%);
- color: lighten($darker-text-color, 4%);
- }
- }
- }
-
- &__multi-value__label,
- &__input {
- color: $darker-text-color;
- }
-
- &__clear-indicator,
- &__dropdown-indicator {
- cursor: pointer;
- transition: none;
- color: $dark-text-color;
-
- &:hover,
- &:active,
- &:focus {
- color: lighten($dark-text-color, 4%);
- }
- }
-
- &__indicator-separator {
- background-color: lighten($ui-base-color, 8%);
- }
-
- &__menu {
- @include search-popout();
- padding: 0;
- background: $ui-secondary-color;
- }
-
- &__menu-list {
- padding: 6px;
- }
-
- &__option {
- color: $inverted-text-color;
- border-radius: 4px;
- font-size: 14px;
-
- &--is-focused,
- &--is-selected {
- background: darken($ui-secondary-color, 10%);
- }
- }
- }
-}
-
-.column-settings__row {
- .text-btn {
- margin-bottom: 15px;
- }
-}
-
-.relationship-tag {
- color: $primary-text-color;
- margin-bottom: 4px;
- display: block;
- vertical-align: top;
- background-color: $base-overlay-background;
- text-transform: uppercase;
- font-size: 11px;
- font-weight: 500;
- padding: 4px;
- border-radius: 4px;
- opacity: 0.7;
-
- &:hover {
- opacity: 1;
- }
-}
-
-.setting-toggle {
- display: block;
- line-height: 24px;
-}
-
-.setting-toggle__label {
- color: $darker-text-color;
- display: inline-block;
- margin-bottom: 14px;
- margin-left: 8px;
- vertical-align: middle;
-}
-
-.empty-column-indicator,
-.error-column {
- color: $dark-text-color;
- background: $ui-base-color;
- text-align: center;
- padding: 40px;
- font-size: 15px;
- font-weight: 400;
- cursor: default;
- display: flex;
- flex: 1 1 auto;
- align-items: center;
- justify-content: center;
- min-height: 160px;
-
- @supports(display: grid) { // hack to fix Chrome <57
- contain: strict;
- }
-
- & > span {
- max-width: 400px;
- }
-
- a {
- color: $highlight-text-color;
- text-decoration: none;
-
- &:hover {
- text-decoration: underline;
- }
- }
-}
-
-.error-column {
- flex-direction: column;
-}
-
-@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-reduce-motion .pulse-loading {
- transform-origin: center center;
- animation: heartbeat 1.5s ease-in-out infinite both;
-}
-
-@keyframes shake-bottom {
- 0%,
- 100% {
- transform: rotate(0deg);
- transform-origin: 50% 100%;
- }
-
- 10% {
- transform: rotate(2deg);
- }
-
- 20%,
- 40%,
- 60% {
- transform: rotate(-4deg);
- }
-
- 30%,
- 50%,
- 70% {
- transform: rotate(4deg);
- }
-
- 80% {
- transform: rotate(-2deg);
- }
-
- 90% {
- transform: rotate(2deg);
- }
-}
-
-.no-reduce-motion .shake-bottom {
- transform-origin: 50% 100%;
- animation: shake-bottom 0.8s cubic-bezier(0.455, 0.030, 0.515, 0.955) 2s 2 both;
-}
-
-.emoji-picker-dropdown__menu {
- background: $simple-background-color;
- position: absolute;
- box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
- border-radius: 4px;
- margin-top: 5px;
- z-index: 20000;
-
- .emoji-mart-scroll {
- transition: opacity 200ms ease;
- }
-
- &.selecting .emoji-mart-scroll {
- opacity: 0.5;
- }
-}
-
-.emoji-picker-dropdown__modifiers {
- position: absolute;
- top: 60px;
- right: 11px;
- cursor: pointer;
-}
-
-.emoji-picker-dropdown__modifiers__menu {
- position: absolute;
- z-index: 4;
- top: -4px;
- left: -8px;
- background: $simple-background-color;
- border-radius: 4px;
- box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
- overflow: hidden;
-
- button {
- display: block;
- cursor: pointer;
- border: 0;
- padding: 4px 8px;
- background: transparent;
-
- &:hover,
- &:focus,
- &:active {
- background: rgba($ui-secondary-color, 0.4);
- }
- }
-
- .emoji-mart-emoji {
- height: 22px;
- }
-}
-
.emoji-mart-emoji {
- span {
- background-repeat: no-repeat;
- }
-}
-
-.upload-area {
- align-items: center;
- background: rgba($base-overlay-background, 0.8);
- display: flex;
- height: 100%;
- justify-content: center;
- left: 0;
- opacity: 0;
- position: absolute;
- top: 0;
- visibility: hidden;
- width: 100%;
- z-index: 2000;
-
- * {
- pointer-events: none;
- }
-}
-
-.upload-area__drop {
- width: 320px;
- height: 160px;
- display: flex;
- box-sizing: border-box;
- position: relative;
- padding: 8px;
-}
-
-.upload-area__background {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: -1;
- border-radius: 4px;
- background: $ui-base-color;
- box-shadow: 0 0 5px rgba($base-shadow-color, 0.2);
-}
-
-.upload-area__content {
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: center;
- color: $secondary-text-color;
- font-size: 18px;
- font-weight: 500;
- border: 2px dashed $ui-base-lighter-color;
- border-radius: 4px;
-}
-
-.upload-progress {
- padding: 10px;
- color: $lighter-text-color;
- overflow: hidden;
- display: flex;
-
- .fa {
- font-size: 34px;
- margin-right: 10px;
- }
-
- span {
- font-size: 12px;
- text-transform: uppercase;
- font-weight: 500;
- display: block;
- }
-}
-
-.upload-progess__message {
- flex: 1 1 auto;
-}
-
-.upload-progress__backdrop {
- width: 100%;
- height: 6px;
- border-radius: 6px;
- background: $ui-base-lighter-color;
- position: relative;
- margin-top: 5px;
-}
-
-.upload-progress__tracker {
- position: absolute;
- left: 0;
- top: 0;
- height: 6px;
- background: $ui-highlight-color;
- border-radius: 6px;
-}
-
-.emoji-button {
- display: block;
- font-size: 24px;
- line-height: 24px;
- margin-left: 2px;
- width: 24px;
- outline: 0;
- cursor: pointer;
-
- &:active,
- &:focus {
- outline: 0 !important;
- }
-
- img {
- filter: grayscale(100%);
- opacity: 0.8;
- display: block;
- margin: 0;
- width: 22px;
- height: 22px;
- margin-top: 2px;
- }
-
- &:hover,
- &:active,
- &:focus {
- img {
- opacity: 1;
- filter: none;
- }
- }
+ span {
+ background-repeat: no-repeat;
+ }
}
.dropdown--active .emoji-button img {
- opacity: 1;
- filter: none;
+ opacity: 1;
+ filter: none;
}
-.privacy-dropdown__dropdown {
- position: absolute;
- background: $simple-background-color;
- box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
- border-radius: 4px;
- margin-left: 40px;
- overflow: hidden;
- z-index: 10000;
-
- &.top {
- transform-origin: 50% 100%;
- }
-
- &.bottom {
- transform-origin: 50% 0;
- }
-}
-
-.privacy-dropdown__option {
- color: $inverted-text-color;
- padding: 10px;
- cursor: pointer;
- display: flex;
-
- &:hover,
- &.active {
- background: $ui-highlight-color;
- color: $primary-text-color;
- outline: 0;
-
- .privacy-dropdown__option__content {
- color: $primary-text-color;
-
- strong {
- color: $primary-text-color;
- }
- }
- }
-
- &.active:hover {
- background: lighten($ui-highlight-color, 4%);
- }
-}
-
-.privacy-dropdown__option__icon {
- display: flex;
- align-items: center;
- justify-content: center;
- margin-right: 10px;
-}
-
-.privacy-dropdown__option__content {
- flex: 1 1 auto;
- color: $lighter-text-color;
-
- strong {
- font-weight: 500;
- display: block;
- color: $inverted-text-color;
-
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
-}
-
-.privacy-dropdown.active {
- .privacy-dropdown__value {
- background: $simple-background-color;
- border-radius: 4px 4px 0 0;
- box-shadow: 0 -4px 4px rgba($base-shadow-color, 0.1);
-
- .icon-button {
- transition: none;
- }
-
- &.active {
- background: $ui-highlight-color;
-
- .icon-button {
- color: $primary-text-color;
- }
- }
- }
-
- &.top .privacy-dropdown__value {
- border-radius: 0 0 4px 4px;
- }
-
- .privacy-dropdown__dropdown {
- display: block;
- box-shadow: 2px 4px 6px rgba($base-shadow-color, 0.1);
- }
-}
-
-.search {
- position: relative;
-}
-
-.search__input {
- display: block;
- padding: 7px 30px 6px 10px;
- @include search-input();
-}
-
-.search__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;
- width: 18px;
- height: 18px;
- @include font-size(16);
- color: $gab-placeholder-accent;
- opacity: 0;
- pointer-events: none;
-
- &.active {
- pointer-events: auto;
- opacity: 1;
- }
- }
- .fa-search.active {pointer-events: none;}
-
- .fa-times-circle {
- cursor: pointer;
- @include font-size(17);
- color: $gab-alert-red;
- &:hover {color: lighten($gab-alert-red, 7%);}
- }
-}
-
-.search-results__header {
- color: $dark-text-color;
- background: lighten($ui-base-color, 2%);
- padding: 15px;
- font-weight: 500;
- font-size: 16px;
- cursor: default;
-
- .fa {
- display: inline-block;
- margin-right: 5px;
- }
-}
-
-.search-results__section {
- margin-bottom: 5px;
-
- h5 {
- background: darken($ui-base-color, 4%);
- border-bottom: 1px solid lighten($ui-base-color, 8%);
- cursor: default;
- display: flex;
- padding: 15px;
- font-weight: 500;
- font-size: 16px;
- color: $dark-text-color;
-
- .fa {
- display: inline-block;
- margin-right: 5px;
- }
- }
-
- .account:last-child,
- & > div:last-child .status {
- border-bottom: 0;
- }
-}
-
-.search-results__hashtag {
- display: block;
- padding: 10px;
- color: $secondary-text-color;
- text-decoration: none;
-
- &:hover,
- &:active,
- &:focus {
- color: lighten($secondary-text-color, 4%);
- text-decoration: underline;
- }
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-
-
.loading-bar {
- background-color: $highlight-text-color;
- height: 3px;
- position: absolute;
- top: 0;
- left: 0;
-}
-
-.media-gallery__gifv__label {
- display: block;
- position: absolute;
- color: $primary-text-color;
- background: rgba($base-overlay-background, 0.5);
- bottom: 6px;
- left: 6px;
- padding: 2px 6px;
- border-radius: 2px;
- font-size: 11px;
- font-weight: 600;
- z-index: 1;
- pointer-events: none;
- opacity: 0.9;
- transition: opacity 0.1s ease;
- line-height: 18px;
-}
-
-.media-gallery__gifv {
- &.autoplay {
- .media-gallery__gifv__label {
- display: none;
- }
- }
-
- &:hover {
- .media-gallery__gifv__label {
- opacity: 1;
- }
- }
-}
-
-.attachment-list {
- display: flex;
- font-size: 14px;
- border: 1px solid lighten($ui-base-color, 8%);
- border-radius: 4px;
- margin-top: 14px;
- overflow: hidden;
-
- &__icon {
- flex: 0 0 auto;
- color: $dark-text-color;
- padding: 8px 18px;
- cursor: default;
- border-right: 1px solid lighten($ui-base-color, 8%);
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- font-size: 26px;
-
- .fa {
- display: block;
- }
- }
-
- &__list {
- list-style: none;
- padding: 4px 0;
- padding-left: 8px;
- display: flex;
- flex-direction: column;
- justify-content: center;
-
- li {
- display: block;
- padding: 4px 0;
- }
-
- a {
- text-decoration: none;
- color: $dark-text-color;
- font-weight: 500;
-
- &:hover {
- text-decoration: underline;
- }
- }
- }
-
- &.compact {
- border: 0;
- margin-top: 4px;
-
- .attachment-list__list {
- padding: 0;
- display: block;
- }
-
- .fa {
- color: $dark-text-color;
- }
- }
-}
-
-/* Media Gallery */
-.media-gallery {
- box-sizing: border-box;
- margin-top: 8px;
- overflow: hidden;
- border-radius: 4px;
- position: relative;
- width: 100%;
-}
-
-.media-gallery__item {
- border: none;
- box-sizing: border-box;
- display: block;
- float: left;
- position: relative;
- border-radius: 4px;
- overflow: hidden;
-
- &.standalone {
- .media-gallery__item-gifv-thumbnail {
- transform: none;
- top: 0;
- }
- }
-}
-
-.media-gallery__item-thumbnail {
- cursor: zoom-in;
- display: block;
- text-decoration: none;
- color: $secondary-text-color;
- line-height: 0;
- position: relative;
- z-index: 1;
-
- &,
- img {
- height: 100%;
- width: 100%;
- }
-
- img {
- object-fit: cover;
- }
-}
-
-.media-gallery__preview {
- width: 100%;
- height: 100%;
- object-fit: cover;
- position: absolute;
- top: 0;
- left: 0;
- z-index: 0;
- background: $base-overlay-background;
-
- &--hidden {
- display: none;
- }
-}
-
-.media-gallery__gifv {
- height: 100%;
- overflow: hidden;
- position: relative;
- width: 100%;
-}
-
-.media-gallery__item-gifv-thumbnail {
- cursor: zoom-in;
- height: 100%;
- object-fit: cover;
- position: relative;
- top: 50%;
- transform: translateY(-50%);
- width: 100%;
- z-index: 1;
-}
-
-.media-gallery__item-thumbnail-label {
- clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
- clip: rect(1px, 1px, 1px, 1px);
- overflow: hidden;
- position: absolute;
-}
-/* End Media Gallery */
-
-/* Status Video Player */
-.status__video-player {
- background: $base-overlay-background;
- box-sizing: border-box;
- cursor: default; /* May not be needed */
- margin-top: 8px;
- overflow: hidden;
- position: relative;
-}
-
-.status__video-player-video {
- height: 100%;
- object-fit: cover;
- position: relative;
- top: 50%;
- transform: translateY(-50%);
- width: 100%;
- z-index: 1;
-}
-
-.status__video-player-expand,
-.status__video-player-mute {
- color: $primary-text-color;
- opacity: 0.8;
- position: absolute;
- right: 4px;
- text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
-}
-
-.status__video-player-spoiler {
- display: none;
- color: $primary-text-color;
- left: 4px;
- position: absolute;
- text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
- top: 4px;
- z-index: 100;
-
- &.status__video-player-spoiler--visible {
- display: block;
- }
-}
-
-.status__video-player-expand {
- bottom: 4px;
- z-index: 100;
-}
-
-.status__video-player-mute {
- top: 4px;
- z-index: 5;
+ background-color: $highlight-text-color;
+ height: 3px;
+ position: absolute;
+ top: 0;
+ left: 0;
}
.detailed,
.fullscreen {
- .video-player__volume__current,
- .video-player__volume::before {
- bottom: 27px;
- }
- .video-player__volume__handle {
- bottom: 23px;
- }
+ .video-player__volume__current,
+ .video-player__volume::before {
+ bottom: 27px;
+ }
-}
-
-.video-player {
- overflow: hidden;
- position: relative;
- background: $base-shadow-color;
- max-width: 100%;
- border-radius: 4px;
-
- &:focus {
- outline: 0;
- }
-
- video {
- max-width: 100vw;
- max-height: 80vh;
- z-index: 1;
- }
-
- &.fullscreen {
- width: 100% !important;
- height: 100% !important;
- margin: 0;
-
- video {
- max-width: 100% !important;
- max-height: 100% !important;
- width: 100% !important;
- height: 100% !important;
- }
- }
-
- &.inline {
- video {
- object-fit: contain;
- position: relative;
- top: 50%;
- transform: translateY(-50%);
- }
- }
-
- &__controls {
- position: absolute;
- z-index: 2;
- bottom: 0;
- left: 0;
- right: 0;
- box-sizing: border-box;
- background: linear-gradient(0deg, rgba($base-shadow-color, 0.85) 0, rgba($base-shadow-color, 0.45) 60%, transparent);
- padding: 0 15px;
- opacity: 0;
- transition: opacity .1s ease;
-
- &.active {
- opacity: 1;
- }
- }
-
- &.inactive {
- video,
- .video-player__controls {
- visibility: hidden;
- }
- }
-
- &__spoiler {
- display: none;
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: 4;
- border: 0;
- background: $base-overlay-background;
- color: $darker-text-color;
- transition: none;
- pointer-events: none;
-
- &.active {
- display: block;
- pointer-events: auto;
-
- &:hover,
- &:active,
- &:focus {
- color: lighten($darker-text-color, 7%);
- }
- }
-
- &__title {
- display: block;
- font-size: 14px;
- }
-
- &__subtitle {
- display: block;
- font-size: 11px;
- font-weight: 500;
- }
- }
-
- &__buttons-bar {
- display: flex;
- justify-content: space-between;
- padding-bottom: 10px;
- }
-
- &__buttons {
- font-size: 16px;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-
- &.left {
- button {
- padding-left: 0;
- }
- }
-
- &.right {
- button {
- padding-right: 0;
- }
- }
-
- button {
- background: transparent;
- padding: 2px 10px;
- font-size: 16px;
- border: 0;
- color: rgba($white, 0.75);
-
- &:active,
- &:hover,
- &:focus {
- color: $white;
- }
- }
- }
-
- &__time-sep,
- &__time-total,
- &__time-current {
- font-size: 14px;
- font-weight: 500;
- }
-
- &__time-current {
- color: $white;
- margin-left: 60px;
- }
-
- &__time-sep {
- display: inline-block;
- margin: 0 6px;
- }
-
- &__time-sep,
- &__time-total {
- color: $white;
- }
-
- &__volume {
- cursor: pointer;
- height: 24px;
- display: inline;
-
- &::before {
- content: "";
- width: 50px;
- background: rgba($white, 0.35);
- border-radius: 4px;
- display: block;
- position: absolute;
- height: 4px;
- left: 70px;
- bottom: 20px;
- }
-
- &__current {
- display: block;
- position: absolute;
- height: 4px;
- border-radius: 4px;
- left: 70px;
- bottom: 20px;
- background: lighten($ui-highlight-color, 8%);
- }
-
- &__handle {
- position: absolute;
- z-index: 3;
- border-radius: 50%;
- width: 12px;
- height: 12px;
- bottom: 16px;
- left: 70px;
- transition: opacity .1s ease;
- background: lighten($ui-highlight-color, 8%);
- box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
- pointer-events: none;
- }
- }
-
- &__link {
- padding: 2px 10px;
-
- a {
- text-decoration: none;
- font-size: 14px;
- font-weight: 500;
- color: $white;
-
- &:hover,
- &:active,
- &:focus {
- text-decoration: underline;
- }
- }
- }
-
- &__seek {
- cursor: pointer;
- height: 24px;
- position: relative;
-
- &::before {
- content: "";
- width: 100%;
- background: rgba($white, 0.35);
- border-radius: 4px;
- display: block;
- position: absolute;
- height: 4px;
- top: 10px;
- }
-
- &__progress,
- &__buffer {
- display: block;
- position: absolute;
- height: 4px;
- border-radius: 4px;
- top: 10px;
- background: lighten($ui-highlight-color, 8%);
- }
-
- &__buffer {
- background: rgba($white, 0.2);
- }
-
- &__handle {
- position: absolute;
- z-index: 3;
- opacity: 0;
- border-radius: 50%;
- width: 12px;
- height: 12px;
- top: 6px;
- margin-left: -6px;
- transition: opacity .1s ease;
- background: lighten($ui-highlight-color, 8%);
- box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
- pointer-events: none;
-
- &.active {
- opacity: 1;
- }
- }
-
- &:hover {
- .video-player__seek__handle {
- opacity: 1;
- }
- }
- }
-
- &.detailed,
- &.fullscreen {
- .video-player__buttons {
- button {
- padding-top: 10px;
- padding-bottom: 10px;
- }
- }
- }
-}
-
-.media-spoiler-video {
- background-size: cover;
- background-repeat: no-repeat;
- background-position: center;
- cursor: pointer;
- margin-top: 8px;
- position: relative;
- border: 0;
- display: block;
-}
-
-.media-spoiler-video-play-icon {
- border-radius: 100px;
- color: rgba($primary-text-color, 0.8);
- font-size: 36px;
- left: 50%;
- padding: 5px;
- position: absolute;
- top: 50%;
- transform: translate(-50%, -50%);
-}
-/* End Video Player */
-
-.account-gallery__container {
- display: flex;
- flex-wrap: wrap;
- padding: 4px 2px;
-}
-
-.account-gallery__item {
- border: none;
- box-sizing: border-box;
- display: block;
- position: relative;
- border-radius: 4px;
- overflow: hidden;
- margin: 2px;
-
- &__icons {
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- font-size: 24px;
- }
-}
-
-.notification__filter-bar,
-.account__section-headline {
- background: darken($ui-base-color, 4%);
- border-bottom: 1px solid lighten($ui-base-color, 8%);
- cursor: default;
- display: flex;
- flex-shrink: 0;
-
- button {
- background: darken($ui-base-color, 4%);
- border: 0;
- margin: 0;
- }
-
- button,
- a {
- display: block;
- 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;
-
- &.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%);
- }
-
- &::after {
- bottom: -1px;
- border-color: transparent transparent $ui-base-color;
- }
- }
- }
-}
-
-.account__section-headline {
- button,
- a {
- flex: none;
- padding: 18px 15px;
- font-size: 16px;
- font-weight: 600;
- }
+ .video-player__volume__handle {
+ bottom: 23px;
+ }
}
::-webkit-scrollbar-thumb {
- border-radius: 0;
-}
-
-.search-popout-container{
- width: 251px;
- @media screen and (max-width: $nav-breakpoint-2) {width: 100%;}
-}
-
-.search-popout {
- @include search-popout();
+ border-radius: 0;
}
noscript {
- text-align: center;
+ text-align: center;
- img {
- width: 200px;
- opacity: 0.5;
- animation: flicker 4s infinite;
- }
+ img {
+ width: 200px;
+ opacity: 0.5;
+ animation: flicker 4s infinite;
+ }
- div {
- font-size: 14px;
- margin: 30px auto;
- color: $secondary-text-color;
- max-width: 400px;
+ div {
+ font-size: 14px;
+ margin: 30px auto;
+ color: $secondary-text-color;
+ max-width: 400px;
- a {
- color: $highlight-text-color;
- text-decoration: underline;
+ a {
+ color: $highlight-text-color;
+ text-decoration: underline;
- &:hover {
- text-decoration: none;
- }
- }
- }
+ &:hover {
+ text-decoration: none;
+ }
+ }
+ }
}
@keyframes flicker {
- 0% { opacity: 1; }
- 30% { opacity: 0.75; }
- 100% { opacity: 1; }
-}
-
-@media screen and (max-width: 630px) and (max-height: 400px) {
- $duration: 400ms;
- $delay: 100ms;
-
- .tabs-bar,
- .search {
- will-change: margin-top;
- transition: margin-top $duration $delay;
- }
-
- .navigation-bar {
- will-change: padding-bottom;
- transition: padding-bottom $duration $delay;
- }
-
- .navigation-bar {
- & > a:first-child {
- will-change: margin-top, margin-left, margin-right, width;
- transition: margin-top $duration $delay, margin-left $duration ($duration + $delay), margin-right $duration ($duration + $delay);
- }
-
- & > .navigation-bar__profile-edit {
- will-change: margin-top;
- transition: margin-top $duration $delay;
- }
-
- .navigation-bar__actions {
- & > .icon-button.close {
- will-change: opacity transform;
- transition: opacity $duration * 0.5 $delay,
- transform $duration $delay;
- }
-
- & > .compose__action-bar .icon-button {
- will-change: opacity transform;
- transition: opacity $duration * 0.5 $delay + $duration * 0.5,
- transform $duration $delay;
- }
- }
- }
-
- .is-composing {
- .tabs-bar,
- .search {
- margin-top: -50px;
- }
-
- .navigation-bar {
- padding-bottom: 0;
-
- & > a:first-child {
- margin: -100px 10px 0 -50px;
- }
-
- .navigation-bar__profile {
- padding-top: 2px;
- }
-
- .navigation-bar__profile-edit {
- position: absolute;
- margin-top: -60px;
- }
-
- .navigation-bar__actions {
- .icon-button.close {
- pointer-events: auto;
- opacity: 1;
- transform: scale(1.0, 1.0) translate(0, 0);
- bottom: 5px;
- }
-
- .compose__action-bar .icon-button {
- pointer-events: none;
- opacity: 0;
- transform: scale(0.0, 1.0) translate(100%, 0);
- }
- }
- }
- }
-}
-
-.embed-modal {
- max-width: 80vw;
- max-height: 80vh;
-
- h4 {
- padding: 30px;
- font-weight: 500;
- font-size: 16px;
- text-align: center;
- }
-
- .embed-modal__container {
- padding: 10px;
-
- .hint {
- margin-bottom: 15px;
- }
-
- .embed-modal__html {
- outline: 0;
- box-sizing: border-box;
- display: block;
- width: 100%;
- border: none;
- padding: 10px;
- font-family: $font-monospace, monospace;
- background: $ui-base-color;
- color: $primary-text-color;
- font-size: 14px;
- margin: 0;
- margin-bottom: 15px;
-
- &::-moz-focus-inner {
- border: 0;
- }
-
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
-
- &:focus {
- background: lighten($ui-base-color, 4%);
- }
-
- @media screen and (max-width: 600px) {
- font-size: 16px;
- }
- }
-
- .embed-modal__iframe {
- width: 400px;
- max-width: 100%;
- overflow: hidden;
- border: 0;
- }
- }
-}
-
-.account__moved-note {
- padding: 14px 10px;
- padding-bottom: 16px;
- background: lighten($ui-base-color, 4%);
- border-top: 1px solid lighten($ui-base-color, 8%);
- border-bottom: 1px solid lighten($ui-base-color, 8%);
-
- &__message {
- position: relative;
- margin-left: 58px;
- color: $dark-text-color;
- padding: 8px 0;
- padding-top: 0;
- padding-bottom: 4px;
- font-size: 14px;
-
- > span {
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
-
- &__icon-wrapper {
- left: -26px;
- position: absolute;
- }
-
- .detailed-status__display-avatar {
- position: relative;
- }
-
- .detailed-status__display-name {
- margin-bottom: 0;
- }
-}
-
-.column-inline-form {
- padding: 7px 15px;
- padding-right: 5px;
- display: flex;
- justify-content: flex-start;
- align-items: center;
- background: lighten($ui-base-color, 4%);
-
- label {
- flex: 1 1 auto;
-
- input {
- width: 100%;
- margin-bottom: 6px;
-
- &:focus {
- outline: 0;
- }
- }
- }
-
- .icon-button {
- flex: 0 0 auto;
- margin: 0 5px;
- }
-}
-
-.drawer__backdrop {
- cursor: pointer;
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: rgba($base-overlay-background, 0.5);
-}
-
-.list-editor {
- flex-direction: column;
- width: 100%;
- overflow: hidden;
- height: 100%;
- overflow-y: scroll;
-
- @media screen and (max-width: 420px) {
- width: 90%;
- }
-
- h4 {
- padding: 15px 0;
- background: lighten($ui-base-color, 13%);
- font-weight: 500;
- font-size: 16px;
- text-align: center;
- border-radius: 8px 8px 0 0;
- }
-
- .drawer__inner {
- border-radius: 0 0 8px 8px;
-
- &.backdrop {
- width: calc(100% - 60px);
- box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
- border-radius: 0 0 0 8px;
- }
- }
-
- &__accounts {
- background: lighten($ui-base-color, 13%);
- overflow-y: auto;
- max-height: 200px;
- }
-
- .account__display-name {
- &:hover strong {
- text-decoration: none;
- }
- }
-
- .account__avatar {
- cursor: default;
- }
-
- .search {
- display: flex;
- flex-direction: row;
- margin: 10px 0;
-
- > label {
- flex: 1 1;
- }
-
- > .search__icon .fa {
- right: 102px !important;
- }
-
- > .button {
- width: 80px;
- margin-left: 10px;
- }
- }
-}
-
-.list-adder {
- flex-direction: column;
- width: 100%;
- overflow: hidden;
- height: 100%;
- overflow-y: scroll;
-
- @media screen and (max-width: 420px) {
- width: 90%;
- }
-
- &__account {
- background: lighten($ui-base-color, 13%);
- border-radius: 4px;
- }
-
- &__lists {
- background: lighten($ui-base-color, 13%);
- }
-
- .list {
- padding: 4px;
- border-bottom: 1px solid lighten($ui-base-color, 8%);
- }
-
- .list__wrapper {
- display: flex;
-
- .account__relationship {
- padding: 8px 5px 0 5px;
- }
- }
-
- .list__display-name {
- flex: 1 1 auto;
- overflow: hidden;
- text-decoration: none;
- font-size: 16px;
- padding: 10px;
- }
-}
-
-.new-list-form,
-.edit-list-form {
- &__btn {
- margin-left: 6px;
- width: 112px;
- }
-
- &__input {
- height: 36px;
- }
-}
-
-.focal-point-modal {
- max-width: 80vw;
- max-height: 80vh;
- position: relative;
-}
-
-.focal-point {
- position: relative;
- cursor: pointer;
- overflow: hidden;
-
- &.dragging {
- cursor: move;
- }
-
- img {
- max-width: 80vw;
- max-height: 80vh;
- width: auto;
- height: auto;
- margin: auto;
- }
-
- &__reticle {
- position: absolute;
- width: 100px;
- height: 100px;
- transform: translate(-50%, -50%);
- background: url('../images/reticle.png') no-repeat 0 0;
- border-radius: 50%;
- box-shadow: 0 0 0 9999em rgba($base-shadow-color, 0.35);
- }
-
- &__overlay {
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- }
-}
-
-.account__header__content {
- color: $darker-text-color;
- font-size: 14px;
- font-weight: 400;
- overflow: hidden;
- word-break: normal;
- word-wrap: break-word;
-
- p {
- margin-bottom: 20px;
-
- &:last-child {
- margin-bottom: 0;
- }
- }
-
- a {
- color: inherit;
- text-decoration: underline;
-
- &:hover {
- text-decoration: none;
- }
- }
-}
-
-.trends {
- &__header {
- color: $dark-text-color;
- background: lighten($ui-base-color, 2%);
- border-bottom: 1px solid darken($ui-base-color, 4%);
- font-weight: 500;
- padding: 15px;
- font-size: 16px;
- cursor: default;
-
- .fa {
- display: inline-block;
- margin-right: 5px;
- }
- }
-
- &__item {
- display: flex;
- align-items: center;
- padding: 15px;
- border-bottom: 1px solid lighten($ui-base-color, 8%);
-
- &:last-child {
- border-bottom: 0;
- }
-
- &__name {
- flex: 1 1 auto;
- color: $dark-text-color;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-
- strong {
- font-weight: 500;
- }
-
- a {
- color: $darker-text-color;
- text-decoration: none;
- font-size: 14px;
- font-weight: 500;
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-
- &:hover,
- &:focus,
- &:active {
- span {
- text-decoration: underline;
- }
- }
- }
- }
-
- &__current {
- flex: 0 0 auto;
- width: 100px;
- font-size: 24px;
- line-height: 36px;
- font-weight: 500;
- text-align: center;
- color: $secondary-text-color;
- }
-
- &__sparkline {
- flex: 0 0 auto;
- width: 50px;
-
- path {
- stroke: lighten($highlight-text-color, 6%) !important;
- }
- }
- }
-}
-
-.layout-toggle {
- display: flex;
- padding: 5px;
-
- button {
- box-sizing: border-box;
- flex: 0 0 50%;
- background: transparent;
- padding: 5px;
- border: 0;
- position: relative;
-
- &:hover,
- &:focus,
- &:active {
- svg path:first-child {
- fill: lighten($ui-base-color, 16%);
- }
- }
- }
-
- svg {
- width: 100%;
- height: auto;
-
- path:first-child {
- fill: lighten($ui-base-color, 12%);
- }
-
- path:last-child {
- fill: darken($ui-base-color, 14%);
- }
- }
-
- &__active {
- color: $ui-highlight-color;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- background: lighten($ui-base-color, 12%);
- border-radius: 50%;
- padding: 0.35rem;
- }
-}
-
-.wtf-panel {
- display: flex;
- width: 100%;
- border-radius: 10px;
- flex-direction: column;
- height: auto;
- box-sizing: border-box;
-
- background: $gab-background-container;
- body.theme-gabsocial-light & {
- @include light-theme-shadow();
- background: $gab-background-container-light;
- }
-
- &:not(:last-of-type) {
- margin-bottom: 10px;
- }
-
- .wtf-panel-header {
- display: flex;
- align-items: baseline;
- margin-bottom: 10px;
- padding: 15px 15px 0 15px;
-
- &__icon {
- margin-right: 10px;
- }
-
- &__label {
- flex: 1 1;
- color: $primary-text-color;
- font-size: 16px;
- font-weight: bold;
- line-height: 19px;
- }
+ 0% {
+ opacity: 1;
}
- &__content {
- width: 100%;
- padding-top: 8px;
+ 30% {
+ opacity: 0.75;
}
- &__list {
- padding: 0 5px;
+ 100% {
+ opacity: 1;
}
-
- &__subtitle {
- display: block;
- padding: 0 15px;
- color: $secondary-text-color;
- }
-
- &__form {
- display: block;
- padding: 15px;
-
- &.button {
- width: 100%;
- }
- }
-
- .wtf-panel-list-item {
- display: block;
- padding-bottom: 10px;
-
- &:not(:first-of-type) {
- margin-top: 12px;
- }
-
- &:not(:last-of-type) {
- border-bottom: 1px solid lighten($ui-base-color, 8%);
- }
-
- &__content {
- display: flex;
- flex-direction: row;
- min-height: 46px;
- margin-left: 58px;
- }
-
- &__account-block {
- display: flex;
- position: relative;
- align-items: baseline;
- padding-right: 10px;
-
- &__avatar {
- height: 46px;
- width: 46px;
- background-color: red;
- left: -58px;
- position: absolute;
- }
-
- &__name {
- display: flex;
- flex-wrap: wrap;
- flex-direction: column;
- margin-top: 6px;
-
- &__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;
- }
-
- &__username {
- color: $lighter-text-color;
- font-size: 12px;
- line-height: 14px;
- }
- }
- }
-
- &__follow-block {
- margin-left: auto;
- padding-top: 6px;
-
- &__button {
- display: flex;
- }
-
- &__icon {
- color: $primary-text-color;
- }
- }
- }
-}
-
-.verified-icon {
- display: inline-block;
- margin: 0 4px 0 1px;
- vertical-align: top;
- position: relative;
- width: 15px;
- height: 15px;
-
- &:before {
- display: block;
- content: "";
- position: absolute;
- background-color: #00A3ED;
- top: 0;
- right: 0;
- left: 0;
- bottom: 0;
- border-radius: 50%;
- }
-
- &:after {
- display: block;
- position: absolute;
- content: '\f00c';
- font: normal normal normal 14px/1 FontAwesome;
- font-size: inherit;
- text-rendering: auto;
- -webkit-font-smoothing: antialiased;
- color: #fff;
- font-size: 0.6em;
- line-height: 15px;
- width: 15px;
- height: 15px;
- text-align: center;
- }
-}
-
-.compose-modal {
- padding: 8px 0 0;
- overflow: hidden;
- background-color: $classic-base-color;
- border-radius: 6px;
- flex-direction: column;
- width: 600px;
- margin: 10px 0;
-
- &__header {
- display: block;
- position: relative;
- border-bottom: 1px solid lighten($classic-base-color, 8%);
- border-radius: 6px 6px 0 0;
- padding-top: 12px;
- padding-bottom: 12px;
-
- &__title {
- display: block;
- width: 80%;
- margin: 0 auto;
- font-size: 18px;
- font-weight: bold;
- line-height: 24px;
- color: $gab-background-base-light;
- text-align: center;
- }
- }
-
- &__close {
- position: absolute;
- right: 10px;
- top: 10px;
- }
-
- &__content {
- display: flex;
- flex-direction: row;
- flex: 1;
- padding: 10px;
- overflow-y: hidden;
-
- .timeline-compose-block {
- background: transparent !important;
- width: 100%;
- padding: 10px 5px;
- margin-bottom: 0;
-
- .compose-form {
- max-height: 100%;
- display: flex;
- flex-direction: column;
- }
- }
- }
-
- @media screen and (max-width:895px) {
- margin: 0;
- height: 98vh;
- width: 98vw;
- }
-}
-
-.account-timeline {
- &__header {
- display: block;
- width: 100%;
- }
-}
-
-.profile-info-panel {
- display: flex;
- position: relative;
-
- &__content {
- display: flex;
- flex-direction: column;
- flex: 1 1;
-
- @media (min-width:895px) {
- padding-top: 60px;
- }
- }
-
- .profile-info-panel-content {
- display: flex;
-
- &__badges {
- display: flex;
- margin: 5px 0;
- flex-direction: row;
- flex-wrap: wrap;
-
- &__join-date {
- display: block;
- margin-top: 5px;
-
- .fa {
- margin-right: 8px;
- }
-
- span {
- color: $primary-text-color;
- body.theme-gabsocial-light & {color: $gab-default-text-light;}
- font-size: 15px;
- line-height: 1.25;
- }
- }
- }
-
- &__name {
- display: block;
-
- .account-role {
- vertical-align: top;
- }
-
- .emojione {
- width: 22px;
- height: 22px;
- }
-
- h1 {
- span:first-of-type {
- font-size: 20px !important;
- line-height: 1.25;
- color: #ffffff;
- body.theme-gabsocial-light & {color: $gab-default-text-light;}
- font-weight: 600 !important;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
-
- small {
- display: block;
- font-size: 16px;
- line-height: 1.5;
- color: $secondary-text-color;
- font-weight: 400;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
- }
-
- &__bio {
- display: block;
- flex: 1 1;
- color: $primary-text-color;
- margin: 15px 0;
- font-size: 15px;
- line-height: 1.25;
-
- a {
- color: lighten($ui-highlight-color, 8%);
- }
- }
-
- &__fields {
- display: flex;
- flex-direction: column;
- border-top: 1px solid lighten($ui-base-color, 12%);
- padding: 10px 0;
- margin: 5px 0;
-
- @media screen and (max-width:895px) {
- border-bottom: 1px solid lighten($ui-base-color, 12%);
- }
-
- a {
- color: lighten($ui-highlight-color, 8%);
- }
-
- dl:first-child .verified {
- border-radius: 0 4px 0 0;
- }
-
- .verified a {
- color: $valid-value-color;
- }
-
- &__item {
- display: flex;
- padding: 2px 0;
- margin: 2px 0;
- flex: 1 1;
-
- * {
- font-size: 15px;
- line-height: 24px;
- }
-
- dt {
- min-width: 26px;
- }
-
- dd {
- padding-left: 4px;
- }
- }
- }
- }
-}
-
-.unauthorized-modal {
- width: 440px !important;
-
- &__content {
- display: flex;
- width: 100%;
- height: 150px;
- justify-content: center;
- align-items: center;
- flex-direction: column;
- }
-
- .unauthorized-modal-content {
- &__text {
- display: block;
- margin-bottom: 18px;
- color: #fff;
- font-size: 14px;
- }
-
- &__button {
- width: 200px;
- }
- }
-
- &__footer {
- display: flex;
- border-top: 1px solid #666;
- padding: 10px;
- justify-content: center;
- align-items: center;
-
- > span {
- font-size: 14px;
- color: $secondary-text-color;
-
- a {
- color: $gab-brand-default !important;
- }
- }
- }
-
- @media screen and (max-width:895px) {
- height: 270px !important;
- width: 330px !important;
- }
-}
-
-.error-boundary {
- > div {
- margin: auto;
-
- span {
- display: block;
- text-align: center;
- color: $secondary-text-color;
- }
-
- a {
- display: block;
- margin: 15px auto;
- text-align: center;
- color: $gab-brand-default;
- }
- }
-}
-
-.search-header {
- display: block;
- width: 100%;
-
- &__text-container {
- display: none;
- padding: 25px 0;
- background-color: lighten($ui-base-color, 6%);
-
- @media (min-width:895px) {
- display: block;
- }
- }
-
- &__title-text {
- color: $primary-text-color;
- font-size: 27px;
- font-weight: bold;
- line-height: 32px;
- overflow: hidden;
- padding-left: 20px;
- text-overflow: ellipsis;
- white-space: nowrap;
- max-width: 1200px;
- margin: 0 auto;
- }
-
- &__type-filters-tabs {
- display: flex;
- width: 100%;
- max-width: 1200px;
- margin: 0 auto;
-
- @media screen and (max-width:895px) {
- max-width: 580px;
- }
- }
-
- @media (min-width:895px) and (max-width:1190px) {
- &__title-text,
- &__type-filters-tabs {
- max-width: 900px;
- }
- }
-}
-
-.timeline-queue-header {
- display: block;
- width: 100%;
- max-height: 46px;
- position: relative;
- background-color: darken($ui-base-color, 8%);
- border-bottom: 1px solid;
- border-top: 1px solid;
- border-color: darken($ui-base-color, 4%);
- transition: max-height 2.5s ease;
- overflow: hidden;
-
- &.hidden {
- max-height: 0px;
- }
-
- &__btn {
- display: block;
- width: 100%;
- height: 100%;
- text-align: center;
- line-height: 46px;
- font-size: 14px;
- cursor: pointer;
- color: $secondary-text-color;
-
- span {
- height: 46px;
- }
- }
-}
-
-.badge {
- font-size: 12px;
- text-transform: uppercase;
- padding: 2px 6px;
- border-radius: 2px;
- margin: 0 5px 5px 0;
-
- &--pro {
- background-color: blueviolet;
- color: #fff;
- }
-
- &--investor {
- background-color: gold;
- color: #000;
- }
-
- &--donor {
- background-color: lightgreen;
- color: #000;
- }
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/components/account-header.scss b/app/javascript/styles/gabsocial/components/account-header.scss
index 3d816b91..257e136c 100644
--- a/app/javascript/styles/gabsocial/components/account-header.scss
+++ b/app/javascript/styles/gabsocial/components/account-header.scss
@@ -1,146 +1,194 @@
.account__header {
- &.inactive {
- opacity: 0.5;
- .account__header__image,
- .account__avatar {filter: grayscale(100%);}
- }
- &__info {
- position: absolute;
- top: 10px;
- left: 10px;
- }
- &__image {
- overflow: hidden;
- height: 350px;
- position: relative;
- background: darken($ui-base-color, 4%);
- @media screen and (max-width:895px) {height: 225px;}
- &--none {height: 125px;}
- img {
- object-fit: cover;
- display: block;
- width: 100%;
- height: 100%;
- margin: 0;
- }
- }
- &__bar {
- display: block;
- min-height: 74px;
- width: 100%;
- position: relative;
- background: lighten($ui-base-color, 4%);
- @media (min-width:895px) {height: 74px;}
- }
- &__avatar {
- display: block;
- position: absolute;
- border: 5px solid lighten($ui-base-color, 4%);
- left: 0;
- top: -90px;
- border-radius: 50%;
- height: 200px;
- width: 200px;
- background-color: darken($ui-base-color, 8%);
- // NOTE - patch fix for avatar size. Wrapper may not be needed when I do polish up on the page
- .account__avatar {
- width: 200px;
- height: 200px;
- background-size: 200px 200px;
- }
- @media screen and (max-width:895px) {
- top: -45px;
- left: 10px;
- height: 90px;
- width: 90px;
- .account__avatar {
- width: 90px;
- height: 90px;
- background-size: 90px 90px;
- }
- }
+ &.inactive {
+ opacity: 0.5;
- }
- &__extra {
- display: flex;
- flex-direction: row;
- height: 100%;
- margin: 0 auto;
- padding-left: 310px;
- width: 100%;
- max-width: 1200px;
- box-sizing: border-box;
- position: relative;
- @media (min-width:895px) and (max-width:1190px) {
- max-width: 900px;
- padding-left: 300px;
- }
- @media screen and (max-width:895px) {
- max-width: 900px;
- padding: 10px 10px 0 10px;
- flex-direction: column-reverse;
- min-height: 50px;
- }
- &__buttons {
- display: flex;
- align-items: center;
- margin-left: auto;
- .icon-button {
- border: 1px solid lighten($ui-base-color, 12%);
- border-radius: 4px;
- box-sizing: content-box;
- padding: 2px;
- }
- .button {margin-right: 10px;}
- }
- &__links {
- display: flex;
- font-size: 14px;
- color: $darker-text-color;
- @media screen and (max-width:895px) {
- justify-content: center;
- flex-wrap: wrap;
- }
- a {
- display: inline-block;
- text-decoration: none;
- padding: 16px 22px;
- text-align: center;
- @media screen and (max-width:1190px) {padding: 16px;}
- > span {
- display: block;
- &:first-of-type {
- color: $primary-text-color;
- font-size: 20px;
- font-weight: 800;
- line-height: 24px;
- @media screen and (max-width:895px) {
- font-size: 16px;
- line-height: 20px;
- }
- }
- &:last-of-type {
- color: $ui-secondary-color;
- font-size: 12px;
- line-height: 14px;
- padding-top: 2px;
- }
- }
- &:hover,
- &.active {border-bottom: 2px solid $primary-text-color;}
- &.score {border-bottom:none !important;}
- }
- }
- } // end .account__header__extra
- @media screen and (max-width:895px) {
- .account-mobile-container {
- display: block;
- background: lighten($ui-base-color, 4%);
- margin-top: 10px;
- position: relative;
- padding: 10px 10px 0px;
- &--nonuser {padding: 10px 10px 15px;}
- }
- }
-} // end .account__header
\ No newline at end of file
+ .account__header__image,
+ .account__avatar {
+ filter: grayscale(100%);
+ }
+ }
+
+ &__info {
+ position: absolute;
+ top: 10px;
+ left: 10px;
+ }
+
+ &__image {
+ overflow: hidden;
+ height: 350px;
+ position: relative;
+ background: darken($ui-base-color, 4%);
+
+ &--none {
+ height: 125px;
+ }
+
+ @media screen and (max-width:895px) {
+ height: 225px;
+ }
+
+ img {
+ object-fit: cover;
+ display: block;
+ margin: 0;
+
+ @include size(100%);
+ }
+ }
+
+ &__bar {
+ display: block;
+ min-height: 74px;
+ width: 100%;
+ position: relative;
+ background: lighten($ui-base-color, 4%);
+
+ @media (min-width:895px) {
+ height: 74px;
+ }
+ }
+
+ &__avatar {
+ display: block;
+ position: absolute;
+ border: 5px solid lighten($ui-base-color, 4%);
+ left: 0;
+ top: -90px;
+ background-color: darken($ui-base-color, 8%);
+
+ @include circle(200px);
+
+ // NOTE - patch fix for avatar size. Wrapper may not be needed when I do polish up on the page
+ .account__avatar {
+ background-size: 200px 200px;
+
+ @include size(200px);
+ }
+
+ @media screen and (max-width:895px) {
+ top: -45px;
+ left: 10px;
+
+ @include size(90px);
+
+ .account__avatar {
+ background-size: 90px 90px;
+
+ @include size(90px);
+ }
+ }
+
+ }
+
+ &__extra {
+ display: flex;
+ flex-direction: row;
+ padding-left: 310px;
+ max-width: 1200px;
+ box-sizing: border-box;
+ position: relative;
+
+ @include size(100%);
+ @include margin-center;
+
+ @media (min-width:895px) and (max-width:1190px) {
+ max-width: 900px;
+ padding-left: 300px;
+ }
+
+ @media screen and (max-width:895px) {
+ max-width: 900px;
+ padding: 10px 10px 0 10px;
+ flex-direction: column-reverse;
+ min-height: 50px;
+ }
+
+ &__buttons {
+ display: flex;
+ align-items: center;
+ margin-left: auto;
+
+ .icon-button {
+ box-sizing: content-box;
+ padding: 2px;
+
+ @include border-design(lighten($ui-base-color, 12%), 1px, 4px);
+ }
+
+ .button {
+ margin-right: 10px;
+ }
+ }
+
+ &__links {
+ display: flex;
+ font-size: 14px;
+ color: $darker-text-color;
+
+ @media screen and (max-width:895px) {
+ justify-content: center;
+ flex-wrap: wrap;
+ }
+
+ a {
+ display: inline-block;
+ text-decoration: none;
+ padding: 16px 22px;
+ text-align: center;
+
+ @media screen and (max-width:1190px) {
+ padding: 16px;
+ }
+
+ >span {
+ display: block;
+
+ &:first-of-type {
+ color: $primary-text-color;
+
+ @include text-sizing(20px, 800, 24px);
+
+ @media screen and (max-width:895px) {
+ @include text-sizing(16px, 800, 20px);
+ }
+ }
+
+ &:last-of-type {
+ color: $ui-secondary-color;
+ padding-top: 2px;
+
+ @include text-sizing(12px, 400, 14px);
+ }
+ }
+
+ &:hover,
+ &.active {
+ border-bottom: 2px solid $primary-text-color;
+ }
+
+ &.score {
+ border-bottom: none !important;
+ }
+ }
+ }
+ }
+
+ // end .account__header__extra
+ @media screen and (max-width:895px) {
+ .account-mobile-container {
+ display: block;
+ background: lighten($ui-base-color, 4%);
+ margin-top: 10px;
+ position: relative;
+ padding: 10px 10px 0px;
+
+ &--nonuser {
+ padding: 10px 10px 15px;
+ }
+ }
+ }
+}
+
+// end .account__header
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/components/buttons.scss b/app/javascript/styles/gabsocial/components/buttons.scss
index 0270c1b7..d0230439 100644
--- a/app/javascript/styles/gabsocial/components/buttons.scss
+++ b/app/javascript/styles/gabsocial/components/buttons.scss
@@ -9,12 +9,11 @@ a.button {
padding: 5px 15px;
border: none;
border-radius: 4px;
- @include font-size(11);
- @include line-height(11);
- @include font-weight(bold);
text-transform: uppercase;
color: white;
background: $gab-small-cta-primary;
+
+ @include text-sizing(11px, 700, 11px);
}
}
}
diff --git a/app/javascript/styles/gabsocial/components/compose-form.scss b/app/javascript/styles/gabsocial/components/compose-form.scss
index d295a5c9..e69de29b 100644
--- a/app/javascript/styles/gabsocial/components/compose-form.scss
+++ b/app/javascript/styles/gabsocial/components/compose-form.scss
@@ -1,285 +0,0 @@
-.compose-form {
- padding: 10px;
- &__sensitive-button {
- padding: 10px;
- padding-top: 0;
- font-size: 14px;
- font-weight: 500;
- &.active {color: $highlight-text-color;}
- input[type=checkbox] {display: none;}
- .checkbox {
- display: inline-block;
- position: relative;
- border: 1px solid $ui-primary-color;
- box-sizing: border-box;
- width: 18px;
- height: 18px;
- flex: 0 0 auto;
- margin-right: 10px;
- top: -1px;
- border-radius: 4px;
- vertical-align: middle;
- &.active {
- border-color: $highlight-text-color;
- background: $highlight-text-color;
- }
- }
- }
- .compose-form__warning {
- color: $inverted-text-color;
- margin-bottom: 10px;
- background: $ui-primary-color;
- box-shadow: 0 2px 6px rgba($base-shadow-color, 0.3);
- padding: 8px 10px;
- border-radius: 4px;
- font-size: 13px;
- font-weight: 400;
- strong {
- color: $inverted-text-color;
- font-weight: 500;
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
- a {
- color: $lighter-text-color;
- font-weight: 500;
- text-decoration: underline;
- &:hover,
- &:active,
- &:focus {
- text-decoration: none;
- }
- }
- }
- .emoji-picker-dropdown {
- position: absolute;
- top: 5px;
- right: 5px;
- z-index: 1;
- }
- .compose-form__autosuggest-wrapper {
- position: relative;
- }
- .autosuggest-textarea,
- .autosuggest-input,
- .spoiler-input {
- position: relative;
- }
- .spoiler-input {
- height: 0;
- transform-origin: bottom;
- opacity: 0.0;
- &.spoiler-input--visible {
- height: 36px;
- margin-bottom: 11px;
- opacity: 1.0;
- }
- }
- .autosuggest-textarea__textarea,
- .spoiler-input__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;
- &:focus {outline: 0;}
- @media screen and (max-width: 600px) {font-size: 16px;}
- }
- .spoiler-input__input {border-radius: 4px;}
- .autosuggest-textarea__textarea {
- min-height: 100px;
- border-radius: 5px 5px 0 0;
- padding-bottom: 0;
- padding-right: 10px + 22px;
- resize: none;
- scrollbar-color: initial;
- &::-webkit-scrollbar {all: unset;}
- @media screen and (max-width: 600px) {
- max-height: 100px !important; // prevent auto-resize textarea
- resize: vertical;
- }
- }
- &.condensed {
- .autosuggest-textarea__textarea {
- min-height: 46px;
- border-radius: 5px;
- }
- }
- .emoji-picker-wrapper,
- .autosuggest-textarea__suggestions-wrapper {
- position: relative;
- height: 0;
- }
- .autosuggest-textarea__suggestions {
- box-sizing: border-box;
- display: none;
- position: absolute;
- top: 100%;
- width: 100%;
- z-index: 99;
- box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
- background: $ui-secondary-color;
- border-radius: 0 0 4px 4px;
- color: $inverted-text-color;
- font-size: 14px;
- padding: 6px;
- &.autosuggest-textarea__suggestions--visible {display: block;}
- }
- .autosuggest-textarea__suggestions__item {
- padding: 10px;
- cursor: pointer;
- border-radius: 4px;
- &:hover,
- &:focus,
- &:active,
- &.selected {background: darken($ui-secondary-color, 10%);}
- }
- .autosuggest-account,
- .autosuggest-emoji {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: flex-start;
- line-height: 18px;
- font-size: 14px;
- }
- .autosuggest-account-icon,
- .autosuggest-emoji img {
- display: block;
- margin-right: 8px;
- width: 16px;
- height: 16px;
- }
- .autosuggest-account .display-name__account {color: $lighter-text-color;}
- .compose-form__modifiers {
- color: $inverted-text-color;
- font-family: inherit;
- font-size: 14px;
- background: $simple-background-color;
- .compose-form__upload-wrapper {overflow: hidden;}
- .compose-form__uploads-wrapper {
- display: flex;
- flex-direction: row;
- padding: 5px;
- flex-wrap: wrap;
- }
- .compose-form__upload {
- flex: 1 1 0;
- min-width: 40%;
- margin: 5px;
- &__actions {
- background: linear-gradient(180deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
- display: flex;
- align-items: flex-start;
- justify-content: space-between;
- opacity: 0;
- transition: opacity .1s ease;
- .icon-button {
- flex: 0 1 auto;
- color: $gab-secondary-text;
- font-size: 14px;
- font-weight: 500;
- padding: 10px;
- font-family: inherit;
- &:hover,
- &:focus,
- &:active {color: $gab-text-highlight;}
- }
- &.active {opacity: 1;}
- }
- &-description {
- position: absolute;
- z-index: 2;
- bottom: 0;
- left: 0;
- right: 0;
- box-sizing: border-box;
- background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
- padding: 10px;
- opacity: 0;
- transition: opacity .1s ease;
- textarea {
- background: rgba(0,0,0,0.3);
- box-sizing: border-box;
- background: transparent;
- color: $gab-secondary-text;
- border: 1px solid $gab-secondary-text;
- outline: none;
- padding: 10px;
- margin: 0;
- width: 100%;
- font-family: inherit;
- font-size: 14px;
- font-weight: 500;
- &:focus {color: #fff;}
- &::placeholder {
- color: $gab-secondary-text;
- }
- }
- &.active {opacity: 1;}
- }
- }
- .compose-form__upload-thumbnail {
- border-radius: 4px;
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
- height: 140px;
- width: 100%;
- overflow: hidden;
- }
- } // end .compose-form .compose-form__modifiers
- .compose-form__buttons-wrapper {
- padding: 10px;
- background: darken($simple-background-color, 8%);
- border-radius: 0 0 4px 4px;
- display: flex;
- justify-content: space-between;
- flex: 0 0 auto;
- .compose-form__buttons {
- display: flex;
- .compose-form__upload-button-icon {line-height: 27px;}
- .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;
- }
- .character-counter__wrapper {
- align-self: center;
- margin-right: 4px;
- .character-counter {
- cursor: default;
- font-family: $font-sans-serif, sans-serif;
- font-size: 14px;
- font-weight: 600;
- color: $gab-secondary-text;
- &.character-counter--over {color: $warning-red;}
- }
- }
- }
- .compose-form__publish {
- display: flex;
- justify-content: flex-end;
- min-width: 0;
- flex: 0 0 auto;
- .compose-form__publish-button-wrapper {
- overflow: hidden;
- padding-top: 10px;
- }
- }
-} // end .compose-form
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/components/dropdown-menu.scss b/app/javascript/styles/gabsocial/components/dropdown-menu.scss
index 193cb2f1..e69de29b 100644
--- a/app/javascript/styles/gabsocial/components/dropdown-menu.scss
+++ b/app/javascript/styles/gabsocial/components/dropdown-menu.scss
@@ -1,150 +0,0 @@
-.dropdown-menu {
- z-index: 9999;
- position: absolute;
- background: $gab-background-container;
- border-radius: 4px;
- border: 1px solid $gab-placeholder-accent;
- padding: 4px 0;
- @include font-size(13);
- @include line-height(26);
- @include font-weight(normal);
- color: $gab-secondary-text;
- box-shadow: 0 0 6px 0 rgba(0,0,0,0.5);
- &.left {transform-origin: 100% 50%;}
- &.top {transform-origin: 50% 100%;}
- &.bottom {transform-origin: 50% 0;}
- &.right {transform-origin: 0 50%;}
- &__arrow {
- position: absolute;
- width: 0;
- height: 0;
- border: 0 solid transparent;
- &.left {
- right: -5px;
- margin-top: -5px;
- border-width: 5px 0 5px 5px;
- border-left-color: $gab-placeholder-accent;
- }
- &.top {
- bottom: -5px;
- margin-left: -5px;
- border-width: 5px 5px 0;
- border-top-color: $gab-placeholder-accent;
- }
- &.bottom {
- top: -5px;
- margin-left: -5px;
- border-width: 0 5px 5px;
- border-bottom-color: $gab-placeholder-accent;
- }
- &.right {
- left: -5px;
- margin-top: -5px;
- border-width: 5px 5px 5px 0;
- border-right-color: $gab-placeholder-accent;
- }
- }
- ul {
- overflow: hidden;
- padding: 6px 0;
- }
- &__item a {
- display: block;
- box-sizing: border-box;
- overflow: hidden;
- padding: 3px 10px 1px;
- text-decoration: none;
- text-overflow: ellipsis;
- white-space: nowrap;
- text-transform: capitalize;
- color: $gab-secondary-text;
- &:focus,
- &:hover,
- &:active {
- outline: 0;
- color: $gab-text-highlight;
- background: $gab-background-base !important;
- box-shadow: 0 0 6px 0 rgba(0,0,0,0.5);
- }
- }
- &__separator {
- display: block;
- margin: 10px !important;
- height: 1px;
- background: $gab-background-base;
- }
-}
-// end .dropdown-menu
-
-
-
-
-// NOTE - not sure what this relates to — but it doesn't involve the navbar dropdown
-
-
-.dropdown {
- display: inline-block;
-}
-
-.dropdown__content {
- display: none;
- position: absolute;
-}
-
-
-.dropdown--active .dropdown__content {
- display: block;
- line-height: 18px;
- max-width: 311px;
- right: 0;
- text-align: left;
- z-index: 9999;
-
- & > ul {
- list-style: none;
- background: $ui-secondary-color;
- padding: 4px 0;
- border-radius: 4px;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.4);
- min-width: 140px;
- position: relative;
- }
-
- &.dropdown__right {
- right: 0;
- }
-
- &.dropdown__left {
- & > ul {
- left: -98px;
- }
- }
-
- & > ul > li > a {
- font-size: 13px;
- line-height: 18px;
- display: block;
- padding: 4px 14px;
- box-sizing: border-box;
- text-decoration: none;
- background: $ui-secondary-color;
- color: $inverted-text-color;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-
- &:focus {
- outline: 0;
- }
-
- &:hover {
- background: $ui-highlight-color;
- color: $secondary-text-color;
- }
- }
-}
-
-.dropdown__icon {
- vertical-align: middle;
-}
-
diff --git a/app/javascript/styles/gabsocial/components/group-card.scss b/app/javascript/styles/gabsocial/components/group-card.scss
index 345915e2..a4d4e33f 100644
--- a/app/javascript/styles/gabsocial/components/group-card.scss
+++ b/app/javascript/styles/gabsocial/components/group-card.scss
@@ -3,8 +3,8 @@
@include gab-container-standards();
.group-column-header__title {
padding: 15px;
- font-size: 20px;
- font-weight: bold;
+
+ @include text-sizing(20px, 700);
}
.group-column-header__cta {
float: right;
@@ -15,12 +15,10 @@
}
.group-card-list {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: space-between;
width: 100%;
margin-top: 20px;
+
+ @include flex(space-between, stretch, row, wrap);
}
.group-card {
@@ -49,15 +47,15 @@
.group-card__title {
color: $primary-text-color;
- font-size: 16px;
- font-weight: bold;
+
+ @include text-sizing(16px, bold);
}
.group-card__meta {
color: $gab-secondary-text;
font-size: 14px;
- margin-top: 5px;
- margin-bottom: 10px;
+
+ @include vertical-margin(5px, 10px);
}
.group-card__description {
diff --git a/app/javascript/styles/gabsocial/components/group-detail.scss b/app/javascript/styles/gabsocial/components/group-detail.scss
index 5641add3..ffc6fbea 100644
--- a/app/javascript/styles/gabsocial/components/group-detail.scss
+++ b/app/javascript/styles/gabsocial/components/group-detail.scss
@@ -59,9 +59,9 @@
padding: 10px 10px 20px 10px;
h1 {
- font-size: 22px;
- font-weight: bold;
margin-bottom: 10px;
+
+ @include text-sizing(22px, 700);
}
.group__panel__description {
@@ -72,22 +72,23 @@
display: inline-block;
margin-bottom: 10px;
border-radius: 4px;
+ font-size: 13px;
+ padding: 4px 8px;
background: $gab-background-container;
body.theme-gabsocial-light & {
background: $gab-background-container-light;
}
- font-size: 13px;
- padding: 4px 8px;
}
}
.group__feed {
background: $gab-background-container;
- body.theme-gabsocial-light & {
- background: $gab-background-container-light;
- }
border-top-left-radius: 10px;
border-top-right-radius: 10px;
overflow: hidden;
+
+ body.theme-gabsocial-light & {
+ background: $gab-background-container-light;
+ }
}
}
diff --git a/app/javascript/styles/gabsocial/components/group-form.scss b/app/javascript/styles/gabsocial/components/group-form.scss
index 2df5b121..cd3c9893 100644
--- a/app/javascript/styles/gabsocial/components/group-form.scss
+++ b/app/javascript/styles/gabsocial/components/group-form.scss
@@ -23,14 +23,13 @@
display: block;
box-sizing: border-box;
float: left;
- height: 20px;
+ height: 20px;
padding: 3px 0 0 33px;
- @include font-size(12);
- @include font-weight(light);
color: $gab-secondary-text;
- background-repeat: no-repeat;
- background-image: url('../images/sprite-post-functions.png');
- background-size: 100px 1200px;
+
+ @include text-sizing(12px, 400);
+ @include background-image('/assets/images/sprite-post-functions.png', 100px 1200px);
+
&:hover {
color: $gab-brand-default;
background-position: 0 -100px;
@@ -41,12 +40,12 @@
}
}
.group-form__file {
- width: 1px;
- height: 1px;
overflow: hidden;
opacity: 0;
position: absolute;
pointer-events: none;
+
+ @include size(1px);
}
button {float: right;}
}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/components/inputs.scss b/app/javascript/styles/gabsocial/components/inputs.scss
index 9a9d7509..a54eea4d 100644
--- a/app/javascript/styles/gabsocial/components/inputs.scss
+++ b/app/javascript/styles/gabsocial/components/inputs.scss
@@ -1,23 +1,35 @@
input[type='text'],
textarea {
- &.standard {
- box-sizing: border-box;
- padding: 7px 10px;
- border: 1px solid;
- border-radius: 4px;
- @include font-size(16);
- @include line-height(18);
- color: $gab-brand-default;
- border-color: $gab-placeholder-accent;
- background: $gab-background-container;
- @include input-placeholder($gab-placeholder-accent);
- body.theme-gabsocial-light & {
- color: $gab-placeholder-accent;
- border-color: $gab-secondary-text;
- background: $gab-background-base-light;
- @include input-placeholder($gab-secondary-text);
- }
- &:focus {outline: none;}
- }
+ &.standard {
+ box-sizing: border-box;
+ padding: 7px 10px;
+ border: 1px solid;
+ border-radius: 4px;
+ color: $gab-brand-default;
+ border-color: $gab-placeholder-accent;
+ background: $gab-background-container;
+
+ @include text-sizing(16px, 400, 18);
+ @include input-placeholder {
+ color: $gab-placeholder-accent;
+ }
+
+ body.theme-gabsocial-light & {
+ color: $gab-placeholder-accent;
+ border-color: $gab-secondary-text;
+ background: $gab-background-base-light;
+
+ @include input-placeholder {
+ color: $gab-secondary-text;
+ }
+ }
+
+ &:focus {
+ outline: none;
+ }
+ }
}
-textarea.standard {resize: vertical;}
\ No newline at end of file
+
+textarea.standard {
+ resize: vertical;
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/components/modal.scss b/app/javascript/styles/gabsocial/components/modal.scss
index 3cfb7854..6d4933d0 100644
--- a/app/javascript/styles/gabsocial/components/modal.scss
+++ b/app/javascript/styles/gabsocial/components/modal.scss
@@ -1,303 +1,113 @@
-.modal-root {
- position: relative;
- transition: opacity 0.3s linear;
- will-change: opacity;
- z-index: 9999;
-}
-
-.modal-root__overlay {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: rgba($base-overlay-background, 0.7);
-}
-
-.modal-root__container {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- align-content: space-around;
- z-index: 9999;
- pointer-events: none;
- user-select: none;
-}
-
-.modal-root__modal {
- pointer-events: auto;
- display: flex;
- z-index: 9999;
- max-height: 100%;
- overflow-y: hidden;
-}
-
-.video-modal {
- max-width: 100vw;
- max-height: 100vh;
- position: relative;
-}
-
-.media-modal {
- width: 100%;
- height: 100%;
- position: relative;
-
- .extended-video-player {
- width: 100%;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
-
- video {
- max-width: $media-modal-media-max-width;
- max-height: $media-modal-media-max-height;
- }
- }
-}
-
-.media-modal__closer {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
-}
-
-.media-modal__navigation {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- pointer-events: none;
- transition: opacity 0.3s linear;
- will-change: opacity;
-
- * {
- pointer-events: auto;
- }
-
- &.media-modal__navigation--hidden {
- opacity: 0;
-
- * {
- pointer-events: none;
- }
- }
-}
-
-.media-modal__nav {
- background: rgba($base-overlay-background, 0.5);
- box-sizing: border-box;
- border: 0;
- color: $primary-text-color;
- cursor: pointer;
- display: flex;
- align-items: center;
- font-size: 24px;
- height: 20vmax;
- margin: auto 0;
- padding: 30px 15px;
- position: absolute;
- top: 0;
- bottom: 0;
-}
-
-.media-modal__nav--left {
- left: 0;
-}
-
-.media-modal__nav--right {
- right: 0;
-}
-
-.media-modal__pagination {
- width: 100%;
- text-align: center;
- position: absolute;
- left: 0;
- bottom: 20px;
- pointer-events: none;
-}
-
-.media-modal__meta {
- text-align: center;
- position: absolute;
- left: 0;
- bottom: 20px;
- width: 100%;
- pointer-events: none;
-
- &--shifted {
- bottom: 62px;
- }
-
- a {
- text-decoration: none;
- font-weight: 500;
- color: $ui-secondary-color;
-
- &:hover,
- &:focus,
- &:active {
- text-decoration: underline;
- }
- }
-}
-
-.media-modal__page-dot {
- display: inline-block;
-}
-
-.media-modal__button {
- background-color: $primary-text-color;
- height: 12px;
- width: 12px;
- border-radius: 6px;
- margin: 10px;
- padding: 0;
- border: 0;
- font-size: 0;
-}
-
-.media-modal__button--active {
- background-color: $highlight-text-color;
-}
-
-.media-modal__close {
- position: absolute;
- right: 8px;
- top: 8px;
- z-index: 100;
-}
-
.onboarding-modal,
.error-modal,
.embed-modal {
- background: $ui-secondary-color;
- color: $inverted-text-color;
- border-radius: 8px;
- overflow: hidden;
- display: flex;
- flex-direction: column;
+ background: $ui-secondary-color;
+ color: $inverted-text-color;
+ border-radius: 8px;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
}
.error-modal__body {
- height: 80vh;
- width: 80vw;
- max-width: 520px;
- max-height: 420px;
- position: relative;
+ position: relative;
- & > div {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- box-sizing: border-box;
- padding: 25px;
- display: none;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- display: flex;
- opacity: 0;
- user-select: text;
- }
+ @include size(80vw, 80vh);
+ @include max-size(520px, 420px);
+
+ &>div {
+ box-sizing: border-box;
+ padding: 25px;
+ display: none;
+ opacity: 0;
+ user-select: text;
+
+ @include size(100%);
+ @include abs-position(0, auto, auto, 0);
+ @include flex(center, center, column);
+ }
}
.error-modal__body {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- text-align: center;
+ text-align: center;
+
+ @include flex(center, center, column);
}
.onboarding-modal__paginator,
.error-modal__footer {
- flex: 0 0 auto;
- background: darken($ui-secondary-color, 8%);
- display: flex;
- padding: 25px;
+ flex: 0 0 auto;
+ background: darken($ui-secondary-color, 8%);
+ display: flex;
+ padding: 25px;
- & > div {
- min-width: 33px;
- }
+ &>div {
+ min-width: 33px;
+ }
- .onboarding-modal__nav,
- .error-modal__nav {
- color: $lighter-text-color;
- border: 0;
- font-size: 14px;
- font-weight: 500;
- padding: 10px 25px;
- line-height: inherit;
- height: auto;
- margin: -10px;
- border-radius: 4px;
- background-color: transparent;
+ .onboarding-modal__nav,
+ .error-modal__nav {
+ color: $lighter-text-color;
+ border: 0;
+ padding: 10px 25px;
+ height: auto;
+ margin: -10px;
+ border-radius: 4px;
+ background-color: transparent;
- &:hover,
- &:focus,
- &:active {
- color: darken($lighter-text-color, 4%);
- background-color: darken($ui-secondary-color, 16%);
- }
+ @include text-sizing(14px, 500, inherit);
- &.onboarding-modal__done,
- &.onboarding-modal__next {
- color: $inverted-text-color;
+ &:hover,
+ &:focus,
+ &:active {
+ color: darken($lighter-text-color, 4%);
+ background-color: darken($ui-secondary-color, 16%);
+ }
- &:hover,
- &:focus,
- &:active {
- color: lighten($inverted-text-color, 4%);
- }
- }
- }
+ &.onboarding-modal__done,
+ &.onboarding-modal__next {
+ color: $inverted-text-color;
+
+ &:hover,
+ &:focus,
+ &:active {
+ color: lighten($inverted-text-color, 4%);
+ }
+ }
+ }
}
.error-modal__footer {
- justify-content: center;
+ justify-content: center;
}
.display-case {
- text-align: center;
- font-size: 15px;
- margin-bottom: 15px;
+ text-align: center;
+ font-size: 15px;
+ margin-bottom: 15px;
- &__label {
- font-weight: 500;
- color: $inverted-text-color;
- margin-bottom: 5px;
- text-transform: uppercase;
- font-size: 12px;
- }
+ &__label {
+ color: $inverted-text-color;
+ margin-bottom: 5px;
+ text-transform: uppercase;
- &__case {
- background: $ui-base-color;
- color: $secondary-text-color;
- font-weight: 500;
- padding: 10px;
- border-radius: 4px;
- }
+ @include text-sizing(12px, 500);
+ }
+
+ &__case {
+ background: $ui-base-color;
+ color: $secondary-text-color;
+ font-weight: 500;
+ padding: 10px;
+ border-radius: 4px;
+ }
}
.onboard-sliders {
- display: inline-block;
- max-width: 30px;
- max-height: auto;
- margin-left: 10px;
+ display: inline-block;
+ margin-left: 10px;
+
+ @include max-size(30px, auto);
}
.boost-modal,
@@ -305,291 +115,325 @@
.report-modal,
.actions-modal,
.mute-modal {
- position: relative;
- flex-direction: column;
- overflow: hidden;
- width: 480px;
- max-width: 90vw;
- border-radius: 4px;
- border: 1px solid $gab-placeholder-accent;
- color: $gab-secondary-text;
- body.theme-gabsocial-light & {color: $gab-default-text-light;}
- background: $gab-background-container;
- .status__display-name {
- display: block;
- max-width: 100%;
- padding-right: 25px;
- }
- .status__avatar {
- height: 28px;
- left: 10px;
- position: absolute;
- top: 10px;
- width: 48px;
- }
- .status__content__spoiler-link {
- color: lighten($secondary-text-color, 8%);
- }
+ position: relative;
+ flex-direction: column;
+ overflow: hidden;
+ width: 480px;
+ max-width: 90vw;
+ color: $gab-secondary-text;
+
+ @include border-design($gab-placeholder-accent, 1px, 4px);
+
+ body.theme-gabsocial-light & {
+ color: $gab-default-text-light;
+ }
+
+ background: $gab-background-container;
+
+ .status__display-name {
+ display: block;
+ max-width: 100%;
+ padding-right: 25px;
+ }
+
+ .status__avatar {
+ height: 28px;
+ left: 10px;
+ position: absolute;
+ top: 10px;
+ width: 48px;
+ }
+
+ .status__content__spoiler-link {
+ color: lighten($secondary-text-color, 8%);
+ }
}
.actions-modal {
- .status {
- background: $white;
- border-bottom-color: $ui-secondary-color;
- padding-top: 10px;
- padding-bottom: 10px;
- }
+ .status {
+ background: $white;
+ border-bottom-color: $ui-secondary-color;
- .dropdown-menu__separator {
- display: block;
- margin: 10px;
- height: 1px;
- background: $gab-background-base;
- }
+ @include vertical-padding(10px);
+ }
+
+ .dropdown-menu__separator {
+ display: block;
+ margin: 10px;
+ height: 1px;
+ background: $gab-background-base;
+ }
}
.boost-modal__container {
- overflow-x: scroll;
- padding: 10px;
+ overflow-x: scroll;
+ padding: 10px;
- .status {
- user-select: text;
- border-bottom: 0;
- }
+ .status {
+ user-select: text;
+ border-bottom: 0;
+ }
}
.boost-modal__action-bar,
.confirmation-modal__action-bar,
.mute-modal__action-bar {
- display: flex;
- justify-content: space-between;
- background: $ui-secondary-color;
- padding: 10px;
- line-height: 36px;
+ background: $ui-secondary-color;
+ padding: 10px;
+ line-height: 36px;
- & > div {
- flex: 1 1 auto;
- text-align: right;
- color: $lighter-text-color;
- padding-right: 10px;
- }
+ @include flex(space-between);
- .button {
- flex: 0 0 auto;
- }
+ &>div {
+ flex: 1 1 auto;
+ text-align: right;
+ color: $lighter-text-color;
+ padding-right: 10px;
+ }
+
+ .button {
+ flex: 0 0 auto;
+ }
}
.boost-modal__status-header {
- font-size: 15px;
+ font-size: 15px;
}
.boost-modal__status-time {
- float: right;
- font-size: 14px;
+ float: right;
+ font-size: 14px;
}
.mute-modal {
- line-height: 24px;
+ line-height: 24px;
}
.mute-modal .react-toggle {
- vertical-align: middle;
+ vertical-align: middle;
}
.report-modal {
- width: 90vw;
- max-width: 700px;
+ width: 90vw;
+ max-width: 700px;
}
.report-modal__container {
- display: flex;
- border-top: 1px solid $ui-secondary-color;
+ display: flex;
+ border-top: 1px solid $ui-secondary-color;
- @media screen and (max-width: 480px) {
- flex-wrap: wrap;
- overflow-y: auto;
- }
+ @media screen and (max-width: 480px) {
+ flex-wrap: wrap;
+ overflow-y: auto;
+ }
}
.report-modal__statuses,
.report-modal__comment {
- box-sizing: border-box;
- width: 50%;
+ box-sizing: border-box;
+ width: 50%;
- @media screen and (max-width: 480px) {
- width: 100%;
- }
+ @media screen and (max-width: 480px) {
+ width: 100%;
+ }
}
.report-modal__statuses {
- flex: 1 1 auto;
- min-height: 20vh;
- max-height: 80vh;
- overflow-y: auto;
- overflow-x: hidden;
+ flex: 1 1 auto;
+ min-height: 20vh;
+ max-height: 80vh;
+ overflow-y: auto;
+ overflow-x: hidden;
- .status__content a {
- color: $highlight-text-color;
- }
+ .status__content a {
+ color: $highlight-text-color;
+ }
- .status__content,
- .status__content p {
- color: $gab-secondary-text;
- body.theme-gabsocial-light & {color: $gab-default-text-light;}
- }
+ .status__content,
+ .status__content p {
+ color: $gab-secondary-text;
- @media screen and (max-width: 480px) {
- max-height: 10vh;
- }
+ body.theme-gabsocial-light & {
+ color: $gab-default-text-light;
+ }
+ }
+
+ @media screen and (max-width: 480px) {
+ max-height: 10vh;
+ }
}
.report-modal__comment {
- padding: 20px;
- border-right: 1px solid $ui-secondary-color;
- max-width: 320px;
+ padding: 20px;
+ border-right: 1px solid $ui-secondary-color;
+ max-width: 320px;
- p {
- font-size: 14px;
- line-height: 20px;
- margin-bottom: 20px;
- }
+ p {
+ font-size: 14px;
+ line-height: 20px;
+ margin-bottom: 20px;
+ }
- .setting-text {
- display: block;
- box-sizing: border-box;
- width: 100%;
- margin: 0;
- color: $inverted-text-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;
+ .setting-text {
+ display: block;
+ box-sizing: border-box;
+ width: 100%;
+ margin: 0;
+ color: $inverted-text-color;
+ background: $white;
+ padding: 10px;
+ font-family: inherit;
+ font-size: 14px;
+ resize: vertical;
+ border: 0;
+ outline: 0;
+ margin-bottom: 20px;
- &:focus {
- border: 1px solid darken($ui-secondary-color, 8%);
- }
- }
+ @include border-design($ui-secondary-color, 1px, 4px);
- .setting-toggle {
- margin-top: 20px;
- margin-bottom: 24px;
+ &:focus {
+ border: 1px solid darken($ui-secondary-color, 8%);
+ }
+ }
- &__label {
- color: $inverted-text-color;
- font-size: 14px;
- }
- }
+ .setting-toggle {
+ @include vertical-margin(20px, 24px);
- @media screen and (max-width: 480px) {
- padding: 10px;
- max-width: 100%;
- order: 2;
+ &__label {
+ color: $inverted-text-color;
+ font-size: 14px;
+ }
+ }
- .setting-toggle {
- margin-bottom: 4px;
- }
- }
+ @media screen and (max-width: 480px) {
+ padding: 10px;
+ max-width: 100%;
+ order: 2;
+
+ .setting-toggle {
+ margin-bottom: 4px;
+ }
+ }
}
.actions-modal {
- .status {
- overflow-y: auto;
- max-height: 300px;
- }
- width: calc(100% - 72px);
- margin: 35px;
- .actions-modal__item-label {font-weight: 500;}
- ul {
- overflow-y: auto;
- flex-shrink: 0;
- max-height: calc(100vh - 147px);
+ .status {
+ overflow-y: auto;
+ max-height: 300px;
+ }
- // NOTE - not sure what this is yet, leaving alone for now until I find out.
- &.with-status {max-height: calc(80vh - 75px);}
+ width: calc(100% - 72px);
+ margin: 35px;
- li:empty {margin: 0;}
- li:not(:empty) {
- &:first-of-type{margin: 10px 0 0;}
- &:last-of-type{margin: 0 0 10px;}
- a {
- display: flex;
- align-items: center;
- padding: 13px 10px 12px;
- @inclide font-size(14);
- color: $gab-secondary-text;
- text-decoration: none;
- &,
- button {transition: none;}
- &.active,
- &:hover,
- &:active,
- &:focus {
- &,
- button {
- background: $gab-background-base;
- color: $gab-text-highlight;
- box-shadow: 0 0 6px 0 rgba(0,0,0,0.5);
- }
- }
- button:first-child {margin-right: 10px;}
- }
- }
- }
+ .actions-modal__item-label {
+ font-weight: 500;
+ }
+
+ ul {
+ overflow-y: auto;
+ flex-shrink: 0;
+ max-height: calc(100vh - 147px);
+
+ // NOTE - not sure what this is yet, leaving alone for now until I find out.
+ &.with-status {
+ max-height: calc(80vh - 75px);
+ }
+
+ li:empty {
+ margin: 0;
+ }
+
+ li:not(:empty) {
+ &:first-of-type {
+ margin: 10px 0 0;
+ }
+
+ &:last-of-type {
+ margin: 0 0 10px;
+ }
+
+ a {
+ display: flex;
+ align-items: center;
+ padding: 13px 10px 12px;
+ font-size: 14px;
+ color: $gab-secondary-text;
+ text-decoration: none;
+
+ &,
+ button {
+ transition: none;
+ }
+
+ &.active,
+ &:hover,
+ &:active,
+ &:focus {
+
+ &,
+ button {
+ background: $gab-background-base;
+ color: $gab-text-highlight;
+ box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.5);
+ }
+ }
+
+ button:first-child {
+ margin-right: 10px;
+ }
+ }
+ }
+ }
}
.confirmation-modal__action-bar,
.mute-modal__action-bar {
- .confirmation-modal__secondary-button,
- .confirmation-modal__cancel-button,
- .mute-modal__cancel-button {
- background-color: transparent;
- color: $lighter-text-color;
- font-size: 14px;
- font-weight: 500;
- &:hover,
- &:focus,
- &:active {
- color: darken($lighter-text-color, 4%);
- }
- }
+ .confirmation-modal__secondary-button,
+ .confirmation-modal__cancel-button,
+ .mute-modal__cancel-button {
+ background-color: transparent;
+ color: $lighter-text-color;
- .confirmation-modal__secondary-button {
- flex-shrink: 1;
- }
+ @include text-sizing(14px, 500);
+
+ &:hover,
+ &:focus,
+ &:active {
+ color: darken($lighter-text-color, 4%);
+ }
+ }
+
+ .confirmation-modal__secondary-button {
+ flex-shrink: 1;
+ }
}
.confirmation-modal__container,
.mute-modal__container,
.report-modal__target {
- padding: 30px;
- font-size: 16px;
- text-align: center;
+ padding: 30px;
+ font-size: 16px;
+ text-align: center;
- strong {
- font-weight: 500;
+ strong {
+ font-weight: 500;
- @each $lang in $cjk-langs {
- &:lang(#{$lang}) {
- font-weight: 700;
- }
- }
- }
+ @each $lang in $cjk-langs {
+ &:lang(#{$lang}) {
+ font-weight: 700;
+ }
+ }
+ }
}
.report-modal__target {
- padding: 20px;
+ padding: 20px;
- .media-modal__close {
- top: 19px;
- right: 15px;
- }
+ .media-modal__close {
+ top: 19px;
+ right: 15px;
+ }
}
.modal-layout {
@@ -600,8 +444,8 @@
padding: 0;
}
-@media screen and (max-width: 600px) {
+@include breakpoint(sm) {
.account-header {
margin-top: 0;
}
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/components/tabs-bar.scss b/app/javascript/styles/gabsocial/components/tabs-bar.scss
index 8203b2fb..e69de29b 100644
--- a/app/javascript/styles/gabsocial/components/tabs-bar.scss
+++ b/app/javascript/styles/gabsocial/components/tabs-bar.scss
@@ -1,209 +0,0 @@
-.tabs-bar {
- display: flex;
- box-sizing: border-box;
- background: #000;
- flex: 0 0 auto;
- overflow-y: auto;
- height: 50px;
- position: sticky;
- top: 0;
- z-index: 1000;
-
- &__container {
- display: flex;
- box-sizing: border-box;
- width:100%;
- max-width: 1200px;
- margin: 0 auto;
- padding: 0 15px;
-
- // NOTE - might need to adjust this based on column sizing
- @media screen and (max-width: $nav-breakpoint-4) {padding: 0 20px;}
-
- }
-
- &__split {
- display: flex;
- width: auto;
-
- &--left {
- margin-right: auto;
- }
-
- &--right {
- margin-left: auto;
- padding-top: 8px;
- @media screen and (max-width: $nav-breakpoint-3) {padding-top: 4px;}
- }
- }
-
- &__search-container {
- display: block;
- @media screen and (max-width: $nav-breakpoint-2) {display: none;}
- width: 251px;
- .search {
- margin: 0;
- }
- }
-
- &__profile {
- position: relative;
- overflow: hidden;
- margin: 0 0 0 20px;
- height: 34px;
- width: 34px;
-
- @media screen and (max-width: $nav-breakpoint-3) {
- height: 42px;
- width: 42px;
- margin: 0;
- }
-
- .account__avatar {
- width: 34px;
- height: 34px;
- background-size: 34px 34px;
-
- @media screen and (max-width: $nav-breakpoint-3) {
- width: 42px;
- height: 42px;
- background-size: 42px 42px;
- }
-
-
- }
-
- .compose__action-bar {
- display: block;
- position: absolute;
- top: 0;
- right: 0;
- left: -5px;
- bottom: 0;
-
- i {
- display: none;
- }
- }
- }
- &__button-compose {
- display: block;
- @media screen and (max-width: $nav-breakpoint-3) {display: none;}
- width: 70px;
- height: 34px;
- margin-left: 20px;
- border-radius: 4px;
- background-image: url('../images/sprite-main-navigation.png');
- background-color: $gab-brand-default !important;
- background-repeat: no-repeat;
- background-size: 161px 152px;
- background-position: 18px 2px;
- &:hover {
- background-color: lighten($gab-brand-default, 5%) !important;
- background-position: 18px -98px;
- box-shadow: inset 0px 0px 6px darken($gab-brand-default, 10%);
- }
- span {display: none;}
- }
-
- &__button {
- margin-left: 12px;
- height: 34px;
- }
-
- .flex {
- display: flex;
- }
-}
-
-.tabs-bar__link {
- display: flex;
- flex: 1 1 auto;
- margin: 0 25px 0 0;
- color: white;
- text-decoration: none;
- text-align: center;
- background-repeat: no-repeat;
- background-image: url('../images/sprite-main-navigation-links.png');
- background-size: auto 84px;
- @media screen and (max-width: $nav-breakpoint-1) {
- background-size: auto 120px;
- width: 46px;
- height: 42px;
- margin: 4px 0 0 0;
- padding: 0 !important;
- &.active {
- height: 38px;
- border-bottom: 4px solid $gab-default-text-light;
- }
- & > span {display: none;}
- }
-
- // REMINDER - to add the remaining icons (globe / word balloon) from the sprite into this css as necessary
- &.home {
- padding: 16px 0 0 26px;
- background-position: 0 18px;
- &.active {background-position: 0 -52px;}
- @media screen and (max-width: $nav-breakpoint-1) {
- background-position: 11px 11px;
- &.active {background-position: 11px -89px;}
- }
- }
- &.notifications {
- padding: 16px 0 0 22px;
- background-position: -140px 18px;
- &.active {background-position: -140px -52px;}
- @media screen and (max-width: $nav-breakpoint-1) {
- background-position: -186px 11px;
- &.active {background-position: -186px -89px;}
- }
- }
- &.groups {
- padding: 16px 0 0 29px;
- background-position: -280px 18px;
- &.active {background-position: -280px -52px;}
- @media screen and (max-width: $nav-breakpoint-1) {
- background-position: -391px 11px;
- &.active {background-position: -391px -89px;}
- }
- }
- &.optional {
- display: none;
- @media screen and (max-width: $nav-breakpoint-2) {
- display: flex;
- background-position: -987px 11px;
- &.active {background-position: -987px -89px;}
- }
- }
-
- &.active {color: $gab-text-highlight;}
- &--logo {
- display: block;
-
- // NOTE - Revisit right-margin of home button / positioning between 376px and 350px
- // - want to keep the icons centered between logo and profile image while shrinking
- @media screen and (max-width: $nav-breakpoint-4) {display:none;}
-
- width: 50px;
- height: 50px;
- margin-right: 35px;
- border: none;
- background-image: url('../images/gab_logo.svg');
- background-repeat: no-repeat;
- background-position: 0 10px;
- background-size: 50px 30px;
- & span {display: none !important;}
- &:hover {
- background-color: #000 !important;
- border: none !important;
- }
- }
- &--no-highlight,
- &--no-highlight:hover,
- &--no-highlight.active,
- &--no-highlight:active,
- &--no-highlight:focus {
- background: transparent !important;
- border-bottom-color: transparent !important;
- }
-}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/components/user-panel.scss b/app/javascript/styles/gabsocial/components/user-panel.scss
index 158eb4ea..e69de29b 100644
--- a/app/javascript/styles/gabsocial/components/user-panel.scss
+++ b/app/javascript/styles/gabsocial/components/user-panel.scss
@@ -1,117 +0,0 @@
-.user-panel {
- display: flex;
- width: 265px;
- flex-direction: column;
- overflow-y: hidden;
- @include gab-container-standards();
- &__header {
- display: block;
- height: 112px;
- width: 100%;
- background: lighten($gab-background-container, 4%);
- body.theme-gabsocial-light & {
- background: darken($gab-background-container-light, 4%);
- }
-
- img {
- display: block;
- height: 100%;
- width: 100%;
- margin: 0;
- object-fit: cover;
- }
- }
-
- &__profile {
- display: flex;
- align-items: flex-start;
- padding: 0 10px;
- margin-top: -53px;
-
- .account__avatar {
- display: block;
- width: 82px;
- height: 82px;
- border: 6px solid $gab-background-base;
- body.theme-gabsocial-light & {border: 6px solid $gab-background-base-light;}
- background-size: cover;
- }
- }
-
- &__meta {
- display: block;
- padding: 6px 20px 17px 20px;
- }
-
- &__account {
- a {
- text-decoration: none;
- color: $primary-text-color;
- }
-
- &__name {
- display: block;
- font-size: 20px;
- font-weight: bold;
- line-height: 24px;
- color: #fff;
- body.theme-gabsocial-light & {color: $gab-default-text-light;}
- }
-
- &:hover & {
- &__name {
- text-decoration: underline;
- }
- }
-
- &__username {
- display: block;
- font-size: 14px;
- line-height: 16px;
- color: $gab-secondary-text;
- text-decoration: none !important;
- }
- }
-
- &__stats-block {
- display: flex;
- justify-content: space-between;
- padding-top: 12px;
- }
-
- .user-panel-stats-item {
- display: flex;
- align-items: start;
- justify-content: left;
- flex-wrap: wrap;
- flex-direction: column;
-
- a {
- text-decoration: none;
-
- color: $primary-text-color;
-
- &:hover {
- opacity: 0.8;
- }
- }
-
- &__value {
- display: block;
- width: 100%;
- color: #fff;
- body.theme-gabsocial-light & {color: $gab-default-text-light;}
- font-size: 20px;
- font-weight: 800;
- line-height: 24px;
- }
-
- &__label {
- display: block;
- width: 100%;
- color: $gab-secondary-text;
- font-size: 12px;
- line-height: 14px;
- }
- }
-}
diff --git a/app/javascript/styles/gabsocial/containers.scss b/app/javascript/styles/gabsocial/containers.scss
index 51913a8e..bdbbc6f8 100644
--- a/app/javascript/styles/gabsocial/containers.scss
+++ b/app/javascript/styles/gabsocial/containers.scss
@@ -1,7 +1,6 @@
.container-alt {
width: 700px;
- margin: 0 auto;
- margin-top: 40px;
+ margin: 40px auto 0 auto;
@media screen and (max-width: 740px) {
width: 100%;
@@ -17,9 +16,7 @@
}
h1 {
- display: flex;
- justify-content: center;
- align-items: center;
+ @include flex(center, center);
img {
height: 42px;
@@ -27,17 +24,14 @@
}
a {
- display: flex;
- justify-content: center;
- align-items: center;
color: $primary-text-color;
text-decoration: none;
outline: 0;
padding: 12px 16px;
- line-height: 32px;
font-family: $font-display, sans-serif;
- font-weight: 500;
- font-size: 14px;
+
+ @include flex(center, center);
+ @include text-sizing(14px, 500, 32px);
}
}
}
@@ -62,33 +56,29 @@
width: 400px;
margin: 0 auto;
display: flex;
- font-size: 13px;
- line-height: 18px;
box-sizing: border-box;
- padding: 20px 0;
- padding-bottom: 0;
- margin-bottom: -30px;
- margin-top: 40px;
+ padding: 20px 0 0 0;
+
+ @include text-sizing(13px, 400, 18px);
+ @include vertical-margin(40px, -30px);
@media screen and (max-width: 440px) {
width: 100%;
- margin: 0;
- margin-bottom: 10px;
- padding: 20px;
- padding-bottom: 0;
+ margin: 0 0 10px 0;
+ padding: 20px 20px 0 20px;
}
.avatar {
- width: 40px;
- height: 40px;
margin-right: 8px;
+ @include size(40px);
+
img {
- width: 100%;
- height: 100%;
display: block;
margin: 0;
border-radius: 4px;
+
+ @include size(100%);
}
}
@@ -100,16 +90,16 @@
.username {
display: block;
font-weight: 500;
- text-overflow: ellipsis;
- overflow: hidden;
+
+ @include text-overflow;
}
}
.logout-link {
display: block;
- font-size: 32px;
- line-height: 40px;
margin-left: 8px;
+
+ @include text-sizing(32px, 400, 40px);
}
}
@@ -149,9 +139,8 @@
.landing-page__call-to-action {
padding: 20px;
- display: flex;
- align-items: center;
- justify-content: center;
+
+ @include flex(center, center);
}
.row__information-board {
@@ -159,10 +148,6 @@
justify-content: center;
align-items: center;
}
-
- .row__mascot {
- display: none;
- }
}
@media screen and (max-width: $no-gap-breakpoint) {
@@ -207,66 +192,48 @@
.background-svg {
display: block;
position: absolute;
- height: 100%;
- width: 100%;
min-height: 580px;
z-index: -1;
- background-image:url('/landing/wave.svg');
- background-repeat: no-repeat;
- background-position: bottom;
- background-size: cover;
+
+ @include size(100%);
+ @include background-image('/landing/wave.svg', cover, bottom);
}
.header {
height: 80px;
- display: flex;
- align-items: stretch;
- justify-content: center;
- flex-wrap: nowrap;
padding: 14px 0;
box-sizing: border-box;
+ @include flex(center, stretch, row, nowrap);
+
@media screen and (max-width: 1024px) {
padding: 14px 20px;
}
.header-container {
- display: flex;
width: 960px;
- align-items: stretch;
- justify-content: center;
- flex-wrap: nowrap;
- & > div {
+ @include flex(center, stretch, row, nowrap);
+
+ &>div {
flex: 1 1 33.3%;
min-height: 1px;
}
}
.nav-left {
- display: flex;
- align-items: center;
- justify-content: flex-start;
- flex-wrap: nowrap;
+ @include flex(flex-start, center, row, nowrap);
}
.nav-center {
- display: flex;
- align-items: stretch;
- justify-content: center;
- flex-wrap: nowrap;
+ @include flex(center, stretch, row, nowrap);
}
.nav-right {
- display: flex;
- align-items: center;
- justify-content: flex-end;
- flex-wrap: nowrap;
+ @include flex(flex-end, center, row, nowrap);
.simple_form.new_user {
- display: flex;
- flex-direction: row;
- align-items: center;
+ @include flex(flex-start, center, row);
.fields-group {
display: flex;
@@ -319,11 +286,11 @@
img {
display: block;
- height: 30px;
- width: auto;
position: relative;
bottom: -2px;
+ @include size(auto, 30px);
+
@media screen and (max-width: $no-gap-breakpoint) {
height: 20px;
}
@@ -334,12 +301,11 @@
display: flex;
align-items: center;
padding: 12px 22px;
- font-size: 14px;
- font-weight: 600;
text-decoration: none;
color: $primary-text-color;
white-space: nowrap;
- text-align: center;
+
+ @include text-sizing(14px, 600, 1, center);
&:hover,
&:focus,
@@ -446,26 +412,24 @@
background: darken($ui-base-color, 12%);
&::after {
- content: "";
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
box-shadow: inset 0 -1px 1px 1px rgba($base-shadow-color, 0.15);
top: 0;
left: 0;
+
+ @include pseudo;
+ @include size(100%);
}
img {
object-fit: cover;
display: block;
- width: 100%;
- height: 100%;
margin: 0;
border-radius: 4px 4px 0 0;
+
+ @include size(100%);
}
- @media screen and (max-width: 600px) {
+ @include breakpoint(sm) {
height: 200px;
}
}
@@ -500,41 +464,37 @@
&__bar {
position: relative;
margin-top: -80px;
- display: flex;
- justify-content: flex-start;
+
+ @include flex(flex-start);
&::before {
- content: "";
- display: block;
background: lighten($ui-base-color, 4%);
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
height: 60px;
border-radius: 0 0 4px 4px;
z-index: -1;
+
+ @include pseudo;
+ @include abs-position(auto, 0, 0, 0, false);
}
.avatar {
display: block;
- width: 120px;
- height: 120px;
padding-left: 20px - 4px;
flex: 0 0 auto;
+ @include size(120px);
+
img {
display: block;
- width: 100%;
- height: 100%;
margin: 0;
- border-radius: 50%;
border: 4px solid lighten($ui-base-color, 4%);
background: darken($ui-base-color, 8%);
+
+ @include circle(100%);
}
}
- @media screen and (max-width: 600px) {
+ @include breakpoint(sm) {
margin-top: 0;
background: lighten($ui-base-color, 4%);
border-radius: 0 0 4px 4px;
@@ -545,10 +505,9 @@
}
.avatar {
- width: 48px;
- height: 48px;
- padding: 7px 0;
- padding-left: 10px;
+ padding: 7px 0 7px 10px;
+
+ @include size(48px);
img {
border: 0;
@@ -575,39 +534,32 @@
margin-left: 20px;
&__name {
- padding-top: 20px;
- padding-bottom: 8px;
+ @include vertical-padding(20px 8px);
h1 {
- font-size: 20px;
- line-height: 18px * 1.5;
color: $primary-text-color;
- font-weight: 500;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
text-shadow: 1px 1px 1px $base-shadow-color;
+ @include text-overflow(nowrap);
+ @include text-sizing(20px, 500, 27px);
+
small {
display: block;
- font-size: 14px;
color: $primary-text-color;
- font-weight: 400;
- overflow: hidden;
- text-overflow: ellipsis;
+
+ @include text-overflow;
+ @include text-sizing(14px, 400);
}
}
}
- @media screen and (max-width: 600px) {
+ @include breakpoint(sm) {
margin-left: 15px;
- display: flex;
- justify-content: space-between;
- align-items: center;
+
+ @include flex(space-between, center);
&__name {
- padding-top: 0;
- padding-bottom: 0;
+ @include vertical-padding(0);
h1 {
font-size: 16px;
@@ -622,11 +574,10 @@
}
&__tabs {
- display: flex;
- justify-content: flex-start;
- align-items: stretch;
height: 58px;
+ @include flex(flex-start, stretch);
+
.details-counters {
display: flex;
flex-direction: row;
@@ -659,15 +610,14 @@
}
&::after {
- display: block;
- content: "";
- position: absolute;
bottom: 0;
left: 0;
width: 100%;
border-bottom: 4px solid $ui-primary-color;
opacity: 0.5;
transition: all 400ms ease;
+
+ @include pseudo;
}
&.active {
@@ -699,11 +649,11 @@
}
.counter-number {
- font-weight: 500;
- font-size: 18px;
margin-bottom: 5px;
color: $primary-text-color;
font-family: $font-display, sans-serif;
+
+ @include text-sizing(18px, 500);
}
}
@@ -746,8 +696,8 @@
display: inline-block;
color: $darker-text-color;
text-decoration: none;
- padding: 15px;
- font-weight: 500;
+
+ @include text-sizing(15px, 500);
strong {
font-weight: 700;
@@ -763,7 +713,7 @@
}
}
- .account__section-headline {
+ .account-section-headline {
border-radius: 4px 4px 0 0;
@media screen and (max-width: $no-gap-breakpoint) {
@@ -827,9 +777,8 @@
color: $action-button-color;
font-size: 18px;
- & > span {
- font-size: 14px;
- font-weight: 500;
+ &>span {
+ @include text-sizing(14px, 500);
}
}
@@ -839,7 +788,7 @@
min-width: 100%;
margin: 0 -5px;
- & > div {
+ &>div {
box-sizing: border-box;
flex: 1 0 auto;
width: 300px;
@@ -851,7 +800,7 @@
max-width: 50%;
}
- @media screen and (max-width: 600px) {
+ @include breakpoint(sm) {
max-width: 100%;
}
}
@@ -860,7 +809,7 @@
margin: 0;
border-top: 1px solid lighten($ui-base-color, 8%);
- & > div {
+ &>div {
width: 100%;
padding: 0;
margin-bottom: 0;
@@ -882,4 +831,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/dashboard.scss b/app/javascript/styles/gabsocial/dashboard.scss
index eced8b12..2b386d95 100644
--- a/app/javascript/styles/gabsocial/dashboard.scss
+++ b/app/javascript/styles/gabsocial/dashboard.scss
@@ -32,14 +32,11 @@
&__num,
&__text {
- text-align: center;
- font-weight: 500;
- font-size: 24px;
- line-height: 21px;
color: $primary-text-color;
font-family: $font-display, sans-serif;
margin-bottom: 20px;
- line-height: 30px;
+
+ @include text-sizing(24px, 500, 30px, center);
}
&__text {
@@ -47,10 +44,9 @@
}
&__label {
- font-size: 14px;
color: $gab-secondary-text;
- text-align: center;
- font-weight: 500;
+
+ @include text-sizing(14px, 500, 1, center);
}
}
diff --git a/app/javascript/styles/gabsocial/emoji_picker.scss b/app/javascript/styles/gabsocial/emoji_picker.scss
index e49084b5..94ea5976 100644
--- a/app/javascript/styles/gabsocial/emoji_picker.scss
+++ b/app/javascript/styles/gabsocial/emoji_picker.scss
@@ -1,4 +1,5 @@
.emoji-mart {
+
&,
* {
box-sizing: border-box;
@@ -33,11 +34,11 @@
}
.emoji-mart-anchors {
- display: flex;
- justify-content: space-between;
padding: 0 6px;
color: $lighter-text-color;
line-height: 0;
+
+ @include flex(space-between);
}
.emoji-mart-anchor {
@@ -67,12 +68,10 @@
}
.emoji-mart-anchor-bar {
- position: absolute;
- bottom: -5px;
- left: 0;
- width: 100%;
- height: 4px;
background-color: $highlight-text-color;
+
+ @include size(100%, 4px);
+ @include abs-position(auto, auto, -5px, 0);
}
.emoji-mart-anchors {
@@ -103,21 +102,19 @@
}
.emoji-mart-search {
- padding: 10px;
- padding-right: 45px;
+ padding: 10px 45px 10px 10px;
background: $simple-background-color;
input {
- font-size: 14px;
- font-weight: 400;
padding: 7px 9px;
font-family: inherit;
display: block;
width: 100%;
background: rgba($ui-secondary-color, 0.3);
color: $inverted-text-color;
- border: 1px solid $ui-secondary-color;
- border-radius: 4px;
+
+ @include text-sizing(14px, 400);
+ @include border-design($ui-secondary-color, 1px, 4px);
&::-moz-focus-inner {
border: 0;
@@ -142,14 +139,12 @@
&:hover::before {
z-index: 0;
- content: "";
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
background-color: rgba($ui-secondary-color, 0.7);
border-radius: 100%;
+
+ @include pseudo;
+ @include size(100%);
+ @include abs-position(0, auto, auto, 0, false);
}
}
@@ -175,8 +170,7 @@
font-size: 0;
span {
- width: 22px;
- height: 22px;
+ @include size(22px);
}
}
@@ -201,4 +195,4 @@
.emoji-mart-preview {
display: none;
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/footer.scss b/app/javascript/styles/gabsocial/footer.scss
index eced0c81..c62bc429 100644
--- a/app/javascript/styles/gabsocial/footer.scss
+++ b/app/javascript/styles/gabsocial/footer.scss
@@ -1,23 +1,20 @@
.public-layout {
.footer {
- display: flex;
padding: 40px 0;
font-size: 12px;
- justify-content: center;
- align-items: center;
background-color: lighten($ui-base-color, 5%);
border-top: darken($ui-base-color, 10%);
+ @include flex(center, center);
+
@media screen and (max-width:1024px) {
padding: 40px 20px;
}
.footer-container {
- display: flex;
width: 960px;
- flex-direction: row;
- flex-wrap: wrap;
- align-items: center;
+
+ @include flex(flex-start, center, row, wrap);
@media screen and (max-width:1024px) {
width: 100%;
@@ -31,11 +28,10 @@
h4 {
text-transform: uppercase;
- font-weight: 700;
margin-bottom: 8px;
color: $darker-text-color;
- font-size: 1.6rem;
- line-height: 1.5;
+
+ @include text-sizing(1.6rem, 700, 1.5);
a {
color: inherit;
@@ -48,9 +44,8 @@
span {
color: $primary-text-color;
- font-size: 1.3rem;
- font-weight: 500;
- line-height: 1.5;
+
+ @include text-sizing(1.3rem, 500, 1.5);
&:last-of-type {
color: darken($primary-text-color, 20%);
@@ -67,12 +62,11 @@
a {
text-decoration: none;
color: lighten($ui-base-color, 34%);
- font-size: 1.3rem;
- font-weight: 500;
- line-height: 1.5;
padding: 10px 4px;
margin-left: 10px;
+ @include text-sizing(1.3rem, 500, 1.5);
+
&:hover,
&:active,
&:focus {
diff --git a/app/javascript/styles/gabsocial/forms.scss b/app/javascript/styles/gabsocial/forms.scss
index 323da61b..d4931cc5 100644
--- a/app/javascript/styles/gabsocial/forms.scss
+++ b/app/javascript/styles/gabsocial/forms.scss
@@ -29,14 +29,12 @@ code {
}
}
- .radio > label {
+ .radio>label {
position: relative;
padding-left: 28px;
input {
- position: absolute;
- top: -2px;
- left: 0;
+ @include abs-position(-2px, auto, auto, 0);
}
}
}
@@ -45,7 +43,7 @@ code {
position: relative;
margin-bottom: 0;
- .label_input > label {
+ .label_input>label {
font-family: inherit;
font-size: 14px;
padding-top: 5px;
@@ -119,11 +117,8 @@ code {
color: $gab-secondary-text;
&.subtle-hint {
- text-align: center;
- font-size: 12px;
- line-height: 18px;
- margin-top: 15px;
- margin-bottom: 0;
+ @include text-sizing(12px, 400, 18px, center);
+ @include vertical-margin(15px, 0);
}
}
@@ -145,13 +140,13 @@ code {
.label_input {
display: flex;
- & > label {
+ &>label {
font-family: inherit;
- font-size: 14px;
color: $primary-text-color;
- font-weight: 500;
min-width: 150px;
flex: 0 0 auto;
+
+ @include text-sizing(14px, 500);
}
input,
@@ -167,14 +162,14 @@ code {
}
.input.with_label {
- .label_input > label {
+ .label_input>label {
font-family: inherit;
- font-size: 14px;
color: $primary-text-color;
display: block;
margin-bottom: 8px;
word-wrap: break-word;
- font-weight: 500;
+
+ @include text-sizing(14px, 500);
}
.hint {
@@ -189,13 +184,13 @@ code {
.input.with_block_label {
max-width: none;
- & > label {
+ &>label {
font-family: inherit;
- font-size: 16px;
color: $primary-text-color;
display: block;
- font-weight: 500;
padding-top: 5px;
+
+ @include text-sizing(16px, 500);
}
.hint {
@@ -308,10 +303,10 @@ code {
font-family: inherit;
resize: vertical;
background: darken($ui-base-color, 10%);
- border: 1px solid darken($ui-base-color, 14%);
- border-radius: 4px;
padding: 10px;
+ @include border-design(darken($ui-base-color, 14%), 1px, 4px);
+
&:invalid {
box-shadow: none;
}
@@ -366,8 +361,7 @@ code {
display: flex;
&.actions--top {
- margin-top: 0;
- margin-bottom: 30px;
+ @include vertical-margin(0, 30px);
}
}
@@ -375,25 +369,22 @@ code {
.button,
.block-button {
display: block;
- width: 100%;
border: 0;
border-radius: 4px;
background: $ui-highlight-color;
color: $primary-text-color;
- font-size: 18px;
- line-height: inherit;
- height: auto;
padding: 10px;
text-transform: uppercase;
text-decoration: none;
- text-align: center;
box-sizing: border-box;
cursor: pointer;
- font-weight: 500;
outline: 0;
margin-bottom: 10px;
margin-right: 10px;
+ @include size(100%, auto);
+ @include text-sizing(18px, 500, inherit, center);
+
&:last-child {
margin-right: 0;
}
@@ -431,16 +422,14 @@ code {
font-size: 16px;
color: $primary-text-color;
display: block;
- width: 100%;
outline: 0;
font-family: inherit;
resize: vertical;
background: darken($ui-base-color, 10%) url("data:image/svg+xml;utf8,") no-repeat right 8px center / auto 16px;
- border: 1px solid darken($ui-base-color, 14%);
- border-radius: 4px;
- padding-left: 10px;
- padding-right: 30px;
- height: 41px;
+
+ @include size(100%, 41px);
+ @include horizontal-padding(10px, 30px);
+ @include border-design(darken($ui-base-color, 14%), 1px, 4px);
}
.label_input {
@@ -449,9 +438,6 @@ code {
}
&__append {
- position: absolute;
- right: 3px;
- top: 1px;
padding: 10px;
padding-bottom: 9px;
font-size: 16px;
@@ -463,15 +449,16 @@ code {
white-space: nowrap;
overflow: hidden;
+ @include abs-position(1px, 3px);
+
&::after {
- content: '';
- display: block;
- position: absolute;
top: 0;
right: 0;
bottom: 1px;
width: 5px;
background-image: linear-gradient(to right, rgba(darken($ui-base-color, 10%), 0), darken($ui-base-color, 10%));
+
+ @include pseudo;
}
}
}
@@ -480,22 +467,19 @@ code {
position: relative;
&__overlay {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
background: rgba($ui-base-color, 0.65);
backdrop-filter: blur(2px);
border-radius: 4px;
+ @include flex(center, center);
+ @include size(100%);
+ @include abs-position(0, auto, auto, 0);
+
&__content {
text-align: center;
&.rich-formatting {
+
&,
p {
color: $primary-text-color;
@@ -755,8 +739,7 @@ code {
}
.actions {
- padding: 30px 0;
- padding-right: 20px;
+ padding: 30px 20px 30px 0;
flex: 0 0 auto;
}
}
@@ -771,8 +754,7 @@ code {
}
.alternative-login {
- margin-top: 20px;
- margin-bottom: 20px;
+ @include vertical-margin(20px);
h4 {
font-size: 16px;
@@ -805,8 +787,6 @@ code {
.input-copy {
background: darken($ui-base-color, 10%);
- border: 1px solid darken($ui-base-color, 14%);
- border-radius: 4px;
display: flex;
align-items: center;
padding-right: 4px;
@@ -814,6 +794,8 @@ code {
top: 1px;
transition: border-color 300ms linear;
+ @include border-design(darken($ui-base-color, 14%), 1px, 4px);
+
&__wrapper {
flex: 1 1 auto;
}
@@ -830,12 +812,12 @@ code {
flex: 0 0 auto;
margin: 4px;
text-transform: none;
- font-weight: 400;
- font-size: 14px;
padding: 7px 18px;
padding-bottom: 6px;
width: auto;
transition: background 300ms linear;
+
+ @include text-sizing(14px, 400);
}
&.copied {
@@ -894,13 +876,12 @@ code {
&::after {
background-color: darken($ui-base-color, 4%);
- content: '';
- display: block;
- height: 100%;
left: 50%;
- position: absolute;
top: 0;
width: 1px;
+
+ @include pseudo;
+ @include size(1px, 100%);
}
}
@@ -909,4 +890,4 @@ code {
display: flex;
flex-direction: row;
}
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/introduction.scss b/app/javascript/styles/gabsocial/introduction.scss
index 9847b78f..e69de29b 100644
--- a/app/javascript/styles/gabsocial/introduction.scss
+++ b/app/javascript/styles/gabsocial/introduction.scss
@@ -1,151 +0,0 @@
-.introduction {
- display: flex !important;
- flex-direction: column !important;
- justify-content: center !important;
- align-items: center !important;
-
- @media screen and (max-width: 920px) {
- background: darken($ui-base-color, 8%);
- display: block !important;
- }
-
- &__pager {
- background: darken($ui-base-color, 8%);
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- overflow: hidden;
- }
-
- &__pager,
- &__frame {
- border-radius: 10px;
- width: 50vw;
- min-width: 920px;
-
- @media screen and (max-width: 920px) {
- min-width: 0;
- width: 100%;
- border-radius: 0;
- box-shadow: none;
- }
- }
-
- &__frame-wrapper {
- opacity: 0;
- transition: opacity 500ms linear;
-
- &.active {
- opacity: 1;
- transition: opacity 50ms linear;
- }
- }
-
- &__frame {
- overflow: hidden;
- }
-
- &__illustration {
- height: 50vh;
-
- @media screen and (max-width: 630px) {
- height: auto;
- }
-
- img {
- object-fit: cover;
- display: block;
- margin: 0;
- width: 100%;
- height: 100%;
- }
- }
-
- &__text {
- &--columnized {
- display: flex;
-
- & > div {
- flex: 1 1 33.33%;
- text-align: center;
- padding: 25px;
- padding-bottom: 30px;
- }
-
- @media screen and (max-width: 630px) {
- display: block;
- padding: 15px 0;
- padding-bottom: 20px;
-
- & > div {
- padding: 10px 25px;
- }
- }
- }
-
- h3 {
- font-size: 24px;
- line-height: 1.5;
- font-weight: 700;
- margin-bottom: 10px;
- }
-
- p {
- font-size: 16px;
- line-height: 24px;
- font-weight: 400;
- color: $darker-text-color;
-
- code {
- display: inline-block;
- background: darken($ui-base-color, 8%);
- font-size: 15px;
- border: 1px solid lighten($ui-base-color, 8%);
- border-radius: 2px;
- padding: 1px 3px;
- }
- }
-
- &--centered {
- padding: 25px;
- padding-bottom: 30px;
- text-align: center;
- }
- }
-
- &__dots {
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 25px;
-
- @media screen and (max-width: 630px) {
- display: none;
- }
- }
-
- &__dot {
- width: 14px;
- height: 14px;
- border-radius: 14px;
- border: 1px solid $ui-highlight-color;
- background: transparent;
- margin: 0 3px;
- cursor: pointer;
-
- &:hover {
- background: lighten($ui-base-color, 8%);
- }
-
- &.active {
- cursor: default;
- background: $ui-highlight-color;
- }
- }
-
- &__action {
- padding: 25px;
- padding-top: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- }
-}
diff --git a/app/javascript/styles/gabsocial/modal.scss b/app/javascript/styles/gabsocial/modal.scss
index 98bcce1d..2f4f88a8 100644
--- a/app/javascript/styles/gabsocial/modal.scss
+++ b/app/javascript/styles/gabsocial/modal.scss
@@ -6,8 +6,8 @@
padding: 0;
}
-@media screen and (max-width: 600px) {
+@include breakpoint(sm) {
.account-header {
margin-top: 0;
}
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/polls.scss b/app/javascript/styles/gabsocial/polls.scss
index 660f4a5e..6c6a9305 100644
--- a/app/javascript/styles/gabsocial/polls.scss
+++ b/app/javascript/styles/gabsocial/polls.scss
@@ -1,139 +1,3 @@
-.poll {
- margin-top: 16px;
- font-size: 14px;
-
- li {
- margin-bottom: 10px;
- position: relative;
- height: 18px + 12px;
- }
-
- &__chart {
- position: absolute;
- top: 0;
- left: 0;
- height: 100%;
- display: inline-block;
- border-radius: 4px;
- background: rgba($gab-placeholder-accent, .3);
- &.leading {background: rgba($gab-placeholder-accent, .6);}
- }
-
- &__text {
- position: relative;
- display: inline-block;
- padding: 6px 0;
- line-height: 18px;
- cursor: default;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- color: #fff;
- body.theme-gabsocial-light & {color: $gab-default-text-light;}
- input[type=radio],
- input[type=checkbox] {
- display: none;
- }
-
- .autossugest-input {
- flex: 1 1 auto;
- }
-
- input[type=text] {
- display: block;
- box-sizing: border-box;
- width: 100%;
- font-size: 14px;
- color: $inverted-text-color;
- display: block;
- outline: 0;
- font-family: inherit;
- background: $simple-background-color;
- border: 1px solid darken($simple-background-color, 14%);
- border-radius: 4px;
- padding: 6px 10px;
-
- &:focus {
- border-color: $highlight-text-color;
- }
- }
-
- &.selectable {
- cursor: pointer;
- }
-
- &.editable {
- display: flex;
- align-items: center;
- overflow: visible;
- }
- }
-
- &__input {
- display: inline-block;
- position: relative;
- border: 1px solid $ui-primary-color;
- box-sizing: border-box;
- width: 18px;
- height: 18px;
- flex: 0 0 auto;
- margin-right: 10px;
- top: -1px;
- border-radius: 50%;
- vertical-align: middle;
-
- &.checkbox {
- border-radius: 4px;
- }
-
- &.active {
- border-color: $valid-value-color;
- background: $valid-value-color;
- }
- }
-
- &__number {
- display: inline-block;
- width: 36px;
- font-weight: 700;
- padding: 0 10px;
- text-align: right;
- }
-
- &__footer {
- padding-top: 6px;
- padding-bottom: 5px;
- color: $dark-text-color;
- }
-
- &__link {
- display: inline;
- background: transparent;
- padding: 0;
- margin: 0;
- border: 0;
- color: $dark-text-color;
- text-decoration: underline;
- font-size: inherit;
-
- &:hover {
- text-decoration: none;
- }
-
- &:active,
- &:focus {
- background-color: rgba($dark-text-color, .1);
- }
- }
-
- .button {
- height: 36px;
- padding: 0 16px;
- margin-right: 10px;
- font-size: 14px;
- }
-}
-
.compose-form__poll-wrapper {
border-top: 1px solid darken($simple-background-color, 8%);
@@ -153,15 +17,14 @@
}
}
- .button.button-secondary {
- font-size: 14px;
- font-weight: 400;
+ .button.button--secondary {
padding: 6px 10px;
height: auto;
- line-height: inherit;
color: $action-button-color;
border-color: $action-button-color;
margin-right: 5px;
+
+ @include text-sizing(14px, 400, inherit);
}
li {
@@ -185,10 +48,9 @@
outline: 0;
font-family: inherit;
background: $simple-background-color url("data:image/svg+xml;utf8,") no-repeat right 8px center / auto 16px;
- border: 1px solid darken($simple-background-color, 14%);
- border-radius: 4px;
- padding: 6px 10px;
- padding-right: 30px;
+ padding: 6px 30px 6px 10px;
+
+ @include border-design(darken($simple-background-color, 14%), 1px, 4px);
}
.icon-button.disabled {
@@ -206,4 +68,4 @@
background: rgba($ui-highlight-color, 0.2);
}
}
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/rtl.scss b/app/javascript/styles/gabsocial/rtl.scss
index a1f9a3af..a50b7981 100644
--- a/app/javascript/styles/gabsocial/rtl.scss
+++ b/app/javascript/styles/gabsocial/rtl.scss
@@ -1,41 +1,35 @@
body.rtl {
direction: rtl;
- .column-header > button {
+ .column-header>button {
text-align: right;
- padding-left: 0;
- padding-right: 15px;
+
+ @include horizontal-padding(0, 15px);
}
.landing-page__logo {
- margin-right: 0;
- margin-left: 20px;
+ @include horizontal-margin(20px, 0);
}
.landing-page .features-list .features-list__row .visual {
- margin-left: 0;
- margin-right: 15px;
+ @include horizontal-margin(0, 15px);
}
.column-link__icon,
.column-header__icon {
- margin-right: 0;
- margin-left: 5px;
+ @include horizontal-margin(0, 5px);
}
.compose-form .compose-form__buttons-wrapper .character-counter__wrapper {
- margin-right: 0;
- margin-left: 4px;
+ @include horizontal-margin(4px, 0);
}
.navigation-bar__profile {
- margin-left: 0;
- margin-right: 8px;
+ @include horizontal-margin(0, 8px);
}
.search__input {
- padding-right: 10px;
- padding-left: 30px;
+ @include horizontal-padding(30px, 10px);
}
.search__icon .fa {
@@ -46,18 +40,16 @@ body.rtl {
.column-header__buttons {
left: 0;
right: auto;
- margin-left: 0;
- margin-right: -15px;
+
+ @include horizontal-margin(0, -15px);
}
.column-inline-form .icon-button {
- margin-left: 0;
- margin-right: 5px;
+ @include horizontal-margin(0, 5px);
}
.column-header__links .text-btn {
- margin-left: 10px;
- margin-right: 0;
+ @include horizontal-margin(10px, 0);
}
.account__avatar-wrapper {
@@ -65,8 +57,7 @@ body.rtl {
}
.column-header__back-button {
- padding-left: 5px;
- padding-right: 0;
+ @include horizontal-padding(5px, 0);
}
.column-header__setting-arrows {
@@ -74,8 +65,7 @@ body.rtl {
}
.setting-toggle__label {
- margin-left: 0;
- margin-right: 8px;
+ @include horizontal-margin(0, 8px);
}
.status__avatar {
@@ -85,24 +75,20 @@ body.rtl {
.status,
.activity-stream .status.light {
- padding-left: 10px;
- padding-right: 68px;
+ @include horizontal-padding(10px, 68px);
}
.status__info .status__display-name,
.activity-stream .status.light .status__display-name {
- padding-left: 25px;
- padding-right: 0;
+ @include horizontal-padding(25px, 0);
}
.activity-stream .pre-header {
- padding-right: 68px;
- padding-left: 0;
+ @include horizontal-padding(0, 68px);
}
.status__prepend {
- margin-left: 0;
- margin-right: 68px;
+ @include horizontal-margin(0, 68px);
}
.status__prepend-icon-wrapper {
@@ -120,7 +106,7 @@ body.rtl {
left: 0;
}
- .column-back-button--slim-button {
+ .column-back-button--slim {
right: auto;
left: 0;
}
@@ -133,20 +119,18 @@ body.rtl {
.status__action-bar {
&__counter {
- margin-right: 0;
- margin-left: 11px;
+ @include horizontal-margin(11px, 0);
.status__action-bar-button {
- margin-right: 0;
- margin-left: 4px;
+ @include horizontal-margin(4px, 0);
}
}
}
.status__action-bar-button {
float: right;
- margin-right: 0;
- margin-left: 18px;
+
+ @include horizontal-margin(18px, 0);
}
.status__action-bar-dropdown {
@@ -154,13 +138,11 @@ body.rtl {
}
.privacy-dropdown__dropdown {
- margin-left: 0;
- margin-right: 40px;
+ @include horizontal-margin(0, 40px);
}
.privacy-dropdown__option__icon {
- margin-left: 10px;
- margin-right: 0;
+ @include horizontal-margin(10px, 0);
}
.detailed-status__display-name .display-name {
@@ -168,15 +150,14 @@ body.rtl {
}
.detailed-status__display-avatar {
- margin-right: 0;
- margin-left: 10px;
float: right;
+
+ @include horizontal-margin(10px, 0);
}
.detailed-status__favorites,
.detailed-status__reblogs {
- margin-left: 0;
- margin-right: 6px;
+ @include horizontal-margin(0, 6px);
}
.fa-ul {
@@ -195,18 +176,15 @@ body.rtl {
.admin-wrapper .sidebar ul a i.fa,
a.table-action-link i.fa {
- margin-right: 0;
- margin-left: 5px;
+ @include horizontal-margin(5px, 0);
}
.simple_form .check_boxes .checkbox label {
- padding-left: 0;
- padding-right: 25px;
+ @include horizontal-padding(0, 25px);
}
.simple_form .input.with_label.boolean label.checkbox {
- padding-left: 25px;
- padding-right: 0;
+ @include horizontal-padding(25px, 0);
}
.simple_form .check_boxes .checkbox input[type="checkbox"],
@@ -220,14 +198,12 @@ body.rtl {
right: 0;
}
- .simple_form .input.radio_buttons .radio > label {
- padding-right: 28px;
- padding-left: 0;
+ .simple_form .input.radio_buttons .radio>label {
+ @include horizontal-padding(0, 28px);
}
.simple_form .input-with-append .input input {
- padding-left: 142px;
- padding-right: 0;
+ @include horizontal-padding(142px, 0);
}
.simple_form .input.boolean label.checkbox {
@@ -237,8 +213,7 @@ body.rtl {
.simple_form .input.boolean .label_input,
.simple_form .input.boolean .hint {
- padding-left: 0;
- padding-right: 28px;
+ @include horizontal-padding(0, 28px);
}
.simple_form .label_input__append {
@@ -262,8 +237,7 @@ body.rtl {
}
.filters .filter-subset {
- margin-right: 0;
- margin-left: 45px;
+ @include horizontal-margin(45px, 0);
}
.landing-page .header-wrapper .mascot {
@@ -295,32 +269,29 @@ body.rtl {
}
.landing-page .fa-external-link {
- padding-right: 5px;
- padding-left: 0 !important;
+ @include horizontal-padding(0 !important, 5px);
}
.landing-page .features #gabsocial-timeline {
- margin-right: 0;
- margin-left: 30px;
+ @include horizontal-margin(30px, 0);
}
@media screen and (min-width: 631px) {
+
.column,
.drawer {
- padding-left: 5px;
- padding-right: 5px;
+ @include horizontal-padding(5px);
&:first-child {
- padding-left: 5px;
- padding-right: 10px;
+ @include horizontal-padding(5px, 10px);
}
}
- .columns-area > div {
+ .columns-area>div {
+
.column,
.drawer {
- padding-left: 5px;
- padding-right: 5px;
+ @include horizontal-padding(5px);
}
}
}
@@ -328,33 +299,29 @@ body.rtl {
.public-layout {
.header {
.nav-button {
- margin-left: 8px;
- margin-right: 0;
+ @include horizontal-margin(8px, 0);
}
}
.public-account-header__tabs {
- margin-left: 0;
- margin-right: 20px;
+ @include horizontal-margin(0, 20px);
}
}
.landing-page__information {
.account__display-name {
- margin-right: 0;
- margin-left: 5px;
+ @include horizontal-margin(5px, 0);
}
.account__avatar-wrapper {
- margin-left: 12px;
- margin-right: 0;
+ @include horizontal-margin(12px, 0);
}
}
.card__bar .display-name {
- margin-left: 0;
- margin-right: 15px;
text-align: right;
+
+ @include horizontal-margin(0, 15px);
}
.fa-chevron-left::before {
@@ -366,17 +333,15 @@ body.rtl {
}
.column-back-button__icon {
- margin-right: 0;
- margin-left: 5px;
+ @include horizontal-margin(5px, 0);
}
.column-header__setting-arrows .column-header__setting-btn:last-child {
- padding-left: 0;
- padding-right: 10px;
+ @include horizontal-padding(0, 10px);
}
- .simple_form .input.radio_buttons .radio > label input {
+ .simple_form .input.radio_buttons .radio>label input {
left: auto;
right: 0;
}
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/scrollbars.scss b/app/javascript/styles/gabsocial/scrollbars.scss
index 88216f89..a452245f 100644
--- a/app/javascript/styles/gabsocial/scrollbars.scss
+++ b/app/javascript/styles/gabsocial/scrollbars.scss
@@ -4,8 +4,7 @@
html {scrollbar-color: lighten($gab-background-container, 4%) $gab-background-container;}
::-webkit-scrollbar {
- width: 12px;
- height: 12px;
+ @include size(12px);
}
::-webkit-scrollbar-thumb {
border: none;
diff --git a/app/javascript/styles/gabsocial/stream_entries.scss b/app/javascript/styles/gabsocial/stream_entries.scss
index bfbb907e..76f4a995 100644
--- a/app/javascript/styles/gabsocial/stream_entries.scss
+++ b/app/javascript/styles/gabsocial/stream_entries.scss
@@ -75,21 +75,21 @@
.button.logo-button {
flex: 0 auto;
- font-size: 14px;
background: $ui-highlight-color;
color: $primary-text-color;
text-transform: none;
- line-height: 36px;
height: auto;
padding: 3px 15px;
border: 0;
+ @include text-sizing(14px, 400, 36px);
+
svg {
- width: 20px;
- height: auto;
vertical-align: middle;
margin-right: 5px;
fill: $primary-text-color;
+
+ @include size(20px, auto);
}
&:active,
diff --git a/app/javascript/styles/gabsocial/tables.scss b/app/javascript/styles/gabsocial/tables.scss
index 26789e70..cc77b907 100644
--- a/app/javascript/styles/gabsocial/tables.scss
+++ b/app/javascript/styles/gabsocial/tables.scss
@@ -157,8 +157,7 @@ a.table-action-link {
&__actions,
&__content {
- padding: 8px 0;
- padding-right: 16px;
+ padding: 8px 16px 8px 0;
flex: 1 1 auto;
}
}
@@ -204,8 +203,7 @@ a.table-action-link {
}
&__content {
- padding-top: 12px;
- padding-bottom: 16px;
+ @include vertical-padding(12px, 16px);
&--unpadded {
padding: 0;
diff --git a/app/javascript/styles/gabsocial/variables.scss b/app/javascript/styles/gabsocial/variables.scss
index 8b6ea323..3320b30c 100644
--- a/app/javascript/styles/gabsocial/variables.scss
+++ b/app/javascript/styles/gabsocial/variables.scss
@@ -105,7 +105,3 @@ $media-modal-media-max-width: 100%;
$media-modal-media-max-height: 80%;
$no-gap-breakpoint: 415px;
-
-$font-sans-serif: 'gabsocial-font-sans-serif' !default;
-$font-display: 'gabsocial-font-display' !default;
-$font-monospace: 'gabsocial-font-monospace' !default;
\ No newline at end of file
diff --git a/app/javascript/styles/gabsocial/widgets.scss b/app/javascript/styles/gabsocial/widgets.scss
index 89505584..5069912c 100644
--- a/app/javascript/styles/gabsocial/widgets.scss
+++ b/app/javascript/styles/gabsocial/widgets.scss
@@ -12,10 +12,10 @@
img {
object-fit: cover;
display: block;
- width: 100%;
- height: 100%;
margin: 0;
border-radius: 4px 4px 0 0;
+
+ @include size(100%);
}
}
@@ -23,16 +23,15 @@
background: $ui-base-color;
padding: 20px;
border-radius: 0 0 4px 4px;
- font-size: 15px;
color: $darker-text-color;
- line-height: 20px;
word-wrap: break-word;
- font-weight: 400;
+
+ @include text-sizing(15px, 400, 20px);
.emojione {
- width: 20px;
- height: 20px;
margin: -3px 0 0;
+
+ @include size(20px);
}
p {
@@ -47,12 +46,11 @@
display: inline;
margin: 0;
padding: 0;
- font-weight: 700;
background: transparent;
font-family: inherit;
- font-size: inherit;
- line-height: inherit;
color: lighten($darker-text-color, 10%);
+
+ @include text-sizing(inherit, 700, inherit);
}
a {
@@ -77,9 +75,9 @@
h4 {
padding: 10px;
text-transform: uppercase;
- font-weight: 700;
- font-size: 13px;
color: $darker-text-color;
+
+ @include text-sizing(13px, 700);
}
.account {
@@ -95,9 +93,9 @@
}
.account__avatar {
- width: 44px;
- height: 44px;
background-size: 44px 44px;
+
+ @include size(44px);
}
}
}
@@ -120,11 +118,10 @@
}
.contact-widget {
- font-size: 15px;
color: $darker-text-color;
- line-height: 20px;
word-wrap: break-word;
- font-weight: 400;
+
+ @include text-sizing(15px, 400, 20px);
strong {
font-weight: 500;
@@ -238,10 +235,9 @@
h1 {
color: $primary-text-color;
- font-size: 36px;
- line-height: 1.1;
- font-weight: 700;
margin-bottom: 10px;
+
+ @include text-sizing(36px, 700, 1.1);
}
p {
@@ -268,20 +264,20 @@
box-sizing: border-box;
margin-bottom: 10px;
- & > a,
- & > div {
- display: flex;
- align-items: center;
- justify-content: space-between;
+ &>a,
+ &>div {
background: $ui-base-color;
border-radius: 4px;
padding: 15px;
text-decoration: none;
color: inherit;
box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
+
+ @include flex(space-between, center);
}
- & > a {
+ &>a {
+
&:hover,
&:active,
&:focus {
@@ -289,24 +285,22 @@
}
}
- &.active > a {
+ &.active>a {
background: $ui-highlight-color;
cursor: default;
}
- &.disabled > div {
+ &.disabled>div {
opacity: 0.5;
cursor: default;
}
h4 {
flex: 1 1 auto;
- font-size: 18px;
- font-weight: 700;
color: $primary-text-color;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
+
+ @include text-overflow(nowrap);
+ @include text-sizing(18px, 700);
.fa {
color: $darker-text-color;
@@ -314,14 +308,15 @@
small {
display: block;
- font-weight: 400;
- font-size: 15px;
margin-top: 8px;
color: $darker-text-color;
+
+ @include text-sizing(15px, 400);
}
}
&.active h4 {
+
&,
.fa,
small {
@@ -341,19 +336,17 @@
}
.avatar-stack {
- display: flex;
- justify-content: flex-end;
+ @include flex(flex-end);
.account__avatar {
flex: 0 0 auto;
- width: 36px;
- height: 36px;
- border-radius: 50%;
position: relative;
margin-left: -10px;
background: darken($ui-base-color, 8%);
border: 2px solid $ui-base-color;
+ @include circle(36px);
+
&:nth-child(1) {
z-index: 1;
}
@@ -404,16 +397,15 @@
&__count {
width: 120px;
- text-align: center;
- font-size: 15px;
- font-weight: 500;
color: $primary-text-color;
+ @include text-sizing(15px, 500, 1, center);
+
small {
display: block;
color: $darker-text-color;
- font-weight: 400;
- font-size: 14px;
+
+ @include text-sizing(14px, 400);
}
}
@@ -444,7 +436,7 @@
}
$maximum-width: 1235px;
-$fluid-breakpoint: $maximum-width + 20px;
+$fluid-breakpoint: $maximum-width+20px;
.statuses-grid {
min-height: 600px;
@@ -482,13 +474,12 @@ $fluid-breakpoint: $maximum-width + 20px;
}
.status__content {
- font-size: 15px;
- line-height: 20px;
+ @include text-sizing(15px, 400, 20px);
.emojione {
- width: 20px;
- height: 20px;
margin: -3px 0 0;
+
+ @include size(20px);
}
.status__content__spoiler-link {
@@ -519,16 +510,15 @@ $fluid-breakpoint: $maximum-width + 20px;
}
a {
- font-size: 14px;
- line-height: 20px;
text-decoration: none;
- font-weight: 500;
color: $ui-highlight-color;
+ @include text-sizing(14px, 500, 20px);
+
&:hover,
&:focus,
&:active {
text-decoration: underline;
}
}
-}
+}
\ No newline at end of file
diff --git a/app/javascript/styles/mailer.scss b/app/javascript/styles/mailer.scss
index f7b76389..9bd11d87 100644
--- a/app/javascript/styles/mailer.scss
+++ b/app/javascript/styles/mailer.scss
@@ -20,6 +20,7 @@ body {
}
.email-body {
+
td,
div,
a,
@@ -29,6 +30,7 @@ body {
}
a {
+
&,
&:visited,
span {
@@ -72,8 +74,8 @@ td {
font-size: 0 !important;
line-height: 100%;
text-align: center;
- padding-left: 16px;
- padding-right: 16px;
+
+ @include horizontal-padding(16px);
}
.email-start {
@@ -98,7 +100,8 @@ body {
.col-3,
.col-4,
.col-5,
-.col-6, {
+.col-6,
+ {
font-size: 0;
display: inline-block;
width: 100%;
@@ -114,10 +117,10 @@ body {
}
.column-cell {
- padding-top: 16px;
- padding-bottom: 16px;
vertical-align: top;
+ @include vertical-padding(16px);
+
&.button-cell {
padding-top: 0;
}
@@ -187,8 +190,8 @@ p {
p {
display: block;
- margin-top: 0;
- margin-bottom: 16px;
+
+ @include vertical-margin(0, 16px);
&.small {
font-size: 13px;
@@ -207,12 +210,11 @@ h4,
h5,
h6 {
color: $ui-secondary-color;
- margin-left: 0;
- margin-right: 0;
- margin-top: 20px;
- margin-bottom: 8px;
padding: 0;
font-weight: 500;
+
+ @include horizontal-margin(0);
+ @include vertical-margin(20px, 8px);
}
h1 {
@@ -231,10 +233,9 @@ h3 {
}
h5 {
- font-size: 16px;
- line-height: 21px;
- font-weight: 700;
color: lighten($ui-base-color, 34%);
+
+ @include text-sizing(16px, 700, 21px);
}
.input-cell {
@@ -248,12 +249,10 @@ h5 {
background: darken($ui-base-color, 8%);
border-radius: 4px;
padding: 16px;
- line-height: 20px;
mso-line-height-rule: exactly;
border-radius: 4px;
- text-align: center;
- font-weight: 500;
- font-size: 17px;
+
+ @include text-sizing(17px, 500, 20px, center);
}
}
@@ -263,8 +262,8 @@ h5 {
font-size: 0;
text-align: center;
vertical-align: top;
- padding-left: 16px;
- padding-right: 16px;
+
+ @include horizontal-padding(16px);
}
.content-cell {
@@ -298,8 +297,8 @@ h5 {
.column-cell {
text-align: center;
- padding-top: 20px;
- padding-bottom: 8px;
+
+ @include vertical-padding(20px, 8px);
}
}
@@ -313,6 +312,7 @@ h5 {
}
.footer {
+
.column-cell,
p {
color: lighten($ui-base-color, 34%);
@@ -344,18 +344,16 @@ h5 {
.button {
display: table;
- margin-left: auto;
- margin-right: auto;
+
+ @include horizontal-margin(auto);
td {
- line-height: 20px;
mso-line-height-rule: exactly;
border-radius: 4px;
- text-align: center;
- font-weight: 500;
- font-size: 17px;
padding: 0 !important;
+ @include text-sizing(17px, 500, 20x, center);
+
a,
a span {
color: $primary-text-color;
@@ -403,8 +401,7 @@ h5 {
}
.padded {
- padding-left: 16px;
- padding-right: 16px;
+ @include horizontal-padding(16px);
}
.padded-bottom {
@@ -434,10 +431,10 @@ h5 {
img {
max-width: 32px;
- width: 32px;
- height: 32px;
display: block;
line-height: 100%;
+
+ @include size(32px);
}
}
@@ -467,9 +464,9 @@ h5 {
bdi {
color: $white;
- font-size: 16px;
display: block;
- font-weight: 500;
+
+ @include text-sizing(16px, 500);
}
td:first-child {
@@ -477,9 +474,9 @@ h5 {
}
img {
- width: 48px;
- height: 48px;
border-radius: 4px;
+
+ @include size(48px);
}
}
@@ -505,10 +502,10 @@ h5 {
ul {
padding-left: 15px;
- margin-top: 0;
- margin-bottom: 0;
padding-top: 16px;
+ @include vertical-margin(0);
+
li {
margin-bottom: 16px;
color: lighten($ui-base-color, 26%);
@@ -526,6 +523,7 @@ ul {
}
@media (max-width: 697px) {
+
.email-container,
.col-1,
.col-2,
@@ -546,7 +544,6 @@ ul {
}
.padded {
- padding-left: 0 !important;
- padding-right: 0 !important;
+ @include horizontal-padding(0 !important);
}
-}
+}
\ No newline at end of file
diff --git a/app/views/accounts/show.html.haml b/app/views/accounts/show.html.haml
index e4223119..f727e0b0 100644
--- a/app/views/accounts/show.html.haml
+++ b/app/views/accounts/show.html.haml
@@ -28,7 +28,7 @@
.h-feed
%data.p-name{ value: "#{@account.username} on #{site_hostname}" }/
- .account__section-headline
+ .account-section-headline
= active_link_to t('accounts.posts_tab_heading'), short_account_url(@account)
= active_link_to t('accounts.posts_with_replies'), short_account_with_replies_url(@account)
= active_link_to t('accounts.media'), short_account_media_url(@account)
diff --git a/app/views/home/index.html.haml b/app/views/home/index.html.haml
index 36d19e24..cc7f95c0 100644
--- a/app/views/home/index.html.haml
+++ b/app/views/home/index.html.haml
@@ -1,5 +1,4 @@
- content_for :header_tags do
- = preload_link_tag asset_pack_path('features/getting_started.js'), crossorigin: 'anonymous'
= preload_link_tag asset_pack_path('features/compose.js'), crossorigin: 'anonymous'
= preload_link_tag asset_pack_path('features/home_timeline.js'), crossorigin: 'anonymous'
= preload_link_tag asset_pack_path('features/notifications.js'), crossorigin: 'anonymous'
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 220a4ca9..f4d594d3 100755
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -20,8 +20,8 @@
%title= content_for?(:page_title) ? safe_join([yield(:page_title).chomp.html_safe, title], ' - ') : title
- = stylesheet_pack_tag 'common', media: 'all'
- = stylesheet_pack_tag current_theme, media: 'all'
+ -# = stylesheet_pack_tag 'common', media: 'all'
+ -# = stylesheet_pack_tag current_theme, media: 'all'
= javascript_pack_tag 'common', integrity: true, crossorigin: 'anonymous'
= javascript_pack_tag "locale_#{I18n.locale}", integrity: true, crossorigin: 'anonymous'
= csrf_meta_tags
diff --git a/app/views/stream_entries/_poll.html.haml b/app/views/stream_entries/_poll.html.haml
index ba34890d..d921621e 100644
--- a/app/views/stream_entries/_poll.html.haml
+++ b/app/views/stream_entries/_poll.html.haml
@@ -17,7 +17,7 @@
= Formatter.instance.format_poll_option(status, option, autoplay: autoplay)
.poll__footer
- unless show_results
- %button.button.button-secondary{ disabled: true }
+ %button.button.button--secondary{ disabled: true }
= t('statuses.poll.vote')
%span= t('statuses.poll.total_votes', count: poll.votes_count)
diff --git a/config/webpack/shared.js b/config/webpack/shared.js
index 2fac41c3..a990f716 100644
--- a/config/webpack/shared.js
+++ b/config/webpack/shared.js
@@ -84,6 +84,7 @@ module.exports = {
new MiniCssExtractPlugin({
filename: 'css/[name]-[contenthash:8].css',
chunkFilename: 'css/[name]-[contenthash:8].chunk.css',
+ ignoreOrder: true,
}),
new AssetsManifestPlugin({
integrity: false,
diff --git a/package.json b/package.json
index ad72cbba..62dc91f0 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,8 @@
"start": "node ./streaming/index.js",
"test": "${npm_execpath} run test:lint && ${npm_execpath} run test:jest",
"test:lint": "eslint --ext=js .",
- "test:jest": "cross-env NODE_ENV=test jest --coverage"
+ "test:jest": "cross-env NODE_ENV=test jest --coverage",
+ "webpack-defaults": "webpack-defaults"
},
"repository": {
"type": "git",