diff --git a/AquaNet/src/App.svelte b/AquaNet/src/App.svelte index 6df1e11a..18b060f4 100644 --- a/AquaNet/src/App.svelte +++ b/AquaNet/src/App.svelte @@ -3,13 +3,12 @@ import Welcome from "./pages/Welcome.svelte"; import MaimaiRating from "./pages/MaimaiRating.svelte"; import UserHome from "./pages/UserHome.svelte"; - import Icon from '@iconify/svelte'; import Home from "./pages/Home.svelte"; import Ranking from "./pages/Ranking.svelte"; import { USER } from "./libs/sdk"; import type { UserMe } from "./libs/generalTypes"; - import { DEFAULT_PFP, IMG_HOST } from "./libs/config"; import Settings from "./pages/User/Settings.svelte"; + import { pfp } from "./libs/ui" console.log(`%c ┏━┓ ┳━┓━┓┏━ @@ -42,7 +41,7 @@ rankings {#if me} - profile + profile {/if} diff --git a/AquaNet/src/libs/ui.ts b/AquaNet/src/libs/ui.ts index 945d8a37..b8f5ef7c 100644 --- a/AquaNet/src/libs/ui.ts +++ b/AquaNet/src/libs/ui.ts @@ -15,7 +15,8 @@ import moment from 'moment/moment' import CalHeatmap from 'cal-heatmap' // @ts-expect-error Cal-heatmap does not have proper types import CalTooltip from 'cal-heatmap/plugins/Tooltip' -import { DEFAULT_PFP } from "./config"; +import { DEFAULT_PFP, IMG_HOST } from "./config"; +import type { UserMe } from "./generalTypes"; export function title(t: string) { document.title = `AquaNet - ${t}` @@ -152,3 +153,8 @@ export function tooltip(element: HTMLElement, params: { text: string } | string) } } } + +export function pfp(node: HTMLImageElement, me: UserMe) { + node.src = me.profilePicture ? `${IMG_HOST}/${me.profilePicture}` : DEFAULT_PFP + node.onerror = e => pfpNotFound(e as Event) +} diff --git a/AquaNet/src/pages/User/Settings.svelte b/AquaNet/src/pages/User/Settings.svelte index 04b14dab..b7d2beb0 100644 --- a/AquaNet/src/pages/User/Settings.svelte +++ b/AquaNet/src/pages/User/Settings.svelte @@ -7,6 +7,7 @@ import StatusOverlays from "../../components/StatusOverlays.svelte"; import Icon from "@iconify/svelte"; import { IMG_HOST } from "../../libs/config.js"; + import { pfpNotFound, pfp } from "../../libs/ui"; USER.ensureLoggedIn() @@ -65,7 +66,10 @@
{#if me && me.profilePicture} - Profile +
pfpField.click()} on:keydown={e => e.key === 'Enter' && pfpField.click()} + role="button" tabindex="0" class="clickable"> + Profile +
{:else}