add ui to upload to IPFS node on box

This commit is contained in:
John Hess 2023-05-24 17:30:54 -05:00
parent 99089126c0
commit 54b3da996c
27 changed files with 78892 additions and 4 deletions

View file

@ -0,0 +1,213 @@
.form {
background: rgba(35, 61, 77, 0.81);
padding: 15px;
width: 100%;
border-radius: 4px;
box-shadow: 0 4px 10px 4px rgba(19, 35, 47, 0.3);
}
.tab-group {
list-style: none;
padding: 0;
margin: 0 0 20px 0;
}
.tab-group:after {
content: "";
display: table;
clear: both;
}
.tab-group li a {
display: block;
text-decoration: none;
padding: 10px;
background: rgba(160, 179, 176, 0.25);
color: #a0b3b0;
font-size: 16px;
float: left;
width: 50%;
text-align: center;
cursor: pointer;
-webkit-transition: .5s ease;
transition: .5s ease;
}
#localProtocol li,
#remoteProtocol li {
margin-left: 25%;
}
#localProtocol li a,
#remoteProtocol li a {
width: 28%;
padding: 4px;
font-size: 14px;
}
.tab-group li a:hover {
background: #207ab6;
color: #ffffff;
cursor: pointer;
}
.tab-group .active a {
background: #3498db;
color: #ffffff;
}
.tab-content > div:last-child {
display: none;
}
.form h1 {
text-align: center;
color: #ffffff;
font-weight: 300;
margin-bottom: 10px;
padding: 0px 0px;
font-size: 1em;
}
.form label {
position: absolute;
left: 10px;
color: rgba(255, 255, 255, 0.5);
transition: all 0.25s ease;
pointer-events: none;
font-size: 13px;
}
label .req {
margin: 2px;
color: #3498db;
}
label.active {
-webkit-transform: translateY(30px);
transform: translateY(30px);
left: 2px;
font-size: 14px;
}
label.active .req {
opacity: 0;
}
label.highlight {
color: #ffffff;
}
input,
textarea {
font-size: 15px;
width: 100%;
height: 100%;
padding: 5px 10px;
background: none;
background-image: none;
border: 1px solid #a0b3b0;
color: #ffffff;
border-radius: 0;
-webkit-transition: border-color .25s ease, box-shadow .25s ease;
transition: border-color .25s ease, box-shadow .25s ease;
}
input:focus,
textarea:focus {
outline: 0;
border-color: #207ab6;
}
input:disabled {
opacity: .4;
}
textarea {
border: 2px solid #a0b3b0;
resize: vertical;
}
.field-wrap {
position: relative;
margin-bottom: 20px;
}
.top-row:after {
content: "";
display: table;
clear: both;
}
.top-row > div {
margin-right: 4%;
}
#address {
float: left;
width: 70%;
}
#apiPort {
float: right;
width: 26%;
}
#gatewayPort {
float: right;
width: 26%;
}
.top-row > div:last-child {
margin: 0;
}
.button {
border: 0;
outline: none;
border-radius: 0;
padding: 6px 0;
font-size: 1rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: .1em;
background: #3498db;
color: #ffffff;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
-webkit-appearance: none;
}
.button:hover,
.button:focus {
background: #207ab6;
cursor: pointer;
}
.button-block {
display: flex;
width: 100%;
flex-direction: column;
justify-content: center;
align-items: center;
}
.button-block > div:first-child {
display: flex;
justify-content: center;
align-items: center;
}
.button-block img {
width: 20px;
}
.min-line {
display: inline-block;
width: 12px;
height: 10px;
border-radius: 5px;
background-color: #0c89ba;
}
.min-loading-hidden {
display: none;
}

333
assets/css/upload/style.css Normal file
View file

