Files
ots/resources/js/pages/team/Index.vue
T
Twyco 9a025d6a80
CI/CD / test_and_check_app (push) Failing after 2m49s
CI/CD / Publish immutable image (push) Skipped
added shadcn & table
2026-09-11 03:16:34 +02:00

71 lines
1.7 KiB
Vue

<script setup lang="ts">
import teamRoutes from "@/routes/teams";
import {Head} from "@inertiajs/vue3";
import type {Team} from "@/types/models";
import TextLink from "@/components/TextLink.vue";
import {Card, CardContent} from "@/components/ui/card";
import {
Table,
TableBody,
TableCaption,
TableCell,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table"
defineOptions({
layout: {
breadcrumbs: [
{
title: 'Meine Teams',
href: teamRoutes.index(),
},
],
},
});
defineProps<{
teams: Team[]
}>()
</script>
<template>
<Head title="Teams"/>
<div class="flex justify-center p-16">
<Card class="w-full">
<CardContent>
<Table>
<TableHeader>
<TableRow>
<TableHead>Name</TableHead>
<TableHead>Slug</TableHead>
<TableHead>Mitglieder</TableHead>
<TableHead>2FA</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow
v-if="teams.length > 0"
v-for="team in teams"
>
<TableCell>{{ team.name }}</TableCell>
<TableCell>{{ team.slug }}</TableCell>
<TableCell>{{ team.members.length }}</TableCell>
<TableCell>{{ team.multi_factor_required }}</TableCell>
</TableRow>
</TableBody>
<TableCaption v-if="teams.length <= 0">
Du bist noch von keinem Team mitglied.
Tritt einem Team bei oder
<TextLink href="{{ route('teams.create') }}">erstelle eins.</TextLink>
</TableCaption>
</Table>
</CardContent>
</Card>
</div>
</template>