Compare commits

...

3 commits

Author SHA1 Message Date
890c479f2c
style: minor style changes
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 21:56:57 +02:00
b81cd2b73a
feat: improve guild icon fallbacks for blocked canvases 2025-07-14 21:55:10 +02:00
dfec4c9200
fix: properly support blocked canvases for avatars 2025-07-14 21:46:18 +02:00
2 changed files with 21 additions and 8 deletions

View file

@ -1,9 +1,10 @@
<template>
<Icon v-if="canvasBlocked"
name="lucide:user" />
<NuxtImg v-else
<NuxtImg v-if="displayAvatar"
:src="displayAvatar"
:alt="displayName" />
<Icon v-else
name="lucide:user"
:alt="displayName" />
</template>
<script lang="ts" setup>
@ -17,8 +18,7 @@ const props = defineProps<{
let displayName: string
let displayAvatar: string
let canvasBlocked = false
let displayAvatar: string | null
const user = props.user || props.member?.user
@ -29,8 +29,10 @@ if (user) {
if (user.avatar) {
displayAvatar = user.avatar
} else {
} else if (!isCanvasBlocked()){
displayAvatar = generateDefaultIcon(displayName, user.uuid)
} else {
displayAvatar = null
}
}

View file

@ -18,8 +18,17 @@
<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"/>
<NuxtImg v-else class="sidebar-icon" :src="generateDefaultIcon(guild.name, guild.uuid)" :alt="guild.name"/>
<NuxtImg v-if="guild.icon"
class="sidebar-icon"
:alt="guild.name"
:src="guild.icon" />
<NuxtImg v-else-if="!blockedCanvas"
class="sidebar-icon"
:alt="guild.name"
:src="generateDefaultIcon(guild.name, guild.uuid)" />
<Icon v-else name="lucide:server"
class="`sidebar-icon ${generateIrcColor(guild.uuid, 50)}``"
:alt="guild.name" />
</NuxtLink>
</div>
<VerticalSpacer />
@ -53,6 +62,8 @@ const createButtonContainer = ref<HTMLButtonElement>();
const api = useApi();
const blockedCanvas = isCanvasBlocked()
const options = [
{ name: "Join", value: "join", callback: async () => {
console.log("join guild!");