405 lines
No EOL
6.7 KiB
SCSS
405 lines
No EOL
6.7 KiB
SCSS
// Based on
|
|
// https://picturepan2.github.io/spectre/getting-started.html#installation
|
|
// Define variables to override default ones
|
|
$primary-color: #f99c19;
|
|
$body-font-color: #292929;
|
|
$dark-color: #525252;
|
|
$label-color: #7cd2ff;
|
|
$secondary-btn-color: #f1f1f1;
|
|
|
|
// Define nav bar colours.
|
|
$navbar-color: #17181f;
|
|
$navbar-border-color-dark: $navbar-color;
|
|
$navbar-primary-color: #fee860;
|
|
|
|
// Import full Spectre source code
|
|
@import "spectre/src/spectre";
|
|
|
|
// Global styles.
|
|
// - TODO: Make these non-global.
|
|
.btn, .form-input {
|
|
margin-right: $control-padding-x;
|
|
}
|
|
|
|
table th {
|
|
font-size: 0.65rem;
|
|
}
|
|
|
|
// Spectre fixes.
|
|
// - Weird avatar outline.
|
|
.avatar {
|
|
background: transparent;
|
|
}
|
|
|
|
// Custom styles.
|
|
// - Navigation bar.
|
|
$navbar-height: 60px;
|
|
$logo-height: $navbar-height - 20px;
|
|
|
|
.navbar-button {
|
|
border-color: $navbar-border-color-dark;
|
|
background-color: $navbar-primary-color;
|
|
color: $navbar-color;
|
|
|
|
&:focus {
|
|
box-shadow: none;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: darken($navbar-primary-color, 20%);
|
|
color: $navbar-color;
|
|
border-color: $navbar-border-color-dark;
|
|
}
|
|
}
|
|
|
|
#main-navbar {
|
|
background-color: $navbar-color;
|
|
|
|
.navbar {
|
|
height: $navbar-height;
|
|
}
|
|
|
|
// Unfortunately we must colour the controls in the navbar manually.
|
|
.search-input {
|
|
@extend .form-input;
|
|
border-color: $navbar-border-color-dark;
|
|
}
|
|
|
|
.search-input:focus {
|
|
box-shadow: none;
|
|
border-color: $navbar-border-color-dark;
|
|
}
|
|
|
|
.btn-primary {
|
|
@extend .navbar-button;
|
|
}
|
|
|
|
}
|
|
|
|
#img-logo {
|
|
vertical-align: middle;
|
|
height: $logo-height;
|
|
}
|
|
|
|
.menu-right {
|
|
// To make sure the user menu doesn't move off the screen.
|
|
left: auto;
|
|
right: 0;
|
|
position: absolute;
|
|
}
|
|
|
|
// - Main buttons
|
|
#main-buttons {
|
|
margin-top: $control-padding-y*2;
|
|
margin-bottom: $control-padding-y*2;
|
|
|
|
.dropdown > .btn {
|
|
background: $secondary-btn-color;
|
|
border-color: darken($secondary-btn-color, 5%);
|
|
color: invert($secondary-btn-color);
|
|
|
|
margin-right: $control-padding-x*2;
|
|
}
|
|
}
|
|
|
|
// - Thread table
|
|
.thread-title {
|
|
a, a:visited, a:hover {
|
|
color: $body-font-color;
|
|
text-decoration: none;
|
|
}
|
|
|
|
a.visited {
|
|
color: lighten($body-font-color, 40%);
|
|
}
|
|
}
|
|
|
|
$super-popular-color: #f86713;
|
|
$popular-color: darken($super-popular-color, 25%);
|
|
$views-color: #545d70;
|
|
|
|
.super-popular-text {
|
|
color: $super-popular-color;
|
|
}
|
|
|
|
.popular-text {
|
|
color: $popular-color;
|
|
}
|
|
|
|
.views-text {
|
|
color: $views-color;
|
|
}
|
|
|
|
.label-custom {
|
|
color: white;
|
|
background-color: $label-color;
|
|
|
|
font-size: 0.6rem;
|
|
padding-left: 0.3rem;
|
|
padding-right: 0.3rem;
|
|
border-radius: 5rem;
|
|
}
|
|
|
|
.last-visit-separator {
|
|
td {
|
|
border-bottom: 1px solid $super-popular-color;
|
|
line-height: 0.1rem;
|
|
padding: 0;
|
|
text-align: center;
|
|
}
|
|
|
|
span {
|
|
color: $super-popular-color;
|
|
padding: 0 8px;
|
|
font-size: 0.7rem;
|
|
background-color: $body-bg;
|
|
}
|
|
}
|
|
|
|
.no-border {
|
|
td {
|
|
border: none;
|
|
}
|
|
}
|
|
|
|
.triangle {
|
|
// TODO: Abstract this into a "category" class.
|
|
width: 0;
|
|
height: 0;
|
|
border-left: 0.3rem solid transparent;
|
|
border-right: 0.3rem solid transparent;
|
|
border-bottom: 0.6rem solid #98c766;
|
|
display: inline-block;
|
|
}
|
|
|
|
.load-more-separator {
|
|
text-align: center;
|
|
color: darken($label-color, 35%);
|
|
background-color: lighten($label-color, 15%);
|
|
text-transform: uppercase;
|
|
font-weight: bold;
|
|
font-size: 80%;
|
|
cursor: pointer;
|
|
|
|
td {
|
|
border: none;
|
|
padding: $control-padding-x $control-padding-y/2;
|
|
}
|
|
}
|
|
|
|
// - Thread view
|
|
.title {
|
|
margin-top: $control-padding-y*2;
|
|
margin-bottom: $control-padding-y*2;
|
|
|
|
p {
|
|
font-size: 1.4rem;
|
|
font-weight: bold;
|
|
|
|
color: darken($dark-color, 20%);
|
|
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
.posts {
|
|
@extend .grid-md;
|
|
@extend .container;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.post {
|
|
@extend .tile;
|
|
border-top: 1px solid $border-color;
|
|
padding-top: $control-padding-y-lg;
|
|
}
|
|
|
|
.post-icon {
|
|
@extend .tile-icon;
|
|
}
|
|
|
|
.post-avatar {
|
|
@extend .avatar;
|
|
@extend .avatar-xl;
|
|
}
|
|
|
|
.post-main {
|
|
@extend .tile-content;
|
|
|
|
margin-bottom: $control-padding-y-lg*2;
|
|
}
|
|
|
|
.post-title {
|
|
margin-bottom: $control-padding-y*2;
|
|
|
|
&, a, a:visited, a:hover {
|
|
color: lighten($body-font-color, 20%);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.post-username {
|
|
font-weight: bold;
|
|
display: inline-block;
|
|
}
|
|
|
|
.post-time {
|
|
float: right;
|
|
}
|
|
}
|
|
|
|
.post-buttons {
|
|
float: right;
|
|
|
|
> div {
|
|
display: inline-block;
|
|
}
|
|
|
|
.btn {
|
|
background: transparent;
|
|
border-color: transparent;
|
|
color: darken($secondary-btn-color, 40%);
|
|
|
|
margin: 0;
|
|
margin-left: $control-padding-y-sm;
|
|
}
|
|
|
|
.btn:hover {
|
|
background: $secondary-btn-color;
|
|
border-color: darken($secondary-btn-color, 5%);
|
|
color: invert($secondary-btn-color);
|
|
}
|
|
|
|
.btn:focus {
|
|
@include control-shadow(darken($secondary-btn-color, 50%));
|
|
}
|
|
|
|
.btn:active {
|
|
box-shadow: inset 0 0 .4rem .01rem darken($secondary-btn-color, 80%);
|
|
}
|
|
|
|
.like-button i:hover, .like-button i.fas {
|
|
color: #f783ac;
|
|
}
|
|
}
|
|
|
|
blockquote {
|
|
border-left: 0.2rem solid darken($bg-color, 10%);
|
|
background-color: $bg-color;
|
|
|
|
.detail {
|
|
margin-bottom: $control-padding-y;
|
|
color: lighten($body-font-color, 20%);
|
|
}
|
|
}
|
|
|
|
.quote-avatar {
|
|
@extend .avatar;
|
|
@extend .avatar-sm;
|
|
}
|
|
|
|
.quote-link {
|
|
float: right;
|
|
}
|
|
|
|
.user-mention {
|
|
@extend .chip;
|
|
vertical-align: initial;
|
|
font-weight: bold;
|
|
display: inline-block;
|
|
font-size: 85%;
|
|
height: inherit;
|
|
padding: 0.08rem 0.4rem;
|
|
background-color: darken($bg-color-dark, 5%);
|
|
|
|
img {
|
|
@extend .avatar;
|
|
@extend .avatar-sm;
|
|
}
|
|
}
|
|
|
|
.code-buttons {
|
|
position: absolute;
|
|
bottom: 0;
|
|
right: 0;
|
|
|
|
.btn-primary {
|
|
margin-bottom: $control-padding-y;
|
|
}
|
|
}
|
|
|
|
.execution-result {
|
|
@extend .toast;
|
|
|
|
h6 {
|
|
font-family: $base-font-family;
|
|
}
|
|
}
|
|
|
|
.execution-success {
|
|
@extend .toast-success;
|
|
}
|
|
|
|
.information {
|
|
@extend .tile;
|
|
border-top: 1px solid $border-color;
|
|
padding-top: $control-padding-y-lg*2;
|
|
padding-bottom: $control-padding-y-lg*2;
|
|
color: lighten($body-font-color, 20%);
|
|
.information-title {
|
|
font-weight: bold;
|
|
}
|
|
|
|
&.no-border {
|
|
border: none;
|
|
}
|
|
}
|
|
|
|
.information-icon {
|
|
@extend .tile-icon;
|
|
|
|
i {
|
|
width: $unit-16;
|
|
text-align: center;
|
|
font-size: 1rem;
|
|
|
|
}
|
|
}
|
|
|
|
.time-passed {
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.load-more-posts {
|
|
text-align: center;
|
|
color: darken($label-color, 35%);
|
|
background-color: lighten($label-color, 15%);
|
|
border: none;
|
|
text-transform: uppercase;
|
|
font-weight: bold;
|
|
cursor: pointer;
|
|
|
|
.information-main {
|
|
width: 100%;
|
|
text-align: left;
|
|
}
|
|
|
|
.more-post-count {
|
|
color: rgba(darken($label-color, 35%), 0.5);
|
|
margin-right: $control-padding-x*2;
|
|
float: right;
|
|
}
|
|
}
|
|
|
|
#reply-box {
|
|
|
|
.form-input {
|
|
// For reply text area.
|
|
margin-top: $control-padding-y*2;
|
|
resize: vertical;
|
|
}
|
|
|
|
.panel {
|
|
margin-top: $control-padding-y*2;
|
|
}
|
|
} |