From 8a172db3f462182e5d381463833212fd36f9bc3d Mon Sep 17 00:00:00 2001 From: JustTemmie <47639983+JustTemmie@users.noreply.github.com> Date: Wed, 16 Jul 2025 05:30:11 +0200 Subject: [PATCH 001/107] feat: refactor code to require refetching the theme whenever a new version releases --- app.vue | 21 ++++++--------- .../Settings/AppSettings/Appearance.vue | 16 ++--------- utils/loadPreferredTheme.ts | 27 +++++++++++++++++++ 3 files changed, 37 insertions(+), 27 deletions(-) create mode 100644 utils/loadPreferredTheme.ts diff --git a/app.vue b/app.vue index 6f6eae0..d7ea4c4 100644 --- a/app.vue +++ b/app.vue @@ -1,14 +1,18 @@ \ No newline at end of file From c295225c4303e14be722ed3659800fb2074cf9d8 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Wed, 16 Jul 2025 23:50:41 +0200 Subject: [PATCH 012/107] chore: rename instances of cursor to pointer in createContextMenu component and ContextMenuItem interface --- components/UserInterface/ContextMenu.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/UserInterface/ContextMenu.vue b/components/UserInterface/ContextMenu.vue index 1388bbd..5342b8c 100644 --- a/components/UserInterface/ContextMenu.vue +++ b/components/UserInterface/ContextMenu.vue @@ -7,13 +7,13 @@ \ No newline at end of file From e339b1df10dbebddcf6c050deefcaaab402dc28d Mon Sep 17 00:00:00 2001 From: JustTemmie <47639983+JustTemmie@users.noreply.github.com> Date: Thu, 17 Jul 2025 16:18:18 +0200 Subject: [PATCH 019/107] refactor: change Avatar component to take a single variable instead of user or profile --- components/Avatar.vue | 32 ++++++++++++++++++-------------- components/Message.vue | 2 +- components/User/UserEntry.vue | 2 +- components/User/UserPopup.vue | 2 +- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/components/Avatar.vue b/components/Avatar.vue index 13a884e..5f16251 100644 --- a/components/Avatar.vue +++ b/components/Avatar.vue @@ -13,25 +13,29 @@ import { NuxtImg } from '#components'; import type { GuildMemberResponse, UserResponse } from '~/types/interfaces'; const props = defineProps<{ - user?: UserResponse, - member?: GuildMemberResponse, + profile: UserResponse | GuildMemberResponse, }>(); - -let displayName: string +const displayName = getDisplayName(props.profile) let displayAvatar: string | null -const user = props.user || props.member?.user -if (user) { - displayName = getDisplayName(props.member ?? user) - - if (user.avatar) { - displayAvatar = user.avatar - } else if (!isCanvasBlocked()){ - displayAvatar = generateDefaultIcon(displayName, user.uuid) - } else { - displayAvatar = null +if ("username" in props.profile) { + // assume it's a UserRespone + displayAvatar = props.profile.avatar + if (!displayAvatar) { + if (!isCanvasBlocked()) { + displayAvatar = generateDefaultIcon(displayName, props.profile.uuid) + } + } + +} else { + // assume it's a GuildMemberResponse + displayAvatar = props.profile.user.avatar + if (!displayAvatar) { + if (!isCanvasBlocked()) { + displayAvatar = generateDefaultIcon(displayName, props.profile.user_uuid) + } } } diff --git a/components/Message.vue b/components/Message.vue index ed32c50..71687e1 100644 --- a/components/Message.vue +++ b/components/Message.vue @@ -29,7 +29,7 @@ :text="props.replyMessage?.message" :reply-id="props.replyMessage.uuid" max-width="reply" />
- +