diff --git a/components/Guild/ChannelNavbar.vue b/components/Guild/ChannelNavbar.vue new file mode 100644 index 0000000..c490d73 --- /dev/null +++ b/components/Guild/ChannelNavbar.vue @@ -0,0 +1,85 @@ + + + + + \ No newline at end of file diff --git a/components/Guild/GuildSidebar.vue b/components/Guild/GuildSidebar.vue new file mode 100644 index 0000000..50c376e --- /dev/null +++ b/components/Guild/GuildSidebar.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/components/Guild/MemberEntry.vue b/components/Guild/MemberEntry.vue index baf0e67..1c7b843 100644 --- a/components/Guild/MemberEntry.vue +++ b/components/Guild/MemberEntry.vue @@ -32,7 +32,13 @@ function hideModalPopup() { diff --git a/components/Guild/MemberList.vue b/components/Guild/MemberList.vue new file mode 100644 index 0000000..9b4fa19 --- /dev/null +++ b/components/Guild/MemberList.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/components/MessageArea.vue b/components/MessageArea.vue index e2788ae..b93db1c 100644 --- a/components/MessageArea.vue +++ b/components/MessageArea.vue @@ -45,6 +45,8 @@ import { generateIrcColor } from '#imports'; const { getDisplayName } = useProfile() const { fetchMe } = useApi() +// TODO this file is a mess, and we need to stop using fetchWithApi + const props = defineProps<{ channelUrl: string, amount?: number, offset?: number }>(); const me = await fetchMe() as UserResponse; diff --git a/components/UserInterface/ResizableSidebar.vue b/components/UserInterface/ResizableSidebar.vue index 79e95bd..2ea411b 100644 --- a/components/UserInterface/ResizableSidebar.vue +++ b/components/UserInterface/ResizableSidebar.vue @@ -135,8 +135,7 @@ function loadStoredWidth() { .sidebar-content { width: 100%; - padding-left: .25em; - padding-right: .25em; + height: 100%; } .sidebar-content > :first-child { diff --git a/components/UserInterface/SidebarColumn.vue b/components/UserInterface/SidebarColumn.vue new file mode 100644 index 0000000..f09cee3 --- /dev/null +++ b/components/UserInterface/SidebarColumn.vue @@ -0,0 +1,218 @@ + + + + + \ No newline at end of file diff --git a/layouts/client.vue b/layouts/client.vue index 800a097..eb1c524 100644 --- a/layouts/client.vue +++ b/layouts/client.vue @@ -1,59 +1,17 @@ diff --git a/pages/index.vue b/pages/index.vue index cb5f57e..30e0793 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,18 +1,4 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/pages/me/[userId].vue b/pages/me/[userId].vue index 209ffab..650e14f 100644 --- a/pages/me/[userId].vue +++ b/pages/me/[userId].vue @@ -8,6 +8,14 @@ \ No newline at end of file diff --git a/public/themes/layout/gorb.css b/public/themes/layout/gorb.css index 1cee0b4..de6a0b6 100644 --- a/public/themes/layout/gorb.css +++ b/public/themes/layout/gorb.css @@ -8,6 +8,10 @@ complementaryColor = white --sidebar-icon-width: 2.5em; --sidebar-icon-gap: .25em; --sidebar-margin: .5em; + + --navbar-height: 5dvh; + --navbar-icon-size: 3dvh; + --navbar-gap: calc(3dvh * .2); --minor-radius: .35em; --standard-radius: .5em; diff --git a/types/interfaces.ts b/types/interfaces.ts index d175d76..bb6489b 100644 --- a/types/interfaces.ts +++ b/types/interfaces.ts @@ -121,3 +121,22 @@ export interface ContextMenuInterface { pointerY: number, items: ContextMenuItem[] } + +export interface NavbarItem { + title: string, + icon: string, + hasPing?: boolean, // whether to draw a "ping" icon or not + callback: (...args: any[]) => any; +} + +export interface INavbar { + guild: GuildResponse + channel: ChannelResponse +} + +export interface NavbarOptions { + guild?: GuildResponse + channel?: ChannelResponse + isDirectMessages?: boolean +} +