From 3e017789f3f9b21cc331e2aa4a37054b79f7b9da Mon Sep 17 00:00:00 2001 From: not-nullptr Date: Tue, 19 Mar 2024 15:23:03 +0000 Subject: [PATCH] comment out friends-related stuff --- src/components/AccountButton.svelte | 95 ++++++++++--- src/components/UserDisplay.svelte | 58 ++++++++ src/hooks.server.ts | 13 +- src/lib/client/api/index.ts | 28 ++++ src/lib/server/db/index.ts | 4 +- src/lib/server/other/index.ts | 6 +- src/lib/server/repo/index.ts | 4 +- src/lib/server/schema/index.ts | 64 ++++++++- src/lib/server/util/index.ts | 3 +- src/lib/util/api/index.ts | 9 +- src/routes/+layout.svelte | 40 ++++-- src/routes/account/+layout.svelte | 23 ++-- src/routes/account/friends/+page.svelte | 111 ++++++++++++++- src/routes/api/notifications/+server.ts | 18 +++ src/routes/api/relationship/+server.ts | 149 +++++++++++++++++++++ src/routes/api/user/login/+server.ts | 8 +- src/routes/api/webhooks/release/+server.ts | 68 ++++++++++ src/types/api.d.ts | 37 ++++- 18 files changed, 671 insertions(+), 67 deletions(-) create mode 100644 src/components/UserDisplay.svelte create mode 100644 src/routes/api/notifications/+server.ts create mode 100644 src/routes/api/relationship/+server.ts create mode 100644 src/routes/api/webhooks/release/+server.ts diff --git a/src/components/AccountButton.svelte b/src/components/AccountButton.svelte index 1bcb9c8..8b7978e 100644 --- a/src/components/AccountButton.svelte +++ b/src/components/AccountButton.svelte @@ -6,6 +6,41 @@ import type { PageData } from "../routes/$types"; import cookie from "cookiejs"; + interface AnchorItem { + type: "anchor"; + name: string; + href: string; + } + + interface ButtonItem { + type: "button"; + name: string; + action: () => void; + } + + interface DividerItem { + type: "divider"; + } + + type NavItem = AnchorItem | ButtonItem | DividerItem; + + export let navItems: NavItem[] = [ + { type: "anchor", name: "Multiplayer", href: "/account" }, + { + type: "anchor", + name: "Profile", + href: "https://gravatar.com/profile", + }, + { + type: "divider", + }, + { + type: "button", + name: "Sign out", + action: signOut, + }, + ]; + export let user: PageData["user"]; const token = getContext>("token"); @@ -24,7 +59,10 @@ open = !open; } + let jsEnabled = false; + onMount(() => { + jsEnabled = true; function closeMenu(e: MouseEvent) { if (e.target instanceof HTMLElement) { if (!e.target.closest(".user-profile-menu")) { @@ -48,22 +86,47 @@ style="transition: 360ms {transition}" class={`${open ? "rotate-0 scale-100 opacity-100" : "-rotate-90 scale-0 opacity-0"} absolute right-0 top-full mt-2 flex h-fit origin-top-right transform-gpu flex-col overflow-hidden rounded-[20px] rounded-tr-none border-2 border-solid border-[#ffffff34] bg-[#110d10] p-[2px] opacity-0 shadow-lg shadow-[rgba(0,0,0,0.25)] motion-reduce:transition-none [&>.nav-btn:first-child]:rounded-tl-[16px] [&>.nav-btn:first-child]:rounded-tr-none [&>.nav-btn:last-child]:rounded-bl-[16px] [&>.nav-btn:last-child]:rounded-br-[16px]`} > - -