26 lines
717 B
Vue
26 lines
717 B
Vue
<script setup lang="ts">
|
|
interface Action {
|
|
label: string;
|
|
icon: string;
|
|
url: string;
|
|
}
|
|
|
|
defineProps<{ actions: Action[] }>();
|
|
</script>
|
|
|
|
<template>
|
|
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4">
|
|
<a
|
|
v-for="action in actions"
|
|
:key="action.label"
|
|
:href="action.url"
|
|
class="rounded-lg border border-slate-200 bg-white p-6 text-center shadow-sm transition hover:border-primary-600"
|
|
>
|
|
<div class="text-primary-600 my-3">
|
|
<i :class="action.icon" class="text-2xl" />
|
|
</div>
|
|
<p class="mb-0 text-lg text-slate-700">{{ action.label }}</p>
|
|
</a>
|
|
</div>
|
|
</template>
|