aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/+layout.server.ts
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-10-23 10:32:57 -0700
committerAdam Soltys <[email protected]>2024-10-23 10:32:57 -0700
commit53c1198f0ccfad1c1ea95ab87be7244b8a61b2a6 (patch)
tree05dfd147b48d6a95f00beb01a128e187eb05cc18 /src/routes/(app)/+layout.server.ts
parentb21b2c01b0294427fd799249a4670415c256df3f (diff)
downloadcoinos-ui-53c1198f0ccfad1c1ea95ab87be7244b8a61b2a6.tar.gz
coinos-ui-53c1198f0ccfad1c1ea95ab87be7244b8a61b2a6.zip
no more slow fee rate
Diffstat (limited to 'src/routes/(app)/+layout.server.ts')
-rw-r--r--src/routes/(app)/+layout.server.ts91
1 files changed, 47 insertions, 44 deletions
diff --git a/src/routes/(app)/+layout.server.ts b/src/routes/(app)/+layout.server.ts
index 5824d36a..b5a279f2 100644
--- a/src/routes/(app)/+layout.server.ts
+++ b/src/routes/(app)/+layout.server.ts
@@ -1,56 +1,59 @@
+import { auth, get, protectedRoutes, sleep } from "$lib/utils";
import { error, redirect } from "@sveltejs/kit";
-import { get, auth, protectedRoutes } from "$lib/utils";
export async function load({ cookies, request, url, params }) {
- let { pathname } = url;
- let { username } = params;
- let token = cookies.get("token");
- let rate,
- rates = { USD: 1 };
+ const { pathname } = url;
+ const { username } = params;
+ const token = cookies.get("token");
+ let rate;
+ let rates = { USD: 1 };
- let user;
- if (token) {
- try {
- user = await get("/me", auth(cookies));
- } catch (e) {}
- }
+ let user;
+ if (token) {
+ try {
+ user = await get("/me", auth(cookies));
+ } catch (e) {
+ if (e.message.startsWith("Rate")) await sleep(3000);
+ user = await get("/me", auth(cookies));
+ }
+ }
- let subject;
- if (username) {
- try {
- subject = await get(`/users/${username}`);
- } catch (e) {
- error(500, "Unable to retrieve user account data");
- }
- }
+ let subject;
+ if (username) {
+ try {
+ subject = await get(`/users/${username}`);
+ } catch (e) {
+ error(500, "Unable to retrieve user account data");
+ }
+ }
- if (user?.needsMigration) {
- redirect(307, `/migrate`);
- }
+ if (user?.needsMigration) {
+ redirect(307, "/migrate");
+ }
- if (
- user &&
- ["/login", "/register"].includes(pathname) &&
- request.method === "GET"
- ) {
- redirect(307, `/${user.username}`);
- }
+ if (
+ user &&
+ ["/login", "/register"].includes(pathname) &&
+ request.method === "GET"
+ ) {
+ redirect(307, `/${user.username}`);
+ }
- if (protectedRoutes.find((p) => pathname.match(p)) && !user) {
- redirect(307, "/login");
- }
+ if (protectedRoutes.find((p) => pathname.match(p)) && !user) {
+ redirect(307, "/login");
+ }
- if (user && !user.pubkey && !pathname.includes("generate")) {
- console.log("user missing pubkey", user);
- redirect(303, `/generate`);
- }
+ if (user && !user.pubkey && !pathname.includes("generate")) {
+ console.log("user missing pubkey", user);
+ redirect(303, "/generate");
+ }
- try {
- rate = await get("/rate");
- rates = await get("/rates");
- } catch (e) {
- console.log(e);
- }
+ try {
+ rate = await get("/rate");
+ rates = await get("/rates");
+ } catch (e) {
+ console.log(e);
+ }
- return { user, token, rate, rates, subject };
+ return { user, token, rate, rates, subject };
}