From 216a600224fde22ce76b367557a02094ec693886 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 1 Dec 2023 20:04:13 -0800 Subject: prettier --- src/routes/(static)/docs/+page.server.js | 4 +- src/routes/(static)/docs/+page.svelte | 241 ++++++++++++++++--------------- 2 files changed, 127 insertions(+), 118 deletions(-) (limited to 'src/routes/(static)/docs') diff --git a/src/routes/(static)/docs/+page.server.js b/src/routes/(static)/docs/+page.server.js index e80365fa..41176b14 100644 --- a/src/routes/(static)/docs/+page.server.js +++ b/src/routes/(static)/docs/+page.server.js @@ -1,4 +1,4 @@ export let load = async ({ cookies }) => { - let token = cookies.get('token'); - return { token }; + let token = cookies.get("token"); + return { token }; }; diff --git a/src/routes/(static)/docs/+page.svelte b/src/routes/(static)/docs/+page.svelte index 63173173..6e08c2e8 100644 --- a/src/routes/(static)/docs/+page.svelte +++ b/src/routes/(static)/docs/+page.svelte @@ -1,121 +1,130 @@
-

Documentation

- -

- 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 curl from your command line. -

- -

API Base URL

-
-
{api}
- -
- -

Auth Token

-

- {#if user && token} - This token authorizes you to use the API as {user.username}. - {:else} - Sign in to view your auth token here, or get one from the - /login endpoint. - {/if} - - Save it in a variable called $token to run the examples. -

- -
-
{tokenSample}
- -
- -

POST /register

-

Register a new user account with a username and password

- - -

POST /login

-

Login to an account to get its auth token

- - -

POST /invoice

-

Create an invoice.

- -
-
Request params
-
-
type
-
bitcoin or lightning
-
amount
-
amount in satoshis
-
webhook
-
(optional) endpoint to hit when the invoice is paid
-
secret
-
a secret for the webhook to check
-
-
- -

Get a lightning invoice to receive funds

- - -

Get a bitcoin address to receive funds

- - -

Sample response

- -

You can check the received field to see how much has been paid

- -

Specify a webhook to be called when an invoice is paid

- - -

GET /invoice/:hash

-

- Fetch an invoice by passing a bitcoin address or lightning payment hash -

- - -

POST /payments

-

Send a lightning payment

- - -

Send a bitcoin payment

- - -

Send an internal payment to another user

- - -

GET /payments

-

Get all payments sent or received by the current user

- -
-
Query params
-
-
start
-
only payments after this unix time
-
end
-
only payments before this unix time
-
limit
-
limit to this integer number of results
-
offset
-
start limiting from this integer offset
-
-
- +

Documentation

+ +

+ 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 curl from your command + line. +

+ +

API Base URL

+
+
{api}
+ +
+ +

Auth Token

+

+ {#if user && token} + This token authorizes you to use the API as {user.username}. + {:else} + Sign in to view your auth token here, + or get one from the /login endpoint. + {/if} + + Save it in a variable called $token to run the examples. +

+ +
+
{tokenSample}
+ +
+ +

POST /register

+

+ Register a new user account with a username and password +

+ + +

POST /login

+

Login to an account to get its auth token

+ + +

POST /invoice

+

Create an invoice.

+ +
+
Request params
+
+
type
+
bitcoin or lightning
+
amount
+
amount in satoshis
+
webhook
+
+ (optional) endpoint to hit when the invoice is paid +
+
secret
+
a secret for the webhook to check
+
+
+ +

Get a lightning invoice to receive funds

+ + +

Get a bitcoin address to receive funds

+ + +

Sample response

+ +

You can check the received field to see how much has been paid

+ +

Specify a webhook to be called when an invoice is paid

+ + +

GET /invoice/:hash

+

+ Fetch an invoice by passing a bitcoin address or lightning payment hash +

+ + +

POST /payments

+

Send a lightning payment

+ + +

Send a bitcoin payment

+ + +

Send an internal payment to another user

+ + +

GET /payments

+

+ Get all payments sent or received by the current user +

+ +
+
Query params
+
+
start
+
only payments after this unix time
+
end
+
only payments before this unix time
+
limit
+
limit to this integer number of results
+
offset
+
start limiting from this integer offset
+
+
+
-- cgit v1.2.3 From 38ba5cb660fb093bca1a621c364f0f385659a0b4 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 1 Dec 2023 23:55:25 -0800 Subject: change component imports --- src/components/404.svelte | 2 +- src/components/About.svelte | 23 +++++++------ src/components/AppHeader.svelte | 3 +- src/components/Avatar.svelte | 2 +- src/components/Balance.svelte | 2 +- src/components/Code.svelte | 2 +- src/components/Event.svelte | 3 +- src/components/Feed.svelte | 2 +- src/components/Footer.svelte | 3 +- src/components/Invoice.svelte | 3 +- src/components/LandingHeader.svelte | 2 +- src/components/LandingHero.svelte | 3 +- src/components/Lnurlp.svelte | 3 +- src/components/Lnurlw.svelte | 3 +- src/components/LoadingSplash.svelte | 2 +- src/components/LocationsMap.svelte | 3 +- src/components/Numpad.svelte | 3 +- src/components/Password.svelte | 2 +- src/components/Pin.svelte | 2 +- src/components/Pinpad.svelte | 3 +- src/components/Popup.svelte | 2 +- src/components/RegisterOrLogin.svelte | 4 ++- src/components/Request.svelte | 5 ++- src/components/index.js | 40 ---------------------- src/routes/(app)/+error.svelte | 2 +- src/routes/(app)/+layout.svelte | 5 ++- .../(app)/[username]/(profile)/+layout.svelte | 2 +- src/routes/(app)/[username]/(profile)/+page.svelte | 5 ++- .../[username]/(profile)/event/[id]/+page.svelte | 2 +- .../[username]/(profile)/followers/+page.svelte | 2 +- .../[username]/(profile)/follows/+page.svelte | 2 +- .../[username]/(profile)/request/+page.svelte | 2 +- .../[username]/(profile)/request/sent/+page.svelte | 2 +- src/routes/(app)/[username]/+layout.svelte | 2 +- .../(app)/[username]/card/[serial]/+page.svelte | 3 +- src/routes/(app)/[username]/funds/+page.svelte | 3 +- src/routes/(app)/[username]/generate/+page.svelte | 2 +- .../(app)/[username]/invoice/[id]/+page.svelte | 5 ++- .../[username]/invoice/[id]/paid/+page.svelte | 2 +- .../(app)/[username]/invoice/[id]/tip/+page.svelte | 3 +- .../(app)/[username]/invoice/sent/+page.svelte | 3 +- src/routes/(app)/[username]/map/+page.svelte | 8 ----- src/routes/(app)/[username]/messages/+page.svelte | 3 +- .../[username]/payments/[...page]/+page.svelte | 3 +- .../[username]/receive/[...param]/+page.svelte | 4 ++- .../(app)/[username]/request/[id]/+page.svelte | 3 +- .../[username]/settings/[...tab]/+page.svelte | 4 ++- .../[username]/settings/[...tab]/_account.svelte | 2 +- .../(app)/[username]/settings/[...tab]/_pos.svelte | 4 ++- .../[username]/settings/[...tab]/_security.svelte | 4 ++- .../[username]/settings/[...tab]/_shopify.svelte | 2 +- src/routes/(app)/admin/+layout.svelte | 2 +- src/routes/(app)/buy/+page.svelte | 6 +++- src/routes/(app)/fund/[id]/+page.svelte | 3 +- src/routes/(app)/fund/[id]/sweep/+page.svelte | 2 +- src/routes/(app)/fund/[id]/withdraw/+page.svelte | 4 ++- src/routes/(app)/launch/+page.svelte | 4 +-- src/routes/(app)/launch/purchase/card/+page.svelte | 5 ++- src/routes/(app)/ln/[lnurl]/+page.svelte | 2 +- src/routes/(app)/ln/withdrawal/sent/+page.svelte | 2 +- src/routes/(app)/login/+page.svelte | 2 +- src/routes/(app)/payment/[id]/+page.svelte | 2 +- src/routes/(app)/payment/[id]/plain/+page.svelte | 3 +- src/routes/(app)/qr/[text]/+page.svelte | 3 +- src/routes/(app)/register/+page.svelte | 6 +++- src/routes/(app)/scan/+page.svelte | 2 +- src/routes/(app)/send/+layout.svelte | 2 +- src/routes/(app)/send/[...text]/+page.svelte | 5 ++- .../bitcoin/[address]/[...amount]/+page.svelte | 6 +++- .../send/fund/[name]/[...amount]/+page.svelte | 4 ++- src/routes/(app)/send/invoice/[id]/+page.svelte | 5 ++- .../(app)/send/lightning/[payreq]/+page.svelte | 4 ++- .../send/user/[username]/[...amount]/+page.svelte | 6 +++- src/routes/(app)/sent/+page.svelte | 2 +- src/routes/(app)/support/+page.svelte | 3 +- src/routes/(static)/+layout.svelte | 4 ++- src/routes/(static)/docs/+page.svelte | 5 ++- src/routes/+page.svelte | 28 +++++++-------- src/routes/map/+page.svelte | 18 ---------- svelte.config.js | 4 +++ vite.config.js | 2 +- 81 files changed, 183 insertions(+), 169 deletions(-) (limited to 'src/routes/(static)/docs') diff --git a/src/components/404.svelte b/src/components/404.svelte index d831a40a..7c2e45ee 100644 --- a/src/components/404.svelte +++ b/src/components/404.svelte @@ -1,5 +1,5 @@ diff --git a/src/components/About.svelte b/src/components/About.svelte index 6e0cdcb5..0087e350 100644 --- a/src/components/About.svelte +++ b/src/components/About.svelte @@ -1,16 +1,8 @@
diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index 2f088eec..9782237b 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -2,7 +2,8 @@ import OutClick from "svelte-outclick"; import { banner, newPayment, colorTheme } from "$lib/store"; import { goto } from "$app/navigation"; - import { Avatar, Icon } from "$comp"; + import Avatar from "$comp/Avatar.svelte"; + import Icon from "$comp/Icon.svelte"; import { loading, t } from "$lib/translations"; import { page } from "$app/stores"; diff --git a/src/components/Avatar.svelte b/src/components/Avatar.svelte index 3955a42f..f13404bd 100644 --- a/src/components/Avatar.svelte +++ b/src/components/Avatar.svelte @@ -1,6 +1,6 @@ diff --git a/src/components/Event.svelte b/src/components/Event.svelte index 2312f44e..d3a6c0af 100644 --- a/src/components/Event.svelte +++ b/src/components/Event.svelte @@ -1,5 +1,6 @@ diff --git a/src/components/LandingHeader.svelte b/src/components/LandingHeader.svelte index 556d44a3..d1094a1d 100644 --- a/src/components/LandingHeader.svelte +++ b/src/components/LandingHeader.svelte @@ -1,7 +1,7 @@ diff --git a/src/components/Lnurlp.svelte b/src/components/Lnurlp.svelte index 427e4c07..d4ba7bb5 100644 --- a/src/components/Lnurlp.svelte +++ b/src/components/Lnurlp.svelte @@ -1,7 +1,8 @@
diff --git a/src/components/LocationsMap.svelte b/src/components/LocationsMap.svelte index cd26d4bd..b41b1a73 100644 --- a/src/components/LocationsMap.svelte +++ b/src/components/LocationsMap.svelte @@ -1,7 +1,8 @@ diff --git a/src/routes/(app)/[username]/(profile)/followers/+page.svelte b/src/routes/(app)/[username]/(profile)/followers/+page.svelte index f51af86b..e087ad42 100644 --- a/src/routes/(app)/[username]/(profile)/followers/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/followers/+page.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/(app)/[username]/map/+page.svelte b/src/routes/(app)/[username]/map/+page.svelte index a2ae657c..e69de29b 100644 --- a/src/routes/(app)/[username]/map/+page.svelte +++ b/src/routes/(app)/[username]/map/+page.svelte @@ -1,8 +0,0 @@ - - - diff --git a/src/routes/(app)/[username]/messages/+page.svelte b/src/routes/(app)/[username]/messages/+page.svelte index 16b82679..263f7294 100644 --- a/src/routes/(app)/[username]/messages/+page.svelte +++ b/src/routes/(app)/[username]/messages/+page.svelte @@ -5,7 +5,8 @@ import { format } from "date-fns"; import { scale, fade, fly } from "svelte/transition"; import { enhance } from "$app/forms"; - import { Avatar, Icon } from "$comp"; + import Avatar from "$comp/Avatar.svelte"; + import Icon from "$comp/Icon.svelte"; import { back, fail, focus } from "$lib/utils"; import { sign, send, encrypt, decrypt } from "$lib/nostr"; import { event as e, password } from "$lib/store"; diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.svelte b/src/routes/(app)/[username]/payments/[...page]/+page.svelte index e61e156c..e80d7e80 100644 --- a/src/routes/(app)/[username]/payments/[...page]/+page.svelte +++ b/src/routes/(app)/[username]/payments/[...page]/+page.svelte @@ -1,5 +1,6 @@ diff --git a/src/routes/(app)/buy/+page.svelte b/src/routes/(app)/buy/+page.svelte index 2f999555..903eb7f4 100644 --- a/src/routes/(app)/buy/+page.svelte +++ b/src/routes/(app)/buy/+page.svelte @@ -1,6 +1,10 @@ diff --git a/src/routes/(app)/ln/withdrawal/sent/+page.svelte b/src/routes/(app)/ln/withdrawal/sent/+page.svelte index c527c017..c1a2bdb2 100644 --- a/src/routes/(app)/ln/withdrawal/sent/+page.svelte +++ b/src/routes/(app)/ln/withdrawal/sent/+page.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/(static)/docs/+page.svelte b/src/routes/(static)/docs/+page.svelte index 6e08c2e8..bf7ecb20 100644 --- a/src/routes/(static)/docs/+page.svelte +++ b/src/routes/(static)/docs/+page.svelte @@ -1,6 +1,9 @@ - - - - {#if loaded} - +
diff --git a/src/routes/map/+page.svelte b/src/routes/map/+page.svelte index 8c5fc3f8..e69de29b 100644 --- a/src/routes/map/+page.svelte +++ b/src/routes/map/+page.svelte @@ -1,18 +0,0 @@ - - -
-
- - - -
- -
- -
-
diff --git a/svelte.config.js b/svelte.config.js index a0f46356..efd9dce7 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -13,6 +13,10 @@ const config = { csrf: { checkOrigin: false, }, + prerender: { + crawl: false, + entries: [] + } }, onwarn: (warning, handler) => { if (warning.code.includes("caption") || warning.filename.includes("Toast")) diff --git a/vite.config.js b/vite.config.js index 15974503..83626bd5 100644 --- a/vite.config.js +++ b/vite.config.js @@ -7,7 +7,7 @@ const config = { plugins: [sveltekit()], resolve: { alias: { - $comp: path.resolve("src/components/index.js"), + $comp: path.resolve("src/components"), }, }, server: { -- cgit v1.2.3 From c4e36c6e9b1132d3fc89fbba7fc77848b29a0915 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 6 Dec 2023 13:56:22 -0800 Subject: email verify --- .../[username]/settings/[...tab]/+page.server.js | 3 ++- .../[username]/settings/[...tab]/+page.svelte | 26 +++++++++++++++------ .../(app)/[username]/settings/[...tab]/_pos.svelte | 1 + .../(app)/[username]/verify/[code]/+page.server.js | 1 - .../(app)/[username]/verify/[code]/+page.svelte | 1 + src/routes/(static)/docs/+page.svelte | 10 +++++++- static/images/logo.jpg | Bin 0 -> 30971 bytes 7 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 static/images/logo.jpg (limited to 'src/routes/(static)/docs') 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 }}