@ -0,0 +1,333 @@
html, body {
margin: 0px;
padding: 0px;
width: 100%;
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
background-color: #e9ebee;
}
#content {
margin: 15px auto;
width: 100%;
max-width: 1000px;
display: flex;
flex-direction: column;
background-color: white;
align-items: center;
padding-bottom: 50px;
}
#wrapper {
background-color: white;
padding: 50px 0px 50px 0px;
display: flex;
flex-direction: row-reverse;
flex-wrap: wrap;
justify-content: space-around;
width: 100%;
}
#hidden-menu {
display: none;
}
#top {
width: 100%;
margin: 25px 50px;
}
#left {
width: 400px;
}
#right {
width: 400px;
}
nav {
text-transform: uppercase;
color: #555555;
width: 100%;
max-width: 1400px;
display: flex;
justify-content: space-around;
align-items: center;
flex-wrap: wrap;
}
nav ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
}
nav img {
width: 40px;
}
nav > ul > li {
display: inline-block;
padding: 25px 1.2em;
white-space: nowrap;
position: relative;
}
nav a {
color: #92b0b3;
text-decoration: none;
}
nav a:hover {
color: white;
}
nav a:hover > * {
fill: white;
}
nav .svg {
fill: #92b0b3;
height: 1.2em;
width: 1.2em;
display: block;
float: right;
}
nav ul ul {
display: none;
position: absolute;
top: 100%; /*sets the top edge of the element above/below top edge of nearest ancestor*/
}
nav ul li:hover > ul {
display: block;
}
nav ul ul li {
float: none;
background: rgba(35, 61, 77, 0.81);
padding: 10px;
text-align: center;
}
nav ul ul li a {
color: #92b0b3;
}
nav ul ul li a:hover {
color: white;
}
*,
*:before,
*:after {
box-sizing: border-box;
}
@media screen and (max-width: 860px) {
nav h1 {
margin-top: 25px;
}
pre#response {
margin: 30px 0;
}
}
@media screen and (max-width: 477px) {
nav h1 {
font-size: 14px;
}
nav ul {
font-size: 12px;
}
}
@media screen and (max-width: 410px) {
nav h1 {
margin: 15px 0;
}
nav > ul > li {
padding: 0 .5em 15px;
}
}
@media screen and (max-width: 390px) {
#wrapper {
padding: 50px 0;
}
}
@media screen and (max-width: 370px) {
nav h1 {
font-size: 13px;
}
nav img {
width: 30px;
}
}
@media screen and (max-width: 355px) {
nav h1 {
font-size: 12px;
}
nav img {
width: 28px;
}
}
@media screen and (max-width: 350px) {
nav h1 {
font-size: 11px;
}
nav img {
width: 25px;
}
nav > ul > li {
font-size: 11px;
}
}
h1 {
color: #92b0b3;
font-weight: 500;
font-size: 1.2em;
display: flex;
align-items: center;
margin: 0;
}
.buttonContent > div:first-child {
display: flex;
justify-content: center;
align-items: center;
}
.buttonContent > div:first-child img {
margin-left: 5px;
}
.min-loading {
display: flex;
justify-content: center;
align-items: center;
position: relative;
width: 64px;
}
.min-loading.blue {
width: 68px;
}
.min-loading div {
position: absolute;
width: 11px;
height: 11px;
border-radius: 50%;
background: #fff;
animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.min-loading.blue div {
background-color: #3498db;
width: 15px;
height: 15px;
}
.min-loading div:nth-child(1) {
left: 6px;
animation: min-loading1 0.6s infinite;
}
.min-loading div:nth-child(2) {
left: 6px;
animation: min-loading2 0.6s infinite;
}
.min-loading div:nth-child(3) {
left: 26px;
animation: min-loading2 0.6s infinite;
}
.min-loading div:nth-child(4) {
left: 45px;
animation: min-loading3 0.6s infinite;
}
@keyframes min-loading1 {
0% {
transform: scale(0);
}
100% {
transform: scale(1);
}
}
@keyframes min-loading3 {
0% {
transform: scale(1);
}
100% {
transform: scale(0);
}
}
@keyframes min-loading2 {
0% {
transform: translate(0, 0);
}
100% {
transform: translate(19px, 0);
}
}
.loading-hidden {
display: none;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
#divResponse {
width: 100%;
}
#divResponse pre {
display: flex;
flex-direction: column;
color: #333;
min-height: 80px;
background-color: #f5f5f5;
border: 1px solid #ccc;
padding: 7px;
font-size: 12px;
overflow: auto;
margin: 30px 0;
white-space: pre-wrap;
word-break: break-word;
}
.b-nav {
margin: 0px auto;
width: 100%;
display: flex;
align-items: center;
background: rgba(35, 61, 77, 0.81);
display: flex;
justify-content: space-around;
align-items: center;
flex-wrap: wrap;
min-height: 60px;
}
#source-ack
{
text-align: center;
margin-bottom: 10px;
}

View file

@ -0,0 +1,138 @@
#fileDropBox {
line-height: 5em;
text-align: center;
border-radius: 7px;
color: #0f3c4b;
background-color: #e5edf1;
outline: 1px dashed gray;
outline-offset: -6px;
box-shadow: 0 4px 10px 4px rgba(19, 35, 47, 0.3);
padding: 25px 0 0;
width: 100%;
}
.box_icon {
width: 100%;
height: 60px;
vertical-align: middle;
text-align: center;
fill: #92b0b3;
}
.box_file {
position: absolute;
}
#fileDropBox label {
cursor: pointer;
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
#fileDropBox label:hover,
#fileDropBox label:focus {
background: #207ab6;
cursor: pointer;
}
input[type='file'] {
display: none;
}
#fileDropBox label {
background-color: #3498db;
color: #fff;
margin: 10px;
padding: 6px 20px;
font-size: 1rem;
text-transform: uppercase;
letter-spacing: .1em;
border-radius: .2em;
}
.box_button {
border: 0;
outline: none;
padding: 10px;
font-size: 1rem;
width: 9rem;
text-transform: uppercase;
letter-spacing: .1em;
background-color: #3498db;
color: #ffffff;
transition: all 0.5s ease;
-webkit-appearance: none;
box-shadow: 0 2px 5px 2px rgba(19, 35, 47, 0.3);
font-weight: bold;
}
.box_button img {
margin-bottom: -2px;
margin-left: 2px;
width: 18px;
}
#upload_conf {
display: flex;
}
.box_button:hover,
.box_button:focus {
background: #207ab6;
cursor: pointer;
}
#list {
max-height: 400px;
min-height: 100px;
border: 1px solid #ccc;
margin-top: 30px;
overflow: auto;
width: 100%;
}
#list ul {
margin: 0;
padding: 10px;
list-style-type: none;
color: #687b9d;
}
#list li {
margin-top: 3px;
background-color: #f2f3f5;
border: 1px solid #dbdbdb;
padding: 5px 0px 6px 8px;
word-wrap: break-word;
font-size: 14px;
}
#list .uploaded {
text-decoration: none;
color: #3498db;
}
#list .uploaded:hover {
color: #207ab6;
cursor: pointer;
}
.removeItem {
color: red;
font-size: 20px;
text-decoration: none;
}
.removeItem:hover {
font-weight: bold;
cursor: pointer;
}
spam#fileProperties {
color: #687b9d;
}
spam#info {
color: #92b0b3;
}