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() {