Compare commits

...

5 commits

Author SHA1 Message Date
6d51fa5889 Merge pull request 'Fix sidebar and make it configurable thru themes' (#40) from fix-sidebar into main
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
Reviewed-on: #40
Reviewed-by: SauceyRed <saucey@saucey.red>
2025-07-16 02:43:33 +00:00
97bc6c45a9
Merge remote-tracking branch 'origin/main' into fix-sidebar
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/pr/build-and-publish Pipeline was successful
ci/woodpecker/pull_request_closed/build-and-publish Pipeline was successful
2025-07-16 04:42:55 +02:00
4ce89d9803
feat: update wording of guild create/join button's alt text
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/pr/build-and-publish Pipeline was successful
2025-07-15 11:24:27 +02:00
06de4777f9
feat: make sidebar size adjustable by theme
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/pr/build-and-publish Pipeline was successful
2025-07-14 19:36:16 +02:00
df741ee5d4
fix: sidebar scrolling, and such 2025-07-14 19:24:59 +02:00
6 changed files with 65 additions and 72 deletions

View file

@ -8,27 +8,29 @@
</marquee>
</div>
</div>
<div id = "page-content">
<div id="page-content">
<div id="left-column">
<div id="left-column-top">
<div class="left-column-segment">
<NuxtLink id="home-button" href="/me">
<img class="sidebar-icon" src="/public/icon.svg"/>
</NuxtLink>
<div id="servers-list">
<NuxtLink v-for="guild of guilds" :href="`/servers/${guild.uuid}`">
<img v-if="guild.icon" class="sidebar-icon" :src="guild.icon" :alt="guild.name"/>
<Icon v-else name="lucide:server" class="sidebar-icon white" :alt="guild.name" />
</NuxtLink>
</div>
</div>
<div id="left-column-bottom">
<VerticalSpacer />
<div class="left-column-segment" id="left-column-middle">
<NuxtLink v-for="guild of guilds" :href="`/servers/${guild.uuid}`">
<NuxtImg v-if="guild.icon" class="sidebar-icon" :src="guild.icon" :alt="guild.name"/>
<Icon v-else name="lucide:server" class="sidebar-icon white" :alt="guild.name" />
</NuxtLink>
</div>
<VerticalSpacer />
<div class="left-column-segment">
<div ref="createButtonContainer">
<button id="create-button" @click.prevent="createDropdown">
<Icon id="create-icon" name="lucide:square-plus" />
<button id="create-button" class="sidebar-bottom-buttons" @click.prevent="createDropdown">
<Icon id="create-icon" name="lucide:square-plus" alt="Create or join guild"/>
</button>
</div>
<NuxtLink id="settings-menu" href="/settings">
<Icon name="lucide:settings" class="sidebar-icon" alt="Settings menu" />
<NuxtLink id="settings-menu" class="sidebar-bottom-buttons" href="/settings">
<Icon name="lucide:settings" alt="Settings menu" />
</NuxtLink>
</div>
</div>
@ -42,6 +44,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);
@ -202,67 +205,29 @@ 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-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;
}
#middle-left-column {
@ -275,24 +240,27 @@ 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-width);
}
#settings-menu {
color: var(--primary-color)
.sidebar-icon {
width: var(--sidebar-width);
height: var(--sidebar-width);
}
#settings-menu:hover {
color: var(--primary-highlighted-color)
.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);
}
</style>

View file

@ -11,6 +11,11 @@
--chatbox-background-color: #3a3733;
--padding-color: #e0e0e0;
--sidebar-width: 2.5em;
--standard-radius: .5em;
--button-radius: .6em;
--pfp-radius: 100%;
--primary-color: #f07028;
--primary-highlighted-color: #f28f4b;

View file

@ -18,4 +18,9 @@
--secondary-highlighted-color: #8f5b2c;
--accent-color: #b35719;
--accent-highlighted-color: #c76a2e;
--sidebar-width: 2.5em;
--standard-radius: .5em;
--button-radius: .6em;
--pfp-radius: 100%;
}

View file

@ -20,6 +20,11 @@
--accent-color: #ff218c80;
--accent-highlighted-color: #df1b6f80;
--sidebar-width: 2.5em;
--standard-radius: .5em;
--button-radius: .6em;
--pfp-radius: 100%;
--optional-body-background: ; /* background element for the body */
--optional-chat-background: ; /* background element for the chat box */
--optional-topbar-background: ; /* background element for the topbar */

View file

@ -11,6 +11,11 @@
--chatbox-background-color: #dfdbd6;
--padding-color: #484848;
--sidebar-width: 2.5em;
--standard-radius: .5em;
--button-radius: .6em;
--pfp-radius: 100%;
--primary-color: #df5f0b;
--primary-highlighted-color: #ef6812;

View file

@ -19,6 +19,11 @@
--accent-color: #ff218c80;
--accent-highlighted-color: #df1b6f80;
--sidebar-width: 2.5em;
--standard-radius: .5em;
--button-radius: .6em;
--pfp-radius: 100%;
/* --optional-body-background: background */
--optional-body-background: linear-gradient(45deg, #ed222480, #ed222480, #ed222480, #ed222480, #ed222480, #ed222480, #f35b2280, #f9962180, #f5c11e80, #f1eb1b80, #f1eb1b80, #f1eb1b80, #63c72080, #0c9b4980, #21878d80, #3954a580, #61379b80, #93288e80);
--optional-topbar-background: linear-gradient(-12.5deg, cyan, pink, white, pink, cyan);