mempool/frontend/src/styles.scss

1322 lines
No EOL
23 KiB
SCSS

/* Theme */
$bg: #1d1f31;
$active-bg: #11131f;
$hover-bg: #12131e;
$fg: #fff;
$nav-bg: $bg;
$title-fg: #4a68b9;
$taproot: #eba814;
$taproot-light: #d5a90a;
$taproot-dark: #9d7c05;
/* Bootstrap */
$body-bg: $bg;
$body-color: $fg;
$gray-800: $bg;
$gray-700: $fg;
$nav-tabs-link-active-bg: $active-bg;
$primary: #105fb0;
$secondary: #2d3348;
$tertiary: #653b9c;
$success: #1a9436;
$info: #1bd8f4;
$h5-font-size: 1.15rem !default;
$pagination-bg: $body-bg;
$pagination-border-color: $gray-800;
$pagination-disabled-bg: $fg;
$pagination-disabled-border-color: $bg;
$pagination-active-color: $fg;
$pagination-active-bg: $tertiary;
$pagination-hover-bg: $hover-bg;
$pagination-hover-border-color: $bg;
$pagination-disabled-bg: $bg;
$custom-select-indicator-color: $fg;
.input-group-text {
background-color: #1c2031 !important;
border: 1px solid #20263e !important;
}
$link-color: $info;
$link-decoration: none !default;
$link-hover-color: darken($link-color, 15%) !default;
$link-hover-decoration: underline !default;
$dropdown-bg: $bg;
$dropdown-link-color: $fg;
$dropdown-link-hover-color: $fg;
$dropdown-link-hover-bg: $active-bg;
$dropdown-link-active-color: $fg;
$dropdown-link-active-bg: $active-bg;
@import "bootstrap/scss/bootstrap";
@import 'tlite/tlite.css';
:root {
--bg: #{$bg};
--active-bg: #{$active-bg};
--hover-bg: #{$hover-bg};
--fg: #{$fg};
--nav-bg: #{$nav-bg};
--title-fg: #{$title-fg};
--primary: #{$primary};
--secondary: #{$secondary};
--tertiary: #{$tertiary};
--success: #{$success};
--info: #{$info};
--link-color: #{$link-color};
--link-hover-color: #{$link-hover-color};
--icon: #f1f1f1;
--skeleton-bg: #2e324e;
--skeleton-bg-light: #5d6182;
--box-bg: #24273e;
--stat-box-bg: #181b2d;
--alert-bg: #3a1c61;
--navbar-bg: #212121;
--transparent-fg: #ffffff66;
--fade-out-box-bg-start: rgba(36, 39, 62, 0);
--fade-out-box-bg-end: rgba(36, 39, 62, 1);
--opacity: 0.57;
--testnet: #1d486f;
--signet: #6f1d5d;
--liquid: #116761;
--liquidtestnet: #494a4a;
--mainnet-alt: #9339f4;
--testnet-alt: #183550;
--signet-alt: #471850;
--liquidtestnet-alt: #272e46;
--taproot: #eba814;
--taproot-light: #d5a90a;
--taproot-dark: #9d7c05;
--green: #3bcc49;
--red: #dc3545;
--yellow: #fff000;
--grey: #6c757d;
--tooltip-grey: #b1b1b1;
--orange: #b86d12;
--search-button: #4d2d77;
--search-button-border: #472a6e;
--search-button-focus: #533180;
--search-button-shadow: #7c58ab80;
}
html, body {
height: 100%;
}
body {
background-color: var(--active-bg);
padding-bottom: 60px;
}
.container {
position: relative;
}
main {
margin-top: 24px;
}
.full-height {
@media (max-width: 767.98px) {
min-height: 100vh;
}
}
:focus {
outline: none !important;
}
.box {
min-height: 1px;
padding: 1.25rem;
position: relative;
min-width: 0;
word-wrap: break-word;
background-color: var(--box-bg);
background-clip: border-box;
border: 1px solid rgba(0,0,0,.125);
box-shadow: 0.125rem 0.125rem 0.25rem rgba(0,0,0,0.075);
}
.preview-box {
min-height: 520px;
padding: 1rem 3rem 1.5rem;
}
@media (max-width: 767.98px) {
.box {
padding: 0.75rem;
}
}
.navbar-nav.liquid > .active {
background-color: var(--liquid) !important;
}
.navbar-nav.testnet > .active {
background-color: var(--testnet) !important;
}
.navbar-nav.signet > .active {
background-color: var(--signet) !important;
}
.navbar-nav.liquidtestnet > .active {
background-color: var(--liquidtestnet) !important;
}
.form-control {
color: var(--fg);
background-color: var(--secondary);
border: 1px solid rgba(17, 19, 31, 0.2);
}
.form-control:focus {
color: var(--fg);
background-color: var(--secondary);
}
.btn-purple {
background-color: var(--tertiary);
border-color: var(--tertiary);
}
.btn-purple:not(:disabled):not(.disabled):active, .btn-purple:not(:disabled):not(.disabled).active, .show > .btn-purple.dropdown-toggle {
color: #fff;
background-color: var(--search-button);
border-color: var(--search-button-border);
}
.btn-purple:focus, .btn-purple.focus {
color: #fff;
background-color: var(--search-button-focus);
border-color: var(--search-button);
box-shadow: 0 0 0 0.2rem var(--search-button-shadow);
}
.btn-purple:hover {
color: #fff;
background-color: var(--search-button-focus);
border-color: var(--search-button);
}
.form-control.form-control-secondary {
color: #fff;
background-color: var(--secondary);
border: 1px solid var(--secondary);
}
.form-control.form-control-secondary:focus {
color: var(--fg);
}
.h2-match-table {
padding-left: .65rem;
}
.skeleton-loader {
box-sizing: border-box;
/**
* `overflow` and `position` are required steps to make sure
* the component respects the specified dimensions
* given via `theme` object @Input attribute
*/
overflow: hidden;
position: relative;
animation: progress 2s ease-in-out infinite;
background: var(--skeleton-bg) no-repeat;
background-image: linear-gradient(
90deg,
rgba(255, 255, 255, 0),
var(--skeleton-bg-light),
rgba(255, 255, 255, 0)
);
background-size: 200px 100%;
border-radius: 4px;
width: 100%;
height: 14px;
display: inline-block;
&:after,
&:before {
box-sizing: border-box;
}
&.circle {
width: 40px;
height: 40px;
margin: 5px;
border-radius: 50%;
}
}
@keyframes progress {
0% {
background-position: -200px 0;
}
100% {
background-position: calc(200px + 100%) 0;
}
}
.symbol {
color: var(--transparent-fg);
font-size: 12px;
}
.progress-text {
span {
color: #fff !important;
}
}
.block-size, .blocks-container {
.symbol {
font-size: 16px;
color: #fff !important;
}
}
.break-all {
white-space: normal;
word-break: break-all;
}
.title-block {
color: var(--fg);
padding-top: 20px;
padding-bottom: 10px;
border-top: 3px solid var(--fg);
display: flex;
flex-direction: row;
justify-content: space-between;
}
.title-address, .title-asset {
color: var(--fg);
padding-bottom: 10px;
display: flex;
flex-direction: column;
margin-bottom: 7px;
@media (min-width: 576px) {
flex-direction: row;
margin-bottom: 0px;
}
h1 {
line-height: 1;
}
}
.smaller-text {
font-size: 14px;
}
.nowrap {
white-space: nowrap;
}
.table-xs th, .table-xs td {
padding: 0.1rem;
}
.table {
margin-bottom: 0;
font-size: 0.9rem;
@media (min-width: 576px) {
font-size: 1rem;
}
}
.table-fixed {
table-layout: fixed;
}
.close {
color: var(--fg);
}
.close:hover {
color: var(--fg);
}
.white-color {
color: white;
}
.green-color {
color: var(--green);
}
.red-color {
color: var(--red);
}
.yellow-color {
color: var(--yellow);
}
.table-striped tbody tr:nth-of-type(odd) {
background-color: var(--stat-box-bg);
}
.dual-col-striped tbody tr:nth-of-type(odd) td:not(.spacer) {
background-color: var(--stat-box-bg);
}
.dual-col-striped tbody tr td.spacer {
width: 30px;
}
.bordertop {
border-top: 1px solid #4c4c4c;
}
.smaller-text {
font-size: 14px;
}
html:lang(ru) .card-title {
font-size: 0.9rem;
}
/* MEMPOOL CHARTS - start */
.mempool-wrapper-tooltip-chart {
height: 250px;
}
.echarts {
height: 100%;
min-height: 180px;
}
.tx-wrapper-tooltip-chart,
.fees-wrapper-tooltip-chart {
background: rgba($active-bg, 0.95);
border-radius: 4px;
box-shadow: 1px 1px 10px rgba(0,0,0,0.5);
color: var(--tooltip-grey);
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 10px 15px;
text-align: left;
width: 200px;
thead {
th {
font-size: 9px;
color: var(--tooltip-grey);
text-align: right;
&:first-child {
text-align: left;
left: -1px;
position: relative;
}
&:nth-child(4) {
display: none;
}
}
}
.title {
font-size: 12px;
font-weight: 700;
margin-bottom: 2px;
color: #fff;
.total-value {
float: right;
}
}
.active {
color: var(--yellow) !important;
.value,
.total-partial {
color: var(--yellow) !important;
.symbol {
color: var(--yellow) !important;
}
}
}
.item {
line-height: 0.8;
.indicator-container {
.indicator {
display: inline-block;
margin-right: 5px;
border-radius: 2px;
margin-top: 5px;
width: 9px;
height: 9px;
}
}
.value {
text-align: right;
.symbol {
color: #7e7e7e;
font-size: 9px !important;
}
}
.symbol {
font-size: 9px;
}
.total-partial {
font-size: 10px;
width: 58px;
text-align: right;
}
.total-percentage-bar {
padding-left: 8px;
}
.total-progress-percentage {
width: 45px;
height: 5px;
text-align: right;
display: none;
}
.total-progress-sum {
width: 58px;
text-align: right;
}
}
.total-label {
width: 100%;
text-align: left;
color: #fff;
margin-top: 5px;
font-size: 14px;
span {
float: right;
}
.symbol {
margin-left: 3px;
font-size: 9px;
position: relative;
top: 2px;
}
}
thead {
th {
font-size: 9px;
color: var(--tooltip-grey);
text-align: right;
&:first-child {
text-align: left;
left: -1px;
position: relative;
}
&:nth-child(4) {
display: none;
}
&:nth-child(5) {
display: none;
}
}
}
.total-percentage-bar {
margin: auto;
width: 35px;
position: relative;
span {
display: block;
background: #282d47;
height: 5px;
border-radius: 2px;
}
}
.total-parcial-active {
text-align: right;
margin: 5px auto 5px;
padding-left: 0px;
span {
font-size: 10px;
}
.symbol {
font-size: 9px;
}
.total-percentage-bar {
width: 100%;
span {
transition: 1000 all ease-in-out;
}
}
.progress-percentage {
float: left;
}
}
}
.tx-wrapper-tooltip-chart {
width: 115px;
.item {
display: flex;
}
.value {
margin-top: 5px;
}
.indicator-container {
border-radius: 2px;
}
}
.fee-distribution-chart {
height: 265px;
}
.fees-wrapper-tooltip-chart {
.item {
font-size: 9px;
line-height: 0.8;
margin: 0px;
}
.indicator {
margin-right: 5px !important;
border-radius: 1px !important;
margin-top: 0px !important;
}
}
.fees-wrapper-tooltip-chart-advanced,
.tx-wrapper-tooltip-chart-advanced {
width: 300px;
background: rgba($bg, 0.98);
thead {
th {
&:nth-child(4) {
display: table-cell;
}
&:nth-child(5) {
display: table-cell;
}
}
}
.title {
font-size: 15px;
margin-bottom: 5px;
}
.item {
line-height: 1.25;
font-size: 11px;
.value {
width: 60px;
.symbol {
font-size: 9px !important;
}
}
.total-partial {
font-size: 10px;
width: 58px;
text-align: right;
}
.total-progress-percentage {
width: 65px;
height: 4px;
padding: 0px 5px;
display: table-cell !important;
border-radius: 4px;
}
.total-progress-sum {
width: 65px;
height: 4px;
padding: 0px 5px;
border-radius: 4px;
}
.total-progress-percentage-bar,
.total-progress-sum-bar {
width: 35px;
height: 4px;
div {
width: 100%;
border-radius: 4px;
display: block;
background: #29324c94;
}
span {
height: 4px;
border-radius: 4px;
display: block;
}
}
}
.total-label {
margin-top: 5px;
font-size: 14px;
span {
float: right;
}
}
.total-parcial-active {
text-align: right;
margin: 5px auto 5px;
span {
font-size: 10px;
}
.total-percentage-bar {
width: 100%;
left: 0;
span {
transition: 1000 all ease-in-out;
}
}
}
.total-percentage-bar-background {
background-color: #282d47;
}
}
.tx-wrapper-tooltip-chart-advanced {
.indicator-container {
.indicator {
margin-right: 5px;
border-radius: 0px;
margin-top: 5px;
width: 9px;
height: 9px;
}
}
}
/* MEMPOOL CHARTS - end */
.grow {
flex-grow: 1;
}
hr {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
tr {
white-space: nowrap;
}
h1, h2, h3 {
margin-bottom: 1rem;
}
@media (max-width: 767.98px) {
h1 {
font-size: 2rem;
}
h2 {
font-size: 1.50rem;
}
}
@media (min-width: 992px) {
.lg-inline {
display: inline-block;
}
}
@media (min-width: 768px) {
.d-md-inline {
display: inline-block;
}
}
.header-bg {
font-size: 14px;
}
.progress {
position: relative;
}
.progress-text {
position: absolute;
top: 8.5px;
width: 100%;
text-align: center;
}
.progress-mempool {
background: repeating-linear-gradient(to right, var(--secondary), var(--secondary) 0%, var(--primary) 0%, var(--mainnet-alt) 100%);
}
.progress-mempool.testnet {
background: repeating-linear-gradient(to right, var(--secondary), var(--secondary) 0%, var(--testnet) 0%, var(--testnet-alt) 100%);
}
.progress-mempool.signet {
background: repeating-linear-gradient(to right, var(--secondary), var(--secondary) 0%, var(--signet) 0%, var(--signet-alt) 100%);
}
.progress-mempool.liquid {
background: repeating-linear-gradient(to right, var(--secondary), var(--secondary) 0%, var(--liquid) 0%, var(--testnet-alt) 100%);
}
.progress-dark {
background-color: var(--stat-box-bg);
}
.progress-darklight {
background-color: var(--box-bg);
}
.progress-light {
background-color: var(--skeleton-bg);
}
.progress.progress-health {
background: repeating-linear-gradient(to right, var(--secondary), var(--secondary) 0%, var(--primary) 0%, $success 100%);
justify-content: flex-end;
}
.progress-bar.progress-bar-health {
background: var(--secondary);
}
.mt-2-5, .my-2-5 {
margin-top: 0.75rem !important;
}
.alert-mempool {
color: #fff;
background-color: var(--tertiary);
border-color: var(--alert-bg);
width: 100%;
display: inline-flex;
flex-direction: column;
justify-content: space-between;
@media (min-width: 676px){
flex-direction: row;
}
}
.flex {
display: flex;
}
th {
white-space: nowrap;
}
// ASM opcode colors
.constants { color: #ff8c00 }
.control { color: #87ceeb }
.stack { color: #ffa500 }
.splice { color: #46b5e2 }
.logic { color: #46b5e2 }
.arithmetic { color: #cae8d0 }
.crypto { color: #fa3d3d }
.locktime { color: #ff8c00 }
.reserved { color: #ff8c00 }
.shortable-address {
font-family: monospace;
}
.full-container .card-header .formRadioGroup {
margin-top: 6px;
display: flex;
flex-direction: column;
@media (min-width: 991px) {
position: relative;
top: -100px;
}
@media (min-width: 830px) and (max-width: 991px) {
position: relative;
top: 0px;
}
@media (min-width: 830px) {
flex-direction: row;
float: right;
margin-top: 0px;
}
.btn-sm {
font-size: 9px;
@media (min-width: 830px) {
font-size: 14px;
}
}
}
.direction-ltr {
direction: ltr;
}
.rtl-layout {
text-align: start;
.navbar-brand {
margin-right: 0px;
text-align: right;
}
.nav-pills {
@extend .nav-pills;
display: inline-block;
}
.description {
direction: rtl;
}
.dropdown {
margin-right: 1rem;
margin-left: 0;
@media (min-width: 576px) {
margin-left: 1rem;
}
@media (min-width: 768px) {
margin-left: 0;
}
}
.dropdown-menu-right {
left: 0px;
right: auto;
}
.fa-circle-right {
@extend .fa-circle-right;
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
}
.btn.ml-2 {
margin-right: 0.5rem !important;
}
.pool-name {
@extend .pool-name;
padding-right: 10px;
}
.endpoint-container {
@extend .endpoint-container;
.section-header {
@extend .section-header;
text-align: left;
}
}
.table td {
text-align: right;
.fiat {
@extend .fiat;
margin-left: 0px !important;
margin-right: 15px;
}
}
.table th {
text-align: right;
}
.title-block {
text-align: right;
}
.mr-3 {
@extend .ml-3;
margin-right: 0 !important;
}
.mr-1 {
@extend .ml-1;
}
.float-left {
float: right !important;
}
.float-right {
float: left !important;
}
.text-left {
text-align: right !important;
}
.text-right {
text-align: left !important;
}
.bitcoin-block {
direction: rtl;
}
.next-previous-blocks {
@extend .next-previous-blocks;
direction: ltr;
}
.tx-link {
@extend .tx-link;
margin-left: 0px;
margin-right: 10px;
}
.pagination-container {
@extend .pagination-container;
ul {
@extend ul;
padding-left: 0px;
padding-right: 5px;
}
}
.search-box-container {
@extend .search-box-container;
margin-right: 0 !important;
margin-left: 0.5rem !important;
}
.code {
@extend .code;
text-align: left !important;
direction: ltr;
.subtitle {
@extend .subtitle;
direction: rtl;
text-align: right !important;
}
}
.chart {
direction: ltr;
}
.formRadioGroup {
@media (min-width: 830px) {
float: left;
}
}
.container-graph, .full-container, .toggle-holder {
@extend .container-graph;
.formRadioGroup {
@extend .formRadioGroup;
direction: ltr;
}
.card-header, h1, h2, h3 {
direction: rtl;
}
}
.fee-progress-bar {
@extend .fee-progress-bar;
&.priority {
@media (767px < width < 992px), (width < 576px) {
width: 100%;
}
width: 75%;
border-radius: 10px 0px 0px 10px !important;
}
}
.fees-wrapper-tooltip-chart {
@extend .fees-wrapper-tooltip-chart;
.title {
direction: rtl;
}
}
.btn-link {
padding: 0.1rem 0.5rem 0.25rem 0 !important;
}
.shortable-address {
direction: ltr;
font-family: monospace;
}
.lastest-blocks-table {
@extend .lastest-blocks-table;
.table-cell-mined {
@extend .table-cell-mined;
text-align: right !important;
}
}
.mempool-graph {
@extend .mempool-graph;
direction: ltr;
}
.title-block {
.title {
float: right;
}
}
.container-buttons {
float: left !important;
width: auto !important;
}
.tx-link {
margin-right: 0px;
@media (min-width: 768px) {
margin-right: 10px;
}
}
.btn-audit {
margin-left: .5em;
}
.sidenav {
@extend .sidenav;
margin-left: 0px !important;
margin-right: -250px;
}
.sidenav.open {
margin-right: 0px;
}
.profile_image_container {
@extend .profile_image_container;
margin-right: 0px !important;
margin-left: 15px;
}
#blockchain-container.with-menu {
width: calc(100% + 120px);
left: 120px;
}
}
.scriptmessage {
overflow: hidden;
display: inline-block;
text-overflow: ellipsis;
vertical-align: middle;
max-width: 50px;
width: auto;
text-align: left;
@media (min-width: 376px) {
max-width: 90px;
}
@media (min-width: 476px) {
max-width: 180px;
}
@media (min-width: 576px) {
max-width: 260px;
}
@media (min-width: 768px) {
max-width: 400px;
}
@media (min-width: 850px) {
max-width: 522px;
}
@media (min-width: 992px) {
max-width: 190px;
}
@media (min-width: 1200px) {
max-width: 250px;
}
}
.scriptmessage.longer {
max-width: 230px;
@media (min-width: 376px) {
max-width: 290px;
}
@media (min-width: 476px) {
max-width: 380px;
}
@media (min-width: 576px) {
max-width: 470px;
}
@media (min-width: 768px) {
max-width: 850px;
}
@media (min-width: 992px) {
max-width: 410px;
}
@media (min-width: 1200px) {
max-width: 480px;
}
}
.tab-pane {
.card {
background-color: transparent;
padding: 0;
button {
text-align: left;
display: block;
width: 100%;
padding: 1rem 2rem;
color: #fff;
font-weight: bold;
&:focus, &:hover, &:active {
text-decoration: none;
outline: none;
box-shadow: none;
}
}
.card-header {
padding: 0;
}
.collapsed {
background-color: var(--secondary);
color: var(--info);
}
}
.subtitle {
font-weight: bold;
margin-bottom: 3px;
button {
padding: 0px !important;
}
}
}
.pagination-container {
display: inline-block;
width: 100%;
justify-content: space-between;
background: var(--bg);
margin: 0;
@media (min-width: 550px) {
width: auto;
}
ul {
justify-content: space-evenly !important;
margin: 0;
@media (min-width: 400px) {
width: auto;
}
}
.page-link {
background-color: var(--bg);
border: 1px solid var(--bg);
}
.page-link:hover {
background-color: var(--active-bg);
}
.page-item.active .page-link {
background-color: var(--tertiary);
border: 1px solid var(--tertiary);
}
.page-item.disabled .page-link {
background-color: var(--bg);
border: 1px solid var(--bg);
}
}
.fee-estimation-wrapper {
.tooltip.show {
width: 220px;
}
}
// Blinking block
@keyframes shadowyBackground {
0% {
box-shadow: -10px -15px 75px rgba($taproot, 1);
}
50% {
box-shadow: -10px -15px 75px rgba($taproot, .3);
}
100% {
box-shadow: -10px -15px 75px rgba($taproot, 1);
}
}
.blink-bg {
color: #fff;
background: repeating-linear-gradient($taproot-dark, $taproot-dark 0.163525%, $taproot-light 100%) !important;
animation: shadowyBackground 1s infinite;
box-shadow: -10px -15px 75px rgba($taproot, 1);
transition: 100ms all ease-in;
}
.page-item {
font-family: monospace;
}
#divider {
background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='104%25' height='100%25' fill='none' stroke='white' stroke-width='4' stroke-dasharray='10%2c17' stroke-dashoffset='18' stroke-linecap='square'/%3e%3c/svg%3e");
}
.visually-hidden {
display: none;
}
app-master-page, app-liquid-master-page {
display: flex;
flex-direction: column;
min-height: 100vh;
padding-bottom: 56px;
@media (min-width: 992px) {
padding-bottom: 0px;
}
}
app-global-footer {
margin-top: auto;
}
.btn-xs {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
line-height: 0.5;
border-radius: 0.2rem;
}
.info-link fa-icon {
color: rgba(255, 255, 255, 0.4);
margin-left: 5px;
}
.dropdown-menu {
background-color: var(--bg);
color: var(--fg);
.dropdown-item:hover, .dropdown-item:focus {
background-color: var(--active-bg);
color: var(--fg);
}
}
.btn-secondary {
background-color: var(--secondary);
border-color: var(--secondary);
}
a {
color: var(--link-color);
&:hover {
color: var(--link-hover-color);
}
}
.badge-primary {
color: var(--fg);
background-color: var(--primary);
}
.badge-info {
background-color: var(--info);
}
.btn-primary {
color: var(--fg);
background-color: var(--primary);
border-color: var(--primary);
}