diff --git a/frontend/components/task/TaskModal.vue b/frontend/components/task/TaskModal.vue
index b0816bd..6e9d2c7 100644
--- a/frontend/components/task/TaskModal.vue
+++ b/frontend/components/task/TaskModal.vue
@@ -120,6 +120,13 @@
/>
+
+
+
import type { Task, TaskWrite } from '~/services/dto/task'
+import { useGiteaService } from '~/services/gitea'
import type { TaskStatus } from '~/services/dto/task-status'
import type { TaskEffort } from '~/services/dto/task-effort'
import type { TaskPriority } from '~/services/dto/task-priority'
@@ -221,6 +229,13 @@ const isEditing = computed(() => !!props.task)
const isSubmitting = ref(false)
const confirmDeleteOpen = ref(false)
+const giteaUrl = ref('')
+const { getSettings: getGiteaSettings } = useGiteaService()
+
+const hasGitea = computed(() => {
+ return !!props.task?.project?.giteaOwner && !!props.task?.project?.giteaRepo && !!giteaUrl.value
+})
+
const form = reactive({
title: '',
description: '',
@@ -311,6 +326,17 @@ watch(() => props.task, (task) => {
}
})
+onMounted(async () => {
+ if (props.task?.project?.giteaOwner && props.task?.project?.giteaRepo) {
+ try {
+ const settings = await getGiteaSettings()
+ giteaUrl.value = settings.url ?? ''
+ } catch {
+ // Gitea not available
+ }
+ }
+})
+
const { create, update, remove } = useTaskService()
async function handleDelete() {