lint fix and formatted
linter / quality (push) Successful in 1m20s
tests / ci (8.4) (push) Successful in 1m20s

This commit is contained in:
2026-04-11 16:37:58 +02:00
parent 23a66852a6
commit e5d11c940b
38 changed files with 339 additions and 261 deletions
@@ -89,7 +89,7 @@ const breadcrumbs: BreadcrumbItem[] = [
<CardContent class="flex flex-wrap gap-3">
<Badge class="px-3 py-1">Backlog</Badge>
<p class="text-sm text-muted-foreground">
<p class="text-muted-foreground text-sm">
Tickets will later be valid only in backlog or in one of
the ordered columns below.
</p>
@@ -148,7 +148,7 @@ const breadcrumbs: BreadcrumbItem[] = [
<CardContent class="space-y-4 p-6">
<div
v-if="boardColumns.length === 0"
class="text-sm text-muted-foreground"
class="text-muted-foreground text-sm"
>
No board columns exist yet.
</div>
@@ -156,7 +156,7 @@ const breadcrumbs: BreadcrumbItem[] = [
<div
v-for="column in boardColumns"
:key="column.id"
class="rounded-xl border border-border p-4"
class="border-border rounded-xl border p-4"
>
<Form
v-bind="
@@ -105,7 +105,7 @@ const breadcrumbs: BreadcrumbItem[] = [
project.id,
)
"
class="space-y-4 rounded-xl border border-dashed border-border p-4"
class="border-border space-y-4 rounded-xl border border-dashed p-4"
v-slot="{ errors, processing }"
>
<div class="grid gap-2">
@@ -127,7 +127,7 @@ const breadcrumbs: BreadcrumbItem[] = [
<div
v-for="ticketType in ticketTypes"
:key="ticketType.id"
class="rounded-xl border border-border p-4"
class="border-border rounded-xl border p-4"
>
<Form
v-bind="
@@ -155,7 +155,7 @@ const breadcrumbs: BreadcrumbItem[] = [
}}
</Badge>
<p
class="text-xs tracking-wide text-muted-foreground uppercase"
class="text-muted-foreground text-xs uppercase tracking-wide"
>
Position {{ ticketType.position }}
</p>
@@ -243,7 +243,7 @@ const breadcrumbs: BreadcrumbItem[] = [
project.id,
)
"
class="space-y-4 rounded-xl border border-dashed border-border p-4"
class="border-border space-y-4 rounded-xl border border-dashed p-4"
v-slot="{ errors, processing }"
>
<div class="grid gap-2">
@@ -267,7 +267,7 @@ const breadcrumbs: BreadcrumbItem[] = [
<div
v-for="ticketPriority in ticketPriorities"
:key="ticketPriority.id"
class="rounded-xl border border-border p-4"
class="border-border rounded-xl border p-4"
>
<Form
v-bind="
@@ -361,7 +361,7 @@ const breadcrumbs: BreadcrumbItem[] = [
project.id,
)
"
class="space-y-4 rounded-xl border border-dashed border-border p-4"
class="border-border space-y-4 rounded-xl border border-dashed p-4"
v-slot="{ errors, processing }"
>
<div class="grid gap-2">
@@ -380,7 +380,7 @@ const breadcrumbs: BreadcrumbItem[] = [
<select
id="field-type"
name="field_type"
class="rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50"
class="border-input bg-background shadow-xs focus-visible:border-ring focus-visible:ring-ring/50 rounded-md border px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px]"
>
<option
v-for="option in fieldTypeOptions"
@@ -401,7 +401,7 @@ const breadcrumbs: BreadcrumbItem[] = [
<div
v-for="fieldDefinition in ticketFieldDefinitions"
:key="fieldDefinition.id"
class="rounded-xl border border-border p-4"
class="border-border rounded-xl border p-4"
>
<Form
v-bind="
@@ -436,7 +436,7 @@ const breadcrumbs: BreadcrumbItem[] = [
<select
:id="`field-type-${fieldDefinition.id}`"
name="field_type"
class="rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50"
class="border-input bg-background shadow-xs focus-visible:border-ring focus-visible:ring-ring/50 rounded-md border px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px]"
>
<option
v-for="option in fieldTypeOptions"
@@ -465,7 +465,9 @@ const breadcrumbs: BreadcrumbItem[] = [
type="number"
min="1"
:max="ticketFieldDefinitions.length"
:default-value="fieldDefinition.position"
:default-value="
fieldDefinition.position
"
required
/>
<InputError :message="errors.position" />
@@ -521,7 +523,7 @@ const breadcrumbs: BreadcrumbItem[] = [
project.id,
)
"
class="space-y-4 rounded-xl border border-dashed border-border p-4"
class="border-border space-y-4 rounded-xl border border-dashed p-4"
v-slot="{ errors, processing }"
>
<div class="grid gap-2">
@@ -545,7 +547,7 @@ const breadcrumbs: BreadcrumbItem[] = [
<div
v-for="ticketLinkType in ticketLinkTypes"
:key="ticketLinkType.id"
class="rounded-xl border border-border p-4"
class="border-border rounded-xl border p-4"
>
<Form
v-bind="
@@ -47,7 +47,9 @@ const breadcrumbs: BreadcrumbItem[] = [
];
const selectableRepositorySources = computed(() =>
props.availableRepositorySources.filter((source) => source.repositories.length > 0),
props.availableRepositorySources.filter(
(source) => source.repositories.length > 0,
),
);
const repositoryConnectionById = computed(
@@ -271,7 +273,7 @@ const submitUpdate = (): void => {
Open Git connections
</Link>
</Button>
<p class="text-sm text-muted-foreground">
<p class="text-muted-foreground text-sm">
Without a matching personal connection, KanbanGit only
shows the repository name and links you to your user
settings.
@@ -293,7 +295,7 @@ const submitUpdate = (): void => {
<CardContent>
<div
v-if="selectableRepositorySources.length === 0"
class="rounded-xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground"
class="border-border text-muted-foreground rounded-xl border border-dashed px-4 py-6 text-sm"
>
Add a personal Git connection first, or fix an
existing connection that currently cannot load
@@ -311,13 +313,17 @@ const submitUpdate = (): void => {
</Label>
<select
id="create-user-git-connection"
v-model="createForm.user_git_connection_id"
class="rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50"
v-model="
createForm.user_git_connection_id
"
class="border-input bg-background shadow-xs focus-visible:border-ring focus-visible:ring-ring/50 rounded-md border px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px]"
>
<option
v-for="source in selectableRepositorySources"
:key="source.user_git_connection_id"
:value="source.user_git_connection_id"
:value="
source.user_git_connection_id
"
>
{{
`${source.provider_label} · ${source.account_login} @ ${source.base_url}`
@@ -326,7 +332,8 @@ const submitUpdate = (): void => {
</select>
<InputError
:message="
createForm.errors.user_git_connection_id
createForm.errors
.user_git_connection_id
"
/>
</div>
@@ -340,7 +347,7 @@ const submitUpdate = (): void => {
v-model="
createForm.provider_repository_id
"
class="rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50"
class="border-input bg-background shadow-xs focus-visible:border-ring focus-visible:ring-ring/50 rounded-md border px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px]"
>
<option
v-for="repository in createRepositories"
@@ -358,7 +365,8 @@ const submitUpdate = (): void => {
</select>
<InputError
:message="
createForm.errors.provider_repository_id
createForm.errors
.provider_repository_id
"
/>
</div>
@@ -382,9 +390,9 @@ const submitUpdate = (): void => {
<CardHeader>
<CardTitle>Relink repository</CardTitle>
<CardDescription>
Update an existing project repository
connection by choosing a different repository
from one of your personal Git connections.
Update an existing project repository connection
by choosing a different repository from one of
your personal Git connections.
</CardDescription>
</CardHeader>
@@ -402,7 +410,7 @@ const submitUpdate = (): void => {
v-model="
updateForm.repository_connection_id
"
class="rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50"
class="border-input bg-background shadow-xs focus-visible:border-ring focus-visible:ring-ring/50 rounded-md border px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px]"
>
<option
v-for="repositoryConnection in repositoryConnections"
@@ -422,13 +430,17 @@ const submitUpdate = (): void => {
</Label>
<select
id="update-user-git-connection"
v-model="updateForm.user_git_connection_id"
class="rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50"
v-model="
updateForm.user_git_connection_id
"
class="border-input bg-background shadow-xs focus-visible:border-ring focus-visible:ring-ring/50 rounded-md border px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px]"
>
<option
v-for="source in selectableRepositorySources"
:key="source.user_git_connection_id"
:value="source.user_git_connection_id"
:value="
source.user_git_connection_id
"
>
{{
`${source.provider_label} · ${source.account_login} @ ${source.base_url}`
@@ -437,7 +449,8 @@ const submitUpdate = (): void => {
</select>
<InputError
:message="
updateForm.errors.user_git_connection_id
updateForm.errors
.user_git_connection_id
"
/>
</div>
@@ -451,7 +464,7 @@ const submitUpdate = (): void => {
v-model="
updateForm.provider_repository_id
"
class="rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50"
class="border-input bg-background shadow-xs focus-visible:border-ring focus-visible:ring-ring/50 rounded-md border px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px]"
>
<option
v-for="repository in updateRepositories"
@@ -469,7 +482,8 @@ const submitUpdate = (): void => {
</select>
<InputError
:message="
updateForm.errors.provider_repository_id
updateForm.errors
.provider_repository_id
"
/>
</div>
@@ -500,7 +514,7 @@ const submitUpdate = (): void => {
<CardContent class="space-y-4 p-6">
<div
v-if="repositoryConnections.length === 0"
class="rounded-xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground"
class="border-border text-muted-foreground rounded-xl border border-dashed px-4 py-6 text-sm"
>
No repositories are linked to this project yet.
</div>
@@ -508,20 +522,24 @@ const submitUpdate = (): void => {
<div
v-for="repositoryConnection in repositoryConnections"
:key="repositoryConnection.id"
class="rounded-xl border border-border p-4"
class="border-border rounded-xl border p-4"
>
<div
class="flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between"
>
<div class="space-y-2">
<div class="flex flex-wrap items-center gap-2">
<div
class="flex flex-wrap items-center gap-2"
>
<Badge>
{{
repositoryConnection.provider_label
}}
</Badge>
<Badge variant="secondary">
{{ repositoryConnection.base_url }}
{{
repositoryConnection.base_url
}}
</Badge>
</div>
<div>
@@ -530,7 +548,9 @@ const submitUpdate = (): void => {
repositoryConnection.repository_full_name
}}
</p>
<p class="text-sm text-muted-foreground">
<p
class="text-muted-foreground text-sm"
>
{{
repositoryConnection.repository_name
}}
@@ -574,8 +594,10 @@ const submitUpdate = (): void => {
</div>
<p
v-if="!repositoryConnection.has_personal_access"
class="mt-3 text-sm text-muted-foreground"
v-if="
!repositoryConnection.has_personal_access
"
class="text-muted-foreground mt-3 text-sm"
>
This project link is visible, but you need a
matching Git connection in your user
@@ -625,14 +647,14 @@ const submitUpdate = (): void => {
<div
v-for="source in availableRepositorySources"
:key="source.user_git_connection_id"
class="rounded-xl border border-border p-4"
class="border-border rounded-xl border p-4"
>
<div class="flex flex-wrap items-center gap-2">
<Badge>{{ source.provider_label }}</Badge>
<span class="text-sm font-medium">
{{ source.account_login }}
</span>
<span class="text-xs text-muted-foreground">
<span class="text-muted-foreground text-xs">
{{ source.base_url }}
</span>
</div>
@@ -646,10 +668,11 @@ const submitUpdate = (): void => {
<p
v-else
class="mt-3 text-sm text-muted-foreground"
class="text-muted-foreground mt-3 text-sm"
>
{{ source.repositories.length }} repositories
available through this connection.
{{ source.repositories.length }}
repositories available through this
connection.
</p>
</div>
</CardContent>