71 lines
1.7 KiB
Vue
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>
|