From 449316b73d25d93722c0cecdcd7474423414ac24 Mon Sep 17 00:00:00 2001
From: sairaj mote
Date: Mon, 28 Sep 2020 00:54:09 +0530
Subject: [PATCH] 0.0.42
---
components.js | 49 +++++++++++++++++-------
css/bg-art1.svg | 1 +
css/bg-art2.svg | 33 +++++++++++++++++
css/bg-art3.svg | 33 +++++++++++++++++
css/main.css | 88 ++++++++++++++++++++++++++++++++------------
css/main.min.css | 2 +-
css/main.scss | 90 +++++++++++++++++++++++++++++++--------------
index.html | 96 +++++++++++++++++++++++++++++++++---------------
8 files changed, 297 insertions(+), 95 deletions(-)
create mode 100644 css/bg-art1.svg
create mode 100644 css/bg-art2.svg
create mode 100644 css/bg-art3.svg
diff --git a/components.js b/components.js
index ee2d54a..a6b4433 100644
--- a/components.js
+++ b/components.js
@@ -45,7 +45,7 @@ smButton.innerHTML = `
justify-content: center;
transition: box-shadow 0.3s;
text-transform: capitalize;
- font-size: 0.9em;
+ font-size: 0.9rem;
font-weight: 500;
background: rgba(var(--text-color), 0.1);
-webkit-tap-highlight-color: transparent;
@@ -209,20 +209,28 @@ border: none;
border-radius: 0.3em;
transition: opacity 0.3s;
background: rgba(var(--text-color), 0.06);
- box-shadow: 0 0 0 0.1em rgba(var(--text-color), 0.2) inset;
+ box-shadow: 0 0 0.2rem rgba(var(--text-color), 0.2) inset;
font-family: var(--font-family);
width: 100%
outline: none;
min-width: 0;
}
+.input.readonly .clear{
+ opacity: 0 !important;
+ pointer-events: none !important;
+}
+.readonly{
+ pointer-events: none;
+}
input:focus{
caret-color: var(--accent-color);
}
-.input:focus-within{
+.input:focus-within:not(.readonly){
box-shadow: 0 0 0 0.1em var(--accent-color) inset;
}
.disabled{
pointer-events: none;
+ opacity: 0.6;
}
.label {
user-select: none;
@@ -349,13 +357,23 @@ customElements.define('sm-input',
else
this.shadowRoot.querySelector('.input').classList.remove('disabled')
}
+ set readOnly(value) {
+ if (value) {
+ this.shadowRoot.querySelector('input').setAttribute('readonly', '')
+ this.shadowRoot.querySelector('.input').classList.add('readonly')
+ }
+ else {
+ this.shadowRoot.querySelector('input').removeAttribute('readonly')
+ this.shadowRoot.querySelector('.input').classList.remove('readonly')
+ }
+ }
focusIn = () => {
- this.shadowRoot.querySelector('input').focus()
+ this.input.focus()
}
focusOut = () => {
- this.shadowRoot.querySelector('input').blur()
+ this.input.blur()
}
preventNonNumericalInput = (e) => {
@@ -425,6 +443,14 @@ customElements.define('sm-input',
this.input.setAttribute('max', maxValue)
this.max = parseInt(maxValue)
}
+ if (this.hasAttribute('minlength')) {
+ let minValue = this.getAttribute('minlength')
+ this.input.setAttribute('minlength', minValue)
+ }
+ if (this.hasAttribute('maxlength')) {
+ let maxValue = this.getAttribute('maxlength')
+ this.input.setAttribute('maxlength', maxValue)
+ }
if (this.hasAttribute('pattern')) {
this.input.setAttribute('pattern', this.getAttribute('pattern'))
}
@@ -432,7 +458,7 @@ customElements.define('sm-input',
this.input.setAttribute('readonly', '')
this.readonly = true
}
- if (this.hasAttribute('readonly')) {
+ if (this.hasAttribute('disabled')) {
this.inputParent.classList.add('disabled')
}
if (this.hasAttribute('helper-text')) {
@@ -462,9 +488,10 @@ customElements.define('sm-input',
attributeChangedCallback(name, oldValue, newValue) {
if (oldValue !== newValue) {
- if (name === 'placeholder')
+ if (name === 'placeholder') {
this.shadowRoot.querySelector('.label').textContent = newValue;
this.setAttribute('aria-label', newValue);
+ }
}
}
})
@@ -629,16 +656,12 @@ customElements.define('sm-textarea',
this.inputParent.classList.add('animate-label')
else
this.label.classList.add('hide')
- if (!this.readonly)
- this.clearBtn.classList.remove('hide')
}
else {
if (this.animate)
this.inputParent.classList.remove('animate-label')
else
this.label.classList.remove('hide')
- if (!this.readonly)
- this.clearBtn.classList.add('hide')
}
this.input.style.height = 'auto'
@@ -652,7 +675,6 @@ customElements.define('sm-textarea',
this.label = this.shadowRoot.querySelector('.label')
this.helperText = this.shadowRoot.querySelector('.helper-text')
this.valueChanged = false;
- this.readonly = false
this.animate = this.hasAttribute('animate')
this.input = this.shadowRoot.querySelector('textarea')
this.shadowRoot.querySelector('.label').textContent = this.getAttribute('placeholder')
@@ -668,7 +690,6 @@ customElements.define('sm-textarea',
}
if (this.hasAttribute('readonly')) {
this.input.setAttribute('readonly', '')
- this.readonly = true
}
if (this.hasAttribute('helper-text')) {
this.helperText.textContent = this.getAttribute('helper-text')
@@ -1844,12 +1865,12 @@ customElements.define('sm-popup', class extends HTMLElement {
return this.popupStack
}
hide = () => {
- this.removeAttribute('open')
if(window.innerWidth < 640)
this.popup.style.transform = 'translateY(100%)';
else
this.popup.style.transform = 'translateY(1rem)';
this.popupContainer.classList.add('hide')
+ this.removeAttribute('open')
if (typeof this.popupStack !== 'undefined') {
this.popupStack.pop()
if (this.popupStack.items.length){
diff --git a/css/bg-art1.svg b/css/bg-art1.svg
new file mode 100644
index 0000000..496d579
--- /dev/null
+++ b/css/bg-art1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/css/bg-art2.svg b/css/bg-art2.svg
new file mode 100644
index 0000000..24a7f74
--- /dev/null
+++ b/css/bg-art2.svg
@@ -0,0 +1,33 @@
+
diff --git a/css/bg-art3.svg b/css/bg-art3.svg
new file mode 100644
index 0000000..25f63f1
--- /dev/null
+++ b/css/bg-art3.svg
@@ -0,0 +1,33 @@
+
diff --git a/css/main.css b/css/main.css
index 496854f..d9ec9da 100644
--- a/css/main.css
+++ b/css/main.css
@@ -16,6 +16,9 @@ body {
--foreground-color: 255, 255, 255;
--background-color: #e8e8e8;
--dark-shade: #dadada;
+ --hue: 255;
+ --saturation: 61%;
+ --lightness: 39%;
color: rgba(var(--text-color), 1);
font-size: 16px;
background-size: cover;
@@ -392,8 +395,10 @@ sm-popup .action h4 {
font-weight: 500;
}
sm-popup h5:not(.tag) {
+ font-family: "Roboto", sans-serif;
margin-bottom: 0.4rem;
margin-top: 1rem;
+ font-weight: 500;
}
.popup-header {
@@ -480,17 +485,16 @@ details p {
right: 0;
bottom: 0;
top: auto;
- border-top: solid 1px rgba(var(--text-color), 0.2);
- border-right: none;
z-index: 3;
background: rgba(var(--foreground-color), 1);
+ box-shadow: 0 -0.5rem 1rem #00000010;
+ border-radius: 1rem 1rem 0 0;
}
#navbar .navbar-item {
position: relative;
text-align: center;
cursor: pointer;
padding: 0.3em;
- margin: 0.3em;
border-radius: 0.4em;
opacity: 0.6;
color: rgba(var(--text-color), 1);
@@ -531,6 +535,7 @@ details p {
.user-panel {
position: relative;
padding: 1.5rem;
+ padding-top: 1rem;
align-self: flex-start;
}
.user-panel .icon {
@@ -547,6 +552,7 @@ details p {
margin-top: 1rem;
}
.display-balance .balance {
+ height: 10rem;
position: relative;
display: flex;
flex-direction: column;
@@ -555,10 +561,12 @@ details p {
justify-content: flex-end;
}
.display-balance .balance h4 {
- margin-bottom: 3rem;
font-size: 2.5rem;
font-family: "Roboto", sans-serif;
font-weight: 500;
+ text-shadow: 1px 0.1rem 0.2rem #00000040;
+ word-break: break-all;
+ flex: 1;
}
.display-balance .balance h5 {
opacity: 0.8;
@@ -569,13 +577,14 @@ details p {
color: rgba(var(--text-color), 1);
}
.display-balance .balance:nth-of-type(1) {
- background: rgba(var(--text-color), 0.1);
+ background: url(bg-art2.svg) bottom, linear-gradient(200deg, rgba(var(--text-color), 0.1), rgba(var(--text-color), 0.2));
+ background-size: cover;
}
.display-balance .balance:nth-of-type(1) .tooltip {
box-shadow: 0 0 0 0.4rem rgba(var(--text-color), 0.1) inset;
}
.display-balance .balance:nth-of-type(2) {
- background: linear-gradient(135deg, #fd946a, #ff4857);
+ background: url(bg-art1.svg), linear-gradient(135deg, #fd946a, #ff4857);
background-size: cover;
}
.display-balance .balance:nth-of-type(2) .tooltip {
@@ -584,7 +593,8 @@ details p {
.display-balance .balance:nth-of-type(3) {
grid-area: flo;
color: rgba(var(--foreground-color), 1);
- background: linear-gradient(135deg, #2f69e6, #1b0980);
+ background: url(bg-art3.svg) bottom no-repeat, linear-gradient(270deg, #2f69e6, #1b0980);
+ background-size: cover;
}
.display-balance .balance:nth-of-type(3) .tooltip {
box-shadow: 0 0 0 0.4rem #1b0980 inset;
@@ -1096,11 +1106,9 @@ sm-panel {
position: relative;
display: flex;
width: 100%;
- padding: 0.8rem 1rem;
border-radius: 0.3rem;
background: rgba(var(--text-color), 0.06);
align-items: center;
- cursor: pointer;
}
.select:first-of-type:not(:last-of-type) {
border-radius: 0.3rem 0.3rem 0 0;
@@ -1110,6 +1118,13 @@ sm-panel {
border-radius: 0 0 0.3rem 0.3rem;
border-top: solid 1px rgba(var(--text-color), 0.16);
}
+.select label {
+ display: flex;
+ align-items: center;
+ cursor: pointer;
+ flex: 1;
+ padding: 0.8rem 1rem;
+}
.select input[type=radio] {
display: none;
}
@@ -1136,22 +1151,26 @@ sm-panel {
transform: scale(0);
transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
+.select .remove {
+ display: none;
+ width: 3rem;
+ height: 2rem;
+ padding: 0.7rem;
+ cursor: pointer;
+ stroke-width: 10;
+}
.select .tag {
+ grid-area: tag;
opacity: 0.6;
font-weight: 500;
- margin-left: auto;
+ border: solid 1px rgba(var(--text-color), 0.4);
+ padding: 0.2rem 0.4rem;
+ border-radius: 0.3rem;
+ margin-right: 0.5rem;
}
.select h4 {
font-weight: 400;
}
-.select .outer {
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- pointer-events: none;
-}
.add-upi {
margin-top: 0.4rem;
@@ -1159,6 +1178,9 @@ sm-panel {
width: max-content;
}
+#settings_page .remove {
+ display: block;
+}
#settings_page > h4 {
margin-top: 2rem;
margin-bottom: 0.5rem;
@@ -1166,6 +1188,12 @@ sm-panel {
#settings_page p {
color: rgba(var(--text-color), 0.7);
}
+#settings_page sm-button {
+ margin-top: 0.8rem;
+}
+#settings_page .empty-state {
+ justify-content: left;
+}
@media only screen and (max-width: 640px) {
#home_page, #deposit {
@@ -1217,14 +1245,14 @@ sm-panel {
top: 0;
right: auto;
border-top: none;
+ border-radius: 0;
background: rgba(var(--text-color), 0.06);
box-shadow: -0.5rem 0 0.5rem #00000008 inset;
}
#navbar .navbar-item {
display: flex;
- border-radius: 0.5rem;
width: auto;
- padding: 0.8rem 1.6rem;
+ padding: 0.8rem;
}
#navbar .navbar-item .icon {
height: 1.2rem;
@@ -1266,15 +1294,16 @@ sm-panel {
#home_page .left {
margin-top: 1rem;
}
- #home_page .balance h4 {
- margin-bottom: 2.5rem;
- }
.options-tab {
grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr));
gap: 2rem 0.8rem;
}
+ .display-balance .balance {
+ height: 9rem;
+ }
+
#settings_page .copy-row {
display: inline-grid;
}
@@ -1301,6 +1330,7 @@ sm-panel {
.user-panel {
position: sticky;
top: 1.5rem;
+ padding-top: 1.5rem;
}
#home_page, #deposit {
@@ -1308,6 +1338,10 @@ sm-panel {
gap: 1.5rem;
grid-template-columns: minmax(0, 1fr) 22rem;
}
+
+ .activity {
+ width: 60ch;
+ }
}
@media only screen and (min-width: 1920px) {
body {
@@ -1355,4 +1389,12 @@ sm-panel {
.navbar-item:hover {
background: rgba(var(--text-color), 0.06);
}
+
+ .remove {
+ opacity: 0.6;
+ }
+
+ .remove:hover {
+ opacity: 1;
+ }
}
\ No newline at end of file
diff --git a/css/main.min.css b/css/main.min.css
index 087d899..32ae37d 100644
--- a/css/main.min.css
+++ b/css/main.min.css
@@ -1 +1 @@
-*,.activity .activity-amount,.display-balance .balance h4{font-family:Roboto,sans-serif}#navbar .navbar-item,.display-balance .balance .tooltip,body{color:rgba(var(--text-color),1)}a,button{color:var(--accent-color)}a,h1,h2,h3,h4,h5{font-weight:600}.options-tab .option,button{-webkit-tap-highlight-color:transparent;transition:transform .3s;text-transform:capitalize}.icon,.loader{overflow:visible;fill:none}.action,button{position:relative}*{box-sizing:border-box;padding:0;margin:0}.request .flex,.request button,.top-margin{margin-top:1.5rem}button,h1,h2,h3,h4,h5{font-family:Poppins,sans-serif}:root{scroll-behavior:smooth}body{--accent-color:#4527A0;--text-color:17,17,17;--text-color-light:85,85,85;--foreground-color:255,255,255;--background-color:#e8e8e8;--dark-shade:#dadada;font-size:16px;background-size:cover}a{text-decoration:none}.dark-text{color:#111}h1{font-size:3.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1rem}h5{font-size:.8rem}p{line-height:1.5;max-width:60ch;color:rgba(var(--text-color),.9)}strong{font-weight:500}button{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;font-weight:600;cursor:pointer;border-radius:.3rem;border:none;background:rgba(var(--text-color),.1)}.action,.align-center,.logo{align-items:center}button:focus{outline:solid thin}button:disabled{cursor:default;background:rgba(var(--text-color),.5)}.action,.action[disabled] .primary-btn{background:0 0}button:disabled~.loader{opacity:0}::-moz-focus-inner{border:none}.bottom-padding{padding-bottom:1.5rem}.top-padding{padding-top:1em}.bottom-margin{margin-bottom:1.5rem}.flex{display:flex}.grid{display:grid}.grid-2{grid-template-columns:auto auto;gap:1em}#confirmation,#prompt,.direction-column,.display-balance .balance{flex-direction:column}.space-between{justify-content:space-between}.label{margin-bottom:.4rem}.light-text{opacity:.7}.hide{opacity:0;pointer-events:none}.hide-completely{display:none!important}.action,.request,.tooltip .tt-icon{display:inline-flex}.breakable{word-break:break-all}.separator{padding:.1em}.no-transformations{transform:none!important}.loader{stroke-width:10;stroke:var(--accent-color);height:2rem;width:2rem;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}}.action{justify-content:center;padding:0}.action h4{padding:.5rem 1.2rem;font-size:.9rem;clip-path:circle(100%);transition:clip-path .3s;border-radius:.2rem}.action .btn{z-index:2}.action .loader{position:absolute;z-index:1;padding:.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 .3s}.fade-right{animation:faderight .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:flex}.logo h4{font-weight:500;font-size:clamp(1.1rem,2vw,1.2rem)}.logo .main-logo{height:clamp(1.4rem,2vw,1.6rem);width:clamp(1.4rem,2vw,1.6rem);fill:rgba(var(--text-color),1);stroke:none;margin-right:.2rem}textarea{width:100%;max-width:100%;background:rgba(var(--text-color),.1);border:none;border-radius:.2rem;resize:none;font-size:1rem;line-height:1.6;padding:.8rem}:empty+.empty-state{display:grid}.empty-state{display:none;place-items:center;width:100%}.empty-state svg{stroke:rgba(var(--text-color),.8);height:12em;width:12em}.container-header{display:flex;align-items:center;flex-direction:row;width:100%;padding:1rem 0}.container-header h2{flex:1}.container-header button{align-self:center}.btn{background:var(--accent-color);color:rgba(var(--foreground-color),1);padding:.4em 1em}.back-arrow{stroke:rgba(var(--text-color),1);stroke-width:6;fill:none;height:2rem;padding:.5rem .5rem .5rem 0;cursor:pointer}.card{border-radius:.6rem;padding:1.5em;background:rgba(var(--foreground-color),1)}.solid-background{background:rgba(var(--foreground-color),1)!important}#confirmation p,#prompt p{margin:1rem}#confirmation h4,#prompt h4{font-weight:500;margin-bottom:1.5rem}#confirmation .flex sm-button:first-of-type,#prompt .flex sm-button:first-of-type{margin-right:.6em;margin-left:auto}.refresh{margin-top:.6em;margin-bottom:1em}sm-popup .illustration{position:relative;height:4rem;width:4rem;padding:1rem;stroke:var(--accent-color);margin-bottom:1rem;border-radius:5rem;background:rgba(var(--text-color),.06)}#main_loader,#navbar{position:fixed;left:0}sm-popup sm-input:not(:last-of-type){margin-bottom:1rem}sm-popup p{margin-block-end:1rem}sm-popup .action h4{padding:.5rem 1rem;font-weight:500}sm-popup h5:not(.tag){margin-bottom:.4rem;margin-top:1rem}.popup-header{padding:1.5rem;padding-bottom:0;display:flex;align-items:center;width:100%}.popup-header .icon{margin-right:1rem;padding:.2rem;stroke-width:10;cursor:pointer}.popup-header button{width:auto;margin-left:auto}details,summary{margin-bottom:1rem}summary{cursor:pointer}details h5{line-height:.6;margin-bottom:0;margin-top:1.2rem!important}details p{font-size:.9rem;line-height:1.4}#sign_in_popup h3{margin-top:2rem}#sign_in_popup h4{font-weight:500;margin-bottom:3rem}#sign_in_popup button{margin:1rem 0}#sign_in_popup p{margin-top:1rem;margin-bottom:0!important}.primary-btn{background:var(--accent-color);justify-content:center;color:rgba(var(--foreground-color),1)}#main_header{align-items:center;padding:clamp(1rem,2vw,2rem) 1rem;justify-content:space-between}.icon{height:1.2rem;width:1.2rem;stroke:rgba(var(--text-color),.8);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}#navbar{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;right:0;bottom:0;top:auto;border-top:solid 1px rgba(var(--text-color),.2);border-right:none;z-index:3;background:rgba(var(--foreground-color),1)}#navbar .navbar-item{position:relative;text-align:center;cursor:pointer;padding:.3em;margin:.3em;border-radius:.4em;opacity:.6;font-size:.8em;text-transform:capitalize;width:100%;font-weight:600}#navbar .navbar-item h5{margin-top:.4em}#navbar .navbar-item .icon{stroke:rgba(var(--text-color),1)}#navbar .active{opacity:1}.banking{stroke-width:4}#home_page{padding:0 0 4rem}#home_page .left{width:auto;border-radius:.6rem}#home_page .left h3,#home_page .left h4,#home_page .left p{padding:0 1.5rem}#home_page .left h3{font-size:2rem;margin-bottom:1rem}.user-panel{position:relative;padding:1.5rem;align-self:flex-start}.user-panel .icon{stroke:rgba(var(--foreground-color),1)}.user-panel sm-button{border-radius:2rem}.display-balance{grid-template-columns:1fr 1fr;grid-template-areas:". ." "flo flo";gap:.8rem;margin-top:1rem}.display-balance .balance{position:relative;display:flex;border-radius:1rem;padding:1rem;justify-content:flex-end}.display-balance .balance h4{margin-bottom:3rem;font-size:2.5rem;font-weight:500}.display-balance .balance h5{opacity:.8;margin-bottom:.2rem}.display-balance .balance .tooltip{border-radius:1rem;margin-left:auto}.display-balance .balance:nth-of-type(1){background:rgba(var(--text-color),.1)}.display-balance .balance:nth-of-type(1) .tooltip{box-shadow:0 0 0 .4rem rgba(var(--text-color),.1) inset}.display-balance .balance:nth-of-type(2){background:linear-gradient(135deg,#fd946a,#ff4857);background-size:cover}.display-balance .balance:nth-of-type(2) .tooltip{box-shadow:0 0 0 .4rem #ff4857 inset}.display-balance .balance:nth-of-type(3){grid-area:flo;color:rgba(var(--foreground-color),1);background:linear-gradient(135deg,#2f69e6,#1b0980)}.complaint .processed,.deposited{color:#007732}.display-balance .balance:nth-of-type(3) .tooltip{box-shadow:0 0 0 .4rem #1b0980 inset}.display-balance .icon{height:1.4rem;width:1.4rem;padding:.3rem;stroke-width:10;cursor:pointer}.tooltip{position:absolute;left:0;right:0;top:0;bottom:0;cursor:help;display:flex;flex-direction:column;background:rgba(var(--foreground-color),1);z-index:1;transition:clip-path .4s ease-out;clip-path:circle(.8rem at calc(100% - 1.5rem) 1.4rem);scrollbar-width:thin}.tooltip .tt-icon{width:3rem;height:3rem;align-items:center;justify-content:center;margin-left:auto;font-weight:600}.tooltip .tooltip-text{padding:1rem;padding-top:0;line-height:1.4;font-size:.9rem;font-weight:400;overflow-y:auto;max-height:calc(100% - 3rem);max-width:30ch}.tooltip:hover{clip-path:circle(100%)}.user-type{font-weight:500}.options-tab{display:grid;grid-template-columns:repeat(4,1fr);padding:1.5rem;gap:2rem .2rem}.options-tab .option{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:.4rem;width:5rem;cursor:pointer}.options-tab .option .icon{height:3rem;width:3rem;background:rgba(var(--text-color),.06);border-radius:2rem;padding:.8rem;margin-bottom:.6rem}.options-tab .option h4{font-size:.85rem;opacity:.8;font-weight:500}.options-tab .option:active{transform:scale(.95)}.request-icon{transform:rotate(180deg)}.notification-dot::after{content:"";position:absolute;z-index:1;top:0;right:0;height:.6em;width:.6em;background-color:#E53935;border-radius:.4em;transition:transform .3s}.shrink.notification-dot::after{transform:scale(0)}#deposit .container-header,#withdraw .container-header{background:linear-gradient(rgba(var(--foreground-color),1) 90%,transparent)}.page .container-header,sm-tab-header{background:rgba(var(--foreground-color),1);z-index:2;top:0}sm-tab-header{position:sticky;padding:1rem 0;margin-bottom:1rem}sm-tab{text-transform:capitalize}sm-tab::part(tab){padding:.4rem 1.2rem}sm-panel{width:100%}.request{flex-direction:column;padding:1.5em;border-radius:.4em;border:1px solid}.request h5{margin-bottom:.2rem;text-transform:capitalize}.request h3,.request h4{margin-bottom:1.5rem}.copy-row h4,.request button{margin-bottom:0}.request h4:last-of-type{margin-bottom:0}.request .action{align-self:flex-end}.request .amount{font-size:1.4em}.request button{width:auto;align-self:flex-end}.request .copy-row{margin-bottom:1.5rem}.request .flex{align-items:center;justify-content:flex-end}.request .flex button,.request .flex h5{margin:0}.decline-request{margin-right:.5rem!important}.withdrawn{color:#d43125}.container{display:grid;gap:1em;width:100%;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.copy-row,.page .container-header{display:grid;grid-template-columns:1fr auto}.page{padding:1rem 1.5rem;padding-bottom:5rem}.page .container-header{grid-template-areas:". ." "search search";gap:1rem;will-change:auto}.page .container-header .search{grid-area:search}.page .container-header .search input{padding:1em;border:none;width:100%;background:var(--dark-shade);font-size:1rem;font-weight:500;color:rgba(var(--text-color),1);border-radius:.2em}.page .container-header .search input:focus{outline:0;background:rgba(var(--text-color-light),.2)}.copy-row{align-items:center;gap:.5rem;width:auto}.copy-row .icon{cursor:pointer;padding:.4rem;height:1.8rem;width:1.8rem}.copy-row .copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time{margin-bottom:1.5rem!important;font-weight:500}#report_popup{width:32rem}#profile_page{display:flex;flex-direction:column}#profile_page button{align-self:flex-start}.complaint{display:grid;gap:1.5rem 0}.complaint .complaint-actions{align-items:center;margin:1.5rem 0 0}#helpline_page sm-select,.complaint .processed,.complaint .unprocessed{margin-bottom:1.5rem}.complaint .unprocessed{color:#d43125}.complaint button .icon{padding:.2rem;margin-right:.5rem;stroke:var(--accent-color);stroke-width:8}.complaints-container{padding-top:1.5rem;display:grid;align-items:flex-start;gap:1.5rem}.complaint-placeholder{animation:pulse infinite .6s alternate}.complaint-placeholder h4,.complaint-placeholder h5{border-radius:.2rem}.complaint-placeholder h5{background:rgba(var(--text-color),.1);padding:.5rem .6rem}.complaint-placeholder h4{background:rgba(var(--text-color),.2);padding:.8rem}.complaint-placeholder .demo-btn{padding:.8rem 3rem}@keyframes pulse{from{opacity:.4}to{opacity:1}}#main_loader{text-align:center;place-content:center;height:100vh;width:100vw}#main_loader sm-button{margin-left:0;margin-top:1rem}#main_loader svg{height:2rem;width:2rem;stroke:var(--accent-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}#main_loader h3{width:100%;font-weight:400;word-spacing:.16em}#upi_txId_section .copy-row{margin-bottom:1.5rem}#send_amount_to_deposit{margin-bottom:0!important}@keyframes popup{0%{stroke-dashoffset:50;transform:translateY(4rem) scale(.2,.6)}40%,41%{transform:translateY(0) scale(.2)}50%{stroke-dashoffset:50;transform:translateY(0) scale(1)}100%{stroke-dashoffset:0}}#transaction_result{z-index:12}#transaction_result::part(popup){background-image:url(card-back.svg);background-size:cover;background-position-y:-3rem;background-repeat:no-repeat}.activity,.activity .icon,.select{background:rgba(var(--text-color),.06)}#transaction_result .copy-row{grid-template-areas:"label label" ". .";margin-top:1rem;gap:0 1rem}#transaction_result .copy-row h4{font-weight:500}#transaction_result h5{grid-area:label;color:rgba(var(--text-color),.7)}#transaction_result h4,#transaction_result h5,#transaction_result p{text-align:center}#transaction_result>h4{font-size:1.2rem;margin-top:6rem;margin-bottom:.5rem}#failure_svg,#success_svg{height:5rem;width:5rem;stroke-width:4;align-self:center;stroke:none;stroke-dasharray:50;fill:rgba(var(--foreground-color),1);animation:popup 2s forwards cubic-bezier(.175,.885,.32,1.275)}#success_svg polyline{fill:none;stroke:#00C853}#failure_svg line{stroke:#EF5350}.rupee-symbol{height:1rem;width:1rem;fill:rgba(var(--text-color),.5)}#deposit_rupee .copy-row{margin-bottom:1rem}.activity-container{display:grid;gap:1rem}.activity{display:grid;border-radius:.6rem;padding:1rem 1.2rem;gap:0 1rem;grid-template-columns:auto 1fr auto;grid-template-areas:"icon type amount" "icon receiver time";align-items:center;cursor:pointer}.activity .icon{grid-area:icon;height:3rem;width:3rem;padding:.8rem;border-radius:2rem}.activity .activity-type{grid-area:type;text-transform:capitalize;font-weight:400;font-size:.8rem}.activity .activity-receiver{grid-area:receiver;font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity .activity-amount{text-align:right;grid-area:amount}.activity .activity-time{text-align:right;grid-area:time;color:rgba(var(--text-color),.7);font-weight:500}.select{max-width:50ch;position:relative;display:flex;width:100%;padding:.8rem 1rem;border-radius:.3rem;align-items:center;cursor:pointer}.select:first-of-type:not(:last-of-type){border-radius:.3rem .3rem 0 0}.select+.select{margin-top:0;border-radius:0 0 .3rem .3rem;border-top:solid 1px rgba(var(--text-color),.16)}.select input[type=radio]{display:none}.select input:checked~.radio .outer-ring{stroke:var(--accent-color)}.select input:checked~.radio .inner-disc{transform:none}.select .radio{width:1.2rem;height:1.2rem;fill:none;overflow:visible;margin-right:.6rem}.select .radio .outer-ring{stroke-width:8;stroke:rgba(var(--text-color),.5)}.select .radio .inner-disc{transform-origin:center;fill:var(--accent-color);transform:scale(0);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.select .tag{opacity:.6;font-weight:500;margin-left:auto}.select h4{font-weight:400}.select .outer{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none}.add-upi{margin-top:.4rem;justify-self:flex-start;width:max-content}#settings_page>h4{margin-top:2rem;margin-bottom:.5rem}#settings_page p{color:rgba(var(--text-color),.7)}@media only screen and (max-width:640px){#deposit,#home_page{display:grid;gap:1.5rem;grid-template-areas:"." "left";grid-template-columns:minmax(0,1fr)}#deposit .left,#home_page .left{grid-area:left}sm-select{width:100%}.hide-on-mobile{display:none!important}}@media only screen and (min-width:640px){.hide-on-desktop{display:none!important}body{padding:0 2rem;margin-left:11rem}sm-popup{background:rgba(var(--foreground-color),1)}#navbar,#navbar .active{background:rgba(var(--text-color),.06)}#confirmation,sm-popup::part(popup){width:24rem}#navbar{justify-content:flex-start;flex-direction:column;align-items:stretch;left:0;bottom:0;top:0;right:auto;border-top:none;box-shadow:-.5rem 0 .5rem #00008 inset}#navbar .navbar-item{display:flex;border-radius:.5rem;width:auto;padding:.8rem 1.6rem}#navbar .logo .main-logo,#navbar .navbar-item .icon{height:1.2rem;width:1.2rem}#navbar .navbar-item .icon{margin-right:.8rem}#navbar .navbar-item h5{font-size:.9rem;margin:0}#navbar .navbar-item:hover{opacity:1}#navbar .logo{margin:1.5rem 1rem}#navbar .logo h4{font-size:1rem}.page{padding-bottom:2rem}#sign_in_popup{width:24rem}#home_page{padding-top:.5rem}#home_page .left{margin-top:1rem}#home_page .balance h4{margin-bottom:2.5rem}.options-tab{grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:2rem .8rem}#settings_page .copy-row{display:inline-grid}}@media only screen and (min-width:800px){.complaint{gap:0 1.5rem;grid-template-columns:1fr 1fr;grid-template-areas:". . " "header header"}.complaint .complaint-actions{grid-area:header}.complaint .left{border-right:1px solid rgba(var(--text-color),.2);padding-right:1.5rem}.complaint .right{display:flex;justify-content:center;flex-direction:column}.user-panel{position:sticky;top:1.5rem}#deposit,#home_page{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) 22rem}}@media only screen and (min-width:1920px){body{font-size:24px}}@media only screen and (min-width:2048px){body{font-size:24px}}@media only screen and (max-width:320px){body{font-size:14px}}@media (prefers-color-scheme:dark){:root{--text-color:238,238,238;--text-color-light:170,170,170;--foreground-color:26,26,26;--background-color:#111;--dark-shade:#1a1a1a}}@media (prefers-color-scheme:light){:root{--text-color:17,17,17;--text-color-light:85,85,85;--foreground-color:255,255,255;--background-color:#e8e8e8;--dark-shade:#dadada}}@media (prefers-color-scheme:no-preference){:root{--text-color:17,17,17;--text-color-light:85,85,85;--foreground-color:255,255,255;--background-color:#e8e8e8;--dark-shade:#dadada}}@media (any-hover:hover){.navbar-item:hover{background:rgba(var(--text-color),.06)}}
\ No newline at end of file
+*,.activity .activity-amount,.display-balance .balance h4{font-family:Roboto,sans-serif}a,h1,h2,h3,h4,h5{font-weight:600}.options-tab .option,button{-webkit-tap-highlight-color:transparent;cursor:pointer}.icon,.loader{overflow:visible}.action,button{position:relative}*{box-sizing:border-box;padding:0;margin:0}.request .flex,.request button,.top-margin{margin-top:1.5rem}button,h1,h2,h3,h4,h5{font-family:Poppins,sans-serif}:root{scroll-behavior:smooth}body{--accent-color:#4527A0;--text-color:17,17,17;--text-color-light:85,85,85;--foreground-color:255,255,255;--background-color:#e8e8e8;--dark-shade:#dadada;--hue:255;--saturation:61%;--lightness:39%;color:rgba(var(--text-color),1);font-size:16px;background-size:cover}a{text-decoration:none;color:var(--accent-color)}.dark-text{color:#111}h1{font-size:3.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1rem}h5{font-size:.8rem}p{line-height:1.5;max-width:60ch;color:rgba(var(--text-color),.9)}strong{font-weight:500}button{display:inline-flex;align-items:center;justify-content:center;text-transform:capitalize;padding:.6rem 1.2rem;font-weight:600;border-radius:.3rem;color:var(--accent-color);transition:transform .3s;border:none;background:rgba(var(--text-color),.1)}.action,.align-center,.logo{align-items:center}button:focus{outline:solid thin}button:disabled{cursor:default;background:rgba(var(--text-color),.5)}.action,.action[disabled] .primary-btn{background:0 0}button:disabled~.loader{opacity:0}::-moz-focus-inner{border:none}.bottom-padding{padding-bottom:1.5rem}.top-padding{padding-top:1em}.bottom-margin{margin-bottom:1.5rem}.flex{display:flex}.grid{display:grid}.grid-2{grid-template-columns:auto auto;gap:1em}#confirmation,#prompt,.direction-column{flex-direction:column}.space-between{justify-content:space-between}.label{margin-bottom:.4rem}.light-text{opacity:.7}.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(--accent-color);height:2rem;width:2rem;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}}.action{display:inline-flex;justify-content:center;padding:0}.action h4{padding:.5rem 1.2rem;font-size:.9rem;clip-path:circle(100%);transition:clip-path .3s;border-radius:.2rem}.action .btn{z-index:2}.action .loader{position:absolute;z-index:1;padding:.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 .3s}.fade-right{animation:faderight .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:flex}.logo h4{font-weight:500;font-size:clamp(1.1rem,2vw,1.2rem)}.logo .main-logo{height:clamp(1.4rem,2vw,1.6rem);width:clamp(1.4rem,2vw,1.6rem);fill:rgba(var(--text-color),1);stroke:none;margin-right:.2rem}.empty-state svg,.icon{stroke:rgba(var(--text-color),.8)}textarea{width:100%;max-width:100%;background:rgba(var(--text-color),.1);border:none;border-radius:.2rem;resize:none;font-size:1rem;line-height:1.6;padding:.8rem}:empty+.empty-state{display:grid}.empty-state{display:none;place-items:center;width:100%}.empty-state svg{height:12em;width:12em}.container-header{display:flex;align-items:center;flex-direction:row;width:100%;padding:1rem 0}.container-header h2{flex:1}.container-header button{align-self:center}.btn{background:var(--accent-color);color:rgba(var(--foreground-color),1);padding:.4em 1em}.back-arrow{stroke:rgba(var(--text-color),1);stroke-width:6;fill:none;height:2rem;padding:.5rem .5rem .5rem 0;cursor:pointer}.card{border-radius:.6rem;padding:1.5em;background:rgba(var(--foreground-color),1)}.solid-background{background:rgba(var(--foreground-color),1)!important}#confirmation p,#prompt p{margin:1rem}#confirmation h4,#prompt h4{font-weight:500;margin-bottom:1.5rem}#confirmation .flex sm-button:first-of-type,#prompt .flex sm-button:first-of-type{margin-right:.6em;margin-left:auto}.refresh{margin-top:.6em;margin-bottom:1em}sm-popup .illustration{position:relative;height:4rem;width:4rem;padding:1rem;stroke:var(--accent-color);margin-bottom:1rem;border-radius:5rem;background:rgba(var(--text-color),.06)}sm-popup sm-input:not(:last-of-type){margin-bottom:1rem}sm-popup p{margin-block-end:1rem}sm-popup .action h4{padding:.5rem 1rem;font-weight:500}sm-popup h5:not(.tag){font-family:Roboto,sans-serif;margin-bottom:.4rem;margin-top:1rem;font-weight:500}.popup-header{padding:1.5rem;padding-bottom:0;display:flex;align-items:center;width:100%}.popup-header .icon{margin-right:1rem;padding:.2rem;stroke-width:10;cursor:pointer}.popup-header button{width:auto;margin-left:auto}details,summary{margin-bottom:1rem}summary{cursor:pointer}details h5{line-height:.6;margin-bottom:0;margin-top:1.2rem!important}details p{font-size:.9rem;line-height:1.4}#sign_in_popup h3{margin-top:2rem}#sign_in_popup h4{font-weight:500;margin-bottom:3rem}#sign_in_popup button{margin:1rem 0}#sign_in_popup p{margin-top:1rem;margin-bottom:0!important}.primary-btn{background:var(--accent-color);justify-content:center;color:rgba(var(--foreground-color),1)}#main_header{align-items:center;padding:clamp(1rem,2vw,2rem) 1rem;justify-content:space-between}.icon{height:1.2rem;width:1.2rem;fill:none;stroke-width:6;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;z-index:3;background:rgba(var(--foreground-color),1);box-shadow:0 -.5rem 1rem #00010;border-radius:1rem 1rem 0 0}#navbar .navbar-item{position:relative;text-align:center;cursor:pointer;padding:.3em;border-radius:.4em;opacity:.6;color:rgba(var(--text-color),1);font-size:.8em;text-transform:capitalize;width:100%;font-weight:600}#navbar .navbar-item h5{margin-top:.4em}#navbar .navbar-item .icon{stroke:rgba(var(--text-color),1)}#navbar .active{opacity:1}.banking{stroke-width:4}#home_page{padding:0 0 4rem}#home_page .left{width:auto;border-radius:.6rem}#home_page .left h3,#home_page .left h4,#home_page .left p{padding:0 1.5rem}#home_page .left h3{font-size:2rem;margin-bottom:1rem}.user-panel{position:relative;padding:1.5rem;padding-top:1rem;align-self:flex-start}.user-panel .icon{stroke:rgba(var(--foreground-color),1)}.user-panel sm-button{border-radius:2rem}.display-balance{grid-template-columns:1fr 1fr;grid-template-areas:". ." "flo flo";gap:.8rem;margin-top:1rem}.display-balance .balance{height:10rem;position:relative;display:flex;flex-direction:column;border-radius:1rem;padding:1rem;justify-content:flex-end}.display-balance .balance h4{font-size:2.5rem;font-weight:500;text-shadow:1px .1rem .2rem #00040;word-break:break-all;flex:1}.display-balance .balance h5{opacity:.8;margin-bottom:.2rem}.display-balance .balance .tooltip{border-radius:1rem;color:rgba(var(--text-color),1);margin-left:auto}.display-balance .balance:nth-of-type(1){background:url(bg-art2.svg) bottom,linear-gradient(200deg,rgba(var(--text-color),.1),rgba(var(--text-color),.2));background-size:cover}.display-balance .balance:nth-of-type(1) .tooltip{box-shadow:0 0 0 .4rem rgba(var(--text-color),.1) inset}.display-balance .balance:nth-of-type(2){background:url(bg-art1.svg),linear-gradient(135deg,#fd946a,#ff4857);background-size:cover}.display-balance .balance:nth-of-type(2) .tooltip{box-shadow:0 0 0 .4rem #ff4857 inset}.display-balance .balance:nth-of-type(3){grid-area:flo;color:rgba(var(--foreground-color),1);background:url(bg-art3.svg) bottom no-repeat,linear-gradient(270deg,#2f69e6,#1b0980);background-size:cover}.complaint .processed,.deposited{color:#007732}.display-balance .balance:nth-of-type(3) .tooltip{box-shadow:0 0 0 .4rem #1b0980 inset}.display-balance .icon{height:1.4rem;width:1.4rem;padding:.3rem;stroke-width:10;cursor:pointer}.tooltip{position:absolute;left:0;right:0;top:0;bottom:0;cursor:help;display:flex;flex-direction:column;background:rgba(var(--foreground-color),1);z-index:1;transition:clip-path .4s ease-out;clip-path:circle(.8rem at calc(100% - 1.5rem) 1.4rem);scrollbar-width:thin}.tooltip .tt-icon{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;margin-left:auto;font-weight:600}.tooltip .tooltip-text{padding:1rem;padding-top:0;line-height:1.4;font-size:.9rem;font-weight:400;overflow-y:auto;max-height:calc(100% - 3rem);max-width:30ch}.tooltip:hover{clip-path:circle(100%)}.user-type{font-weight:500}.options-tab{display:grid;grid-template-columns:repeat(4,1fr);padding:1.5rem;gap:2rem .2rem}.options-tab .option{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:.4rem;width:5rem;text-transform:capitalize;transition:transform .3s}.options-tab .option .icon{height:3rem;width:3rem;background:rgba(var(--text-color),.06);border-radius:2rem;padding:.8rem;margin-bottom:.6rem}.options-tab .option h4{font-size:.85rem;opacity:.8;font-weight:500}.options-tab .option:active{transform:scale(.95)}.request-icon{transform:rotate(180deg)}.notification-dot::after{content:"";position:absolute;z-index:1;top:0;right:0;height:.6em;width:.6em;background-color:#E53935;border-radius:.4em;transition:transform .3s}.shrink.notification-dot::after{transform:scale(0)}#deposit .container-header,#withdraw .container-header{background:linear-gradient(rgba(var(--foreground-color),1) 90%,transparent)}.page .container-header,sm-tab-header{top:0;background:rgba(var(--foreground-color),1);z-index:2}sm-tab-header{position:sticky;padding:1rem 0;margin-bottom:1rem}sm-tab{text-transform:capitalize}sm-tab::part(tab){padding:.4rem 1.2rem}sm-panel{width:100%}.request{display:inline-flex;flex-direction:column;padding:1.5em;border-radius:.4em;border:1px solid}.request h5{margin-bottom:.2rem;text-transform:capitalize}.request h3,.request h4{margin-bottom:1.5rem}.copy-row h4,.request button{margin-bottom:0}.request h4:last-of-type{margin-bottom:0}.request .action{align-self:flex-end}.request .amount{font-size:1.4em}.request button{width:auto;align-self:flex-end}.request .copy-row{margin-bottom:1.5rem}.request .flex{align-items:center;justify-content:flex-end}.request .flex button,.request .flex h5{margin:0}.decline-request{margin-right:.5rem!important}.withdrawn{color:#d43125}.container{display:grid;gap:1em;width:100%;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.copy-row,.page .container-header{display:grid;grid-template-columns:1fr auto}.page{padding:1rem 1.5rem;padding-bottom:5rem}.page .container-header{grid-template-areas:". ." "search search";gap:1rem;will-change:auto}.page .container-header .search{grid-area:search}.page .container-header .search input{padding:1em;border:none;width:100%;background:var(--dark-shade);font-size:1rem;font-weight:500;color:rgba(var(--text-color),1);border-radius:.2em}.page .container-header .search input:focus{outline:0;background:rgba(var(--text-color-light),.2)}.copy-row{align-items:center;gap:.5rem;width:auto}.copy-row .icon{cursor:pointer;padding:.4rem;height:1.8rem;width:1.8rem}.copy-row .copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time{margin-bottom:1.5rem!important;font-weight:500}#report_popup{width:32rem}#profile_page{display:flex;flex-direction:column}#profile_page button{align-self:flex-start}.complaint{display:grid;gap:1.5rem 0}.complaint .complaint-actions{align-items:center;margin:1.5rem 0 0}#helpline_page sm-select,.complaint .processed,.complaint .unprocessed{margin-bottom:1.5rem}.complaint .unprocessed{color:#d43125}#settings_page p,#transaction_result h5,.activity .activity-time{color:rgba(var(--text-color),.7)}.complaint button .icon{padding:.2rem;margin-right:.5rem;stroke:var(--accent-color);stroke-width:8}.complaints-container{padding-top:1.5rem;display:grid;align-items:flex-start;gap:1.5rem}.complaint-placeholder{animation:pulse infinite .6s alternate}.complaint-placeholder h4,.complaint-placeholder h5{border-radius:.2rem}.complaint-placeholder h5{background:rgba(var(--text-color),.1);padding:.5rem .6rem}.complaint-placeholder h4{background:rgba(var(--text-color),.2);padding:.8rem}.complaint-placeholder .demo-btn{padding:.8rem 3rem}@keyframes pulse{from{opacity:.4}to{opacity:1}}#main_loader{text-align:center;place-content:center;height:100vh;width:100vw;position:fixed;left:0}#main_loader sm-button{margin-left:0;margin-top:1rem}#main_loader svg{height:2rem;width:2rem;stroke:var(--accent-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}.activity,.select{align-items:center}#main_loader h3{width:100%;font-weight:400;word-spacing:.16em}#upi_txId_section .copy-row{margin-bottom:1.5rem}#send_amount_to_deposit{margin-bottom:0!important}@keyframes popup{0%{stroke-dashoffset:50;transform:translateY(4rem) scale(.2,.6)}40%,41%{transform:translateY(0) scale(.2)}50%{stroke-dashoffset:50;transform:translateY(0) scale(1)}100%{stroke-dashoffset:0}}#transaction_result{z-index:12}#transaction_result::part(popup){background-image:url(card-back.svg);background-size:cover;background-position-y:-3rem;background-repeat:no-repeat}.activity,.activity .icon,.select{background:rgba(var(--text-color),.06)}#transaction_result .copy-row{grid-template-areas:"label label" ". .";margin-top:1rem;gap:0 1rem}#transaction_result .copy-row h4{font-weight:500}#transaction_result h5{grid-area:label}#transaction_result h4,#transaction_result h5,#transaction_result p{text-align:center}#transaction_result>h4{font-size:1.2rem;margin-top:6rem;margin-bottom:.5rem}#failure_svg,#success_svg{height:5rem;width:5rem;stroke-width:4;align-self:center;stroke:none;stroke-dasharray:50;fill:rgba(var(--foreground-color),1);animation:popup 2s forwards cubic-bezier(.175,.885,.32,1.275)}#success_svg polyline{fill:none;stroke:#00C853}#failure_svg line{stroke:#EF5350}.rupee-symbol{height:1rem;width:1rem;fill:rgba(var(--text-color),.5)}#deposit_rupee .copy-row{margin-bottom:1rem}.activity-container{display:grid;gap:1rem}.activity{display:grid;border-radius:.6rem;padding:1rem 1.2rem;gap:0 1rem;grid-template-columns:auto 1fr auto;grid-template-areas:"icon type amount" "icon receiver time";cursor:pointer}.activity .icon{grid-area:icon;height:3rem;width:3rem;padding:.8rem;border-radius:2rem}.activity .activity-type{grid-area:type;text-transform:capitalize;font-weight:400;font-size:.8rem}.activity .activity-receiver{grid-area:receiver;font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity .activity-amount{text-align:right;grid-area:amount}.activity .activity-time{text-align:right;grid-area:time;font-weight:500}.select{max-width:50ch;position:relative;display:flex;width:100%;border-radius:.3rem}.select:first-of-type:not(:last-of-type){border-radius:.3rem .3rem 0 0}.select+.select{margin-top:0;border-radius:0 0 .3rem .3rem;border-top:solid 1px rgba(var(--text-color),.16)}.select label{display:flex;align-items:center;cursor:pointer;flex:1;padding:.8rem 1rem}.select input[type=radio]{display:none}.select input:checked~.radio .outer-ring{stroke:var(--accent-color)}.select input:checked~.radio .inner-disc{transform:none}.select .radio{width:1.2rem;height:1.2rem;fill:none;overflow:visible;margin-right:.6rem}.select .radio .outer-ring{stroke-width:8;stroke:rgba(var(--text-color),.5)}.select .radio .inner-disc{transform-origin:center;fill:var(--accent-color);transform:scale(0);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.select .remove{display:none;width:3rem;height:2rem;padding:.7rem;cursor:pointer;stroke-width:10}.select .tag{grid-area:tag;opacity:.6;font-weight:500;border:1px solid;padding:.2rem .4rem;border-radius:.3rem;margin-right:.5rem}.select h4{font-weight:400}.add-upi{margin-top:.4rem;justify-self:flex-start;width:max-content}#settings_page .remove{display:block}#settings_page>h4{margin-top:2rem;margin-bottom:.5rem}#settings_page sm-button{margin-top:.8rem}#settings_page .empty-state{justify-content:left}@media only screen and (max-width:640px){#deposit,#home_page{display:grid;gap:1.5rem;grid-template-areas:"." "left";grid-template-columns:minmax(0,1fr)}#deposit .left,#home_page .left{grid-area:left}sm-select{width:100%}.hide-on-mobile{display:none!important}}@media only screen and (min-width:640px){.hide-on-desktop{display:none!important}body{padding:0 2rem;margin-left:11rem}sm-popup{background:rgba(var(--foreground-color),1)}#navbar,#navbar .active{background:rgba(var(--text-color),.06)}#confirmation,sm-popup::part(popup){width:24rem}#navbar{justify-content:flex-start;flex-direction:column;align-items:stretch;left:0;bottom:0;top:0;right:auto;border-top:none;border-radius:0;box-shadow:-.5rem 0 .5rem #00008 inset}#navbar .navbar-item{display:flex;width:auto;padding:.8rem}#navbar .navbar-item .icon{height:1.2rem;width:1.2rem;margin-right:.8rem}#navbar .navbar-item h5{font-size:.9rem;margin:0}#navbar .navbar-item:hover{opacity:1}#navbar .logo{margin:1.5rem 1rem}#navbar .logo h4{font-size:1rem}#navbar .logo .main-logo{height:1.2rem;width:1.2rem}.page{padding-bottom:2rem}#sign_in_popup{width:24rem}#home_page{padding-top:.5rem}#home_page .left{margin-top:1rem}.options-tab{grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:2rem .8rem}.display-balance .balance{height:9rem}#settings_page .copy-row{display:inline-grid}}@media only screen and (min-width:800px){.complaint{gap:0 1.5rem;grid-template-columns:1fr 1fr;grid-template-areas:". . " "header header"}.complaint .complaint-actions{grid-area:header}.complaint .left{border-right:1px solid rgba(var(--text-color),.2);padding-right:1.5rem}.complaint .right{display:flex;justify-content:center;flex-direction:column}.user-panel{position:sticky;top:1.5rem;padding-top:1.5rem}#deposit,#home_page{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) 22rem}.activity{width:60ch}}@media only screen and (min-width:1920px){body{font-size:24px}}@media only screen and (min-width:2048px){body{font-size:24px}}@media only screen and (max-width:320px){body{font-size:14px}}@media (prefers-color-scheme:dark){:root{--text-color:238,238,238;--text-color-light:170,170,170;--foreground-color:26,26,26;--background-color:#111;--dark-shade:#1a1a1a}}@media (prefers-color-scheme:light){:root{--text-color:17,17,17;--text-color-light:85,85,85;--foreground-color:255,255,255;--background-color:#e8e8e8;--dark-shade:#dadada}}@media (prefers-color-scheme:no-preference){:root{--text-color:17,17,17;--text-color-light:85,85,85;--foreground-color:255,255,255;--background-color:#e8e8e8;--dark-shade:#dadada}}@media (any-hover:hover){.navbar-item:hover{background:rgba(var(--text-color),.06)}.remove{opacity:.6}.remove:hover{opacity:1}}
\ No newline at end of file
diff --git a/css/main.scss b/css/main.scss
index abbbb91..1f34c1f 100644
--- a/css/main.scss
+++ b/css/main.scss
@@ -16,6 +16,9 @@ body {
--foreground-color: 255, 255, 255;
--background-color: #e8e8e8;
--dark-shade: #dadada;
+ --hue: 255;
+ --saturation: 61%;
+ --lightness: 39%;
color: rgba(var(--text-color), 1);
font-size: 16px;
background-size: cover;
@@ -410,8 +413,10 @@ sm-popup{
}
}
h5:not(.tag){
+ font-family: 'Roboto', sans-serif;
margin-bottom: 0.4rem;
margin-top: 1rem;
+ font-weight: 500;
}
}
@@ -504,17 +509,15 @@ details{
right: 0;
bottom: 0;
top: auto;
- border-top: solid 1px rgba(var(--text-color), 0.2);
- border-right: none;
z-index: 3;
background: rgba(var(--foreground-color), 1);
-
+ box-shadow: 0 -0.5rem 1rem #00000010;
+ border-radius: 1rem 1rem 0 0;
.navbar-item {
position: relative;
text-align: center;
cursor: pointer;
padding: 0.3em;
- margin: 0.3em;
border-radius: 0.4em;
opacity: 0.6;
color: rgba(var(--text-color), 1);
@@ -557,6 +560,7 @@ details{
.user-panel {
position: relative;
padding: 1.5rem;
+ padding-top: 1rem;
align-self: flex-start;
.icon{
stroke: rgba(var(--foreground-color), 1);
@@ -572,6 +576,7 @@ details{
gap: 0.8rem;
margin-top: 1rem;
.balance{
+ height: 10rem;
position: relative;
display: flex;
flex-direction: column;
@@ -579,10 +584,12 @@ details{
padding: 1rem;
justify-content: flex-end;
h4{
- margin-bottom: 3rem;
font-size: 2.5rem;
font-family: 'Roboto', sans-serif;
font-weight: 500;
+ text-shadow: 1px 0.1rem 0.2rem #00000040;
+ word-break: break-all;
+ flex: 1;
}
h5{
opacity: 0.8;
@@ -593,13 +600,14 @@ details{
color: rgba(var(--text-color), 1);
}
&:nth-of-type(1){
- background: rgba(var(--text-color), 0.1);
+ background: url(bg-art2.svg) bottom, linear-gradient(200deg, rgba(var(--text-color), 0.1), rgba(var(--text-color), 0.2));
+ background-size: cover;
.tooltip{
box-shadow: 0 0 0 0.4rem rgba(var(--text-color), 0.1) inset;
}
}
&:nth-of-type(2){
- background: linear-gradient(135deg, #fd946a, #ff4857);
+ background: url(bg-art1.svg), linear-gradient(135deg, #fd946a, #ff4857);
background-size: cover;
.tooltip{
box-shadow: 0 0 0 0.4rem #ff4857 inset;
@@ -608,7 +616,8 @@ details{
&:nth-of-type(3){
grid-area: flo;
color: rgba(var(--foreground-color), 1);
- background: linear-gradient(135deg, #2f69e6, #1b0980);
+ background: url(bg-art3.svg) bottom no-repeat, linear-gradient(270deg, #2f69e6, #1b0980);
+ background-size: cover;
.tooltip{
box-shadow: 0 0 0 0.4rem#1b0980 inset;
}
@@ -829,7 +838,6 @@ sm-panel{
.page {
padding: 1rem 1.5rem;
padding-bottom: 5rem;
-
.container-header {
display: grid;
grid-template-columns: 1fr auto;
@@ -1161,11 +1169,9 @@ sm-panel{
position: relative;
display: flex;
width: 100%;
- padding: 0.8rem 1rem;
border-radius: 0.3rem;
background: rgba(var(--text-color), 0.06);
align-items: center;
- cursor: pointer;
&:first-of-type:not(:last-of-type){
border-radius: 0.3rem 0.3rem 0 0;
}
@@ -1174,6 +1180,13 @@ sm-panel{
border-radius: 0 0 0.3rem 0.3rem;
border-top: solid 1px rgba(var(--text-color), 0.16);
}
+ label{
+ display: flex;
+ align-items: center;
+ cursor: pointer;
+ flex: 1;
+ padding: 0.8rem 1rem;
+ }
input[type="radio"]{
display: none;
}
@@ -1200,22 +1213,26 @@ sm-panel{
transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
}
+ .remove{
+ display: none;
+ width: 3rem;
+ height: 2rem;
+ padding: 0.7rem;
+ cursor: pointer;
+ stroke-width: 10;
+ }
.tag{
+ grid-area: tag;
opacity: 0.6;
font-weight: 500;
- margin-left: auto;
+ border: solid 1px rgba(var(--text-color), 0.4);
+ padding: 0.2rem 0.4rem;
+ border-radius: 0.3rem;
+ margin-right: 0.5rem;
}
h4{
font-weight: 400;
}
- .outer{
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- pointer-events: none;
- }
}
.add-upi{
margin-top: 0.4rem;
@@ -1223,6 +1240,9 @@ sm-panel{
width: max-content;
}
#settings_page{
+ .remove{
+ display: block;
+ }
& > h4{
margin-top: 2rem;
margin-bottom: 0.5rem;
@@ -1230,6 +1250,12 @@ sm-panel{
p{
color: rgba(var(--text-color), 0.7);
}
+ sm-button{
+ margin-top: 0.8rem;
+ }
+ .empty-state{
+ justify-content: left;
+ }
}
@media only screen and (max-width: 640px) {
#home_page, #deposit{
@@ -1277,13 +1303,13 @@ sm-panel{
top: 0;
right: auto;
border-top: none;
+ border-radius: 0;
background: rgba(var(--text-color), 0.06);
box-shadow: -0.5rem 0 0.5rem #00000008 inset;
.navbar-item {
display: flex;
- border-radius: 0.5rem;
width: auto;
- padding: 0.8rem 1.6rem;
+ padding: 0.8rem;
.icon {
height: 1.2rem;
width: 1.2rem;
@@ -1324,16 +1350,16 @@ sm-panel{
.left {
margin-top: 1rem;
}
- .balance{
- h4{
- margin-bottom: 2.5rem;
- }
- }
}
.options-tab{
grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr));
gap: 2rem 0.8rem;
}
+ .display-balance{
+ .balance{
+ height: 9rem;
+ }
+ }
#settings_page{
.copy-row{
display: inline-grid;
@@ -1365,12 +1391,16 @@ sm-panel{
.user-panel{
position: sticky;
top: 1.5rem;
+ padding-top: 1.5rem;
}
#home_page, #deposit {
display: grid;
gap: 1.5rem;
grid-template-columns: minmax(0, 1fr) 22rem;
}
+ .activity{
+ width: 60ch;
+ }
}
@media only screen and (min-width: 1920px) {
@@ -1425,4 +1455,10 @@ sm-panel{
.navbar-item:hover{
background: rgba(var(--text-color), 0.06);
}
+ .remove{
+ opacity: 0.6;
+ }
+ .remove:hover{
+ opacity: 1;
+ }
}
diff --git a/index.html b/index.html
index a8468ec..fc57087 100644
--- a/index.html
+++ b/index.html
@@ -84,13 +84,13 @@
Step 3
Press Send button.
-
+
@@ -210,13 +210,24 @@
Request Rupee from other's using FLO address.
-
+
+
+ How to request rupee?
+
+ Step 1
+ Enter amount you want to request
+ Step 2
+ Enter the FLO ID of person you want to request rupee from.
+ Step 3
+ Press Request button
+
+
-
+
Send from
-
- Add an UPI address for completing the transaction.
+
+ Add UPI address
@@ -796,11 +806,11 @@
My UPIs
- Add UPI address for easier access during various transactions.
+ Add UPI address for easier access during various transactions.
+ Add UPI address
Sign Out
Signing out will erase all the data stored in local storage and Indexed DB. This will remove saved private key, UPI addresses.
-
+ Sign out
@@ -1330,7 +1340,9 @@
}
document.addEventListener('popupopened', e => {
- let thisPopup = e.detail.popup
+ let thisPopup = e.detail.popup,
+ firstInput = thisPopup.querySelector('sm-input')
+ firstInput.focusIn()
switch(e.detail.popup.id){
case 'deposit_rupee' :
request_rupee_token()
@@ -1359,8 +1371,8 @@
break;
case 'cash_transfer' :
payingRequested = false;
- tokenReceiver.disabled = false
- tokenAmount.disabled = false
+ tokenReceiver.readOnly = false
+ tokenAmount.readOnly = false
break;
case 'transaction_result' :
setTimeout(() => {
@@ -1439,16 +1451,20 @@
}
// displays a popup for asking permission. Use this instead of JS confirm
- let confirmation = function (message) {
+ let confirmation = (message, cancelText = 'Cancel', confirmText = 'OK') => {
return new Promise(resolve => {
let popup = document.getElementById('confirmation');
showPopup('confirmation')
popup.querySelector('#confirm_message').textContent = message;
- popup.querySelector('.submit-btn').onclick = () => {
+ let submitButton = popup.querySelector('.submit-btn')
+ submitButton.textContent = confirmText
+ submitButton.onclick = () => {
popup.hide()
resolve(true);
}
- popup.querySelector('.cancel-btn').onclick = () => {
+ let cancelButton = popup.querySelector('.cancel-btn')
+ cancelButton.textContent = cancelText
+ cancelButton.onclick = () => {
popup.hide()
resolve(false);
}
@@ -1634,7 +1650,8 @@
document.getElementById('report_btn').addEventListener('click', async (e) => {
let customMsg = document.getElementById('complaint_field').value
if (await confirmation(
- 'It may take upto 12hrs to complete your request, are you sure to report this issue?'
+ 'It may take upto 12hrs to complete your request, are you sure to report this issue?',
+ 'Cancel', 'Report'
)) {
file_complaint(currentRequest.dataset.type, currentRequest.dataset.vectorClock,
customMsg)
@@ -1663,14 +1680,13 @@
}
tokenReceiver.value = senderAddress;
tokenAmount.value = amount;
- tokenReceiver.disabled = true
- tokenAmount.disabled = true
+ tokenReceiver.readOnly = true
+ tokenAmount.readOnly = true
}
if (e.target.closest('.decline-request')) {
let parent = e.target.closest('.request'),
paymentRequestId = parent.dataset.paymentRequestId;
- if (await confirmation(
- `Do want to decline this request?`)) {
+ if (await confirmation(`Do want to decline this request?`, 'No', 'Decline')) {
const all_reqs = removeDuplicates(floDapps.getNextGeneralData(token_app.master_configurations
.TYPE_REQUEST_PAYMENT, "0").reverse());
@@ -1692,7 +1708,7 @@
let complaint = e.target.closest('.complaint'),
udc = complaint.dataset.udc,
type = complaint.dataset.type;
- if (await confirmation('Mark this complaint as resolved?')) {
+ if (await confirmation('Mark this complaint as resolved?', 'Cancel', 'Mark Resolved')) {
mark_complaint_resolved(type, JSON.parse(udc))
complaint.remove()
}
@@ -1702,6 +1718,13 @@
document.getElementById('settings_page').addEventListener('change', e => {
setPrimaryUPI(e.target.value)
})
+ document.getElementById('settings_page').addEventListener('click', async e => {
+ if(e.target.closest('.remove') && await confirmation('Do you want to remove this UPI address?', 'No', 'Remove UPI')){
+ let upi = e.target.closest('.select').querySelector('input').value
+ removeUPI(upi)
+ notify('Removed UPI address')
+ }
+ })
})
@@ -1769,6 +1792,12 @@
renderUserUPI()
defaultUPI = upiAddress
}
+
+ function removeUPI(upi){
+ compactIDB.removeData('userUPIs', upi)
+ renderUserUPI()
+ }
+
const UPIContainers = document.querySelectorAll('.upi-container')
async function renderUserUPI(){
let upis = await compactIDB.readAllData('userUPIs')
@@ -1778,19 +1807,26 @@
for(upi in upis){
let checked = upi === defaultUPI ? 'checked': ''
radios += `
-