diff --git a/pages/index.vue b/pages/index.vue
index 41deadf..cb5f57e 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -1,23 +1,11 @@
-
-
-
-
- Welcome to gorb :3
-
-
- Click on a guild to the left to view a guild.
-
- Or click the button in the bottom left to join a guild.
-
-
-
-
+
+
+
\ No newline at end of file
From b1a3ce9b00977c4bf74af610f944c885eb2ef719 Mon Sep 17 00:00:00 2001
From: JustTemmie <47639983+JustTemmie@users.noreply.github.com>
Date: Thu, 10 Jul 2025 22:18:28 +0200
Subject: [PATCH 02/28] feat: update interface to include friends_since
---
types/interfaces.ts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/types/interfaces.ts b/types/interfaces.ts
index 610d007..7b9a97b 100644
--- a/types/interfaces.ts
+++ b/types/interfaces.ts
@@ -61,7 +61,8 @@ export interface UserResponse {
pronouns: string | null,
about: string | null,
email?: string,
- email_verified?: boolean
+ email_verified?: boolean,
+ friends_since: string | null,
}
export interface StatsResponse {
From 8a9ecaa2e2ead30576367a2bd275c70edeb1da19 Mon Sep 17 00:00:00 2001
From: JustTemmie <47639983+JustTemmie@users.noreply.github.com>
Date: Thu, 10 Jul 2025 22:44:18 +0200
Subject: [PATCH 03/28] refactor: move spacer into it's own component
---
components/VerticalSpacer.vue | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 components/VerticalSpacer.vue
diff --git a/components/VerticalSpacer.vue b/components/VerticalSpacer.vue
new file mode 100644
index 0000000..293e9f0
--- /dev/null
+++ b/components/VerticalSpacer.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
From 5dbf21b0abb975d98ae1e825fd6edaf01fab36dc Mon Sep 17 00:00:00 2001
From: JustTemmie <47639983+JustTemmie@users.noreply.github.com>
Date: Thu, 10 Jul 2025 22:44:46 +0200
Subject: [PATCH 04/28] feat: implement friends list
---
components/DirectMessagesSidebar.vue | 38 ++++++++++++++++++++++++++++
components/UserEntry.vue | 35 +++++++++++++++++++++++++
2 files changed, 73 insertions(+)
create mode 100644 components/DirectMessagesSidebar.vue
create mode 100644 components/UserEntry.vue
diff --git a/components/DirectMessagesSidebar.vue b/components/DirectMessagesSidebar.vue
new file mode 100644
index 0000000..d9f677d
--- /dev/null
+++ b/components/DirectMessagesSidebar.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/UserEntry.vue b/components/UserEntry.vue
new file mode 100644
index 0000000..dcea368
--- /dev/null
+++ b/components/UserEntry.vue
@@ -0,0 +1,35 @@
+
+
+
+
+ {{ props.user.display_name || props.user.username }}
+
+
+
+
+
+
From 15e5a21277f487174f66dcc6113edf2aae2265bd Mon Sep 17 00:00:00 2001
From: JustTemmie <47639983+JustTemmie@users.noreply.github.com>
Date: Thu, 10 Jul 2025 22:47:52 +0200
Subject: [PATCH 05/28] refactor: try sorting components into sub-folders
---
components/{ => Guild}/Channel.vue | 0
components/{ => Member}/MemberEntry.vue | 0
components/{ => Popups}/CropPopup.vue | 0
components/{ => Popups}/InvitePopup.vue | 0
components/{ => Popups}/Loading.vue | 0
components/{ => User}/UserEntry.vue | 0
components/{ => User}/UserPopup.vue | 0
components/UserArea.vue | 20 -------------------
components/{ => UserInterface}/Button.vue | 0
.../{ => UserInterface}/VerticalSpacer.vue | 0
10 files changed, 20 deletions(-)
rename components/{ => Guild}/Channel.vue (100%)
rename components/{ => Member}/MemberEntry.vue (100%)
rename components/{ => Popups}/CropPopup.vue (100%)
rename components/{ => Popups}/InvitePopup.vue (100%)
rename components/{ => Popups}/Loading.vue (100%)
rename components/{ => User}/UserEntry.vue (100%)
rename components/{ => User}/UserPopup.vue (100%)
delete mode 100644 components/UserArea.vue
rename components/{ => UserInterface}/Button.vue (100%)
rename components/{ => UserInterface}/VerticalSpacer.vue (100%)
diff --git a/components/Channel.vue b/components/Guild/Channel.vue
similarity index 100%
rename from components/Channel.vue
rename to components/Guild/Channel.vue
diff --git a/components/MemberEntry.vue b/components/Member/MemberEntry.vue
similarity index 100%
rename from components/MemberEntry.vue
rename to components/Member/MemberEntry.vue
diff --git a/components/CropPopup.vue b/components/Popups/CropPopup.vue
similarity index 100%
rename from components/CropPopup.vue
rename to components/Popups/CropPopup.vue
diff --git a/components/InvitePopup.vue b/components/Popups/InvitePopup.vue
similarity index 100%
rename from components/InvitePopup.vue
rename to components/Popups/InvitePopup.vue
diff --git a/components/Loading.vue b/components/Popups/Loading.vue
similarity index 100%
rename from components/Loading.vue
rename to components/Popups/Loading.vue
diff --git a/components/UserEntry.vue b/components/User/UserEntry.vue
similarity index 100%
rename from components/UserEntry.vue
rename to components/User/UserEntry.vue
diff --git a/components/UserPopup.vue b/components/User/UserPopup.vue
similarity index 100%
rename from components/UserPopup.vue
rename to components/User/UserPopup.vue
diff --git a/components/UserArea.vue b/components/UserArea.vue
deleted file mode 100644
index d922c3f..0000000
--- a/components/UserArea.vue
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
- HELLO!!
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/Button.vue b/components/UserInterface/Button.vue
similarity index 100%
rename from components/Button.vue
rename to components/UserInterface/Button.vue
diff --git a/components/VerticalSpacer.vue b/components/UserInterface/VerticalSpacer.vue
similarity index 100%
rename from components/VerticalSpacer.vue
rename to components/UserInterface/VerticalSpacer.vue
From 59000709fe5f3ae0c3b7f3254870481094e90da2 Mon Sep 17 00:00:00 2001
From: JustTemmie <47639983+JustTemmie@users.noreply.github.com>
Date: Thu, 10 Jul 2025 22:51:14 +0200
Subject: [PATCH 06/28] feat: update api
---
composables/api.ts | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/composables/api.ts b/composables/api.ts
index d2ca7a0..8a37a8e 100644
--- a/composables/api.ts
+++ b/composables/api.ts
@@ -1,4 +1,4 @@
-import type { ChannelResponse, GuildMemberResponse, GuildResponse, MessageResponse, StatsResponse } from "~/types/interfaces";
+import type { ChannelResponse, GuildMemberResponse, GuildResponse, MessageResponse, StatsResponse, UserResponse } from "~/types/interfaces";
export const useApi = () => {
async function fetchGuilds(): Promise
{
@@ -24,14 +24,18 @@ export const useApi = () => {
async function fetchMember(guildId: string, memberId: string): Promise {
return await fetchWithApi(`/guilds/${guildId}/members/${memberId}`);
}
-
+
async function fetchUsers() {
return await fetchWithApi(`/users`);
}
-
+
async function fetchUser(userId: string) {
return await fetchWithApi(`/users/${userId}`);
}
+
+ async function fetchFriends(): Promise {
+ return await fetchWithApi('/me/friends')
+ }
async function fetchMessages(channelId: string, options?: { amount?: number, offset?: number }): Promise {
return await fetchWithApi(`/channels/${channelId}/messages`, { query: { amount: options?.amount ?? 100, offset: options?.offset ?? 0 } });
@@ -59,6 +63,7 @@ export const useApi = () => {
fetchMember,
fetchUsers,
fetchUser,
+ fetchFriends,
fetchMessages,
fetchMessage,
fetchInstanceStats,
From 8e69dc805e20e5feab0493b9b9aafac5a23f3c57 Mon Sep 17 00:00:00 2001
From: JustTemmie <47639983+JustTemmie@users.noreply.github.com>
Date: Thu, 10 Jul 2025 22:51:56 +0200
Subject: [PATCH 07/28] chore: remove unused popups
---
components/Member/MemberEntry.vue | 1 -
components/Settings/UserSettings/Account.vue | 1 -
components/Settings/UserSettings/Privacy.vue | 1 -
pages/servers/[serverId]/channels/[channelId].vue | 1 -
4 files changed, 4 deletions(-)
diff --git a/components/Member/MemberEntry.vue b/components/Member/MemberEntry.vue
index ed4cd48..1ea4170 100644
--- a/components/Member/MemberEntry.vue
+++ b/components/Member/MemberEntry.vue
@@ -10,7 +10,6 @@
\ No newline at end of file
diff --git a/components/User/UserEntry.vue b/components/User/UserEntry.vue
index dcea368..b463759 100644
--- a/components/User/UserEntry.vue
+++ b/components/User/UserEntry.vue
@@ -24,7 +24,12 @@ const props = defineProps<{
margin-bottom: .5em;
gap: .5em;
- cursor: pointer;
+ text-decoration: none;
+ color: inherit;
+}
+
+.user-item:hover {
+ background-color: #00000020
}
.user-avatar {
diff --git a/components/UserInterface/VerticalSpacer.vue b/components/UserInterface/VerticalSpacer.vue
index 293e9f0..8ac1bd6 100644
--- a/components/UserInterface/VerticalSpacer.vue
+++ b/components/UserInterface/VerticalSpacer.vue
@@ -2,15 +2,6 @@
-
-
\ No newline at end of file
diff --git a/components/DirectMessagesSidebar.vue b/components/Me/DirectMessagesSidebar.vue
similarity index 73%
rename from components/DirectMessagesSidebar.vue
rename to components/Me/DirectMessagesSidebar.vue
index dece975..5a0e99d 100644
--- a/components/DirectMessagesSidebar.vue
+++ b/components/Me/DirectMessagesSidebar.vue
@@ -5,24 +5,24 @@
Direct Messages