2024-11-30 16:21:16 +01:00
|
|
|
<template>
|
2025-04-10 14:48:03 +02:00
|
|
|
<NuxtLink :href="urlAsPath">
|
|
|
|
|
<Card class="flex-row px-2 py-1 items-center gap-2 hover:bg-muted duration-100 text-sm">
|
|
|
|
|
<Repeat class="size-4 text-primary" />
|
|
|
|
|
<Avatar class="size-6 border" :src="avatar" :name="displayName" />
|
|
|
|
|
<span class="font-semibold" v-render-emojis="emojis">{{ displayName }}</span>
|
|
|
|
|
{{ m.large_vivid_horse_catch() }}
|
|
|
|
|
</Card>
|
2024-11-30 16:39:02 +01:00
|
|
|
</NuxtLink>
|
2024-11-30 16:21:16 +01:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
2025-05-26 11:19:15 +02:00
|
|
|
import type { CustomEmoji } from "@versia/client/schemas";
|
2024-11-30 16:21:16 +01:00
|
|
|
import { Repeat } from "lucide-vue-next";
|
2025-05-26 11:19:15 +02:00
|
|
|
import type { z } from "zod";
|
2024-12-07 20:24:09 +01:00
|
|
|
import * as m from "~/paraglide/messages.js";
|
2024-12-03 14:07:00 +01:00
|
|
|
import Avatar from "../profiles/avatar.vue";
|
2025-04-10 14:48:03 +02:00
|
|
|
import { Card } from "../ui/card";
|
2024-11-30 16:21:16 +01:00
|
|
|
|
2024-12-02 17:25:27 +01:00
|
|
|
const { url } = defineProps<{
|
2024-11-30 16:21:16 +01:00
|
|
|
avatar: string;
|
|
|
|
|
displayName: string;
|
2025-05-26 11:19:15 +02:00
|
|
|
emojis: z.infer<typeof CustomEmoji>[];
|
2024-11-30 16:39:02 +01:00
|
|
|
url: string;
|
2024-11-30 16:21:16 +01:00
|
|
|
}>();
|
2024-12-02 17:25:27 +01:00
|
|
|
|
|
|
|
|
const urlAsPath = new URL(url).pathname;
|
2025-04-10 14:48:03 +02:00
|
|
|
</script>
|