45 lines
1.2 KiB
Vue
45 lines
1.2 KiB
Vue
<script setup lang="ts">
|
|
import TicketTreeList from '@/components/TicketTreeList.vue';
|
|
import {
|
|
Card,
|
|
CardContent,
|
|
CardDescription,
|
|
CardHeader,
|
|
CardTitle,
|
|
} from '@/components/ui/card';
|
|
import { frostedAsideCardClass } from '@/lib/ticket-styles';
|
|
import type { TicketTreeNodeModel } from '@/types/models/ticket-tree-node-model';
|
|
|
|
defineProps<{
|
|
childTicketTree: TicketTreeNodeModel[];
|
|
projectId: number;
|
|
}>();
|
|
</script>
|
|
|
|
<template>
|
|
<Card :class="frostedAsideCardClass">
|
|
<CardHeader>
|
|
<CardTitle>Child tickets</CardTitle>
|
|
<CardDescription>
|
|
Parent tickets expose their full child tree here, including
|
|
nested parent chains.
|
|
</CardDescription>
|
|
</CardHeader>
|
|
|
|
<CardContent>
|
|
<div
|
|
v-if="childTicketTree.length === 0"
|
|
class="border-border text-muted-foreground rounded-xl border border-dashed px-4 py-6 text-sm"
|
|
>
|
|
No child tickets are assigned to this ticket yet.
|
|
</div>
|
|
|
|
<TicketTreeList
|
|
v-else
|
|
:nodes="childTicketTree"
|
|
:project-id="projectId"
|
|
/>
|
|
</CardContent>
|
|
</Card>
|
|
</template>
|