feat: implement new guild icons

This commit is contained in:
Twig 2025-07-19 23:39:39 +02:00
parent 25501147ae
commit ed38340249
No known key found for this signature in database
3 changed files with 57 additions and 16 deletions

View file

@ -17,19 +17,15 @@
</div>
<VerticalSpacer />
<div class="left-column-segment" id="left-column-middle">
<NuxtLink v-for="guild of guilds" :href="`/servers/${guild.uuid}`">
<NuxtLink v-for="guild of guilds" :href="`/servers/${guild.uuid}`" id="guild-icon-container">
<NuxtImg v-if="guild.icon"
class="sidebar-icon guild-icon"
:alt="guild.name"
:src="guild.icon" />
<NuxtImg v-else-if="!blockedCanvas"
class="sidebar-icon guild-icon"
<DefaultIcon
class="sidebar-icon guild-icon"
:alt="guild.name"
:src="generateDefaultIcon(guild.name, guild.uuid)" />
<Icon v-else name="lucide:server"
:style="`color: ${generateIrcColor(guild.uuid, 50)}`"
class="sidebar-icon guild-icon"
:alt="guild.name" />
:name="guild.name" :seed="guild.uuid"/>
</NuxtLink>
</div>
<VerticalSpacer />
@ -52,6 +48,7 @@
<script lang="ts" setup>
import { ModalBase } from '#components';
import { render } from 'vue';
import DefaultIcon from '~/components/DefaultIcon.vue';
import GuildDropdown from '~/components/Guild/GuildDropdown.vue';
import Button from '~/components/UserInterface/Button.vue';
import VerticalSpacer from '~/components/UserInterface/VerticalSpacer.vue';
@ -63,8 +60,6 @@ const createButtonContainer = ref<HTMLButtonElement>();
const api = useApi();
const blockedCanvas = isCanvasBlocked()
const options = [
{ name: "Join", value: "join", callback: async () => {
console.log("join guild!");
@ -249,6 +244,10 @@ function createDropdown() {
height: var(--sidebar-icon-width);
}
#guild-icon-container {
text-decoration: none;
}
.guild-icon {
border-radius: var(--guild-icon-radius);
}