<script setup>
import AuthenticatedLayout from '@/Layouts/AuthenticatedLayout.vue';
import { Head, Link, router } from '@inertiajs/vue3';
import TextInput from '@/Components/TextInput.vue';
import InputLabel from '@/Components/InputLabel.vue';
import InputError from '@/Components/InputError.vue';
import PrimaryButton from '@/Components/PrimaryButton.vue';
import SelectInput from '@/Components/SelectInput.vue';
import TextAreaInput from '@/Components/TextAreaInput.vue';
import { ref, watch } from 'vue';
const props = defineProps({
categories: Object
});
const filters = ref({
page: parseInt(route().params.page ?? 1)
});
const getData = async () => {
router.get(route(route().current, filters.value));
}
const headers = [
{ name: "Title", key: "title" },
{ name: "Discount", key: "discount_value" },
{ name: "Date Added", key: "created_at" },
{ name: "Action", key: "action" },
];
watch(filters, () => {
getData();
}, { deep: true });
</script>
<template>
<AuthenticatedLayout>
<Head title="Categories" />
<template #header>
<h2 class="text-xl font-semibold leading-tight text-gray-800">
Categories
</h2>
</template>
<div class="py-12">
<div class="mx-auto max-w-7xl sm:px-6 lg:px-8">
<div class="bg-white shadow-sm sm:rounded-lg">
<div
class="flex items-center justify-end mb-6 px-6 py-3 border-b border-gray-200 sm:flex-row sm:items-center sm:justify-between sm:px-10 ">
<div class="flex items-center justify-end">
<Link :href="route('admin.categories.create')"
class="text-sm font-medium text-gray-500 hover:text-gray-700">
Add Category
</Link>
</div>
</div>
<table class="table w-full overflow-x-hidden">
<thead>
<tr>
<th v-for="header in headers" :key="header.key"
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-w-normal">
{{ header.name }}
</th>
</tr>
</thead>
<tbody>
<tr v-for="category of categories.data" :key="category.id">
<td class="px-4 py-3">{{ category.name }}</td>
<td class="px-4 py-3">{{ category.discount_value }}</td>
<td class="px-4 py-3">{{ new Date(category.created_at).toDateString() }}</td>
<td class="px-4 py-3">
<div class="inline-flex items-center gap-4">
<Link :href="route('admin.categories.edit', category.id)"
class="text-sm font-medium text-gray-500 hover:text-gray-700">
Edit
</Link>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</AuthenticatedLayout>
</template>
|