major: Rename legalconsenthub to gremiumhub
All checks were successful
CI/CD Pipeline / frontend (push) Successful in 5m52s
CI/CD Pipeline / backend (push) Successful in 7m58s
CI/CD Pipeline / deploy (push) Successful in 1s

This commit is contained in:
2026-03-16 10:28:32 +01:00
parent 52fe6b6392
commit afec157b35
326 changed files with 566 additions and 1004 deletions

View File

@@ -1,77 +0,0 @@
import type { ApplicationFormDto } from '~~/.api-client'
export async function useApplicationFormNavigation(applicationFormId: string) {
const { t } = useI18n()
const { getApplicationFormById } = useApplicationForm()
const { getVersions } = useApplicationFormVersion()
const applicationFormAsync = useAsyncData<ApplicationFormDto>(
`application-form-${applicationFormId}`,
async () => await getApplicationFormById(applicationFormId),
{ deep: true }
)
const versionsAsync = useAsyncData(
`application-form-${applicationFormId}-versions-nav`,
async () => await getVersions(applicationFormId),
{ deep: false }
)
await Promise.all([applicationFormAsync, versionsAsync])
if (applicationFormAsync.error.value) {
throw createError({ statusText: applicationFormAsync.error.value.message })
}
const applicationForm = computed<ApplicationFormDto>(() => applicationFormAsync.data.value as ApplicationFormDto)
const latestVersionNumber = computed<number | null>(() => {
const versions = versionsAsync.data.value ?? []
if (versions.length === 0) return null
return Math.max(...versions.map((v) => v.versionNumber ?? 0))
})
const navigationLinks = computed(() => [
[
{
label: t('applicationForms.tabs.form'),
icon: 'i-lucide-file',
to: `/application-forms/${applicationForm.value.id}/0`,
exact: true
},
{
label: t('applicationForms.tabs.versions'),
icon: 'i-lucide-file-clock',
to: `/application-forms/${applicationForm.value.id}/versions`,
exact: true
}
],
[
{
label: t('applicationForms.tabs.preview'),
icon: 'i-lucide-file-text',
to: `/api/application-forms/${applicationForm.value.id}/versions/${latestVersionNumber.value}/pdf`,
target: '_blank',
disabled: Boolean(versionsAsync.error.value) || latestVersionNumber.value === null
}
]
])
function updateApplicationForm(updatedForm: ApplicationFormDto) {
applicationFormAsync.data.value = updatedForm
// Refresh the versions list so the Preview link points to the latest version.
void versionsAsync.refresh()
}
async function refresh() {
await Promise.all([applicationFormAsync.refresh(), versionsAsync.refresh()])
}
return {
applicationForm,
navigationLinks,
refresh,
updateApplicationForm,
error: applicationFormAsync.error
}
}