From bd1e9ee212541c8f6236bea6256cad082b2ea35a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 31 Aug 2022 13:50:03 -0700 Subject: hook up 2fa setting --- src/components/Qr.svelte | 53 +++++++++++++ src/components/index.js | 1 + src/locales/en.json | 6 +- src/locales/fr.json | 1 - src/routes/[username]/dashboard/+page.svelte | 2 +- src/routes/[username]/settings/+page.svelte | 2 +- src/routes/[username]/settings/_security.svelte | 101 ++++++++++++++++++++---- src/routes/disable2fa/+server.js | 8 ++ src/routes/enable2fa/+server.js | 8 ++ 9 files changed, 160 insertions(+), 22 deletions(-) create mode 100644 src/components/Qr.svelte create mode 100644 src/routes/disable2fa/+server.js create mode 100644 src/routes/enable2fa/+server.js diff --git a/src/components/Qr.svelte b/src/components/Qr.svelte new file mode 100644 index 00000000..fcdc6c7d --- /dev/null +++ b/src/components/Qr.svelte @@ -0,0 +1,53 @@ + + +
copy(text)} /> + + diff --git a/src/components/index.js b/src/components/index.js index eed5d3f3..969e2107 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -14,3 +14,4 @@ export { default as About } from './About.svelte'; export { default as Footer } from './Footer.svelte'; export { default as Toggle } from './Toggle.svelte'; export { default as LocationsMap } from './LocationsMap.svelte'; +export { default as Qr } from './Qr.svelte'; diff --git a/src/locales/en.json b/src/locales/en.json index 3dae530c..d246377d 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -127,7 +127,6 @@ "support": "Support" }, "user": { - "addressGoesHere": "Address goes here", "follow": "Follow", "remove": "Remove", "scanToPayBTC": "Scan to pay with bitcoin", @@ -146,6 +145,8 @@ "showQR": "Show QR" }, "settings": { + "oneTimeCode": "Enter one-time code to enable", + "accountId": "Account ID", "header": "Settings", "ACCOUNT": "ACCOUNT", "POINT_OF_SALE": "POINT OF SALE", @@ -172,7 +173,8 @@ "autoLockDescription": "Your account will go into a secure mode automatically after a specified time:", "twofa": "2-Factor Authentication", "twofaDescription": "Add an extra level of security to your device by enableing 2-factor authentication.", - "twofaSetup": "Set up 2FA" + "twofaSetup": "Set up 2FA", + "twofaDisable": "Disable 2FA" }, "support": { "header": "Support", diff --git a/src/locales/fr.json b/src/locales/fr.json index e97ca264..ffa8a1f5 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -127,7 +127,6 @@ "pitch3": "Si vous pensez que vous pouvez exercer une influence positive, nous voulons que vous contribuez. Envoyer votre CV à" }, "user": { - "addressGoesHere": "Addresse ici", "follow": "Suivre", "remove": "Enlève", "scanToPayBTC": "Scanner pour payer avec Bitcoin", diff --git a/src/routes/[username]/dashboard/+page.svelte b/src/routes/[username]/dashboard/+page.svelte index 969717df..bd5f2bba 100644 --- a/src/routes/[username]/dashboard/+page.svelte +++ b/src/routes/[username]/dashboard/+page.svelte @@ -48,7 +48,7 @@

{user.username}

- {$t('user.addressGoesHere')} + {user.address}
diff --git a/src/routes/[username]/settings/+page.svelte b/src/routes/[username]/settings/+page.svelte index aa19c68f..8270ad51 100644 --- a/src/routes/[username]/settings/+page.svelte +++ b/src/routes/[username]/settings/+page.svelte @@ -30,7 +30,7 @@ -
+

{$t('user.settings.header')} diff --git a/src/routes/[username]/settings/_security.svelte b/src/routes/[username]/settings/_security.svelte index 65f73a10..dd184fe4 100644 --- a/src/routes/[username]/settings/_security.svelte +++ b/src/routes/[username]/settings/_security.svelte @@ -1,18 +1,52 @@
@@ -23,8 +57,8 @@ {#if settingPin}
- - + + @@ -55,16 +89,49 @@
{#if setting2fa} - QR + + +
+ {$t('user.settings.accountId')}
+ {$user.otpsecret} +
+
+ {$t('user.settings.oneTimeCode')}
+ + + + + + + + +
+{:else if disabling2fa} +
+ {$t('user.settings.oneTimeCode')}
+ + + + + + + + +
{:else} -
- {$t('user.settings.twofa')} -

- {$t('user.settings.twofaDescription')} -

- + {:else} + -
+ {/if} {/if} diff --git a/src/routes/disable2fa/+server.js b/src/routes/disable2fa/+server.js new file mode 100644 index 00000000..98063773 --- /dev/null +++ b/src/routes/disable2fa/+server.js @@ -0,0 +1,8 @@ +import { auth, post } from '$lib/utils'; + +export async function PUT({ request }) { + let body = await request.json(); + let res = await post('/disable2fa', body, auth(request)); + + return new Response(JSON.stringify(res)); +} diff --git a/src/routes/enable2fa/+server.js b/src/routes/enable2fa/+server.js new file mode 100644 index 00000000..7bee4f4b --- /dev/null +++ b/src/routes/enable2fa/+server.js @@ -0,0 +1,8 @@ +import { auth, post } from '$lib/utils'; + +export async function PUT({ request }) { + let body = await request.json(); + let res = await post('/2fa', body, auth(request)); + + return new Response(JSON.stringify(res)); +} -- cgit v1.2.3