From 53c1198f0ccfad1c1ea95ab87be7244b8a61b2a6 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 23 Oct 2024 10:32:57 -0700 Subject: no more slow fee rate --- src/routes/(app)/+layout.server.ts | 107 +++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 52 deletions(-) (limited to 'src/routes/(app)/+layout.server.ts') 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 }; - - let user; - if (token) { - try { - user = await get("/me", auth(cookies)); - } catch (e) {} - } - - 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 && - ["/login", "/register"].includes(pathname) && - request.method === "GET" - ) { - redirect(307, `/${user.username}`); - } - - 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`); - } - - try { - rate = await get("/rate"); - rates = await get("/rates"); - } catch (e) { - console.log(e); - } - - return { user, token, rate, rates, subject }; + 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) { + 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"); + } + } + + if (user?.needsMigration) { + redirect(307, "/migrate"); + } + + 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 (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); + } + + return { user, token, rate, rates, subject }; } -- cgit v1.2.3