diff --git a/css/main.css b/css/main.css index f808280..cc90d06 100644 --- a/css/main.css +++ b/css/main.css @@ -120,7 +120,7 @@ input:invalid { } .bottom-padding { - padding-bottom: 1em; + padding-bottom: 1.5rem; } .top-padding { @@ -128,7 +128,7 @@ input:invalid { } .bottom-margin { - margin-bottom: 1em; + margin-bottom: 1.5rem; } .top-margin { @@ -359,6 +359,18 @@ p { stroke: none; } +textarea { + width: 100%; + max-width: 100%; + background: rgba(var(--text), 0.1); + border: none; + border-radius: 0.2rem; + resize: none; + font-size: 1rem; + line-height: 1.6; + padding: 0.8rem; +} + .input { display: -webkit-box; display: -ms-flexbox; @@ -370,9 +382,10 @@ p { position: relative; padding: 0.8em; margin-bottom: 1.5em; - border-radius: 0.2em; + border-radius: 0.2rem; background: rgba(var(--text), 0.1); border: 0.1em solid transparent; + cursor: text; } .input:last-of-type { @@ -383,7 +396,7 @@ p { border: 0.1em solid var(--primary-color); } -.input label { +.input .placeholder { opacity: .7; font-weight: 500; font-size: 1em; @@ -415,7 +428,7 @@ p { transform: translateY(0.5em); } -.animate-label label { +.animate-label .placeholder { -webkit-transform: translateY(-60%) scale(0.7); transform: translateY(-60%) scale(0.7); opacity: 1; @@ -489,7 +502,7 @@ p { } .solid-background { - background: var(--background) !important; + background: rgba(var(--foreground), 1) !important; } form { @@ -505,7 +518,7 @@ form { left: 0; right: 0; place-items: center; - background: rgba(0, 0, 0, 0.24); + background: rgba(0, 0, 0, 0.4); z-index: 10; -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease; @@ -551,17 +564,32 @@ form { } .popup-container .popup .container-header { + display: -ms-grid; + display: grid; + -ms-grid-columns: auto 1fr auto; + grid-template-columns: auto 1fr auto; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0; + gap: 1rem; margin-bottom: 1.5rem; } +.popup-container .popup .container-header .icon { + cursor: pointer; + padding-right: 0.4rem; + stroke-width: 8; +} + .popup-container .popup .container-header .btn { padding: 0.6em 1.2em; } +.popup-container .popup .container-header h3 { + text-transform: capitalize; +} + .popup-container .popup p { margin-bottom: 1.5rem !important; } @@ -573,8 +601,8 @@ form { transition: opacity 0.3s, -webkit-transform 0.3s; transition: transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; - -webkit-box-shadow: 0.2rem 0.4rem 0.8rem rgba(0, 0, 0, 0.16); - box-shadow: 0.2rem 0.4rem 0.8rem rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.08); + box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.08); -webkit-box-align: center; -ms-flex-align: center; align-items: center; @@ -589,7 +617,10 @@ form { position: fixed; right: 0; top: 0; - width: 100%; + width: calc(100% - 2rem); + margin: 1rem; + border-radius: 0.5rem; + border: solid 1px rgba(var(--text), 0.2); max-width: 100%; z-index: 40; background: rgba(var(--foreground), 1); @@ -628,6 +659,10 @@ form { flex: 1; } +#show_message span::first-letter { + text-transform: uppercase; +} + #show_message button { padding: 1rem; margin: 0 1em 0 0; @@ -642,40 +677,45 @@ form { stroke-width: 6; } -#confirmation { +#confirmation, #prompt { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding: 1rem; + padding: 1.5rem; } -#confirmation p { +#confirmation p, #prompt p { margin: 1rem; font-size: 1rem; font-weight: 500; color: rgba(var(--rgb-bw), 1) !important; } -#confirmation div { +#confirmation h4, #prompt h4 { + font-weight: 500; + margin-bottom: 1.5rem; +} + +#confirmation .input, #prompt .input { + margin-bottom: 1rem; +} + +#confirmation .btns, #prompt .btns { display: -webkit-box; display: -ms-flexbox; display: flex; - padding: 1em; -webkit-box-pack: right; -ms-flex-pack: right; justify-content: right; width: 100%; } -#confirmation div button { +#confirmation .btns button, #prompt .btns button { background: none; } -#confirmation div button:first-of-type { +#confirmation .btns button:first-of-type, #prompt .btns button:first-of-type { margin-right: 0.6em; } @@ -684,30 +724,23 @@ form { margin-bottom: 1em; } -#sign_in_popup { - -ms-flex-item-align: center; - -ms-grid-row-align: center; - align-self: center; - border-radius: 0.5em; - width: calc(100vw - 2em); - background: rgba(var(--foreground), 1); -} - #sign_in_popup h1 { margin-top: 2rem; } -#sign_in_popup p:first-of-type { - margin-bottom: 4em; +#sign_in_popup h4 { + font-weight: 500; + margin-bottom: 3rem; } #sign_in_popup button { margin: 1rem 0; } -#sign_in_popup p:nth-of-type(2) { - margin-top: 2em; - margin-bottom: 1em; +#sign_in_popup p { + margin-top: 1rem; + font-size: 0.9rem; + margin-bottom: 0 !important; } #sign_in_popup .input { @@ -728,30 +761,39 @@ form { -ms-flex-align: center; align-items: center; padding: 1em 0; -} - -#main_header svg { - stroke: var(--primary-color); - stroke-width: 10; - stroke-linecap: round; - height: 2em; - width: 3em; - fill: none; - margin-right: 0.4em; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; } #main_header #display_balance { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - margin-left: auto; + display: -ms-grid; + display: grid; + -ms-grid-columns: 1fr auto; + grid-template-columns: 1fr auto; + grid-template-areas: 'title title' ' . .'; + gap: 0.3rem 0.5rem; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; text-align: right; } +#main_header #display_balance h5 { + -ms-grid-row: 1; + -ms-grid-column: 1; + -ms-grid-column-span: 2; + grid-area: title; +} + +#main_header #display_balance .icon { + height: 1.4rem; + width: 1.4rem; + padding: 0.3rem; + stroke-width: 10; + cursor: pointer; +} + .icon { height: 1.2rem; width: 1.2rem; @@ -783,6 +825,7 @@ form { bottom: 0; top: auto; border-top: solid 1px rgba(var(--text), 0.2); + border-right: none; z-index: 3; background: rgba(var(--foreground), 1); } @@ -797,6 +840,7 @@ form { color: rgba(var(--text), 0.8); font-size: 0.9em; text-transform: uppercase; + width: 100%; letter-spacing: 0.1em; } @@ -833,12 +877,13 @@ form { } .options-tab { - display: -ms-grid; - display: grid; + display: -webkit-box; + display: -ms-flexbox; + display: flex; margin-top: 1rem; - -ms-grid-columns: (10rem)[2]; - grid-template-columns: repeat(2, 10rem); margin-bottom: 1rem; + -ms-flex-wrap: wrap; + flex-wrap: wrap; } .options-tab .option { @@ -849,19 +894,52 @@ form { -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; - border-radius: 0.2rem; + border-radius: 0.4rem; padding: 1.5rem; margin-right: 1rem; margin-bottom: 1rem; - border: solid 1px rgba(var(--text), 0.3); + width: 9rem; + border: solid 1px rgba(var(--text), 0.2); text-transform: capitalize; cursor: pointer; } .options-tab .option .icon { - height: 1.4rem; - width: 1.4rem; - margin-bottom: 1.5rem; + height: 2.8rem; + width: 2.8rem; + padding: 0.8rem; + border-radius: 2rem; + margin-bottom: 1rem; + stroke: rgba(var(--text), 0.4); +} + +.options-tab .option h4 { + font-weight: 600; +} + +.options-tab .option:nth-of-type(1) .icon { + background: #ffe5ea; + stroke: #af0f2c; +} + +.options-tab .option:nth-of-type(2) .icon { + background: #fff9d5; + stroke: #e69620; +} + +.options-tab .option:nth-of-type(3) .icon { + background: #e5ffe3; + stroke: #189b0f; +} + +.options-tab .option:nth-of-type(4) .icon { + background: #e4fbff; + stroke: #0b8ea5; +} + +.options-tab .option:nth-of-type(5) .icon { + background: #efe5ff; + stroke: #10359b; } .notification-dot::after { @@ -890,6 +968,10 @@ form { background: linear-gradient(rgba(var(--foreground), 1) 90%, transparent); } +.secondary-btn { + background: none; +} + .request { display: -webkit-inline-box; display: -ms-inline-flexbox; @@ -898,14 +980,14 @@ form { -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; - padding: 2em 1.5em; + padding: 1.5em; border-radius: 0.4em; - background: var(--background); + border: solid 1px rgba(var(--text), 0.2); } .request h5 { color: rgba(var(--text-light), 1); - margin-bottom: 0.6rem; + margin-bottom: 0.4rem; } .request h3, .request h4 { @@ -914,6 +996,10 @@ form { font-weight: 500; } +.request h4:last-of-type { + margin-bottom: 0; +} + .request .action { -ms-flex-item-align: end; align-self: flex-end; @@ -927,6 +1013,50 @@ form { width: auto; -ms-flex-item-align: end; align-self: flex-end; + margin-top: 1.5rem; + margin-bottom: 0; +} + +.request .copy-row { + margin-bottom: 1.5rem; +} + +.request .flex { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + margin-top: 1.5rem; +} + +.request .flex h5 { + margin: 0; +} + +.request .flex button { + margin: 0; +} + +.deposited { + color: #007732; +} + +.deposited::before { + content: '+ '; +} + +.decline-request { + margin-right: 0.5rem !important; +} + +.withdrawn { + color: #d43125; +} + +.withdrawn::before { + content: '- '; } .container { @@ -952,8 +1082,8 @@ form { position: -webkit-sticky; position: sticky; top: 0; - padding-bottom: 1em; - margin-bottom: 1em; + background: rgba(var(--foreground), 1); + will-change: auto; z-index: 2; } @@ -993,6 +1123,79 @@ form { background: rgba(var(--text-light), 0.2); } +.copy-row { + display: -ms-grid; + display: grid; + -ms-grid-columns: 1fr auto; + grid-template-columns: 1fr auto; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + gap: 0.5rem; +} + +.copy-row h4 { + margin-bottom: 0; +} + +.copy-row .icon { + cursor: pointer; + padding: 0.4rem; + height: 1.8rem; + width: 1.8rem; +} + +.copy-row .copy { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +#textCopied { + padding: 0.6rem 1.2rem; + border-radius: 2rem; + background: rgba(var(--text), 0.1); + color: rgba(var(--text), 1); + position: fixed; + bottom: 0; + pointer-events: none; + margin: 2rem 0; + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + -webkit-transition: 0.3s opacity ease; + transition: 0.3s opacity ease; + z-index: 20; +} + +.time { + font-family: 'Roboto', sans-serif; + margin-bottom: 1.5rem !important; +} + +#report_popup h4 { + font-weight: 400; +} + +#report_popup textarea { + margin-top: 1rem; +} + +#profile_page { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +#profile_page button { + -ms-flex-item-align: start; + align-self: flex-start; +} + @media only screen and (min-width: 640px) { body { padding: 1rem 6vw; @@ -1017,19 +1220,8 @@ form { border-radius: 0.2rem; } #confirmation { - padding: 1rem; width: 24rem; } - #confirmation button { - margin-left: 0.5rem; - } - #confirmation button:first-of-type { - margin-left: auto; - } - #confirmation p { - margin: 1rem; - margin-bottom: 2rem; - } .container { -ms-grid-columns: (1fr)[2]; grid-template-columns: repeat(2, 1fr); @@ -1050,6 +1242,7 @@ form { top: 0; right: auto; width: 6rem; + border-top: none; border-right: solid 1px rgba(var(--text), 0.2); } #navbar .navbar-item { @@ -1082,14 +1275,12 @@ form { #sign_in_popup { width: 24rem; } - .options-tab { - -ms-grid-columns: (10rem)[3]; - grid-template-columns: repeat(3, 10rem); - } } -#profile_page h5 { - margin-bottom: 0.5rem; +#profile_page .copy-row { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; } #main_loader { @@ -1097,9 +1288,18 @@ form { box-shadow: none; background: none; text-align: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +#main_loader button { + margin-left: 0; + margin-top: 1.5rem; } #main_loader svg { @@ -1142,10 +1342,6 @@ form { -ms-grid-columns: (1fr)[3]; grid-template-columns: repeat(3, 1fr); } - .options-tab { - -ms-grid-columns: (10rem)[4]; - grid-template-columns: repeat(4, 10rem); - } } @media only screen and (min-width: 1920px) { diff --git a/css/main.css.map b/css/main.css.map index 9b25ea8..0c4e4fb 100644 --- a/css/main.css.map +++ b/css/main.css.map @@ -1,6 +1,6 @@ { "version": 3, - "mappings": "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", + "mappings": "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", "sources": [ "main.scss" ], diff --git a/css/main.scss b/css/main.scss index 759d62f..d28812b 100644 --- a/css/main.scss +++ b/css/main.scss @@ -1,857 +1,1011 @@ -@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Roboto:wght@400;500;700&display=swap'); -*{ - box-sizing: border-box; - padding: 0; - margin: 0; - font-family: 'Barlow', sans-serif; -} -:root{ - scroll-behavior: smooth; -} -body{ - --primary-color: #303F9F; - --text: 17, 17, 17; - --text-light: 85, 85, 85; - --foreground: 255, 255, 255; - --background: #e8e8e8; - --dark-shade: #dadada; - background: var(--foreground); - color: rgba(var(--text), 1); - font-size: 16px; - margin: 1.5rem; -} -a{ - font-weight: 600; - text-decoration: none; - color: var(--primary-color); -} -.dark-text{ - color: #111; -} -h1,h2,h3,h4,h5{ - font-weight: 600; -} -button{ - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; - text-transform: uppercase; - letter-spacing: 0.1em; - padding: 0.6rem 1rem; - font-weight: 600; - cursor: pointer; - border-radius: 0.2em; - color: var(--primary-color); - transition: transform 0.3s, clip-path 0.3s; - border: none; - clip-path: circle(100%); - background: rgba(var(--text), 0.1); - -webkit-tap-highlight-color: transparent; - &:focus{ - outline: thin solid rgba(var(--text-light), .4); - } - &:disabled{ - cursor: default; - background: rgba(var(--text-light), 1); - } - &:disabled ~ .loader{ - opacity: 0; - } -} -input[type=number]::-webkit-inner-spin-button, -input[type=number]::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; -} -input[type=text]::-ms-clear { display: none; width : 0; height: 0; } -input[type=text]::-ms-reveal { display: none; width : 0; height: 0; } -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-results-button, -input[type="search"]::-webkit-search-results-decoration { display: none; } -input[type=number] { - -moz-appearance:textfield; -} -input:invalid{ - outline: none; - box-shadow: none; -} -::-moz-focus-inner{ - border: none; -} -.bottom-padding{ - padding-bottom: 1em; -} -.top-padding{ - padding-top: 1em; -} -.bottom-margin{ - margin-bottom: 1em; -} -.top-margin{ - margin-top: 1em; -} -.flex{ - display: flex; -} -.grid{ - display: grid; -} -.grid-2{ - grid-template-columns: auto auto; - gap: 1em; -} -.light-text{ - color: rgba(var(--text-light), 1); -} -.hide{ - opacity: 0; - pointer-events: none; -} -.hide-completely{ - display: none !important; -} -.breakable{ - word-break: break-all; -} -.separator{ - padding: .1em; -} -.no-transformations{ - transform: none !important; -} -.loader{ - fill: none; - stroke-width: 10; - stroke: var(--primary-color); - height: 2rem; - width: 2rem; - overflow: visible; - stroke-dashoffset: 230; - stroke-dasharray: 230; - padding: 2px; - justify-self: center; -} -@keyframes rotate{ - 100%{ - transform: rotate(360deg); - } -} -@keyframes load{ - 50%{ - stroke-dashoffset: 0; - } - 100%{ - stroke-dashoffset: -210; - } -} -p{ - line-height: 1.5; - font-family: 'Roboto', sans-serif; - color: rgba(var(--text), 0.8); -} -.action{ - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; - .btn{ - z-index: 2; - } - .loader{ - position: absolute; - z-index: 1; - padding: 0.4em; - } -} -.clip{ - clip-path: circle(0) !important; -} -.animate-loader{ - animation: load 2.6s infinite, rotate 1s infinite linear; -} -.expand{ - width: 100%; -} -.fade-left{ - animation: fadeleft 0.3s; -} -.fade-right{ - animation: faderight 0.3s; -} -@keyframes faderight{ - from{ - opacity: 0; - transform: translateX(-1em); - } - to{ - opacity: 1; - transform: none; - } -} -@keyframes fadeleft{ - from{ - opacity: 0; - transform: translateX(1em); - } - to{ - opacity: 1; - transform: none; - } -} -#logo{ - display: inline-grid; - align-items: center; - grid-template-columns: auto 1fr; - gap: 0.6rem 0.2rem; - margin-right: 1rem; - h4{ - letter-spacing: 0.06rem; - word-spacing: 0.12rem; - margin-top: 0.2rem; - } - h5{ - font-family: 'Roboto', sans-serif; - font-weight: 400; - } - #main_logo{ - height: 1.4rem; - width: 1.4rem; - fill: rgba(var(--text), 1); - stroke: none; - } -} - -.input{ - display: flex; - width: 100%; - align-items: center; - position: relative; - padding: 0.8em; - margin-bottom: 1.5em; - border-radius: 0.2em; - background: rgba(var(--text), 0.1); - border: 0.1em solid transparent; - &:last-of-type{ - margin-bottom: 0; - } - &:focus-within{ - border: 0.1em solid var(--primary-color); - } - label{ - opacity: .7; - font-weight: 500; - font-size: 1em; - position: absolute; - transition: transform 0.3s ease; - transform-origin: left; - pointer-events: none; - will-change: contents; - text-transform: capitalize; - } - input{ - flex: 1; - font-size: 1rem; - border: none; - background: transparent; - outline: none; - color: rgba(var(--text), 1); - } -} -.animate-label{ - input{ - transform: translateY(0.5em); - } - label{ - transform: translateY(-60%) scale(0.7); - opacity: 1; - color: var(--primary-color); - } -} -.container:empty ~ .empty{ - display: grid; -} -.empty{ - display: none; - place-items: center; - width: 100%; - svg{ - stroke: rgba(var(--text), 0.8); - height: 12em; - width: 12em; - } -} -.container-header{ - display: flex; - align-items: center; - flex-direction: row; - width: 100%; - padding: 1rem 0; - h2{ - flex: 1; - font-weight: 600; - } - button{ - align-self: center; - } -} -.btn{ - background: var(--primary-color); - color: rgba(var(--foreground), 1); - padding: 0.4em 1em; -} -.back-arrow{ - stroke: rgba(var(--text), 1); - stroke-width: 6; - fill: none; - height: 2rem; - padding: 0.5rem 0.5rem 0.5rem 0; - cursor: pointer; -} -.card{ - border-radius: 0.6rem; - padding: 1.5em; - background: rgba(var(--foreground), 1); -} -.solid-background{ - background: var(--background) !important; -} -form{ - width: 100%; -} -.popup-container{ - display: grid; - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - place-items: center; - background: rgba($color: #000000, $alpha: 0.24); - z-index: 10; - transition: opacity 0.3s ease; - .popup{ - flex-direction: column; - align-self: flex-end; - align-items: flex-start; - flex-wrap: wrap; - width: 100%; - border-radius: 0.5rem 0.5rem 0 0; - padding: 1.5rem; - position: relative; - display: flex; - background: rgba(var(--foreground), 1); - transform: translateY(1rem); - transition: transform 0.3s; - box-shadow: 0 2rem 2rem rgba($color: #000000, $alpha: 0.24); - overflow-y: auto; - h5{ - margin: 0.5rem 0; - } - button:first-of-type{ - margin-left: auto; - } - .container-header{ - align-items: center; - padding: 0; - margin-bottom: 1.5rem; - .btn{ - padding: 0.6em 1.2em; - } - } - p{ - margin-bottom: 1.5rem !important; - } - } -} -#show_message{ - transform: translate(0, -100%); - transition: transform 0.3s, opacity 0.3s; - box-shadow: 0.2rem 0.4rem 0.8rem rgba($color: #000000, $alpha: 0.16); - align-items: center; - flex-direction: row; - display: flex; - color: rgba(var(--text), 1); - position: fixed; - right: 0; - top: 0; - width: 100%; - max-width: 100%; - z-index: 40; - background: rgba(var(--foreground), 1); - #error_icon{ - fill: #E53935; - } - #done_icon{ - fill: #00C853; - } - .notification-icon{ - height: 2em; - width: 2em; - margin: 1em 0 1em 1em; - fill: rgba(var(--text), 1); - } - div{ - padding: 1em; - flex: 1; - h5{ - opacity: 0.8; - } - } - span{ - font-weight: 500; - flex: 1; - } - button{ - padding: 1rem; - margin: 0 1em 0 0; - border: none; - background: none; - svg{ - height: 1em; - width: 1em; - stroke: rgba(var(--text), 1); - stroke-width: 6; - } - } -} -#confirmation{ - flex-direction: column; - justify-content: center; - padding: 1rem; - p{ - margin: 1rem; - font-size: 1rem; - font-weight: 500; - color: rgba(var(--rgb-bw),1) !important; - } - div{ - display: flex; - padding: 1em; - justify-content: right; - width: 100%; - button{ - background: none; - } - button:first-of-type{ - margin-right: 0.6em; - } - } -} -.refresh{ - margin-top: 0.6em; - margin-bottom: 1em; -} -#sign_in_popup{ - align-self: center; - border-radius: 0.5em; - width: calc(100vw - 2em); - background: rgba(var(--foreground), 1); - h1{ - margin-top: 2rem; - } - p:first-of-type{ - margin-bottom: 4em; - } - button{ - margin: 1rem 0; - } - p:nth-of-type(2){ - margin-top: 2em; - margin-bottom: 1em; - } - .input{ - background: rgba(var(--text), 0.1); - } -} -.primary-btn{ - background: var(--primary-color); - padding: 0.8em 1.6em; - justify-content: center; - color: rgba(var(--foreground), 1); -} -#main_header{ - align-items: center; - padding: 1em 0; - svg{ - stroke: var(--primary-color); - stroke-width: 10; - stroke-linecap: round; - height: 2em; - width: 3em; - fill: none; - margin-right: 0.4em; - } - #display_balance{ - display: flex; - flex-direction: column; - margin-left: auto; - text-align: right; - } -} -.icon{ - height: 1.2rem; - width: 1.2rem; - fill: none; - stroke: rgba(var(--text), 0.8); - stroke-width: 6; - overflow: visible; - stroke-linecap: round; - stroke-linejoin: round; -} -#navbar{ - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-evenly; - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: auto; - border-top: solid 1px rgba(var(--text), 0.2); - z-index: 3; - background: rgba(var(--foreground), 1); - .navbar-item{ - position: relative; - text-align: center; - cursor: pointer; - padding: 0.3em; - margin: 0.3em; - border-radius: 0.4em; - color: rgba(var(--text), 0.8); - font-size: 0.9em; - text-transform: uppercase; - letter-spacing: 0.1em; - h5{ - font-size: 0.6em; - margin-top: 0.4em; - font-weight: 700; - } - } - .active{ - color: var(--primary-color); - .icon{ - stroke: var(--primary-color); - } - } -} -.banking{ - stroke-width: 4; -} -#home_page{ - h1{ - margin-top: 4vw; - margin-bottom: 1rem; - font-weight: 700; - } - p{ - margin-bottom: 3rem; - } - h2{ - margin-bottom: 1rem; - } -} -.options-tab{ - display: grid; - margin-top: 1rem; - grid-template-columns: repeat(2, 10rem); - margin-bottom: 1rem; - .option{ - display: inline-flex; - flex-direction: column; - border-radius: 0.2rem; - padding: 1.5rem; - margin-right: 1rem; - margin-bottom: 1rem; - border: solid 1px rgba(var(--text), 0.3); - text-transform: capitalize; - cursor: pointer; - .icon{ - height: 1.4rem; - width: 1.4rem; - margin-bottom: 1.5rem; - } - } -} -.notification-dot::after{ - content: ''; - position: absolute; - z-index: 1; - top: 0; - right: 0; - height: 0.6em; - width: 0.6em; - background-color: #E53935; - border-radius: 0.4em; - transition: transform 0.3s; -} -.shrink.notification-dot::after{ - transform: scale(0); -} -#deposit, #withdraw{ - .container-header{ - background: linear-gradient(rgba(var(--foreground), 1) 90%, transparent); - } -} -.request{ - display: inline-flex; - flex-direction: column; - padding: 2em 1.5em; - border-radius: 0.4em; - background: var(--background); - h5{ - color: rgba(var(--text-light), 1); - margin-bottom: 0.6rem; - } - h3,h4{ - margin-bottom: 1.5rem; - font-family: 'Roboto', sans-serif; - font-weight: 500; - } - .action{ - align-self: flex-end; - } - .amount{ - font-size: 1.4em; - } - button{ - width: auto; - align-self: flex-end; - } -} -.container{ - display: grid; - gap: 1em; - grid-template-columns: 1fr; -} -.page{ - padding: 2rem 0; - padding-bottom: 4rem; - .container-header{ - display: grid; - grid-template-columns: 1fr auto; - grid-template-areas: '. .' - 'search search'; - gap: 1rem; - position: sticky; - top: 0; - padding-bottom: 1em; - margin-bottom: 1em; - z-index: 2; - h2{ - font-weight: 600; - } - .action{ - height: 100%; - button{ - height: 100%; - padding: 0.8em 1.6em; - } - } - .search{ - grid-area: search; - input{ - padding: 1em; - border: none; - width: 100%; - background: var(--dark-shade); - font-size: 1rem; - font-weight: 500; - color: rgba(var(--text), 1); - border-radius: 0.2em; - &:focus{ - outline: none; - background: rgba(var(--text-light), 0.2); - } - } - } - } -} -@media only screen and (min-width: 640px){ - body{ - padding: 1rem 6vw; - margin-left: 6rem; - } - .popup-container{ - .popup{ - width: 24rem; - align-self: center; - border-radius: 0.2rem; - height: auto; - } - } - #show_message{ - transform: translate(100%, 0); - margin: 1rem; - max-width: 60vw; - width: max-content; - border-radius: 0.2rem; - } - #confirmation{ - padding: 1rem; - width: 24rem; - button{ - margin-left: 0.5rem; - &:first-of-type{ - margin-left: auto; - } - } - p{ - margin: 1rem; - margin-bottom: 2rem; - } - } - .container{ - grid-template-columns: repeat(2, 1fr); - } - #navbar{ - justify-content: center; - flex-direction: column; - align-items: stretch; - left: 0; - bottom: 0; - top: 0; - right: auto; - width: 6rem; - border-right: solid 1px rgba(var(--text), 0.2); - .navbar-item{ - width: auto; - padding: 1.4em 0; - margin: 0.6em; - .icon{ - height: 1.4rem; - width: 1.4rem; - } - h5{ - font-size: 0.8em; - } - &:hover{ - .icon{ - stroke: rgba(var(--text), 1); - } - h5{ - color: rgba(var(--text), 1); - } - } - &.active:hover{ - .icon{ - stroke: var(--primary-color); - } - h5{ - color: var(--primary-color); - } - } - } - } - .page{ - padding-bottom: 2em; - } - #sign_in_popup{ - width: 24rem; - } - .options-tab{ - grid-template-columns: repeat(3, 10rem); - } -} -#profile_page{ - h5{ - margin-bottom: 0.5rem; - } -} -#main_loader{ - box-shadow: none; - background: none; - text-align: center; - justify-content: center; - svg{ - height: 2rem; - width: 2rem; - stroke: var(--primary-color); - stroke-width: 6; - fill: none; - overflow: visible; - stroke-linecap: round; - stroke-dashoffset: 210; - stroke-dasharray: 210; - justify-self: center; - align-self: center; - margin-bottom: 2rem; - } - h3{ - width: 100%; - text-transform: uppercase; - font-weight: 400; - word-spacing: 0.16em; - } -} -@media only screen and (min-width: 800px){ - .container{ - grid-template-columns: repeat(3, 1fr); - } -} -@media only screen and (min-width: 1280px){ - body{ - padding: 1rem 12vw; - } - .container{ - grid-template-columns: repeat(3, 1fr); - } - .options-tab{ - grid-template-columns: repeat(4, 10rem); - } -} -@media only screen and (min-width: 1920px){ - body{ - font-size: 24px; - padding: 2rem 20vw; - } - .container{ - grid-template-columns: repeat(4, 1fr); - } -} -@media only screen and (min-width: 2048px){ - body{ - font-size: 24px; - padding: 2rem 30vw; - } - .container{ - grid-template-columns: repeat(4, 1fr); - } -} -@media only screen and (max-width: 320px){ - body{ - font-size: 14px; - } -} -@media (prefers-color-scheme: dark){ - :root{ - --text: 238, 238, 238; - --text-light: 170, 170, 170; - --foreground: 26, 26, 26; - --background: #111; - --dark-shade: #1a1a1a; - } -} -@media (prefers-color-scheme: light){ - :root{ - --text: 17, 17, 17; - --text-light: 85, 85, 85; - --foreground: 255, 255, 255; - --background: #e8e8e8; - --dark-shade: #dadada; - } -} -@media (prefers-color-scheme: no-preference){ - :root{ - --text: 17, 17, 17; - --text-light: 85, 85, 85; - --foreground: 255, 255, 255; - --background: #e8e8e8; - --dark-shade: #dadada; - } -} -@media (any-hover: hover){ -} - +@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Roboto:wght@400;500;700&display=swap'); +*{ + box-sizing: border-box; + padding: 0; + margin: 0; + font-family: 'Barlow', sans-serif; +} +:root{ + scroll-behavior: smooth; +} +body{ + --primary-color: #303F9F; + --text: 17, 17, 17; + --text-light: 85, 85, 85; + --foreground: 255, 255, 255; + --background: #e8e8e8; + --dark-shade: #dadada; + background: var(--foreground); + color: rgba(var(--text), 1); + font-size: 16px; + margin: 1.5rem; +} +a{ + font-weight: 600; + text-decoration: none; + color: var(--primary-color); +} +.dark-text{ + color: #111; +} +h1,h2,h3,h4,h5{ + font-weight: 600; +} +button{ + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + text-transform: uppercase; + letter-spacing: 0.1em; + padding: 0.6rem 1rem; + font-weight: 600; + cursor: pointer; + border-radius: 0.2em; + color: var(--primary-color); + transition: transform 0.3s, clip-path 0.3s; + border: none; + clip-path: circle(100%); + background: rgba(var(--text), 0.1); + -webkit-tap-highlight-color: transparent; + &:focus{ + outline: thin solid rgba(var(--text-light), .4); + } + &:disabled{ + cursor: default; + background: rgba(var(--text-light), 1); + } + &:disabled ~ .loader{ + opacity: 0; + } +} +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} +input[type=text]::-ms-clear { display: none; width : 0; height: 0; } +input[type=text]::-ms-reveal { display: none; width : 0; height: 0; } +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-results-button, +input[type="search"]::-webkit-search-results-decoration { display: none; } +input[type=number] { + -moz-appearance:textfield; +} +input:invalid{ + outline: none; + box-shadow: none; +} +::-moz-focus-inner{ + border: none; +} +.bottom-padding{ + padding-bottom: 1.5rem; +} +.top-padding{ + padding-top: 1em; +} +.bottom-margin{ + margin-bottom: 1.5rem; +} +.top-margin{ + margin-top: 1em; +} +.flex{ + display: flex; +} +.grid{ + display: grid; +} +.grid-2{ + grid-template-columns: auto auto; + gap: 1em; +} +.light-text{ + color: rgba(var(--text-light), 1); +} +.hide{ + opacity: 0; + pointer-events: none; +} +.hide-completely{ + display: none !important; +} +.breakable{ + word-break: break-all; +} +.separator{ + padding: .1em; +} +.no-transformations{ + transform: none !important; +} +.loader{ + fill: none; + stroke-width: 10; + stroke: var(--primary-color); + height: 2rem; + width: 2rem; + overflow: visible; + stroke-dashoffset: 230; + stroke-dasharray: 230; + padding: 2px; + justify-self: center; +} +@keyframes rotate{ + 100%{ + transform: rotate(360deg); + } +} +@keyframes load{ + 50%{ + stroke-dashoffset: 0; + } + 100%{ + stroke-dashoffset: -210; + } +} +p{ + line-height: 1.5; + font-family: 'Roboto', sans-serif; + color: rgba(var(--text), 0.8); +} +.action{ + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + .btn{ + z-index: 2; + } + .loader{ + position: absolute; + z-index: 1; + padding: 0.4em; + } +} +.clip{ + clip-path: circle(0) !important; +} +.animate-loader{ + animation: load 2.6s infinite, rotate 1s infinite linear; +} +.expand{ + width: 100%; +} +.fade-left{ + animation: fadeleft 0.3s; +} +.fade-right{ + animation: faderight 0.3s; +} +@keyframes faderight{ + from{ + opacity: 0; + transform: translateX(-1em); + } + to{ + opacity: 1; + transform: none; + } +} +@keyframes fadeleft{ + from{ + opacity: 0; + transform: translateX(1em); + } + to{ + opacity: 1; + transform: none; + } +} +#logo{ + display: inline-grid; + align-items: center; + grid-template-columns: auto 1fr; + gap: 0.6rem 0.2rem; + margin-right: 1rem; + h4{ + letter-spacing: 0.06rem; + word-spacing: 0.12rem; + margin-top: 0.2rem; + } + h5{ + font-family: 'Roboto', sans-serif; + font-weight: 400; + } + #main_logo{ + height: 1.4rem; + width: 1.4rem; + fill: rgba(var(--text), 1); + stroke: none; + } +} +textarea{ + width: 100%; + max-width: 100%; + background: rgba(var(--text), 0.1); + border: none; + border-radius: 0.2rem; + resize: none; + font-size: 1rem; + line-height: 1.6; + padding: 0.8rem; +} +.input{ + display: flex; + width: 100%; + align-items: center; + position: relative; + padding: 0.8em; + margin-bottom: 1.5em; + border-radius: 0.2rem; + background: rgba(var(--text), 0.1); + border: 0.1em solid transparent; + cursor: text; + &:last-of-type{ + margin-bottom: 0; + } + &:focus-within{ + border: 0.1em solid var(--primary-color); + } + .placeholder{ + opacity: .7; + font-weight: 500; + font-size: 1em; + position: absolute; + transition: transform 0.3s ease; + transform-origin: left; + pointer-events: none; + will-change: contents; + text-transform: capitalize; + } + input{ + flex: 1; + font-size: 1rem; + border: none; + background: transparent; + outline: none; + color: rgba(var(--text), 1); + } +} +.animate-label{ + input{ + transform: translateY(0.5em); + } + .placeholder{ + transform: translateY(-60%) scale(0.7); + opacity: 1; + color: var(--primary-color); + } +} +.container:empty ~ .empty{ + display: grid; +} +.empty{ + display: none; + place-items: center; + width: 100%; + svg{ + stroke: rgba(var(--text), 0.8); + height: 12em; + width: 12em; + } +} +.container-header{ + display: flex; + align-items: center; + flex-direction: row; + width: 100%; + padding: 1rem 0; + h2{ + flex: 1; + font-weight: 600; + } + button{ + align-self: center; + } +} +.btn{ + background: var(--primary-color); + color: rgba(var(--foreground), 1); + padding: 0.4em 1em; +} +.back-arrow{ + stroke: rgba(var(--text), 1); + stroke-width: 6; + fill: none; + height: 2rem; + padding: 0.5rem 0.5rem 0.5rem 0; + cursor: pointer; +} +.card{ + border-radius: 0.6rem; + padding: 1.5em; + background: rgba(var(--foreground), 1); +} +.solid-background{ + background: rgba(var(--foreground), 1) !important; +} +form{ + width: 100%; +} +.popup-container{ + display: grid; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + place-items: center; + background: rgba($color: #000000, $alpha: 0.4); + z-index: 10; + transition: opacity 0.3s ease; + .popup{ + flex-direction: column; + align-self: flex-end; + align-items: flex-start; + flex-wrap: wrap; + width: 100%; + border-radius: 0.5rem 0.5rem 0 0; + padding: 1.5rem; + position: relative; + display: flex; + background: rgba(var(--foreground), 1); + transform: translateY(1rem); + transition: transform 0.3s; + box-shadow: 0 2rem 2rem rgba($color: #000000, $alpha: 0.24); + overflow-y: auto; + h5{ + margin: 0.5rem 0; + } + button:first-of-type{ + margin-left: auto; + } + .container-header{ + display: grid; + grid-template-columns: auto 1fr auto; + align-items: center; + padding: 0; + gap: 1rem; + margin-bottom: 1.5rem; + .icon{ + cursor: pointer; + padding-right: 0.4rem; + stroke-width: 8; + } + .btn{ + padding: 0.6em 1.2em; + } + h3{ + text-transform: capitalize; + } + } + p{ + margin-bottom: 1.5rem !important; + } + } +} +#show_message{ + transform: translate(0, -100%); + transition: transform 0.3s, opacity 0.3s; + box-shadow: 0 0.4rem 0.8rem rgba($color: #000000, $alpha: 0.08); + align-items: center; + flex-direction: row; + display: flex; + color: rgba(var(--text), 1); + position: fixed; + right: 0; + top: 0; + width: calc(100% - 2rem); + margin: 1rem; + border-radius: 0.5rem; + border: solid 1px rgba(var(--text), 0.2); + max-width: 100%; + z-index: 40; + background: rgba(var(--foreground), 1); + #error_icon{ + fill: #E53935; + } + #done_icon{ + fill: #00C853; + } + .notification-icon{ + height: 2em; + width: 2em; + margin: 1em 0 1em 1em; + fill: rgba(var(--text), 1); + } + div{ + padding: 1em; + flex: 1; + h5{ + opacity: 0.8; + } + } + span{ + font-weight: 500; + flex: 1; + } + span::first-letter{ + text-transform: uppercase; + } + button{ + padding: 1rem; + margin: 0 1em 0 0; + border: none; + background: none; + svg{ + height: 1em; + width: 1em; + stroke: rgba(var(--text), 1); + stroke-width: 6; + } + } +} +#confirmation,#prompt{ + flex-direction: column; + padding: 1.5rem; + p{ + margin: 1rem; + font-size: 1rem; + font-weight: 500; + color: rgba(var(--rgb-bw),1) !important; + } + h4{ + font-weight: 500; + margin-bottom: 1.5rem; + } + .input{ + margin-bottom: 1rem; + } + .btns{ + display: flex; + justify-content: right; + width: 100%; + button{ + background: none; + } + button:first-of-type{ + margin-right: 0.6em; + } + } +} +.refresh{ + margin-top: 0.6em; + margin-bottom: 1em; +} +#sign_in_popup{ + h1{ + margin-top: 2rem; + } + h4{ + font-weight: 500; + margin-bottom: 3rem; + } + button{ + margin: 1rem 0; + } + p{ + margin-top: 1rem; + font-size: 0.9rem; + margin-bottom: 0 !important; + } + .input{ + background: rgba(var(--text), 0.1); + } +} +.primary-btn{ + background: var(--primary-color); + padding: 0.8em 1.6em; + justify-content: center; + color: rgba(var(--foreground), 1); +} +#main_header{ + align-items: center; + padding: 1em 0; + justify-content: space-between; + #display_balance{ + display: grid; + grid-template-columns: 1fr auto; + grid-template-areas: 'title title' + ' . .'; + gap: 0.3rem 0.5rem; + align-items: center; + text-align: right; + h5{ + grid-area: title; + } + .icon{ + height: 1.4rem; + width: 1.4rem; + padding: 0.3rem; + stroke-width: 10; + cursor: pointer; + } + } +} +.icon{ + height: 1.2rem; + width: 1.2rem; + fill: none; + stroke: rgba(var(--text), 0.8); + stroke-width: 6; + overflow: visible; + stroke-linecap: round; + stroke-linejoin: round; +} +#navbar{ + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-evenly; + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: auto; + border-top: solid 1px rgba(var(--text), 0.2); + border-right: none; + z-index: 3; + background: rgba(var(--foreground), 1); + .navbar-item{ + position: relative; + text-align: center; + cursor: pointer; + padding: 0.3em; + margin: 0.3em; + border-radius: 0.4em; + color: rgba(var(--text), 0.8); + font-size: 0.9em; + text-transform: uppercase; + width: 100%; + letter-spacing: 0.1em; + h5{ + font-size: 0.6em; + margin-top: 0.4em; + font-weight: 700; + } + } + .active{ + color: var(--primary-color); + .icon{ + stroke: var(--primary-color); + } + } +} +.banking{ + stroke-width: 4; +} +#home_page{ + h1{ + margin-top: 4vw; + margin-bottom: 1rem; + font-weight: 700; + } + p{ + margin-bottom: 3rem; + } + h2{ + margin-bottom: 1rem; + } +} +.options-tab{ + display: flex; + margin-top: 1rem; + margin-bottom: 1rem; + flex-wrap: wrap; + .option{ + display: inline-flex; + flex-direction: column; + border-radius: 0.4rem; + padding: 1.5rem; + margin-right: 1rem; + margin-bottom: 1rem; + width: 9rem; + border: solid 1px rgba(var(--text), 0.2); + text-transform: capitalize; + cursor: pointer; + .icon{ + height: 2.8rem; + width: 2.8rem; + padding: 0.8rem; + border-radius: 2rem; + margin-bottom: 1rem; + stroke: rgba(var(--text), 0.4); + } + h4{ + font-weight: 600; + } + &:nth-of-type(1){ + .icon{ + background: rgb(255, 229, 234); + stroke: rgb(175, 15, 44); + } + } + &:nth-of-type(2){ + .icon{ + background: rgb(255, 249, 213); + stroke: rgb(230, 150, 32); + } + } + &:nth-of-type(3){ + .icon{ + background: rgb(229, 255, 227); + stroke: rgb(24, 155, 15); + } + } + &:nth-of-type(4){ + .icon{ + background: rgb(228, 251, 255); + stroke: rgb(11, 142, 165); + } + } + &:nth-of-type(5){ + .icon{ + background: rgb(239, 229, 255); + stroke: rgb(16, 53, 155); + } + } + } +} +.notification-dot::after{ + content: ''; + position: absolute; + z-index: 1; + top: 0; + right: 0; + height: 0.6em; + width: 0.6em; + background-color: #E53935; + border-radius: 0.4em; + transition: transform 0.3s; +} +.shrink.notification-dot::after{ + transform: scale(0); +} +#deposit, #withdraw{ + .container-header{ + background: linear-gradient(rgba(var(--foreground), 1) 90%, transparent); + } +} +.secondary-btn{ + background: none; +} +.request{ + display: inline-flex; + flex-direction: column; + padding: 1.5em; + border-radius: 0.4em; + border: solid 1px rgba(var(--text), 0.2); + h5{ + color: rgba(var(--text-light), 1); + margin-bottom: 0.4rem; + } + h3,h4{ + margin-bottom: 1.5rem; + font-family: 'Roboto', sans-serif; + font-weight: 500; + } + h4:last-of-type{ + margin-bottom: 0; + } + .action{ + align-self: flex-end; + } + .amount{ + font-size: 1.4em; + } + button{ + width: auto; + align-self: flex-end; + margin-top: 1.5rem; + margin-bottom: 0; + } + .copy-row{ + margin-bottom: 1.5rem; + } + .flex{ + align-items: center; + justify-content: flex-end; + margin-top: 1.5rem; + h5{ + margin: 0; + } + button{ + margin: 0; + } + } +} +.deposited{ + color: #007732; + &::before{ + content: '+ '; + } +} +.decline-request{ + margin-right: 0.5rem !important; +} +.withdrawn{ + color: #d43125; + &::before{ + content: '- '; + } +} +.container{ + display: grid; + gap: 1em; + grid-template-columns: 1fr; +} +.page{ + padding: 2rem 0; + padding-bottom: 4rem; + .container-header{ + display: grid; + grid-template-columns: 1fr auto; + grid-template-areas: '. .' + 'search search'; + gap: 1rem; + position: sticky; + top: 0; + background: rgba(var(--foreground), 1); + will-change: auto; + z-index: 2; + h2{ + font-weight: 600; + } + .action{ + height: 100%; + button{ + height: 100%; + padding: 0.8em 1.6em; + } + } + .search{ + grid-area: search; + input{ + padding: 1em; + border: none; + width: 100%; + background: var(--dark-shade); + font-size: 1rem; + font-weight: 500; + color: rgba(var(--text), 1); + border-radius: 0.2em; + &:focus{ + outline: none; + background: rgba(var(--text-light), 0.2); + } + } + } + } +} +.copy-row{ + display: grid; + grid-template-columns: 1fr auto; + align-items: center; + gap: 0.5rem; + h4{ + margin-bottom: 0; + } + .icon{ + cursor: pointer; + padding: 0.4rem; + height: 1.8rem; + width: 1.8rem; + } + .copy{ + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } +} +#textCopied{ + padding: 0.6rem 1.2rem; + border-radius: 2rem; + background: rgba(var(--text), 0.1); + color: rgba(var(--text), 1); + position: fixed; + bottom: 0; + pointer-events: none; + margin: 2rem 0; + left: 50%; + transform: translateX(-50%); + transition: 0.3s opacity ease; + z-index: 20; +} +.time{ + font-family: 'Roboto', sans-serif; + margin-bottom: 1.5rem !important; +} +#report_popup{ + h4{ + font-weight: 400; + } + textarea{ + margin-top: 1rem; + } +} +#profile_page{ + display: flex; + flex-direction: column; + button{ + align-self: flex-start; + } +} +@media only screen and (min-width: 640px){ + body{ + padding: 1rem 6vw; + margin-left: 6rem; + } + .popup-container{ + .popup{ + width: 24rem; + align-self: center; + border-radius: 0.2rem; + height: auto; + } + } + #show_message{ + transform: translate(100%, 0); + margin: 1rem; + max-width: 60vw; + width: max-content; + border-radius: 0.2rem; + } + #confirmation{ + width: 24rem; + } + .container{ + grid-template-columns: repeat(2, 1fr); + } + #navbar{ + justify-content: center; + flex-direction: column; + align-items: stretch; + left: 0; + bottom: 0; + top: 0; + right: auto; + width: 6rem; + border-top: none; + border-right: solid 1px rgba(var(--text), 0.2); + .navbar-item{ + width: auto; + padding: 1.4em 0; + margin: 0.6em; + .icon{ + height: 1.4rem; + width: 1.4rem; + } + h5{ + font-size: 0.8em; + } + &:hover{ + .icon{ + stroke: rgba(var(--text), 1); + } + h5{ + color: rgba(var(--text), 1); + } + } + &.active:hover{ + .icon{ + stroke: var(--primary-color); + } + h5{ + color: var(--primary-color); + } + } + } + } + .page{ + padding-bottom: 2em; + } + #sign_in_popup{ + width: 24rem; + } +} +#profile_page{ + .copy-row{ + display: inline-flex; + } +} +#main_loader{ + box-shadow: none; + background: none; + text-align: center; + align-items: center; + flex-direction: column; + button{ + margin-left: 0; + margin-top: 1.5rem; + } + svg{ + height: 2rem; + width: 2rem; + stroke: var(--primary-color); + stroke-width: 6; + fill: none; + overflow: visible; + stroke-linecap: round; + stroke-dashoffset: 210; + stroke-dasharray: 210; + justify-self: center; + align-self: center; + margin-bottom: 2rem; + } + h3{ + width: 100%; + text-transform: uppercase; + font-weight: 400; + word-spacing: 0.16em; + } +} +@media only screen and (min-width: 800px){ + .container{ + grid-template-columns: repeat(3, 1fr); + } +} +@media only screen and (min-width: 1280px){ + body{ + padding: 1rem 12vw; + } + .container{ + grid-template-columns: repeat(3, 1fr); + } +} +@media only screen and (min-width: 1920px){ + body{ + font-size: 24px; + padding: 2rem 20vw; + } + .container{ + grid-template-columns: repeat(4, 1fr); + } +} +@media only screen and (min-width: 2048px){ + body{ + font-size: 24px; + padding: 2rem 30vw; + } + .container{ + grid-template-columns: repeat(4, 1fr); + } +} +@media only screen and (max-width: 320px){ + body{ + font-size: 14px; + } +} +@media (prefers-color-scheme: dark){ + :root{ + --text: 238, 238, 238; + --text-light: 170, 170, 170; + --foreground: 26, 26, 26; + --background: #111; + --dark-shade: #1a1a1a; + } +} +@media (prefers-color-scheme: light){ + :root{ + --text: 17, 17, 17; + --text-light: 85, 85, 85; + --foreground: 255, 255, 255; + --background: #e8e8e8; + --dark-shade: #dadada; + } +} +@media (prefers-color-scheme: no-preference){ + :root{ + --text: 17, 17, 17; + --text-light: 85, 85, 85; + --foreground: 255, 255, 255; + --background: #e8e8e8; + --dark-shade: #dadada; + } +} +@media (any-hover: hover){ +} + diff --git a/index.html b/index.html index bbfdc97..1229c1d 100644 --- a/index.html +++ b/index.html @@ -6,50 +6,6 @@ Blockchain UPI - - - - @@ -57,12 +13,27 @@ +
+ Copied +
@@ -108,19 +80,189 @@

Sign In

-

Welcome to RanchiMall Blockchain UPI

+

Welcome to RanchiMall Blockchain UPI

-
+
+
Private Key
+
- *Sign in button will not be activated until correct value is entered. +

*Sign in button will not be activated until correct value is entered.

+ + + + + + + +
@@ -144,18 +286,24 @@
Rupee Balance

0

+ + refresh balance + + +
-
+

What do we offer?

Your Rupee balance is digital footprint of actual cash.
Deposit, Withdraw or Pay Rupee digitally using a FLO Blockchain address.

-

Go ahead and try something

+

Go ahead and try something

@@ -223,7 +404,7 @@ - Transfer Rupee +

Transfer Rupee

@@ -236,7 +417,7 @@ - deposit rupee +

deposit rupee

@@ -247,121 +428,33 @@ - - - withdraw rupee +

Withdraw rupee

+
+
+ + request + + + + +

Request rupee

- pay through cashier - -
- - - -
@@ -560,25 +653,128 @@

No pay requests.

+
+
+

Payment Requests

+
+

These are payment requests you received.

+
+

You don't have any requests.

+
+
+
+
+

Activity

+ +
+ + + +

*If your request isn't completed in 12hrs, use REPORT to get + assistance from our helpline.

+
+

You haven't deposited rupee yet.

+
+
+

You haven't withdrawn rupee yet.

+
+
+

No messages from cashier.

+
+
+
+
+

Complaints

+ +
+ +
+

No deposit complaints.

+
+
+

No withdraw complaints.

+
+
+

No pay through cashier complaints.

+
+

Profile

FLO ID
-

+
+

+ + Copy + + + +
+ + + - + @@ -10111,22 +10588,22 @@ } // https://stackoverflow.com/a/21988185/5348972 - function orders_comparer(otherArray){ - return function(current){ - return otherArray.filter(function(other){ + function orders_comparer(otherArray) { + return function (current) { + return otherArray.filter(function (other) { return JSON.stringify(other.message) == JSON.stringify(current.message) }).length == 0; } } - async function clearCashierData(dataStores = ['deposits_flo_txids', 'cash_sent_details', - 'generalData', 'generalVC', 'pay_thru_cashier']) { + async function clearCashierData(dataStores = ['deposits_flo_txids', 'cash_sent_details', + 'generalData', 'generalVC', 'pay_thru_cashier']) { try { for (const ds of dataStores) { - compactIDB.clearData(ds); + compactIDB.clearData(ds); } return true; - } catch(e) { + } catch (e) { console.error(e); return false; } @@ -10147,31 +10624,32 @@ parse_flo_comments: async function () { text = `masterFLOPubKey=03BA851FE0F28AA156B0D6E00784919133D1E98284F9A94544B470DBBFB3D90EDD - #!#CURRENCY=INR - #!#TYPE_DEPOSITS=CASH_DEPOSITS_TEST - #!#TYPE_WITHDRAWS=CASH_WITHDRAWS_TEST - #!#TYPE_MSGES=USER_MESSAGES_TEST - #!#TYPE_PROCESSED_DEPOSITS=PROCESSED_DEPOSITS - #!#TYPE_PROCESSED_WITHDRAWS=PROCESSED_WITHDRAWS - #!#TYPE_FILE_DEPOSITS_COMPLAINT=DEPOSITS_COMPLAINT - #!#TYPE_PROCESSED_DEPOSITS_COMPLAINT=PROCESSED_DEPOSITS_COMPLAINT - #!#TYPE_FILE_WITHDRAWS_COMPLAINT=WITHDRAWS_COMPLAINT - #!#TYPE_PROCESSED_WITHDRAWS_COMPLAINT=PROCESSED_WITHDRAWS_COMPLAINT - #!#TYPE_PAY_THROUGH_CASHIER=PAY_THRU_CASHIER - #!#TYPE_FILE_PAY_THROUGH_CASHIER_COMPLAINT=PAY_THRU_CASHIER_COMPLAINT - #!#TYPE_PROCESSED_PAY_THROUGH_CASHIER=PROCESSED_PAY_THROUGH_CASHIER - #!#TYPE_PROCESSED_PAY_THROUGH_CASHIER_COMPLAINT=PROCESSED_PAY_THROUGH_CASHIER_COMPLAINT - #!#vendors=FGtPEBu2NFFYkqFrA9NDBJJLpVhyuPubDj, - #!#helplineFloId=F9MAyvT5b9aSfsuukAungrbt1L5fgmJmuK - #!#cashiers= - { - "FByrY4vc1NRfbkqAqABtUyhhNzMZsKUjqr": { - "upi_id": "johnDoe@upi" - }, - "FHU7dfBVDLZwp3fLRJ5cr7nEABBeeU9Z4T": { - "upi_id": "janeDoe@upi" - } - }` + #!#SUBJECT=RUPEE_TOKEN_APP_TEST6 + #!#CURRENCY=INR + #!#TYPE_DEPOSITS=CASH_DEPOSITS_TEST6 + #!#TYPE_WITHDRAWS=CASH_WITHDRAWS_TEST6 + #!#TYPE_MSGES=USER_MESSAGES_TEST6 + #!#TYPE_PROCESSED_DEPOSITS=PROCESSED_DEPOSITS6 + #!#TYPE_PROCESSED_WITHDRAWS=PROCESSED_WITHDRAWS6 + #!#TYPE_FILE_DEPOSITS_COMPLAINT=DEPOSITS_COMPLAINT6 + #!#TYPE_PROCESSED_DEPOSITS_COMPLAINT=PROCESSED_DEPOSITS_COMPLAINT6 + #!#TYPE_FILE_WITHDRAWS_COMPLAINT=WITHDRAWS_COMPLAINT6 + #!#TYPE_PROCESSED_WITHDRAWS_COMPLAINT=PROCESSED_WITHDRAWS_COMPLAINT6 + #!#TYPE_PAY_THROUGH_CASHIER=PAY_THRU_CASHIER6 + #!#TYPE_FILE_PAY_THROUGH_CASHIER_COMPLAINT=PAY_THRU_CASHIER_COMPLAINT6 + #!#TYPE_PROCESSED_PAY_THROUGH_CASHIER=PROCESSED_PAY_THROUGH_CASHIER6 + #!#TYPE_PROCESSED_PAY_THROUGH_CASHIER_COMPLAINT=PROCESSED_PAY_THROUGH_CASHIER_COMPLAINT6 + #!#vendors=FGtPEBu2NFFYkqFrA9NDBJJLpVhyuPubDj, + #!#helplineFloId=F9MAyvT5b9aSfsuukAungrbt1L5fgmJmuK + #!#cashiers= + { + "FByrY4vc1NRfbkqAqABtUyhhNzMZsKUjqr": { + "upi_id": "johnDoe@upi" + }, + "FHU7dfBVDLZwp3fLRJ5cr7nEABBeeU9Z4T": { + "upi_id": "janeDoe@upi" + } + }` text = removeWhiteSpaces(text); return text; const master_data = await ajaxGet(`${floGlobals.apiURL.FLO[1]}/api/txs/?address=${token_app.masterFLOPubKey}`); @@ -10261,35 +10739,76 @@ transferTokensManually(); const allCashierOptions = document.querySelectorAll('.cashier-option'), + allUserOptions = document.querySelectorAll('.user-option'), + allHelplineOptions = document.querySelectorAll('.helpline-option'), userType = document.getElementById('user_type') + + //Cashier startup sequence if (Object.keys(token_app.master_configurations.cashiers).includes(myFloID)) { allCashierOptions.forEach(option => { option.classList.remove('hide-completely') }) + allUserOptions.forEach(option => { + option.classList.add('hide-completely') + }) + allHelplineOptions.forEach(option => { + option.classList.add('hide-completely') + }) + show_deposit_request() + show_withdraw_request() + showPayRequests() userType.textContent = 'Cashier' + showPage(document.getElementById('deposit_page_btn'), 'deposit') } + + //Helpline startup sequence + else if(token_app.master_configurations.helplineFloId === myFloID){ + allCashierOptions.forEach(option => { + option.classList.add('hide-completely') + }) + allHelplineOptions.forEach(option => { + option.classList.remove('hide-completely') + }) + allUserOptions.forEach(option => { + option.classList.add('hide-completely') + }) + let cashierList = ``, + cashierSelect = document.getElementById('select_cashier') + for(cashier in token_app.master_configurations.cashiers) + cashierList += `` + cashierSelect.innerHTML = cashierList; + load_deposit_complaints(cashierSelect.value) + //load_withdraw_complaints(cashierSelect.value) + //load_pay_thru_cashier_complaints(cashierSelect.value) + userType.textContent = 'Helpline' + showPage(document.getElementById('helpline_page_btn'), 'helpline_page') + } + + //user startup sequence else { allCashierOptions.forEach(option => { option.classList.add('hide-completely') }) + allHelplineOptions.forEach(option => { + option.classList.add('hide-completely') + }) + allUserOptions.forEach(option => { + option.classList.remove('hide-completely') + }) + show_user_activities() + show_payment_requests() userType.textContent = 'User' + showPage(document.getElementById('home_page_btn'), 'home_page') } hidePopup() pay_through_cashier(); - show_deposit_request() - show_withdraw_request() - showPayRequests() - }, retrieveLatestContent: async function (receiverID = floGlobals.adminID, senderIDs = floGlobals.subAdmins) { - notify('Loading the latest content...'); - refresh_balance(); - - floCloudAPI.requestObjectData(floGlobals.application, { receiverID, senderIDs }); + floCloudAPI.requestObjectData(token_app.master_configurations.SUBJECT, { receiverID, senderIDs }); if (Object.keys(token_app.master_configurations.cashiers).includes(myFloID)) { await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_DEPOSITS @@ -10305,7 +10824,7 @@ { receiverID: myFloID }); return true; - } else if (token_app.master_configurations.helplineFloId===myFloID) { + } else if (token_app.master_configurations.helplineFloId === myFloID) { await clearCashierData(); await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_FILE_DEPOSITS_COMPLAINT); @@ -10363,24 +10882,25 @@ try { if (!Object.keys(token_app.master_configurations.cashiers).includes(myFloID)) return; - await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_DEPOSITS, - { receiverID: myFloID, senderIDs: [myFloID] }); + await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_DEPOSITS, + { receiverID: myFloID, senderIDs: [myFloID] }); let finished_tasks = await floCloudAPI.requestApplicationData( - {type: token_app.master_configurations.TYPE_PROCESSED_DEPOSITS, - receiverID: myFloID, - senderIDs:[myFloID] - }); + { + type: token_app.master_configurations.TYPE_PROCESSED_DEPOSITS, + receiverID: myFloID, + senderIDs: [myFloID] + }); - if(typeof finished_tasks==="string") finished_tasks = JSON.parse(finished_tasks); + if (typeof finished_tasks === "string") finished_tasks = JSON.parse(finished_tasks); - const processed_deposits = Object.values(finished_tasks).map(m=>m.message.user_upi_txid); - - await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_DEPOSITS, - { receiverID: myFloID }); + const processed_deposits = Object.values(finished_tasks).map(m => m.message.user_upi_txid); + + await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_DEPOSITS, + { receiverID: myFloID }); let cash_deposits = await compactIDB.readAllData('deposits_flo_txids'); - + let cash_deposits_upi_txid_list = Object.values(cash_deposits).map(m => m.upi_txid); const general_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_DEPOSITS, "0"); @@ -10406,17 +10926,18 @@ if (!Object.keys(token_app.master_configurations.cashiers).includes(myFloID)) return; let finished_tasks = await floCloudAPI.requestApplicationData( - {type: token_app.master_configurations.TYPE_PROCESSED_WITHDRAWS, - receiverID: myFloID, - senderIDs:[myFloID] - }); + { + type: token_app.master_configurations.TYPE_PROCESSED_WITHDRAWS, + receiverID: myFloID, + senderIDs: [myFloID] + }); - if(typeof finished_tasks==="string") finished_tasks = JSON.parse(finished_tasks); + if (typeof finished_tasks === "string") finished_tasks = JSON.parse(finished_tasks); - const processed_withdraws = Object.values(finished_tasks).map(m=>m.message.user_upi_txid); - - await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_WITHDRAWS, - { receiverID: myFloID }); + const processed_withdraws = Object.values(finished_tasks).map(m => m.message.user_upi_txid); + + await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_WITHDRAWS, + { receiverID: myFloID }); const general_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_WITHDRAWS, "0"); @@ -10427,7 +10948,7 @@ let cash_withdraws = await compactIDB.readAllData('cash_sent_details'); let cash_withdraws_token_txid_list = Object.values(cash_withdraws).map(m => m.token_txid); - + let withdrawsContainer = document.getElementById("pending_withdrawals_container"); withdrawsContainer.innerHTML = ``; for (const m of general_msg) { @@ -10467,13 +10988,13 @@ user_upi_txid, "datetime": + new Date() } - + compactIDB.addData('deposits_flo_txids', input_data, "flo_txid"); // Add data into personal ledger as well floCloudAPI.sendGeneralData(input_data, token_app.master_configurations.TYPE_PROCESSED_DEPOSITS, - { receiverID: myFloID }); - + { receiverID: myFloID }); + notify(`Transfer successfull: ${flo_txid}.`, '', 'fixed', true); return true; @@ -10527,7 +11048,7 @@ { receiverID: myFloID }); floCloudAPI.sendGeneralData(`Your withdrawal request of INR ${amount_to_transfer} is approved. - Please check reference number ${transfer_upi_txid} in your UPI ${withdraw_upi}`, + Please check reference number ${transfer_upi_txid} in your UPI ${withdraw_upi}`, token_app.master_configurations.TYPE_MSGES, { receiverID: input_data['withdrawer_flo_id'] }) @@ -10582,7 +11103,7 @@ if (typeof current_token_balance == "string") { const get_user_balance = await ajaxGet('https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressBalance?token=rupee&floAddress=' + myFloID) if (typeof get_user_balance === "object" && get_user_balance.balance >= 0) { - if(get_user_balance.balance === null) + if (get_user_balance.balance === null) get_user_balance.balance = 0; document.getElementById('token_balance').textContent = get_user_balance.balance; @@ -10599,22 +11120,23 @@ if (!Object.keys(token_app.master_configurations.cashiers).includes(myFloID)) return; let finished_tasks = await floCloudAPI.requestApplicationData( - {type: token_app.master_configurations.TYPE_PROCESSED_PAY_THROUGH_CASHIER, - receiverID: myFloID, - senderIDs:[myFloID] - }); + { + type: token_app.master_configurations.TYPE_PROCESSED_PAY_THROUGH_CASHIER, + receiverID: myFloID, + senderIDs: [myFloID] + }); - if(typeof finished_tasks==="string") finished_tasks = JSON.parse(finished_tasks); + if (typeof finished_tasks === "string") finished_tasks = JSON.parse(finished_tasks); console.log(finished_tasks); - const processed_cashier_payments = Object.values(finished_tasks).map(m=>m.message.upi_txid) - .filter(f=>f!==undefined); - + const processed_cashier_payments = Object.values(finished_tasks).map(m => m.message.upi_txid) + .filter(f => f !== undefined); + console.log(processed_cashier_payments); - - await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_PAY_THROUGH_CASHIER, - { receiverID: myFloID }); + + await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_PAY_THROUGH_CASHIER, + { receiverID: myFloID }); const user_requests = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_PAY_THROUGH_CASHIER, "0"); @@ -10643,10 +11165,10 @@ if (upi_txid.length < 1) throw new Error("Invalid UPI Txid"); const amount_to_pay = Number(prompt('Enter amount to pay', 0)); if (typeof amount_to_pay !== "number" || amount_to_pay <= 0) - return notify("Invalid amount.", 'error','', true); - if(Number(usr_amount_to_pay) !== amount_to_pay) { + return notify("Invalid amount.", 'error', '', true); + if (Number(usr_amount_to_pay) !== amount_to_pay) { let amount_mismatch = confirm("Amount mismatch: Your amount does not match what user entered. Continue?"); - if(!amount_mismatch) return; + if (!amount_mismatch) return; } let flo_statement = `transfer ${amount_to_pay} rupee# on behalf of ${sender_flo_id}`; let send_token_cnf = confirm(`Send ${amount_to_pay} to ${vendor_flo_id} ?`); @@ -10684,7 +11206,7 @@ { receiverID: myFloID }); notify(`Transaction successfull: ${flo_txid}. - INR ${amount_to_pay} sent to ${vendor_flo_id}`, '', 'fixed', true); + INR ${amount_to_pay} sent to ${vendor_flo_id}`, '', 'fixed', true); return true; } } @@ -10703,17 +11225,16 @@ try { const request_tokens_btn = document.getElementById('request_tokens_btn'); const cashier = randomNoRepeats(Object.keys(token_app.master_configurations.cashiers))(); - request_tokens_btn.onclick = function () { + request_tokens_btn.onclick = async function () { if (typeof myFloID !== "string" || myFloID.length < 1) return; const token_amount_to_buy = Number(document.getElementById('token_amount_to_buy').value); const cashier_upi = token_app.master_configurations.cashiers[cashier].upi_id; - notify(`Please pay Rs ${token_amount_to_buy} to UPI id ${cashier_upi}.`, '', 'fixed', true); - let upi_txid = prompt(`Please enter UPI TXID for deposited cash to ${cashier_upi}`); + notify(`Please pay ₹ ${token_amount_to_buy} to UPI id ${cashier_upi}.`, '', 'fixed', true); + let upi_txid = await askPrompt(`Please enter UPI TXID for deposited cash to ${cashier_upi}`); let request_object = { user_flo_id: myFloID, upi_txid: upi_txid, deposit_amount: token_amount_to_buy, - datetime: + new Date() } if (typeof upi_txid === "string" && upi_txid.length > 1) { floCloudAPI.sendGeneralData(request_object, token_app.master_configurations.TYPE_DEPOSITS, @@ -10738,23 +11259,23 @@ withdraw_cash_btn.onclick = async function () { // TODO: Disble the button if (typeof myFloID !== "string" || myFloID.length < 1) { - notify(`Your Flo Id is invalid.`); + notify(`Your Flo Id is invalid.`, 'error'); return; } const withdraw_cash_amount = Number(document.getElementById('withdraw_cash_amount').value); const user_withdraw_upi = String(document.getElementById('user_withdraw_upi').value); if (withdraw_cash_amount < 1) { - notify(`Invalid amount. Please provide a number above 0.`); + notify(`Invalid amount. Please provide a number above 0.`, 'error'); return false; } if (!user_withdraw_upi.includes('@')) { - notify(`Please enter a valid UPI id.`); + notify(`Please enter a valid UPI id.`, 'error'); return false; } const token_balance_url = `https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressBalance?token=rupee&floAddress=${myFloID}`; const user_token_balance_object = await ajaxGet(token_balance_url); if (typeof user_token_balance_object !== "object" || typeof user_token_balance_object.balance !== "number") { - notify('You do not have rupee balance yet. Please deposit rupee to get balance.'); + notify('You do not have rupee balance yet. Please deposit rupee to get balance.', 'error'); return; } const current_balance = Number(user_token_balance_object.balance); @@ -10767,7 +11288,7 @@ let flo_txid = await floBlockchainAPI.sendTx(myFloID, cashier, 0.001, myPrivKey, flo_comment) console.log(flo_txid); if (typeof flo_txid !== "string") { - notify(`Transaction unsuccessfull.`); + notify(`Transaction unsuccessfull.`, 'error'); return false; } // TODO: Validate https://ranchimallflo.duckdns.org/api/v1.0/getTransactionDetails/${flo_txid} @@ -10778,7 +11299,6 @@ token_txid: flo_txid, withdrawer_upi: user_withdraw_upi, withdraw_amount: withdraw_cash_amount, - datetime: + new Date() } console.log(request_object); if (typeof flo_txid === "string" && flo_txid.length > 1) { @@ -10787,7 +11307,7 @@ notify('Withdraw request sent successfully.'); return true; } - notify('Failed to send withdraw request to cashier.'); + notify('Failed to send withdraw request to cashier.', 'error'); return true; } } catch (error) { @@ -10799,10 +11319,10 @@ try { const cashier = randomNoRepeats(Object.keys(token_app.master_configurations.cashiers))(); const cashier_upi = token_app.master_configurations.cashiers[cashier].upi_id; - + const txt = `Please send cash to UPI address ${cashier_upi}. - Then specify the amount sent and UPI Txid below.`; - + Then specify the amount sent and UPI Transaction id below.`; + document.getElementById('pay_cashier_info').innerText = txt; const cnf_cash_payment_btn = document.getElementById('cnf_cash_payment') @@ -10821,12 +11341,12 @@ amount: amount_to_pay, upi_txid: toAlphanumeric(paid_cashier_upi_txid) } - + floCloudAPI.sendGeneralData(req_object, token_app.master_configurations.TYPE_PAY_THROUGH_CASHIER, { receiverID: cashier, senderIDs: [myFloID] }); notify(`You have sent cash to ${recvr_id} through our cashier service (${cashier_upi}). - Once the cashier receives your payment, he will transfer it to ${recvr_id}.`, '', 'fixed', true); + Once the cashier receives your payment, he will transfer it to ${recvr_id}.`, '', 'fixed', true); } } catch (error) { @@ -10834,40 +11354,47 @@ } } + const depositActivityContainer = document.getElementById('deposit_activity_container'), + withdrawActivityContainer = document.getElementById('withdraw_activity_container'), + cashierMessageContainer = document.getElementById('cashier_message_container') + async function show_user_activities() { try { await token_app.actions.retrieveLatestContent(); - const deposit_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_DEPOSITS, "0"); - const withdraw_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_WITHDRAWS, "0"); - const user_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_MSGES, "0"); + const deposit_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_DEPOSITS, "0").reverse(); + const withdraw_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_WITHDRAWS, "0").reverse(); + const user_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_MSGES, "0").reverse(); - for(usr_deposits of deposit_msg) { - console.log(usr_deposits.message); - } - for(usr_deposits of withdraw_msg) { - console.log(usr_deposits.message); - } - for(usr_deposits of user_msg) { - console.log(usr_deposits.message); + for (usr_deposits of deposit_msg) { + let { upi_txid, deposit_amount } = usr_deposits.message; + frag.append(render.depositActivity(usr_deposits.vectorClock, upi_txid, deposit_amount)) } + if (frag.children.length) + depositActivityContainer.innerHTML = ``; + depositActivityContainer.append(frag) - } catch(e) { - notify(e); + for (usr_withdraws of withdraw_msg) { + let { token_txid, withdrawer_upi, withdraw_amount } = usr_withdraws.message; + frag.append(render.withdrawActivity(usr_withdraws.vectorClock, token_txid, withdrawer_upi, withdraw_amount)) + } + if (frag.children.length) + withdrawActivityContainer.innerHTML = ``; + withdrawActivityContainer.append(frag) + + for (msg of user_msg) { + frag.append(render.cashierMessage(msg)) + } + if (frag.children.length) + cashierMessageContainer.innerHTML = ``; + cashierMessageContainer.append(frag) + } catch (e) { + notify(e, 'error'); } } - async function file_complaint(order_type='', order_vc='') { + async function file_complaint(order_type = '', order_vc = '', custom_msg = '') { try { - - const cnf_comaplin = confirm(`Any deposit or withdraw - order may take about 12 hours to process. - Are you sure you want to complain?`); - - if(!cnf_comaplin) return; - - let custom_msg = prompt("You may provide any custom message to us.", ""); - let input_data = { order_type, order_vc, custom_msg } @@ -10876,49 +11403,49 @@ let complaint_type; - if(order_type=='deposit') { + if (order_type == 'deposit') { complaint_type = token_app.master_configurations.TYPE_FILE_DEPOSITS_COMPLAINT; - } else if(order_type=='withdraw') { + } else if (order_type == 'withdraw') { complaint_type = token_app.master_configurations.TYPE_FILE_WITHDRAWS_COMPLAINT; - } else if(order_type=='pay_thru_cashier') { + } else if (order_type == 'pay_thru_cashier') { complaint_type = token_app.master_configurations.TYPE_FILE_PAY_THROUGH_CASHIER_COMPLAINT; } else return false; floCloudAPI.sendGeneralData(input_data, complaint_type, - { receiverID: token_app.master_configurations.helplineFloId}); + { receiverID: token_app.master_configurations.helplineFloId }); notify('Your complaint has been registered. Our team will take an action very soon. Thank you.', - '', 'fixed', true); + '', 'fixed', true); return true; - } catch(e) { + } catch (e) { console.log(e); } } - - async function request_payment(receiver_flo_id='', amount=0) { + async function request_payment(receiver_flo_id = '', amount = 0) { try { - if(typeof receiver_flo_id !=="string" - || receiver_flo_id.length<1 - || amount<=0) return notify('Invalid or incomplete data provided.', 'error'); + if (typeof receiver_flo_id !== "string" + || receiver_flo_id.length < 1 + || amount <= 0) return notify('Invalid or incomplete data provided.', 'error'); let request_object = { - sender_flo_id: myFloID, - receiver_flo_id, - amount, + sender_flo_id: myFloID, + receiver_flo_id, + amount, datetime: + new Date() } floCloudAPI.sendGeneralData(request_object, token_app.master_configurations.TYPE_REQUEST_PAYMENT, - { receiverID: receiver_flo_id }).then(result => { - console.log(result); - notify('Request sent successfully.'); - }); + { receiverID: receiver_flo_id }).then(result => { + console.log(result); + notify('Request sent successfully.'); + hidePopup() + }); return true; - } catch(e) { + } catch (e) { console.error(e); return false; } @@ -10926,46 +11453,47 @@ async function show_payment_requests() { try { - await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_REQUEST_PAYMENT, - { receiverID: myFloID }); + await floCloudAPI.requestGeneralData(token_app.master_configurations.TYPE_REQUEST_PAYMENT, + { receiverID: myFloID }); - const general_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_REQUEST_PAYMENT, "0"); + const general_msg = floDapps.getNextGeneralData(token_app.master_configurations.TYPE_REQUEST_PAYMENT, "0").reverse(); + + let paymentRequestContainer = document.getElementById("payment_request_container"); - let depositsContainer = document.getElementById("pending_deposits_container"); - depositsContainer.innerHTML = ``; - for (const m of general_msg) { let { sender_flo_id, receiver_flo_id, amount, datetime } = m.message; - console.log(sender_flo_id, receiver_flo_id, amount, datetime); + console.log(sender_flo_id, amount, datetime); + frag.append(render.paymentRequest(datetime, sender_flo_id, amount)) } - - } catch(e) { + if (frag.children.length) + paymentRequestContainer.innerHTML = ``; + paymentRequestContainer.append(frag) + } catch (e) { console.error(e); return false } } - - \ No newline at end of file