@ -1,42 +0,0 @@ |
||||
$pagination-page-link-background: #f5f6fa !default; |
||||
$pagination-page-link-color: #a3a9b5 !default; |
||||
$pagination-page-link-background-active: $primary !default; |
||||
$pagination-page-link-color-active: #fff !default; |
||||
|
||||
.pagination { |
||||
margin: 0; |
||||
padding: 30px; |
||||
|
||||
.page-item { |
||||
margin: 0 10px 0 0; |
||||
|
||||
&:last-child { |
||||
margin-right: 0; |
||||
} |
||||
} |
||||
|
||||
.page-link { |
||||
background-color: $pagination-page-link-background; |
||||
border: 1px solid $pagination-page-link-background; |
||||
color: $pagination-page-link-color; |
||||
display: block; |
||||
line-height: 1.25; |
||||
margin: 0; |
||||
padding: 0.5rem 0.75rem; |
||||
position: relative; |
||||
|
||||
&:hover { |
||||
background-color: darken($pagination-page-link-background, 5%); |
||||
border-color: darken($pagination-page-link-background, 5%); |
||||
} |
||||
|
||||
.active & { |
||||
&, |
||||
&:hover { |
||||
background-color: $pagination-page-link-background-active; |
||||
border-color: $pagination-page-link-background-active; |
||||
color: $pagination-page-link-color-active; |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,113 @@ |
||||
$pagination-page-link-background: #f5f6fa !default; |
||||
$pagination-page-link-color: #a3a9b5 !default; |
||||
$pagination-page-link-background-active: $primary !default; |
||||
$pagination-page-link-color-active: #fff !default; |
||||
|
||||
@mixin pagination-container-base($background-color, $text-color) { |
||||
background-color: $background-color; |
||||
border: 1px solid $background-color; |
||||
color: $text-color; |
||||
|
||||
path { |
||||
fill: $text-color; |
||||
} |
||||
} |
||||
|
||||
.pagination-container { |
||||
display: flex; |
||||
justify-content: space-between; |
||||
|
||||
@include media-breakpoint-down(sm) { |
||||
flex-direction: column; |
||||
} |
||||
|
||||
&.position-bottom { |
||||
padding-top: 30px; |
||||
} |
||||
|
||||
&.position-top { |
||||
padding-bottom: 30px; |
||||
} |
||||
|
||||
.pagination-limit { |
||||
align-items: center; |
||||
color: #033333; |
||||
display: flex; |
||||
font-size: 12px; |
||||
font-weight: 600; |
||||
line-height: 1.2; |
||||
|
||||
@include media-breakpoint-down(sm) { |
||||
margin-bottom: 15px; |
||||
} |
||||
|
||||
select { |
||||
margin: 0 10px; |
||||
} |
||||
} |
||||
|
||||
.pagination { |
||||
margin: 0 0 0 auto; |
||||
padding: 0; |
||||
|
||||
@include media-breakpoint-down(sm) { |
||||
justify-content: space-between; |
||||
margin: 0; |
||||
} |
||||
|
||||
.page-item { |
||||
margin: 0 5px 0 0; |
||||
|
||||
&:last-child { |
||||
margin-right: 0; |
||||
} |
||||
|
||||
&.active .page-link { |
||||
@include pagination-container-base($pagination-page-link-background-active, $pagination-page-link-color-active); |
||||
cursor: default; |
||||
pointer-events: none; |
||||
|
||||
&:hover { |
||||
@include pagination-container-base($pagination-page-link-background-active, $pagination-page-link-color-active); |
||||
} |
||||
} |
||||
} |
||||
|
||||
.page-link { |
||||
@include pagination-container-base($pagination-page-link-background, $pagination-page-link-color); |
||||
align-items: center; |
||||
border-radius: 2px; |
||||
display: flex; |
||||
font-size: 12px; |
||||
font-weight: 600; |
||||
height: 24px; |
||||
margin: 0; |
||||
padding: 0 8px; |
||||
position: relative; |
||||
user-select: none; |
||||
text-align: center; |
||||
white-space: nowrap; |
||||
|
||||
&:not(.no-hover):hover { |
||||
@include pagination-container-base($pagination-page-link-background-active, $pagination-page-link-color-active); |
||||
} |
||||
|
||||
&[href=''] { |
||||
pointer-events: none; |
||||
} |
||||
|
||||
&.no-hover { |
||||
cursor: default; |
||||
} |
||||
|
||||
&[disabled] { |
||||
@include pagination-container-base($pagination-page-link-background, $pagination-page-link-color); |
||||
cursor: not-allowed; |
||||
opacity: 0.4; |
||||
outline: none; |
||||
pointer-events: none; |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
@ -1,61 +1,50 @@ |
||||
$primary: #fec042; |
||||
$secondary: #53546a; |
||||
$tertiary: #1755e4; |
||||
|
||||
.navbar.navbar-primary { |
||||
background-color: #f2f6f8; |
||||
|
||||
&.navbar-dark .navbar-nav .nav-link { |
||||
color: $secondary; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
color: rgba($secondary, 0.75); |
||||
} |
||||
} |
||||
|
||||
.form-control { |
||||
color: $secondary; |
||||
|
||||
&::-webkit-input-placeholder { |
||||
/* Chrome/Opera/Safari */ |
||||
color: transparentize($secondary, 0.5); |
||||
} |
||||
&::-moz-placeholder { |
||||
/* Firefox 19+ */ |
||||
color: transparentize($secondary, 0.5); |
||||
} |
||||
&:-ms-input-placeholder { |
||||
/* IE 10+ */ |
||||
color: transparentize($secondary, 0.5); |
||||
} |
||||
&:-moz-placeholder { |
||||
/* Firefox 18- */ |
||||
color: transparentize($secondary, 0.5); |
||||
} |
||||
} |
||||
} |
||||
|
||||
.navbar-logo { |
||||
height: 1.75em; |
||||
} |
||||
|
||||
.navbar.navbar-dark .navbar-toggler { |
||||
color: $secondary; |
||||
border-color: $secondary; |
||||
|
||||
.navbar-toggler-icon { |
||||
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{transparentize($secondary, 0.5)}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); |
||||
} |
||||
} |
||||
|
||||
.button.button-secondary { |
||||
color: $secondary; |
||||
border-color: $secondary; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
background-color: $secondary; |
||||
border-color: $secondary; |
||||
} |
||||
} |
||||
// general |
||||
$primary: #2b2b2b; |
||||
$secondary: #ffb045; |
||||
$tertiary: #929292; |
||||
$additional-font: #ffffff; |
||||
|
||||
// footer |
||||
$footer-background-color: $primary; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: #7e7e7e; |
||||
$footer-item-disc-color: $secondary; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $secondary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #424242; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $secondary; // top border on hover |
||||
$header-icon-color-hover: $secondary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $secondary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: #424242; // button border and font color && hover bg color |
||||
$btn-copy-color: #424242; // btn copy |
||||
$btn-qr-color: #424242; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: #4b89fb !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid $secondary; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $secondary; |
||||
$card-tab-active: $secondary; |
||||
|
@ -1,8 +1,50 @@ |
||||
$primary: #1b1b39; |
||||
$secondary: #4beba0; |
||||
$tertiary: #4beba0; |
||||
// general |
||||
$primary: #1c1c3d; |
||||
$secondary: #4ad7a7; |
||||
$tertiary: #5959d8; |
||||
$additional-font: #bdbdff; |
||||
|
||||
// footer |
||||
$footer-background-color: $primary; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: #fff; |
||||
$footer-item-disc-color: $secondary; |
||||
$footer-text-color: $additional-font; |
||||
$footer-item-disc-color: $tertiary; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $secondary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #2d2d69; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $tertiary; // top border on hover |
||||
$header-icon-color-hover: $tertiary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $tertiary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: #27275e; // button border and font color && hover bg color |
||||
$btn-copy-color: #27275e; // btn copy |
||||
$btn-qr-color: #27275e; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: $tertiary !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid #27275e; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $tertiary; |
||||
$card-tab-active: $tertiary; |
||||
|
@ -1,3 +1,50 @@ |
||||
$primary: #16465b; |
||||
$secondary: #5ab3ff; |
||||
$tertiary: #77a4c5; |
||||
// general |
||||
$primary: #153550; |
||||
$secondary: #49a2ee; |
||||
$tertiary: #4ad7a7; |
||||
$additional-font: #89cae6; |
||||
|
||||
// footer |
||||
$footer-background-color: $primary; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: #89cae6; |
||||
$footer-item-disc-color: $secondary; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $secondary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #1c476c; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $secondary; // top border on hover |
||||
$header-icon-color-hover: $secondary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $secondary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: $secondary; // button border and font color && hover bg color |
||||
$btn-copy-color: $secondary; // btn copy |
||||
$btn-qr-color: $secondary; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: $secondary !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid $secondary; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $secondary; |
||||
$card-tab-active: $secondary; |
||||
|
@ -1,8 +1,50 @@ |
||||
$primary: #20201a; |
||||
$secondary: #f0d96b; |
||||
$tertiary: #4a443a; |
||||
// general |
||||
$primary: #2b2b2b; |
||||
$secondary: #eac247; |
||||
$tertiary: #929292; |
||||
$additional-font: #ffffff; |
||||
|
||||
// footer |
||||
$footer-background-color: $primary; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: #fff; |
||||
$footer-text-color: #7e7e7e; |
||||
$footer-item-disc-color: $secondary; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $secondary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #424242; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $secondary; // top border on hover |
||||
$header-icon-color-hover: $secondary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $secondary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: #424242; // button border and font color && hover bg color |
||||
$btn-copy-color: #424242; // btn copy |
||||
$btn-qr-color: #424242; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: #a46f30 !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid $secondary; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $secondary; |
||||
$card-tab-active: $secondary; |
||||
|
@ -1,8 +1,50 @@ |
||||
$primary: #28aca4; |
||||
$secondary: #89edda; |
||||
$tertiary: #997fdc; |
||||
// general |
||||
$primary: #101f25; |
||||
$secondary: #35e3d8; |
||||
$tertiary: #1f857f; |
||||
$additional-font: #99fff9; |
||||
|
||||
// footer |
||||
$footer-background-color: $primary; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: #fff; |
||||
$footer-text-color: $secondary; |
||||
$footer-item-disc-color: $secondary; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $secondary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #1a323b; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $tertiary; // top border on hover |
||||
$header-icon-color-hover: $tertiary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $tertiary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: $tertiary; // button border and font color && hover bg color |
||||
$btn-copy-color: $tertiary; // btn copy |
||||
$btn-qr-color: $tertiary; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: $tertiary !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid $tertiary; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $primary; |
||||
$card-tab-active: $primary; |
||||
|
@ -1,11 +1,50 @@ |
||||
$primary: #5b389f; |
||||
$secondary: #7dd79f; |
||||
$tertiary: #997fdc; |
||||
// general |
||||
$primary: #5c34a2; |
||||
$secondary: #87e1a9; |
||||
$tertiary: #bf9cff; |
||||
$additional-font: #fff; |
||||
|
||||
$header-links-color-active: #333; |
||||
$button-secondary-color: $primary; |
||||
|
||||
$footer-background-color: $primary; |
||||
// footer |
||||
$footer-background-color: #3c226a; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: #fff; |
||||
$footer-text-color: #bda6e7; |
||||
$footer-item-disc-color: $secondary; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $secondary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #865bd4; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $primary; // top border on hover |
||||
$header-icon-color-hover: $primary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $primary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: $primary; // button border and font color && hover bg color |
||||
$btn-copy-color: $primary; // btn copy |
||||
$btn-qr-color: $primary; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: $primary !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid $primary; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $primary; |
||||
$card-tab-active: $primary; |
||||
|
@ -1,3 +1,50 @@ |
||||
$primary: #2a3f54; |
||||
$secondary: #39c4a9; |
||||
$tertiary: #39c4a9; |
||||
// general |
||||
$primary: #193653; |
||||
$secondary: #49a2ee; |
||||
$tertiary: #41c3a9; |
||||
$additional-font: #a3ceff; |
||||
|
||||
// footer |
||||
$footer-background-color: $primary; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: $additional-font; |
||||
$footer-item-disc-color: $additional-font; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $tertiary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #244468; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $tertiary; // top border on hover |
||||
$header-icon-color-hover: $tertiary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $tertiary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: $tertiary; // button border and font color && hover bg color |
||||
$btn-copy-color: $tertiary; // btn copy |
||||
$btn-qr-color: $tertiary; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: $tertiary !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid $tertiary; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $secondary; |
||||
$card-tab-active: $secondary; |
||||
|
@ -1,8 +1,50 @@ |
||||
$primary: #2fa8f8; |
||||
$secondary: #a2daff; |
||||
$tertiary: #006aa7; |
||||
// general |
||||
$primary: #153550; |
||||
$secondary: #38a9f5; |
||||
$tertiary: #76f1ff; |
||||
$additional-font: #89cae6; |
||||
|
||||
// footer |
||||
$footer-background-color: $primary; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: #fff; |
||||
$footer-text-color: #89cae6; |
||||
$footer-item-disc-color: $secondary; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $tertiary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #1c476c; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $secondary; // top border on hover |
||||
$header-icon-color-hover: $secondary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $secondary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: $secondary; // button border and font color && hover bg color |
||||
$btn-copy-color: $secondary; // btn copy |
||||
$btn-qr-color: $secondary; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: $secondary !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid $secondary; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $secondary; |
||||
$card-tab-active: $secondary; |
||||
|
@ -0,0 +1,50 @@ |
||||
// general |
||||
$primary: #101f25; |
||||
$secondary: #27ac8d; |
||||
$tertiary: #e39a54; |
||||
$additional-font: #a1ded1; |
||||
|
||||
// footer |
||||
$footer-background-color: $primary; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: $additional-font; |
||||
$footer-item-disc-color: $secondary; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $secondary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #1a323b; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $secondary; // top border on hover |
||||
$header-icon-color-hover: $secondary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $secondary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: $secondary; // button border and font color && hover bg color |
||||
$btn-copy-color: $secondary; // btn copy |
||||
$btn-qr-color: $secondary; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: $secondary !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid $secondary; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $secondary; |
||||
$card-tab-active: $secondary; |
@ -1,8 +1,51 @@ |
||||
$primary: #559387; |
||||
$secondary: #add7cf; |
||||
$tertiary: #38533d; |
||||
// general |
||||
$primary: #093731; |
||||
$secondary: #40bfb2; |
||||
$tertiary: #25c9ff; |
||||
$additional-font: #93e8dd; |
||||
|
||||
// footer |
||||
$footer-background-color: $primary; |
||||
$footer-title-color: #fff; |
||||
$footer-text-color: #fff; |
||||
$footer-text-color: #93e8dd; |
||||
$footer-item-disc-color: $secondary; |
||||
.footer-logo { filter: brightness(0) invert(1); } |
||||
|
||||
// dashboard |
||||
$dashboard-line-color-price: $tertiary; // price left border |
||||
|
||||
|
||||
$dashboard-banner-chart-legend-value-color: $additional-font; // chart labels |
||||
|
||||
$dashboard-stats-item-value-color: $additional-font; // stat values |
||||
|
||||
$dashboard-stats-item-border-color: $secondary; // stat border |
||||
|
||||
$dashboard-banner-gradient-start: $primary; // gradient begin |
||||
|
||||
$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end |
||||
|
||||
$dashboard-banner-network-plain-container-background-color: #0e534a; // stats bg |
||||
|
||||
|
||||
// navigation |
||||
.navbar { box-shadow: 0px 0px 30px 0px rgba(21, 53, 80, 0.12); } // header shadow |
||||
$header-icon-border-color-hover: $secondary; // top border on hover |
||||
$header-icon-color-hover: $secondary; // nav icon on hover |
||||
.dropdown-item:hover, .dropdown-item:focus { background-color: $secondary !important; } // dropdown item on hover |
||||
|
||||
// buttons |
||||
$btn-line-bg: #fff; // button bg |
||||
$btn-line-color: #1c9f90; // button border and font color && hover bg color |
||||
$btn-copy-color: #1c9f90; // btn copy |
||||
$btn-qr-color: #1c9f90; // btn qr-code |
||||
|
||||
//links & tile |
||||
.tile a { color: $secondary !important; } // links color for badges |
||||
.tile-type-block { |
||||
border-left: 4px solid $secondary; |
||||
} // tab active bg |
||||
|
||||
// card |
||||
$card-background-1: $secondary; |
||||
$card-tab-active: $secondary; |
||||
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 694 B |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.6 KiB |
@ -0,0 +1,46 @@ |
||||
defmodule BlockScoutWeb.AddressLogsController do |
||||
@moduledoc """ |
||||
Manages events logs tab. |
||||
""" |
||||
|
||||
import BlockScoutWeb.AddressController, only: [transaction_count: 1, validation_count: 1] |
||||
import BlockScoutWeb.Chain, only: [paging_options: 1, next_page_params: 3, split_list_by_page: 1] |
||||
|
||||
alias Explorer.{Chain, Market} |
||||
alias Explorer.ExchangeRates.Token |
||||
alias Indexer.Fetcher.CoinBalanceOnDemand |
||||
|
||||
use BlockScoutWeb, :controller |
||||
|
||||
def index(conn, %{"address_id" => address_hash_string} = params) do |
||||
with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), |
||||
{:ok, address} <- Chain.hash_to_address(address_hash) do |
||||
logs_plus_one = Chain.address_to_logs(address, paging_options(params)) |
||||
{results, next_page} = split_list_by_page(logs_plus_one) |
||||
|
||||
next_page_url = |
||||
case next_page_params(next_page, results, params) do |
||||
nil -> |
||||
nil |
||||
|
||||
next_page_params -> |
||||
address_logs_path(conn, :index, address, next_page_params) |
||||
end |
||||
|
||||
render( |
||||
conn, |
||||
"index.html", |
||||
address: address, |
||||
logs: results, |
||||
coin_balance_status: CoinBalanceOnDemand.trigger_fetch(address), |
||||
exchange_rate: Market.get_exchange_rate(Explorer.coin()) || Token.null(), |
||||
transaction_count: transaction_count(address), |
||||
validation_count: validation_count(address), |
||||
next_page_url: next_page_url |
||||
) |
||||
else |
||||
_ -> |
||||
not_found(conn) |
||||
end |
||||
end |
||||
end |
@ -1,20 +1,20 @@ |
||||
<section class="container"> |
||||
<div class="card"> |
||||
<div class="card-body"> |
||||
<h1 class="card-title margin-bottom-0"><%= gettext "Addresses" %></h1> |
||||
<p class="card-subtitle"> |
||||
<%= gettext "Showing 250 addresses of" %> |
||||
<%= Cldr.Number.to_string!(@address_count, format: "#,###") %> |
||||
<%= gettext "total addresses with a balance" %> |
||||
</p> |
||||
<span data-selector="top-addresses-list"> |
||||
<h1 class="card-title"><%= gettext "Addresses" %></h1> |
||||
|
||||
<%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", prev_page_path: @prev_page_path, next_page_path: @next_page_path, cur_page_number: @cur_page_number, show_pagination_limit: true %> |
||||
|
||||
<div data-selector="top-addresses-list"> |
||||
<%= for {{address, tx_count}, index} <- Enum.with_index(@address_tx_count_pairs, 1) do %> |
||||
<%= render "_tile.html", |
||||
address: address, index: index, exchange_rate: @exchange_rate, |
||||
total_supply: @total_supply, tx_count: tx_count, |
||||
validation_count: validation_count(address) %> |
||||
<% end %> |
||||
</span> |
||||
</div> |
||||
|
||||
<%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", prev_page_path: @prev_page_path, next_page_path: @next_page_path, cur_page_number: @cur_page_number, show_pagination_limit: true %> |
||||
</div> |
||||
</div> |
||||
</section> |
||||
|
@ -0,0 +1,82 @@ |
||||
<section class="container"> |
||||
<%= render BlockScoutWeb.AddressView, "overview.html", assigns %> |
||||
<div class="card"> |
||||
<%= render BlockScoutWeb.AddressView, "_tabs.html", assigns %> |
||||
|
||||
<div class="card-body"> |
||||
|
||||
<h2 class="card-title"><%= gettext "Logs" %></h2> |
||||
|
||||
<%= if @next_page_url do %> |
||||
<%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, next_page_path: @next_page_url %> |
||||
<% end %> |
||||
|
||||
<%= if !@next_page_url do %> |
||||
<%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true %> |
||||
<% end %> |
||||
|
||||
<%= if Enum.count(@logs) > 0 do %> |
||||
<%= for log <- @logs do %> |
||||
<div data-test="transaction_log" class="tile tile-muted"> |
||||
<dl class="row"> |
||||
<dt class="col-md-2"> <%= gettext "Transaction" %> </dt> |
||||
<dd class="col-md-10"> |
||||
<h3 class=""> |
||||
<%= link( |
||||
log.transaction, |
||||
to: transaction_path(@conn, :show, log.transaction), |
||||
"data-test": "log_address_link", |
||||
"data-address-hash": log.transaction |
||||
) %> |
||||
</h3> |
||||
</dd> |
||||
<dt class="col-md-2"><%= gettext "Topics" %></dt> |
||||
<dd class="col-md-10"> |
||||
<div class="raw-transaction-log-topics"> |
||||
<%= unless is_nil(log.first_topic) do %> |
||||
<div class="text-dark"> |
||||
<span class="text-dark">[0]</span> |
||||
<%= log.first_topic %> |
||||
</div> |
||||
<% end %> |
||||
<%= unless is_nil(log.second_topic) do %> |
||||
<div class="text-dark"> |
||||
<span class="">[1] </span> |
||||
<%= log.second_topic %> |
||||
</div> |
||||
<% end %> |
||||
<%= unless is_nil(log.third_topic) do %> |
||||
<div class="text-dark"> |
||||
<span>[2]</span> |
||||
<%= log.third_topic %> |
||||
</div> |
||||
<% end %> |
||||
<%= unless is_nil(log.fourth_topic) do %> |
||||
<div class="text-dark"> |
||||
<span>[3]</span> |
||||
<%= log.fourth_topic %> |
||||
</div> |
||||
<% end %> |
||||
</div> |
||||
</dd> |
||||
<dt class="col-md-2"> |
||||
<%= gettext "Data" %> |
||||
</dt> |
||||
<dd class="col-md-10"> |
||||
<%= unless is_nil(log.data) do %> |
||||
<div class="text-dark raw-transaction-log-data"> |
||||
<%= log.data %> |
||||
</div> |
||||
<% end %> |
||||
</dd> |
||||
</dl> |
||||
</div> |
||||
<% end %> |
||||
<% else %> |
||||
<div class="tile tile-muted text-center"> |
||||
<span><%= gettext "There are no logs for this address." %></span> |
||||
</div> |
||||
<% end %> |
||||
</div> |
||||
</div> |
||||
</section> |
@ -1,9 +0,0 @@ |
||||
<ul class="pagination"> |
||||
<li class="page-item"><a class="page-link" href="#"><</a></li> |
||||
<li class="page-item active"><a class="page-link" href="#">1</a></li> |
||||
<li class="page-item"><a class="page-link" href="#">2</a></li> |
||||
<li class="page-item"><a class="page-link" href="#">3</a></li> |
||||
<li class="page-item"><a class="page-link" href="#">...</a></li> |
||||
<li class="page-item"><a class="page-link" href="#">12</a></li> |
||||
<li class="page-item"><a class="page-link" href="#">></a></li> |
||||
</ul> |
@ -0,0 +1,60 @@ |
||||
<div class='pagination-container <%= if assigns[:position] == "top" do %>position-top<% end %> <%= if assigns[:position] == "bottom" do %>position-bottom<% end %>'> |
||||
<%= if assigns[:show_pagination_limit] do %> |
||||
<!-- Pagination limit --> |
||||
<div class="pagination-limit"> |
||||
<%= gettext "Show" %> |
||||
<select> |
||||
<option>20</option> |
||||
<option>50</option> |
||||
<option>100</option> |
||||
</select> |
||||
<%= gettext "Records" %> |
||||
</div> |
||||
<% end %> |
||||
<!-- Pagination --> |
||||
<ul class="pagination"> |
||||
<!-- First --> |
||||
<li class="page-item"> |
||||
<a |
||||
<%= if !assigns[:first_page_path] do %>disabled<% end %> |
||||
class="page-link" |
||||
href='<%= "#{assigns[:first_page_path]}" %>' |
||||
>First</a> |
||||
</li> |
||||
<!-- Previous --> |
||||
<li class="page-item"> |
||||
<a |
||||
<%= if !assigns[:prev_page_path] do %>disabled<% end %> |
||||
class="page-link" |
||||
href='<%= "#{assigns[:prev_page_path]}" %>' |
||||
> |
||||
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="10"> |
||||
<path fill-rule="evenodd" d="M2.358 5l3.357 3.358a.959.959 0 1 1-1.357 1.357L.502 5.859c-.076-.042-.153-.08-.217-.144A.949.949 0 0 1 .011 5a.949.949 0 0 1 .274-.715c.064-.064.142-.102.217-.145L4.358.285a.959.959 0 1 1 1.357 1.357L2.358 5z"/> |
||||
</svg> |
||||
</a> |
||||
</li> |
||||
<!-- Page X of XX --> |
||||
<li class="page-item"><a class="page-link no-hover" href><%= gettext "Page" %> <%= assigns[:cur_page_number] || "" %> <% if assigns[:total_pages_number] do %> <%= gettext "of" %> <%= assigns[:total_pages_number] || "undefined" %><% end %></a></li> |
||||
<!-- Next --> |
||||
<li class="page-item"> |
||||
<a |
||||
<%= if !assigns[:next_page_path] do %>disabled<% end %> |
||||
class="page-link" |
||||
href='<%= "#{assigns[:next_page_path]}" %>' |
||||
<%= if assigns[:data_next_page_button] do %>data-next-page-button<% end %> |
||||
> |
||||
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="10"> |
||||
<path fill-rule="evenodd" d="M5.715 5.715c-.064.064-.141.102-.217.144L1.642 9.715A.959.959 0 1 1 .285 8.358L3.642 5 .285 1.642A.959.959 0 1 1 1.642.285L5.498 4.14c.075.043.153.081.217.145A.949.949 0 0 1 5.989 5a.949.949 0 0 1-.274.715z"/> |
||||
</svg> |
||||
</a> |
||||
</li> |
||||
<!-- Last --> |
||||
<li class="page-item"> |
||||
<a |
||||
<%= if !assigns[:last_page_path] do %>disabled<% end %> |
||||
class="page-link" |
||||
href='<%= "#{assigns[:last_page_path]}" %>' |
||||
>Last</a> |
||||
</li> |
||||
</ul> |
||||
</div> |
@ -0,0 +1,3 @@ |
||||
defmodule BlockScoutWeb.AddressLogsView do |
||||
use BlockScoutWeb, :view |
||||
end |
@ -0,0 +1,33 @@ |
||||
defmodule BlockScoutWeb.API.RPC.EthRPCView do |
||||
use BlockScoutWeb, :view |
||||
|
||||
defstruct [:result, :id, :error] |
||||
|
||||
def render("show.json", %{result: result, id: id}) do |
||||
%__MODULE__{ |
||||
result: result, |
||||
id: id |
||||
} |
||||
end |
||||
|
||||
def render("error.json", %{error: message, id: id}) do |
||||
%__MODULE__{ |
||||
error: message, |
||||
id: id |
||||
} |
||||
end |
||||
|
||||
defimpl Poison.Encoder, for: BlockScoutWeb.API.RPC.EthRPCView do |
||||
def encode(%BlockScoutWeb.API.RPC.EthRPCView{result: result, id: id, error: error}, _options) when is_nil(error) do |
||||
""" |
||||
{"jsonrpc":"2.0","result":"#{result}","id":#{id}} |
||||
""" |
||||
end |
||||
|
||||
def encode(%BlockScoutWeb.API.RPC.EthRPCView{id: id, error: error}, _options) do |
||||
""" |
||||
{"jsonrpc":"2.0","error": #{error},"id": #{id}} |
||||
""" |
||||
end |
||||
end |
||||
end |
@ -1 +1,2 @@ |
||||
priv/.recovery |
||||
priv/.recovery |
||||
priv/solc_compilers/ |
||||
|