b3b4e54975
All <Setting*> components will have an ID that corresponds to the sidebar link. When clicked, we scroll to the position of the card by searching for the element with the ID. It behaves simiar to # anchor navigation. I like this model mainly because in Mobile, users don't need to keep opening the drawer to navigate -- they just need to scroll. This allows us to use the same design for Mobile and App.
430 lines
8.1 KiB
SCSS
430 lines
8.1 KiB
SCSS
.main-wrapper {
|
|
position: relative;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
.main-wrapper--mac {
|
|
margin-top: calc(var(--header-height) + var(--mac-titlebar-height));
|
|
}
|
|
|
|
.main-wrapper__inner {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
min-height: calc(100vh - var(--header-height));
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
margin-top: var(--header-height);
|
|
padding: var(--spacing-l); // Unfortunately this is coupled with .claim-preview--tile width calculation
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
|
|
> :first-child {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
padding: var(--spacing-xs);
|
|
padding-top: var(--spacing-m);
|
|
}
|
|
|
|
@media (min-width: $breakpoint-large) {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
.main-wrapper__inner--filepage {
|
|
padding: 0;
|
|
}
|
|
|
|
.main-wrapper__inner--theater-mode {
|
|
padding-top: 0;
|
|
}
|
|
|
|
.main {
|
|
position: relative;
|
|
width: calc(100% - var(--side-nav-width) - var(--spacing-l));
|
|
max-width: var(--page-max-width);
|
|
z-index: 0;
|
|
margin-right: auto;
|
|
margin-left: auto;
|
|
|
|
@media (max-width: $breakpoint-medium) and (min-width: $breakpoint-small) {
|
|
margin: 0 var(--spacing-l);
|
|
}
|
|
|
|
@media (max-width: $breakpoint-medium) {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
.main--file-page {
|
|
width: 100%;
|
|
max-width: var(--page-max-width--filepage);
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
margin-top: var(--spacing-m);
|
|
padding: 0 var(--spacing-m);
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: flex-start;
|
|
position: relative;
|
|
|
|
> :first-child {
|
|
flex-grow: 2;
|
|
}
|
|
|
|
.file-page__secondary-content {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: center;
|
|
width: 100%;
|
|
margin-top: var(--spacing-m);
|
|
max-width: var(--page-max-width--filepage);
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
|
|
> :first-child {
|
|
flex: 1;
|
|
max-width: 100%;
|
|
}
|
|
|
|
@media (min-width: $breakpoint-medium) {
|
|
flex-direction: row;
|
|
}
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.file-page__post-comments {
|
|
margin-top: var(--spacing-l);
|
|
|
|
opacity: 0;
|
|
animation: fadeIn 2s;
|
|
animation-delay: 2s;
|
|
animation-fill-mode: forwards;
|
|
|
|
@media (min-width: $breakpoint-small) {
|
|
padding: var(--spacing-m);
|
|
}
|
|
}
|
|
|
|
.file-page__info {
|
|
margin-top: var(--spacing-m);
|
|
}
|
|
|
|
.file-page__recommended {
|
|
height: 0%;
|
|
width: 35rem;
|
|
margin-left: var(--spacing-m);
|
|
|
|
@media (max-width: $breakpoint-medium) {
|
|
width: 100%;
|
|
margin-left: 0;
|
|
margin-top: var(--spacing-l);
|
|
}
|
|
}
|
|
|
|
@media (max-width: $breakpoint-medium) {
|
|
flex-direction: column;
|
|
> :first-child {
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
padding: var(--spacing-xs);
|
|
flex-direction: column;
|
|
padding-top: 0;
|
|
}
|
|
}
|
|
|
|
.main--theater-mode {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
margin-left: 0;
|
|
margin-right: 0;
|
|
margin-top: 0;
|
|
width: 100vw;
|
|
max-width: none;
|
|
|
|
> :first-child {
|
|
margin-right: 0;
|
|
}
|
|
|
|
.file-page__info {
|
|
padding: 0 var(--spacing-m);
|
|
margin-top: var(--spacing-m);
|
|
max-width: var(--page-max-width--filepage);
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
.file-page__recommended {
|
|
width: 25rem;
|
|
}
|
|
|
|
.file-page__secondary-content {
|
|
padding: 0 var(--spacing-s);
|
|
|
|
@media (min-width: $breakpoint-medium) {
|
|
flex-direction: row;
|
|
}
|
|
}
|
|
}
|
|
|
|
.main--livestream {
|
|
width: calc(100vw - var(--spacing-xs) * 2);
|
|
margin: var(--spacing-xs);
|
|
|
|
@media (min-width: $breakpoint-medium) {
|
|
margin: var(--spacing-m);
|
|
margin-right: calc(var(--livestream-comments-width) + var(--spacing-m));
|
|
width: calc(100vw - var(--livestream-comments-width) - var(--spacing-m) * 2);
|
|
}
|
|
|
|
@media (min-width: $breakpoint-large) {
|
|
margin-right: calc(10vw + var(--livestream-comments-width) + var(--spacing-m));
|
|
}
|
|
}
|
|
|
|
.main--full-width {
|
|
@extend .main;
|
|
|
|
@media (min-width: $breakpoint-large) {
|
|
max-width: none;
|
|
width: 100%;
|
|
margin: 0 var(--spacing-l);
|
|
}
|
|
}
|
|
|
|
.main--auth-page {
|
|
width: 100%;
|
|
max-width: 70rem;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
padding: 0 var(--spacing-s);
|
|
|
|
@media (min-width: $breakpoint-small) {
|
|
margin-top: var(--spacing-main-padding);
|
|
padding: 0 var(--spacing-l);
|
|
}
|
|
}
|
|
|
|
.main--settings-page {
|
|
width: 100%;
|
|
max-width: 70rem;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
margin-top: var(--spacing-m);
|
|
padding: 0 var(--spacing-m);
|
|
|
|
.card__subtitle {
|
|
margin: 0 0 var(--spacing-s) 0;
|
|
font-size: var(--font-small);
|
|
}
|
|
|
|
.button--inverse {
|
|
color: var(--color-primary);
|
|
}
|
|
}
|
|
|
|
.main--markdown {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.main__auth-content {
|
|
display: flex;
|
|
position: relative;
|
|
flex-direction: column;
|
|
padding-bottom: var(--spacing-xl);
|
|
|
|
@media (min-width: $breakpoint-small) {
|
|
flex-direction: row;
|
|
|
|
> :first-child {
|
|
position: fixed;
|
|
background-color: var(--color-background);
|
|
width: calc(40% - var(--spacing-l));
|
|
margin-top: var(--spacing-xl);
|
|
}
|
|
|
|
> :nth-child(2) {
|
|
width: 50%;
|
|
margin-left: auto;
|
|
}
|
|
}
|
|
|
|
@media (min-width: $breakpoint-medium) {
|
|
> :first-child {
|
|
width: calc(30% - var(--spacing-l));
|
|
max-width: 25rem;
|
|
}
|
|
|
|
> :nth-child(2) {
|
|
width: 50%;
|
|
margin-left: auto;
|
|
}
|
|
}
|
|
}
|
|
|
|
.main--buy {
|
|
@extend .main--auth-page;
|
|
max-width: 30rem;
|
|
min-height: 400px;
|
|
|
|
.card {
|
|
height: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
iframe {
|
|
min-height: 420px;
|
|
background-color: var(--color-card-background);
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.sm:bg-grey-lighter {
|
|
background-color: var(--color-card-background);
|
|
}
|
|
}
|
|
|
|
.main--send {
|
|
@extend .main--buy;
|
|
max-width: 34rem;
|
|
}
|
|
|
|
.main--swap {
|
|
@extend .main--buy;
|
|
max-width: 34rem;
|
|
}
|
|
|
|
.main--report-content {
|
|
@extend .main--auth-page;
|
|
max-width: 40rem;
|
|
}
|
|
|
|
.main--empty {
|
|
align-self: center;
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
text-align: center;
|
|
padding: 0 var(--spacing-m);
|
|
margin-top: var(--spacing-l);
|
|
margin-bottom: var(--spacing-l);
|
|
width: 100%;
|
|
|
|
> .card {
|
|
width: 100%;
|
|
}
|
|
|
|
@media (min-width: $breakpoint-small) {
|
|
margin-top: 100px;
|
|
margin-bottom: 100px;
|
|
}
|
|
}
|
|
|
|
.main--launching {
|
|
width: 100vw;
|
|
height: 100vh;
|
|
background-color: var(--color-background);
|
|
}
|
|
|
|
.main--contained {
|
|
margin: auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
max-width: 60rem;
|
|
text-align: left;
|
|
|
|
& > * {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
.main--hoisted {
|
|
margin-top: calc(var(--spacing-s) * -1);
|
|
@media (min-width: $breakpoint-small) {
|
|
margin-top: calc(var(--spacing-l) * -1);
|
|
}
|
|
}
|
|
|
|
.main__sign-in,
|
|
.main__sign-up {
|
|
max-width: 27rem;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
.main__sign-up--graphic {
|
|
max-width: 47rem;
|
|
|
|
.card__second-pane {
|
|
width: 50%;
|
|
border: none;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: var(--color-login-graphic-background);
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
width: 100%;
|
|
}
|
|
|
|
.signup-image {
|
|
@media (max-width: $breakpoint-small) {
|
|
width: 50%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.card__title {
|
|
font-size: var(--font-heading);
|
|
font-weight: var(--font-weight-bold);
|
|
}
|
|
|
|
.card__main-actions {
|
|
border: none;
|
|
}
|
|
}
|
|
|
|
.main__channel-creation {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
max-width: 32rem;
|
|
}
|
|
|
|
.main-wrapper--scrollbar {
|
|
// The W3C future standard; currently supported by Firefox only.
|
|
// It'll hopefully auto fallback to this when 'webkit-scrollbar' below is deprecated in the future.
|
|
scrollbar-width: auto;
|
|
scrollbar-color: var(--color-scrollbar-thumb-bg) var(--color-scrollbar-track-bg);
|
|
}
|
|
|
|
.main-wrapper--scrollbar *::-webkit-scrollbar {
|
|
width: 12px;
|
|
}
|
|
|
|
.main-wrapper--scrollbar *::-webkit-scrollbar-track {
|
|
background: var(--color-scrollbar-track-bg);
|
|
}
|
|
|
|
.main-wrapper--scrollbar *::-webkit-scrollbar-thumb {
|
|
// Don't set 'border-radius' because Firefox's 'scrollbar-xx'
|
|
// standard currently doesn't support it. Stick with square
|
|
// scrollbar for all browsers.
|
|
background-color: var(--color-scrollbar-thumb-bg);
|
|
}
|