lbry.tech/app/sass/pages/_playground.scss

470 lines
7.4 KiB
SCSS
Raw Normal View History

2018-10-06 00:46:08 +02:00
/*!
2018-10-03 22:27:13 +02:00
* Playground | Wrapper
*
2018-10-03 22:27:13 +02:00
* @class .playground
* @selector {::before}
* @selector {::after}
* @state {.waiting}
2018-10-06 00:46:08 +02:00
**/
2018-10-03 22:27:13 +02:00
.playground {
2018-10-06 00:46:08 +02:00
top: 1rem;
2018-08-07 00:51:32 +02:00
border-top: 1px solid rgba($black, 0.05);
position: relative;
2018-07-16 23:06:37 +02:00
&.waiting::before {
top: 0; right: 0;
bottom: 0; left: 0;
background-color: rgba($white, 0.7);
content: "";
2018-08-29 23:57:57 +02:00
cursor: progress;
position: absolute;
z-index: 5;
}
2018-08-07 00:51:32 +02:00
&::after {
@include clearfix;
2018-07-16 23:06:37 +02:00
}
}
2018-10-06 00:46:08 +02:00
/*!
2018-10-03 22:27:13 +02:00
* Playground | Navigation
*
2018-10-03 22:27:13 +02:00
* @class .playground__navigation
*
2018-10-03 22:27:13 +02:00
* @class .playground__navigation__example
2018-08-24 21:58:07 +02:00
* @selector {::before}
* @selector {:last-of-type}
* @state {.active}
* @state {:hover}
2018-10-06 00:46:08 +02:00
**/
2018-10-03 22:27:13 +02:00
.playground__navigation {
2018-09-27 18:11:26 +02:00
width: 100%;
2018-08-07 00:51:32 +02:00
list-style-type: none;
2018-09-27 18:11:26 +02:00
padding-top: 1.5rem;
2018-10-06 00:46:08 +02:00
padding-bottom: 1rem;
2018-09-27 18:11:26 +02:00
&::after {
@include clearfix;
}
2018-07-16 23:06:37 +02:00
}
2018-10-03 22:27:13 +02:00
.playground__navigation__example {
2018-10-06 00:46:08 +02:00
width: 33.333333%;
2018-08-07 00:51:32 +02:00
cursor: pointer;
2018-09-27 18:11:26 +02:00
float: left;
2018-08-24 21:58:07 +02:00
position: relative;
2018-09-27 18:11:26 +02:00
text-align: center;
2018-08-24 21:58:07 +02:00
&::before {
2018-09-27 18:11:26 +02:00
width: 100%; height: 2.5rem;
top: -0.6rem; left: 0;
2018-08-24 21:58:07 +02:00
2018-09-27 18:11:26 +02:00
content: "example " attr(data-example);
font-size: 0.6rem;
font-style: italic;
2018-08-24 21:58:07 +02:00
line-height: 1.1;
position: absolute;
text-align: center;
2018-09-27 18:11:26 +02:00
text-transform: uppercase;
2018-07-16 23:06:37 +02:00
}
&:not(.active) {
2018-08-24 21:58:07 +02:00
&::before,
2018-08-07 00:51:32 +02:00
button,
2018-07-16 23:06:37 +02:00
span {
2018-08-07 00:51:32 +02:00
color: rgba($black, 0.3);
2018-07-16 23:06:37 +02:00
}
}
2018-08-07 00:51:32 +02:00
&.active,
&:hover {
button {
color: $teal;
}
2018-07-16 23:06:37 +02:00
2018-08-24 21:58:07 +02:00
&::before,
2018-07-16 23:06:37 +02:00
span {
2018-08-07 00:51:32 +02:00
color: $black;
2018-07-16 23:06:37 +02:00
}
}
2018-09-27 18:11:26 +02:00
&.completed {
&::after {
width: 100%; height: 100%;
top: 0; left: 0;
background-color: rgba($white, 0.7);
content: "";
font-size: 3rem;
line-height: 0.85;
position: absolute;
z-index: 10;
}
}
2018-08-24 21:58:07 +02:00
&::before,
2018-08-07 00:51:32 +02:00
button,
2018-07-16 23:06:37 +02:00
span {
2018-08-07 00:51:32 +02:00
transition: color 0.2s;
2018-07-16 23:06:37 +02:00
}
button {
2018-08-07 00:51:32 +02:00
background-color: transparent;
font-size: 1.25rem;
font-weight: 600;
2018-07-16 23:06:37 +02:00
}
span {
display: block;
2018-08-07 00:51:32 +02:00
font-size: 1rem;
2018-07-16 23:06:37 +02:00
}
}
2018-10-06 00:46:08 +02:00
/*!
2018-10-03 22:27:13 +02:00
* Playground | Content
*
2018-10-03 22:27:13 +02:00
* @class .playground__content
*
2018-10-03 22:27:13 +02:00
* @class .playground__content__meme
* @selector {::after}
*
2018-10-03 22:27:13 +02:00
* @class .playground__content__meme__canvas
*
2018-10-03 22:27:13 +02:00
* @class .playground__content__meme__canvas__thumbnail
* @selector {:last-of-type}
* @state {.selected}
*
2018-10-03 22:27:13 +02:00
* @class .playground__content__meme__editor
*
2018-10-03 22:27:13 +02:00
* @class .playground__content__trends
* @selector {::after}
* @state {:empty}
*
2018-10-03 22:27:13 +02:00
* @class .playground__content__trend
* @class .playground__content__urlbar
2018-10-06 00:46:08 +02:00
**/
2018-10-03 22:27:13 +02:00
.playground__content {
2018-09-27 18:11:26 +02:00
border-top: 1px solid rgba($black, 0.05);
overflow-y: visible;
padding-top: 1rem;
2018-10-06 00:46:08 +02:00
padding-bottom: 1rem;
.loader {
@extend .__loading;
&::after {
content: "Processing request";
}
}
2018-09-27 18:11:26 +02:00
h3 {
font-size: 1.5rem;
margin-bottom: 1rem;
}
2018-09-27 18:11:26 +02:00
pre {
font-size: 1rem;
}
2018-07-16 23:06:37 +02:00
}
2018-10-03 22:27:13 +02:00
.playground__content__meme {
overflow-y: auto;
position: relative;
&::after {
@include clearfix;
}
}
2018-10-03 22:27:13 +02:00
.playground__content__meme__canvas {
2018-10-06 00:46:08 +02:00
width: 48%;
float: left;
margin-right: 2%;
2018-09-27 18:11:26 +02:00
position: relative;
canvas {
width: 100%; height: 100%;
background-color: rgba($teal, 0.3);
margin-bottom: 1rem;
}
}
2018-10-06 00:46:08 +02:00
.playground__content__meme__canvas__thumbnail { // sass-lint:disable-line bem-depth // TODO: FIX THIS
width: 5rem; height: 5rem;
border-style: solid;
border-width: 2px;
2018-10-06 00:46:08 +02:00
cursor: pointer;
margin-bottom: 1rem;
object-fit: contain;
object-position: center;
&:not(:last-of-type) {
margin-right: 1rem;
}
&:not(.selected) {
border-color: transparent;
}
&.selected {
border-color: $black;
}
}
2018-10-03 22:27:13 +02:00
.playground__content__meme__editor {
2018-10-10 18:39:50 +02:00
width: 50%; min-height: 50vh;
2018-10-06 00:46:08 +02:00
float: right;
2018-10-09 18:01:07 +02:00
h2 {
margin-bottom: 1rem;
&.__metadata {
padding-top: 3rem;
}
}
fieldset {
border: none;
&:not(:last-of-type) {
margin-bottom: 1rem;
}
}
label {
2018-10-06 00:46:08 +02:00
width: 100%;
color: rgba($black, 0.3);
display: block;
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.05rem;
margin-bottom: 0.025rem;
text-transform: uppercase;
}
input:not([type="checkbox"]):not([type="submit"]),
select,
textarea {
@media (min-width: 901px) {
font-size: 1.25rem;
}
@media (max-width: 900px) {
font-size: 1.05rem;
}
}
input {
&:not([type="checkbox"]):not([type="file"]):not([type="submit"]) {
2018-10-06 00:46:08 +02:00
width: 100%;
border-bottom: 2px solid;
padding-bottom: 0.15rem;
transition: all 0.2s;
}
&:not([type="file"]):not([type="submit"]) {
&:not(:hover):not(:active) {
border-color: $black;
}
&:hover,
&:active {
border-color: $teal;
}
}
&[type="checkbox"] {
width: 1.25rem; height: 1.25rem;
2018-10-06 00:46:08 +02:00
top: 0.35rem;
border: 2px solid;
margin-right: 0.5rem;
position: relative;
&::after {
width: 100%; height: 100%;
content: "";
font-size: 1.5rem;
line-height: 1rem;
position: absolute;
}
&:not(:checked)::after {
color: transparent;
}
&:checked::after {
color: $teal;
}
}
}
select,
textarea {
width: 100%;
2018-10-06 00:46:08 +02:00
border-bottom: 2px solid;
&:not(:hover):not(:active) {
border-color: $black;
}
&:hover,
&:active {
border-color: $teal;
}
}
select {
background-image: url("/assets/media/svg/down.svg");
background-position: 99% center;
background-repeat: no-repeat;
background-size: 1rem;
padding-right: 2rem;
}
textarea {
min-height: 100px;
resize: vertical;
}
}
2018-10-03 22:27:13 +02:00
.playground__content__trends {
2018-09-27 18:11:26 +02:00
min-width: 0; min-height: 0;
display: grid;
2018-09-27 18:11:26 +02:00
grid-gap: 1rem;
grid-template: repeat(1, 1fr) / repeat(3, 1fr);
position: relative;
&:empty {
@extend .__loading;
&::after {
2018-08-30 23:53:52 +02:00
content: "Fetching content from LBRY";
}
}
}
2018-10-03 22:27:13 +02:00
.playground__content__trend {
img {
2018-09-27 18:11:26 +02:00
width: 100%; height: 213px;
cursor: pointer;
display: block;
margin-bottom: 0.5rem;
object-fit: cover;
object-position: center;
position: relative;
}
figcaption {
cursor: pointer;
font-size: 1rem;
line-height: 1.33;
span {
color: rgba($black, 0.3);
display: block;
font-size: 0.8rem;
letter-spacing: 0.025rem;
}
}
}
2018-10-03 22:27:13 +02:00
.playground__content__urlbar {
border: 1px solid rgba($black, 0.05);
display: flex;
margin-bottom: 1rem;
button,
input,
span {
float: left;
vertical-align: middle;
}
button,
span {
height: 100%;
}
button {
2018-10-06 00:46:08 +02:00
width: 6rem;
text-transform: lowercase;
}
input {
width: calc(100% - 9.5rem);
2018-10-06 00:46:08 +02:00
font-size: 1rem;
&::placeholder {
color: rgba($black, 0.5);
opacity: 1;
}
}
span {
@include no-user-select;
2018-10-06 00:46:08 +02:00
width: 3.5rem;
color: rgba($black, 0.5);
cursor: default;
font-size: 1rem;
line-height: 2rem;
text-align: right;
}
}
2018-09-27 18:11:26 +02:00
2018-10-06 00:46:08 +02:00
/*!
2018-10-03 22:27:13 +02:00
* Playground | Description
2018-09-27 18:11:26 +02:00
*
2018-10-03 22:27:13 +02:00
* @class .playground__description
2018-10-06 00:46:08 +02:00
**/
2018-09-27 18:11:26 +02:00
2018-10-03 22:27:13 +02:00
.playground__description {
2018-10-06 00:46:08 +02:00
padding: 1rem;
2018-09-27 18:11:26 +02:00
cursor: default;
font-size: 1rem;
line-height: 1.33;
2018-09-27 20:00:34 +02:00
&:not(.success) {
background-color: rgba($black, 0.05);
text-align: center;
}
&.success {
background-color: rgba($teal, 0.05);
strong {
display: block;
text-transform: uppercase;
}
}
2018-09-28 21:09:45 +02:00
2018-10-10 18:39:50 +02:00
code {
padding: 2px 5px;
background-color: $black;
border-radius: 0.2rem;
color: $white;
font-size: 0.8rem;
}
2018-09-28 21:09:45 +02:00
a {
font-weight: 700;
}
2018-09-27 18:11:26 +02:00
}