+
-
@@ -42,6 +54,7 @@ import { ModalBase } from '#components';
import { render } from 'vue';
import GuildDropdown from '~/components/Guild/GuildDropdown.vue';
import Button from '~/components/UserInterface/Button.vue';
+import VerticalSpacer from '~/components/UserInterface/VerticalSpacer.vue';
import type { GuildResponse } from '~/types/interfaces';
const loading = useState("loading", () => false);
@@ -50,6 +63,8 @@ const createButtonContainer = ref
();
const api = useApi();
+const blockedCanvas = isCanvasBlocked()
+
const options = [
{ name: "Join", value: "join", callback: async () => {
console.log("join guild!");
@@ -112,7 +127,7 @@ const options = [
h("input", {
id: "guild-name-input",
type: "text",
- placeholder: `${user?.display_name || user?.username}'s Awesome Bouncy Castle'`,
+ placeholder: `${getDisplayName(user!)}'s Awesome Bouncy Castle'`,
style: "width: 100%"
}),
h(Button, {
@@ -202,67 +217,30 @@ function createDropdown() {
#left-column {
display: flex;
flex-direction: column;
- justify-content: space-between;
- align-items: center;
- gap: .75em;
- padding-left: .25em;
- padding-right: .25em;
+
+ padding-left: var(--sidebar-margin);
+ padding-right: var(--sidebar-margin);
padding-top: .5em;
- border-right: 1px solid var(--padding-color);
+
background: var(--optional-sidebar-background);
background-color: var(--sidebar-background-color);
}
-#left-column-top, #left-column-bottom {
+.left-column-segment {
display: flex;
flex-direction: column;
- justify-content: center;
- align-items: center;
- gap: 1.5dvh;
- overflow-y: scroll;
+
scrollbar-width: none;
}
-#left-column-top::-webkit-scrollbar, #left-column-bottom::-webkit-scrollbar {
+.left-column-segment::-webkit-scrollbar {
display: none;
}
-#left-column-bottom {
- padding-top: 1dvh;
- border-top: 1px solid var(--padding-color);
-}
-
-#middle-left-column {
- padding-left: 1dvw;
- padding-right: 1dvw;
- border-right: 1px solid var(--padding-color);
-}
-
-#home-button {
- border-bottom: 1px solid var(--padding-color);
- padding-bottom: 1dvh;
-}
-
-#servers-list {
- display: flex;
- flex-direction: column;
- gap: 1em;
- width: 3.2rem;
- padding-top: .5em;
-}
-
-#create-button {
- color: var(--primary-color);
- background-color: transparent;
- border: none;
- cursor: pointer;
- font-size: 2rem;
- padding: 0;
- display: inline-block;
-}
-
-#create-icon {
- float: left;
+#left-column-middle {
+ overflow-y: scroll;
+ flex-grow: 1;
+ gap: var(--sidebar-icon-gap);
}
#middle-left-column {
@@ -275,24 +253,31 @@ function createDropdown() {
overflow-x: hidden;
}
-.sidebar-icon {
- width: 3rem;
- height: 3rem;
- overflow-y: scroll;
- overflow-x: hidden;
-}
-
#home-button {
- border-bottom: 1px solid var(--padding-color);
- padding-bottom: .375em;
+ height: var(--sidebar-icon-width);
}
-#settings-menu {
- color: var(--primary-color)
+.guild-icon {
+ border-radius: var(--guild-icon-radius);
}
-#settings-menu:hover {
- color: var(--primary-highlighted-color)
+.sidebar-icon {
+ width: var(--sidebar-icon-width);
+ height: var(--sidebar-icon-width);
+}
+
+.sidebar-bottom-buttons {
+ color: var(--primary-color);
+ background-color: transparent;
+ border: none;
+ cursor: pointer;
+ font-size: 2.4rem;
+ padding: 0;
+ display: inline-block;
+}
+
+.sidebar-bottom-buttons:hover {
+ color: var(--primary-highlighted-color);
}
diff --git a/package.json b/package.json
index 5d7d19e..42347b1 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,8 @@
"pinia-plugin-persistedstate": "^4.2.0",
"typescript": "^5.8.3",
"vue": "^3.5.13",
- "vue-router": "^4.5.1"
+ "vue-router": "^4.5.1",
+ "xxhash-wasm": "^1.1.0"
},
"packageManager": "pnpm@10.11.0",
"license": "MIT",
diff --git a/pages/login.vue b/pages/login.vue
index 7b3c23a..8aba29b 100644
--- a/pages/login.vue
+++ b/pages/login.vue
@@ -22,8 +22,6 @@
-
-
\ No newline at end of file
diff --git a/pages/me/index.vue b/pages/me/index.vue
index e875c56..a0d0384 100644
--- a/pages/me/index.vue
+++ b/pages/me/index.vue
@@ -1,13 +1,56 @@
+
-
\ No newline at end of file
diff --git a/pages/servers/[serverId]/channels/[channelId].vue b/pages/servers/[serverId]/channels/[channelId].vue
index d9f6d97..8915c72 100644
--- a/pages/servers/[serverId]/channels/[channelId].vue
+++ b/pages/servers/[serverId]/channels/[channelId].vue
@@ -26,7 +26,7 @@