Files
Cloud-Blog/components/category/card.vue
nurRiyad 83a5dbe156 Add dark mode
Signed-off-by: nurRiyad <asadnurriyad@gmail.com>
2023-09-09 15:42:25 +06:00

49 lines
947 B
Vue

<script setup lang="ts">
interface Props {
title: string
}
withDefaults(defineProps<Props>(), {
title: 'No title available',
})
// some random color for tags
const color = [
'#dc2626',
'#d97706',
'#65a30d',
'#059669',
'#0891b2',
'#0284c7',
'#4f46e5',
'#7c3aed',
'#c026d3',
'#db2777',
]
// get a random number
function getRandomInt(min: number, max: number) {
min = Math.ceil(min)
max = Math.floor(max)
return Math.floor(Math.random() * (max - min + 1)) + min
}
const picAColor = ref(`${color.at(getRandomInt(0, 8))}`)
</script>
<template>
<div
class="text-[#F1F2F4] px-5 py-3 rounded hover:underline randbgcolor hover:scale-[1.05] transition-all duration-500"
>
<NuxtLink :to="`/categories/${title.toLocaleLowerCase()}`" class="text-xl font-extrabold">
<h1>#{{ title }}</h1>
</NuxtLink>
</div>
</template>
<style scoped>
.randbgcolor {
background-color: v-bind(picAColor);
}
</style>