feat: overhaul project workspace navigation
linter / quality (pull_request) Successful in 1m28s
tests / ci (8.4) (pull_request) Successful in 1m47s

This commit is contained in:
2026-07-18 17:52:25 +02:00
parent a46695c2eb
commit ff796aa10a
45 changed files with 1790 additions and 995 deletions
+12 -6
View File
@@ -4,6 +4,7 @@ import { computed, ref } from 'vue';
import ProjectTicketController from '@/actions/App/Http/Controllers/ProjectTicketController';
import Heading from '@/components/Heading.vue';
import InputError from '@/components/InputError.vue';
import ProjectTabs from '@/components/projects/ProjectTabs.vue';
import { Badge } from '@/components/ui/badge';
import { Button } from '@/components/ui/button';
import {
@@ -22,7 +23,7 @@ import {
} from '@/lib/acceptance-criteria';
import { index as backlogIndex } from '@/routes/projects/backlog';
import { index as boardIndex } from '@/routes/projects/board';
import { index, show } from '@/routes/projects/index';
import { index } from '@/routes/projects/index';
import { metadata as metadataSettings } from '@/routes/projects/settings';
import type { BreadcrumbItem, ProjectTicketCreatePageProps } from '@/types';
import type { TicketStatusModel } from '@/types/models/ticket-status-model';
@@ -43,7 +44,7 @@ const breadcrumbs: BreadcrumbItem[] = [
},
{
title: props.project.name,
href: show(props.project.id),
href: boardIndex(props.project.id),
},
{
title: props.source === 'board' ? 'Board' : 'Backlog',
@@ -124,7 +125,7 @@ const ticketStatusLabel = (ticketStatus: TicketStatusModel): string => {
<AppLayout :breadcrumbs="breadcrumbs" :project="project">
<Head :title="`Create ${project.name} ticket`" />
<div class="app-page-narrow">
<div class="app-page-narrow max-w-5xl gap-5">
<div
class="flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between"
>
@@ -142,12 +143,17 @@ const ticketStatusLabel = (ticketStatus: TicketStatusModel): string => {
<Button as-child variant="outline">
<Link :href="returnHref">{{ returnLabel }}</Link>
</Button>
<Button as-child variant="outline">
<Link :href="show(project.id)">Back to project</Link>
</Button>
</div>
</div>
<div class="overflow-x-auto">
<ProjectTabs
:active="source"
:can-manage-project="canManageProject"
:project="project"
/>
</div>
<div v-if="status" class="status-success">
{{ status }}
</div>