aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-12-06 13:56:22 -0800
committerAdam Soltys <[email protected]>2023-12-06 13:56:22 -0800
commitc4e36c6e9b1132d3fc89fbba7fc77848b29a0915 (patch)
treebd467de01f47598d61061c83cd675bd1eb22eb57 /src
parent54f6d24f819816d6d687dab7291e9db334286e52 (diff)
downloadcoinos-ui-c4e36c6e9b1132d3fc89fbba7fc77848b29a0915.tar.gz
coinos-ui-c4e36c6e9b1132d3fc89fbba7fc77848b29a0915.zip
email verify
Diffstat (limited to 'src')
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/+page.server.js3
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/+page.svelte26
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/_pos.svelte1
-rw-r--r--src/routes/(app)/[username]/verify/[code]/+page.server.js1
-rw-r--r--src/routes/(app)/[username]/verify/[code]/+page.svelte1
-rw-r--r--src/routes/(static)/docs/+page.svelte10
6 files changed, 32 insertions, 10 deletions
diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.server.js b/src/routes/(app)/[username]/settings/[...tab]/+page.server.js
index 156b6062..2acad2dd 100644
--- a/src/routes/(app)/[username]/settings/[...tab]/+page.server.js
+++ b/src/routes/(app)/[username]/settings/[...tab]/+page.server.js
@@ -1,9 +1,10 @@
import { fail, redirect } from "@sveltejs/kit";
import { fd, auth, get, post } from "$lib/utils";
-export function load({ params, url }) {
+export function load({ cookies, params, url }) {
if (url.pathname.endsWith("settings"))
throw redirect(307, url.pathname + "/account");
+ params.cookies = cookies.getAll();
return params;
}
diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte
index d0ee7eba..baef4d8e 100644
--- a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte
+++ b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte
@@ -8,7 +8,7 @@
import Spinner from "$comp/Spinner.svelte";
import Pin from "$comp/Pin.svelte";
import { t } from "$lib/translations";
- import { fail, post, sleep, warning, success } from "$lib/utils";
+ import { fail, auth, post, sleep, warning, success } from "$lib/utils";
import { avatar, banner, password, pin } from "$lib/store";
import { upload } from "$lib/upload";
import { page } from "$app/stores";
@@ -28,7 +28,7 @@
let submit;
let formElement;
- let { user, token, rates, tab } = data;
+ let { user, token, rates, tab, cookies } = data;
let prev;
$: update(data);
@@ -134,13 +134,24 @@
if (user.email !== prev.email) {
try {
- await post("/api/request", user);
- warning("Verification email sent");
- await sleep(4000);
- } catch(e) {
+ cookies.get = function (n) {
+ return this.find((c) => c.name === n).value;
+ };
+
+ user.verified = false;
+
+ await post(
+ "/api/request",
+ { id: user.id, email: user.email },
+ auth(cookies)
+ );
+
+ warning("Verification email sent");
+ await sleep(4000);
+ } catch (e) {
console.log(e);
}
- }
+ }
const response = await fetch(formElement.action, {
method: "POST",
@@ -188,6 +199,7 @@
{#each tabs.filter((t) => t.name !== "shopify") as { name, key }}
<a href={`/${user.username}/settings/${name}`}>
<button
+ type="button"
class="hover:opacity-80"
class:text-black={tab === name ||
(tab === "shopify" && name === "pos")}
diff --git a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte
index ed9f1ac4..8193bc9c 100644
--- a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte
+++ b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte
@@ -73,6 +73,7 @@
<a href="./shopify">
<button
+ type="button"
class="flex rounded-full border py-2 px-4 font-bold hover:opacity-80 w-full gap-2 my-5 justify-center"
>
<img src="/icons/shopify.svg" class="w-8" />
diff --git a/src/routes/(app)/[username]/verify/[code]/+page.server.js b/src/routes/(app)/[username]/verify/[code]/+page.server.js
index b777b2b8..fda11c9e 100644
--- a/src/routes/(app)/[username]/verify/[code]/+page.server.js
+++ b/src/routes/(app)/[username]/verify/[code]/+page.server.js
@@ -3,7 +3,6 @@ import { error } from "@sveltejs/kit";
export let load = async ({ params: { code } }) => {
try {
- console.log("CODE", code);
let user = await get(`/verify/${code}`);
return { user };
} catch (e) {
diff --git a/src/routes/(app)/[username]/verify/[code]/+page.svelte b/src/routes/(app)/[username]/verify/[code]/+page.svelte
index e9baec8a..1e099dae 100644
--- a/src/routes/(app)/[username]/verify/[code]/+page.svelte
+++ b/src/routes/(app)/[username]/verify/[code]/+page.svelte
@@ -1,4 +1,5 @@
<script>
+ import { scale } from "svelte/transition";
import Icon from "$comp/Icon.svelte";
import { t } from "$lib/translations";
diff --git a/src/routes/(static)/docs/+page.svelte b/src/routes/(static)/docs/+page.svelte
index bf7ecb20..5c7876aa 100644
--- a/src/routes/(static)/docs/+page.svelte
+++ b/src/routes/(static)/docs/+page.svelte
@@ -18,9 +18,17 @@
<h1 class="text-4xl">Documentation</h1>
<p class="text-secondary">
+ Coinos is free and open source software. You can run it on your own server
+ and connect it to your own Bitcoin and Lightning nodes. The code is
+ available for download at <a href="https://github.com/coinos"
+ class="text-black">https://github.com/coinos</a
+ >
+ </p>
+
+ <p class="text-secondary">
Coinos has a simple REST API that can be used to register accounts and make
payments and queries. The following examples show how you can call the API
- with <a href="https://curl.se/" class="font-bold">curl</a> from your command
+ with <a href="https://curl.se/" class="text-black">curl</a> from your command
line.
</p>