640 lines
13 KiB
SCSS
640 lines
13 KiB
SCSS
@import "/node_modules/bulma/bulma.sass";
|
|
@import "/node_modules/bulma-prefers-dark/bulma-prefers-dark.sass";
|
|
$fa-font-path: "/node_modules/@fortawesome/fontawesome-free/webfonts";
|
|
@import "/node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss";
|
|
@import "/node_modules/@fortawesome/fontawesome-free/scss/regular.scss";
|
|
@import "/node_modules/@fortawesome/fontawesome-free/scss/solid.scss";
|
|
$bg-color: yellow;
|
|
$border-color: red;
|
|
|
|
$volume-color: #fdecd1;
|
|
$issue-color: #f2f1f9;
|
|
$size-8: 0.9rem;
|
|
$size-9: 0.7rem;
|
|
$flexSize: 4em;
|
|
$boxSpacing: 1em;
|
|
$colorText: #404646;
|
|
body {
|
|
background: #20292f;
|
|
}
|
|
|
|
.is-size-8 {
|
|
font-size: $size-8;
|
|
}
|
|
|
|
.is-size-9 {
|
|
font-size: $size-9;
|
|
}
|
|
|
|
.small-tag {
|
|
align-items: center;
|
|
background-color: #fff6de;
|
|
border-radius: 4px;
|
|
color: #4a4a4a;
|
|
display: inline-flex;
|
|
font-size: $size-9;
|
|
height: 1.5em;
|
|
justify-content: center;
|
|
line-height: 1.5;
|
|
padding-left: 0.55em;
|
|
padding-right: 0.55em;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
// global style overrides
|
|
|
|
pre {
|
|
border-radius: 0.5rem;
|
|
}
|
|
|
|
.container {
|
|
margin-top: 2em;
|
|
}
|
|
.app {
|
|
font-family: helvetica, arial, sans-serif;
|
|
padding: 2em;
|
|
border: 5px solid $border-color;
|
|
|
|
p {
|
|
background-color: $bg-color;
|
|
}
|
|
}
|
|
// Navbar
|
|
.navbar {
|
|
border-bottom: 1px solid #f2f1f9;
|
|
.download-progress-meter {
|
|
margin-left: -300px;
|
|
min-width: 500px;
|
|
}
|
|
.airdcpp-status {
|
|
min-width: 300px;
|
|
line-height: 1.7rem;
|
|
}
|
|
body {
|
|
background: #454a59;
|
|
}
|
|
|
|
.pulsating-circle {
|
|
position: relative;
|
|
left: -120%;
|
|
top: 20%;
|
|
transform: translateX(-50%) translateY(-50%);
|
|
width: 15px;
|
|
height: 15px;
|
|
|
|
&:before {
|
|
content: "";
|
|
position: relative;
|
|
display: block;
|
|
width: 300%;
|
|
height: 300%;
|
|
box-sizing: border-box;
|
|
margin-left: -100%;
|
|
margin-top: -100%;
|
|
border-radius: 45px;
|
|
background-color: #01a4e9;
|
|
animation: pulse-ring 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
|
|
}
|
|
|
|
&:after {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: green;
|
|
border-radius: 15px;
|
|
box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
|
animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s infinite;
|
|
}
|
|
}
|
|
|
|
@keyframes pulse-ring {
|
|
0% {
|
|
transform: scale(0.33);
|
|
}
|
|
80%,
|
|
100% {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
@keyframes pulse-dot {
|
|
0% {
|
|
transform: scale(0.8);
|
|
}
|
|
50% {
|
|
transform: scale(1);
|
|
}
|
|
100% {
|
|
transform: scale(0.8);
|
|
}
|
|
}
|
|
}
|
|
|
|
.navbar-item.is-mega {
|
|
position: static;
|
|
|
|
.is-mega-menu-title {
|
|
margin-bottom: 0;
|
|
padding: 0.375rem 1rem;
|
|
}
|
|
}
|
|
|
|
// Dashboard
|
|
|
|
// slick slider overrides
|
|
.slick-slider {
|
|
margin-left: -10px;
|
|
.slick-list {
|
|
padding: 0 0px 15px 10px;
|
|
}
|
|
}
|
|
.recent-comics-container {
|
|
display: -webkit-box; /* Not needed if autoprefixing */
|
|
display: -ms-flexbox; /* Not needed if autoprefixing */
|
|
display: flex;
|
|
margin-left: -22px; /* gutter size offset */
|
|
width: auto;
|
|
|
|
.recent-comics-column {
|
|
padding-left: 22px; /* gutter size */
|
|
background-clip: padding-box;
|
|
& > div {
|
|
/* change div to reference your elements you put in <Masonry> */
|
|
margin-bottom: 20px;
|
|
}
|
|
}
|
|
}
|
|
.volumes-container {
|
|
.stack {
|
|
display: inline-block;
|
|
border-radius: 0.5rem;
|
|
box-shadow:
|
|
/* The top layer shadow */ 0 -1px 1px rgba(0, 0, 0, 0.15),
|
|
/* The second layer */ 0 -10px 0 -5px #eee,
|
|
/* The second layer shadow */ 0 -10px 1px -4px rgba(0, 0, 0, 0.15),
|
|
/* The third layer */ 0 -20px 0 -10px #eee,
|
|
/* The third layer shadow */ 0 -20px 1px -9px rgba(0, 0, 0, 0.15);
|
|
img {
|
|
height: auto;
|
|
border-top-left-radius: 0.5rem;
|
|
border-top-right-radius: 0.5rem;
|
|
border-bottom-left-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
}
|
|
.stack-title {
|
|
margin-bottom: 0.4rem;
|
|
}
|
|
.content {
|
|
margin: -5px 0 0 0;
|
|
padding: 0.5rem 1rem;
|
|
border-bottom-left-radius: 0.25rem;
|
|
box-shadow: 1px 8px 23px 7px rgba(0, 0, 0, 0.12);
|
|
border-bottom-right-radius: 0.25rem;
|
|
}
|
|
}
|
|
|
|
.volumes-grid {
|
|
display: -webkit-box; /* Not needed if autoprefixing */
|
|
display: -ms-flexbox; /* Not needed if autoprefixing */
|
|
display: flex;
|
|
margin-left: -30px; /* gutter size offset */
|
|
width: auto;
|
|
}
|
|
.volumes-grid-column {
|
|
padding-left: 22px; /* gutter size */
|
|
background-clip: padding-box;
|
|
& > div {
|
|
/* change div to reference your elements you put in <Masonry> */
|
|
margin-bottom: 20px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.min {
|
|
overflow: visible;
|
|
margin: auto;
|
|
.tag__custom {
|
|
height: auto !important;
|
|
padding: 0.3rem;
|
|
white-space: unset !important;
|
|
width: 100%;
|
|
background-color: #effaf5;
|
|
color: #257953;
|
|
}
|
|
.tags {
|
|
display: inline;
|
|
margin-right: 5px;
|
|
margin-left: 5px;
|
|
&:first-child {
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
pre {
|
|
border-radius: 0.4em;
|
|
margin: 10px 0 10px 0;
|
|
white-space: pre-wrap;
|
|
}
|
|
}
|
|
|
|
.generic-card {
|
|
display: inline-block;
|
|
background-color: hsl(232, 11%, 15%);
|
|
border-top-left-radius: 0.4rem;
|
|
border-top-right-radius: 0.4rem;
|
|
border-bottom-left-radius: 0.4rem;
|
|
border-bottom-right-radius: 0.4rem;
|
|
box-shadow: inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.1),
|
|
/* 2. shadow ring 👇 */ 0 0 0 1px hsla(230, 13%, 9%, 0.075),
|
|
/* 3. multiple soft shadows 👇 */ 0 0.3px 0.4px hsla(230, 13%, 9%, 0.02),
|
|
0 0.9px 1.5px hsla(230, 13%, 9%, 0.045),
|
|
0 3.5px 6px hsla(230, 13%, 9%, 0.09);
|
|
|
|
.green-border {
|
|
border: 1px dotted #168b64;
|
|
border-radius: 0.4rem;
|
|
}
|
|
|
|
.truncate {
|
|
width: 100px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.partial-rounded-card-image {
|
|
figure {
|
|
display: flex;
|
|
img {
|
|
border-top-left-radius: 0.4rem;
|
|
border-top-right-radius: 0.4rem;
|
|
border-bottom-left-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
}
|
|
}
|
|
}
|
|
.rounded-card-image {
|
|
figure {
|
|
display: flex;
|
|
img {
|
|
border-radius: 0.4rem;
|
|
}
|
|
}
|
|
}
|
|
.card-content {
|
|
.card-title {
|
|
margin-bottom: 0.4rem;
|
|
}
|
|
.custom-icon,
|
|
i {
|
|
margin: 4px 4px 4px 0;
|
|
}
|
|
padding: 0.5rem 1rem;
|
|
}
|
|
}
|
|
.card-container {
|
|
// display: grid;
|
|
// grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
// column-gap: 0.5em;
|
|
// row-gap: 1.2em;
|
|
|
|
.card {
|
|
margin: 0 0 15px 0;
|
|
|
|
.partial-rounded-card-image {
|
|
img {
|
|
border-top-left-radius: 0.4rem;
|
|
border-top-right-radius: 0.4rem;
|
|
border-bottom-left-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
}
|
|
}
|
|
.rounded-card-image {
|
|
border-radius: 0.4rem;
|
|
}
|
|
|
|
.is-horizontal {
|
|
// margin: $boxSpacing / 2;
|
|
border-radius: 1.5em;
|
|
height: $flexSize;
|
|
max-width: $flexSize * 3;
|
|
flex: 1 1 auto;
|
|
display: flex;
|
|
.card-image {
|
|
// leaving this here... for posterity
|
|
img.image {
|
|
border-top-left-radius: 8px;
|
|
border-bottom-left-radius: 8px;
|
|
border-top-right-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
height: 100%;
|
|
max-width: $flexSize * 1.3;
|
|
object-fit: cover;
|
|
flex: 1 1 auto;
|
|
}
|
|
img.cropped-image {
|
|
width: 70px;
|
|
border-top-left-radius: 8px;
|
|
border-bottom-left-radius: 8px;
|
|
border-top-right-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
height: 64px;
|
|
object-fit: cover;
|
|
object-position: 100% 0;
|
|
// flex: 1 1 auto;
|
|
}
|
|
}
|
|
}
|
|
.card-content {
|
|
align-self: top;
|
|
flex: 1;
|
|
padding-left: 0.7em;
|
|
padding-top: 0.4em;
|
|
padding-bottom: 0em;
|
|
}
|
|
}
|
|
}
|
|
|
|
// raw file details
|
|
.raw-file-details {
|
|
padding: 1rem;
|
|
background: #30475e;
|
|
border-radius: 0.5rem;
|
|
}
|
|
|
|
.comic-viewer {
|
|
border: 1px solid red;
|
|
}
|
|
|
|
// comicvine metadata
|
|
.comicvine-metadata {
|
|
background-color: #d6cc99;
|
|
padding: 0.8rem;
|
|
border-radius: 0.5rem;
|
|
}
|
|
|
|
.issue-metadata {
|
|
background-color: #57615c;
|
|
padding: 0.8em;
|
|
border-radius: 0.5rem;
|
|
.name {
|
|
font-size: 0.95rem;
|
|
}
|
|
}
|
|
|
|
.comicInfo-metadata {
|
|
background-color: #d6cc99;
|
|
color: #000;
|
|
padding: 0.8rem;
|
|
border-radius: 0.5rem;
|
|
}
|
|
|
|
// Comic Detail
|
|
.comic-detail {
|
|
dl {
|
|
dd {
|
|
margin: 0;
|
|
}
|
|
}
|
|
.button {
|
|
.airdcpp-text {
|
|
margin: 0 0 0 0.2rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
// AirDC++ search results
|
|
.dupe-search-result {
|
|
background: lavender;
|
|
}
|
|
|
|
// Search
|
|
.search {
|
|
.main-search-bar {
|
|
border: 0;
|
|
border-bottom: 1px solid #999;
|
|
border-radius: 0;
|
|
outline: 0;
|
|
background: transparent;
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
// Library
|
|
.header-area {
|
|
background: #20292f;
|
|
width: 100%;
|
|
padding: 25px 0 15px 0;
|
|
position: sticky;
|
|
z-index: 9;
|
|
top: 57px;
|
|
}
|
|
|
|
.library {
|
|
.table-controls {
|
|
background: #20292f;
|
|
justify-content: space-between;
|
|
position: sticky;
|
|
top: 126px;
|
|
padding-bottom: 10px;
|
|
}
|
|
.pagination {
|
|
margin: 0;
|
|
}
|
|
|
|
table {
|
|
background: #20292f;
|
|
border-collapse: separate;
|
|
width: 100%;
|
|
thead {
|
|
background: #20292f;
|
|
position: sticky;
|
|
top: 250px;
|
|
z-index: 1;
|
|
min-height: 130px;
|
|
}
|
|
tr {
|
|
td {
|
|
border: 0 none;
|
|
.card {
|
|
margin: 8px 0 7px 0;
|
|
.name {
|
|
margin: 0 0 4px 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
tbody {
|
|
padding: 10px 0 0 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Comic Detail
|
|
.control-palette {
|
|
background-color: #fff6de;
|
|
display: inline-block;
|
|
i {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
// padding: 1.5rem 2rem;
|
|
}
|
|
}
|
|
|
|
// airdcpp downloads tab
|
|
.tabs {
|
|
.download-icon-labels {
|
|
.downloads-count {
|
|
margin: 0 1em -1px 0.4em;
|
|
border: 1px solid #ccc;
|
|
}
|
|
}
|
|
.download-tab-name {
|
|
}
|
|
}
|
|
|
|
// drawer content padding override
|
|
.slide-pane__content {
|
|
padding: 24px 12px;
|
|
}
|
|
|
|
.slide-pane__header {
|
|
margin-top: 3.5rem;
|
|
}
|
|
|
|
.comic-vine-match-drawer {
|
|
// comic detail drawer
|
|
|
|
.search-criteria-card {
|
|
width: 100%;
|
|
.card-content {
|
|
padding: 10px;
|
|
.ant-divider-horizontal {
|
|
margin: 12px 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.field {
|
|
margin: 5px 0 0 0;
|
|
}
|
|
}
|
|
|
|
// Volume detail
|
|
.volume-details {
|
|
.is-volume-related {
|
|
$tag-background-color: $volume-color;
|
|
}
|
|
.issues-container {
|
|
display: -webkit-box; /* Not needed if autoprefixing */
|
|
display: -ms-flexbox; /* Not needed if autoprefixing */
|
|
display: flex;
|
|
margin-left: -10px; /* gutter size offset */
|
|
width: auto;
|
|
.issues-column {
|
|
max-width: 102px;
|
|
margin: 10px;
|
|
background-clip: padding-box;
|
|
& > div {
|
|
/* change div to reference your elements you put in <Masonry> */
|
|
margin-bottom: 20px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// Potential issue matches in library slideout panel
|
|
.potential-matches-container {
|
|
.potential-issue-match {
|
|
border-radius: 0.3rem;
|
|
background-color: beige;
|
|
padding: 10px;
|
|
pre {
|
|
padding: 5px;
|
|
background-color: transparent;
|
|
border-radius: 0.3rem;
|
|
white-space: pre-wrap; /* Since CSS 2.1 */
|
|
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
|
white-space: -pre-wrap; /* Opera 4-6 */
|
|
white-space: -o-pre-wrap; /* Opera 7 */
|
|
word-wrap: break-word;
|
|
}
|
|
.generic-card {
|
|
max-width: 90px;
|
|
}
|
|
}
|
|
}
|
|
|
|
// comicvine search results
|
|
.search-results-container {
|
|
margin: 15px 0 0 0;
|
|
overflow: hidden;
|
|
|
|
.search-result {
|
|
margin: 0 0 10px 0;
|
|
padding: 1em;
|
|
border-radius: 10px;
|
|
background: #f2f1f9;
|
|
.cover-image {
|
|
border-radius: 5px;
|
|
}
|
|
.search-result-details {
|
|
.score {
|
|
float: right;
|
|
}
|
|
}
|
|
.volume-information {
|
|
margin-top: -2.5em;
|
|
width: 80%;
|
|
background: #fdecd1;
|
|
border-radius: 10px;
|
|
}
|
|
.vertical-line {
|
|
position: relative;
|
|
top: -25px;
|
|
left: 1.5rem;
|
|
border: 2px dotted #ccc;
|
|
width: 20px;
|
|
min-height: 35px;
|
|
|
|
border-color: transparent transparent #f3a22d #f3a22d;
|
|
border-bottom-left-radius: 10px;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Library grid
|
|
.my-masonry-grid {
|
|
display: -webkit-box; /* Not needed if autoprefixing */
|
|
display: -ms-flexbox; /* Not needed if autoprefixing */
|
|
display: flex;
|
|
margin-left: -30px; /* gutter size offset */
|
|
width: auto;
|
|
}
|
|
.my-masonry-grid_column {
|
|
padding-left: 30px; /* gutter size */
|
|
background-clip: padding-box;
|
|
}
|
|
|
|
.my-masonry-grid_column > div {
|
|
/* change div to reference your elements you put in <Masonry> */
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
// progress
|
|
.progress-indicator-container {
|
|
height: 100%;
|
|
padding: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
.indicator {
|
|
padding: 5px;
|
|
width: 120px;
|
|
height: 120px;
|
|
}
|
|
}
|