Skip to content

Commit 30af411

Browse files
author
Avaer Kazmer
committed
Bugfix connect integration
1 parent c3c3551 commit 30af411

File tree

1 file changed

+61
-5
lines changed

1 file changed

+61
-5
lines changed

index.html

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,33 @@
210210
margin-right: 5px;
211211
}
212212
.user-account .status {
213+
display: flex;
213214
padding: 3px 6px;
214-
background-color: #5c6bc0;
215215
border-radius: 8px;
216216
color: #FFF;
217+
align-items: center;
218+
}
219+
.user-account .status:not(.open) {
220+
display: none;
221+
}
222+
.user-account .status.not-connected {
223+
background-color: #5c6bc0;
224+
}
225+
.user-account .status.connected {
226+
background-color: #66bb6a;
227+
}
228+
.user-account .status nav {
229+
display: flex;
230+
width: 16px;
231+
height: 16px;
232+
margin-left: 5px;
233+
/* background-color: #ef534e; */
234+
justify-content: center;
235+
align-items: center;
236+
cursor: pointer;
237+
}
238+
.user-account .status i {
239+
217240
}
218241
.user-account input[type=text] {
219242
width: 300px;
@@ -579,7 +602,8 @@ <h1 id=login-name-static></h1>
579602
</div>
580603
<div class=row>
581604
<div class=text>Stripe status:</div>
582-
<div class=status>Not connected</div>
605+
<div class="status not-connected" id=status-not-connected>Not connected</div>
606+
<div class="status connected" id=status-connected>Connected <nav id=disconnect-stripe-button><i class="fal fa-times"></i></nav></div>
583607
<input type=button value="Connect Stripe" id=connect-stripe-button>
584608
</div>
585609
</div>
@@ -637,6 +661,13 @@ <h3>This beta requires login.<br>Get an invite in <a href="https://discordapp.co
637661

638662
loginNameStatic.innerText = loginToken.name;
639663
loginEmailStatic.innerText = loginToken.email;
664+
if (loginToken.stripeState) {
665+
statusConnected.classList.add('open');
666+
statusNotConnected.classList.remove('open');
667+
} else {
668+
statusNotConnected.classList.add('open');
669+
statusConnected.classList.remove('open');
670+
}
640671

641672
document.body.classList.add('logged-in');
642673
loginForm.classList.remove('phase-1');
@@ -743,12 +774,19 @@ <h3>This beta requires login.<br>Get an invite in <a href="https://discordapp.co
743774
method: 'POST',
744775
})
745776
if (res.status >= 200 && res.status < 300) {
746-
res.json();
777+
loginToken = await res.json();
747778

748-
loginToken = localLoginToken;
779+
await storage.set('loginToken', loginToken);
749780

750781
loginNameStatic.innerText = loginToken.name;
751782
loginEmailStatic.innerText = loginToken.email;
783+
if (loginToken.stripeState) {
784+
statusConnected.classList.add('open');
785+
statusNotConnected.classList.remove('open');
786+
} else {
787+
statusNotConnected.classList.add('open');
788+
statusConnected.classList.remove('open');
789+
}
752790

753791
ga('create', 'UA-147624282-1', {
754792
'clientId': loginToken.email,
@@ -823,6 +861,8 @@ <h3>This beta requires login.<br>Get an invite in <a href="https://discordapp.co
823861
const loginEmail = document.getElementById('login-email');
824862
const loginNameStatic = document.getElementById('login-name-static');
825863
const loginEmailStatic = document.getElementById('login-email-static');
864+
const statusNotConnected = document.getElementById('status-not-connected');
865+
const statusConnected = document.getElementById('status-connected');
826866
const loginVerificationCode = document.getElementById('login-verification-code');
827867
const loginNotice = document.getElementById('login-notice');
828868
const loginError = document.getElementById('login-error');
@@ -1104,7 +1144,23 @@ <h3>
11041144
});
11051145
const connectStripeButton = document.getElementById('connect-stripe-button');
11061146
connectStripeButton.addEventListener('click', () => {
1107-
window.location.href = `https://payments.exokit.org/authorize?email=${encodeURIComponent(loginToken.email)}&token=${encodeURIComponent(loginToken.token)}`;
1147+
window.location.href = `https://payments.exokit.org/authorize?email=${encodeURIComponent(loginToken.email)}&token=${encodeURIComponent(loginToken.token)}&redirectUrl=${window.location.href}`;
1148+
});
1149+
const disconnectStripeButton = document.getElementById('disconnect-stripe-button');
1150+
disconnectStripeButton.addEventListener('click', () => {
1151+
const {email, token} = loginToken;
1152+
fetch(`https://payments.exokit.org/untoken?email=${encodeURIComponent(email)}&token=${encodeURIComponent(token)}`)
1153+
.then(async res => {
1154+
if (res.status >= 200 && res.status < 300) {
1155+
loginToken.stripeState = false;
1156+
statusNotConnected.classList.add('open');
1157+
statusConnected.classList.remove('open');
1158+
1159+
await storage.set('loginToken', loginToken);
1160+
} else {
1161+
console.warn('invalid status code', res.status);
1162+
}
1163+
});
11081164
});
11091165

11101166
const userButton = document.getElementById('user-button');

0 commit comments

Comments
 (0)