mirror of
https://github.com/seigler/dash-visualizer
synced 2025-07-27 09:46:09 +00:00
publish: Visualize Dash blocks as Jackson Polluck style paintings
generated from commit 34dabd963c
This commit is contained in:
parent
8a558586dd
commit
a0b9b6ab66
52 changed files with 2152 additions and 245 deletions
143
bundle.css
143
bundle.css
|
@ -4,14 +4,15 @@ body {
|
|||
box-sizing: border-box;
|
||||
font-family: sans-serif;
|
||||
font-size: 140%;
|
||||
background-image: url('assets/Dash-logo.svg'), linear-gradient(to bottom right, #1e73be, #073a66);
|
||||
background-image: url('assets/Dash-logo.svg');
|
||||
background-size: 50vmin auto, cover;
|
||||
background-position: center;
|
||||
background-attachment: fixed;
|
||||
background-repeat: no-repeat;
|
||||
background-color: #1e73be;
|
||||
color: white;
|
||||
min-height: 100vh;
|
||||
background-color: #bbb;
|
||||
color: black;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
* {
|
||||
box-sizing: inherit;
|
||||
|
@ -20,24 +21,6 @@ a {
|
|||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
#transactionList {
|
||||
padding: 1em 0 0;
|
||||
mix-blend-mode: screen;
|
||||
opacity: 0.75;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
#transactionList:after {
|
||||
content: '';
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
height: 8em;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-image: linear-gradient(to top, #1e73be 0%, rgba(30, 115, 190, 0.987) 8.1%, rgba(30, 115, 190, 0.951) 15.5%, rgba(30, 115, 190, 0.896) 22.5%, rgba(30, 115, 190, 0.825) 29%, rgba(30, 115, 190, 0.741) 35.3%, rgba(30, 115, 190, 0.648) 41.2%, rgba(30, 115, 190, 0.55) 47.1%, rgba(30, 115, 190, 0.45) 52.9%, rgba(30, 115, 190, 0.352) 58.8%, rgba(30, 115, 190, 0.259) 64.7%, rgba(30, 115, 190, 0.175) 71%, rgba(30, 115, 190, 0.104) 77.5%, rgba(30, 115, 190, 0.049) 84.5%, rgba(30, 115, 190, 0.013) 91.9%, rgba(30, 115, 190, 0) 100%);
|
||||
z-index: 2;
|
||||
pointer-events: none;
|
||||
}
|
||||
#connectionStatus.is-connected ~ #transactionList:empty:before {
|
||||
content: 'Waiting for first transaction...';
|
||||
display: block;
|
||||
|
@ -45,59 +28,60 @@ a {
|
|||
font-size: 2em;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.tx {
|
||||
position: relative;
|
||||
margin: 3px auto;
|
||||
width: 20em;
|
||||
min-width: 80%;
|
||||
max-width: 100%;
|
||||
z-index: 1;
|
||||
#blockList {
|
||||
margin-left: 80vw;
|
||||
padding-top: 2.5vw;
|
||||
}
|
||||
.txValue {
|
||||
display: none;
|
||||
flex: 0 0 auto;
|
||||
line-height: 1.25;
|
||||
}
|
||||
.txOutputs {
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
flex-direction: row;
|
||||
align-content: stretch;
|
||||
}
|
||||
.txOut {
|
||||
position: relative;
|
||||
flex: 1 1 auto;
|
||||
background-color: white;
|
||||
}
|
||||
.txOut:first {
|
||||
border-left: 3px solid black;
|
||||
}
|
||||
.txOut:after {
|
||||
content: '';
|
||||
width: 3px;
|
||||
background: black;
|
||||
.block:first-child {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 41.125%;
|
||||
top: 50%;
|
||||
width: 77.5vw;
|
||||
height: 77.5vw;
|
||||
transform: translate(-50%,-50%);
|
||||
}
|
||||
.blockDivider {
|
||||
display: block;
|
||||
margin: 1em -1em -1.5em;
|
||||
background: linear-gradient(to top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.125));
|
||||
padding: 0.125em 1em 1.5em;
|
||||
color: rgba(0, 0, 0, 0);
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
@media (max-height: 77.5vw) {
|
||||
.block:first-child {
|
||||
width: calc(100vh - 5vw);
|
||||
height: calc(100vh - 5vw);
|
||||
}
|
||||
}
|
||||
.block {
|
||||
width: 15vw;
|
||||
height: 15vw;
|
||||
box-shadow: 0.1em 0.1em 1em hsla(0, 0%, 0%, 0.5);
|
||||
background-color: #eee;
|
||||
margin: 0 auto 1em;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.blockDivider:hover,
|
||||
.blockDivider:focus {
|
||||
color: inherit;
|
||||
.explorer-link {
|
||||
display: none;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
font-size: 1.9vmin;
|
||||
text-align: center;
|
||||
background-color: hsla(0, 0%, 100%, 0.5);
|
||||
color: transparent;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
#muteToggle,
|
||||
#connectionStatus {
|
||||
.block:hover .explorer-link {
|
||||
display: block;
|
||||
}
|
||||
.paint {
|
||||
position: absolute;
|
||||
left: calc(var(--x) * 90% + 5%);
|
||||
top: calc(var(--y) * 90% + 5%);
|
||||
transform: translate(-50%, -50%) rotate(var(--rotation));
|
||||
height: calc(var(--size) * 20% + 20%);
|
||||
width: calc(var(--size) * 20% + 20%);
|
||||
mask-size: contain;
|
||||
mask-repeat: no-repeat;
|
||||
mask-position: center;
|
||||
}
|
||||
|
||||
#muteToggle, #connectionStatus {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: 8em;
|
||||
|
@ -110,26 +94,7 @@ a {
|
|||
text-align: center;
|
||||
color: black;
|
||||
}
|
||||
#muteToggle {
|
||||
left: 0;
|
||||
border-radius: 0 0 0.5em 0;
|
||||
border-width: 0 0.1em 0.1em 0;
|
||||
transition: opacity 0.5s;
|
||||
transition-delay: 1s;
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
z-index: 100;
|
||||
}
|
||||
#muteToggle:hover {
|
||||
opacity: 1;
|
||||
transition-delay: 0s;
|
||||
}
|
||||
#muteToggle:before {
|
||||
content: 'Mute';
|
||||
}
|
||||
#muteToggle.is-muted:before {
|
||||
content: 'Un-mute';
|
||||
}
|
||||
|
||||
#connectionStatus {
|
||||
right: 0;
|
||||
border-radius: 0 0 0 0.5em;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue