dbe34684d8
* feat: new page layout + endpoint * feat: non-parallel mass import * feat: paginated admin library * feat: lint and performance improvement * feat: library filter util * feat: link frontend features to backend * fix: lint * fix: small fixes * feat: bump torrential * fix: lint
27 lines
783 B
Vue
27 lines
783 B
Vue
<template>
|
|
<span class="text-xs font-mono text-zinc-400 inline-flex items-top gap-x-2"
|
|
><span v-if="!short" class="text-zinc-500">{{ log.time }}</span>
|
|
<span
|
|
:class="[
|
|
colours[log.level] || 'text-green-400',
|
|
'uppercase font-display font-semibold',
|
|
]"
|
|
>{{ log.level }}</span
|
|
>
|
|
<span v-if="log.prefix" class="text-zinc-200"> {{ log.prefix }}</span>
|
|
<pre :class="[short ? 'line-clamp-1' : '', 'mt-[1px]']">{{ log.msg }}</pre>
|
|
</span>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import type { TaskLog } from "~/server/internal/tasks";
|
|
|
|
defineProps<{ log: typeof TaskLog.infer; short?: boolean }>();
|
|
|
|
const colours: { [key: string]: string } = {
|
|
info: "text-blue-400",
|
|
warn: "text-yellow-400",
|
|
error: "text-red-400",
|
|
};
|
|
</script>
|