diff --git a/pages/settings/profile/appearance.vue b/pages/settings/profile/appearance.vue index 87ecdb78..421ac5b9 100644 --- a/pages/settings/profile/appearance.vue +++ b/pages/settings/profile/appearance.vue @@ -1,6 +1,7 @@ <script lang="ts" setup> import type { UpdateCredentialsParams } from 'masto' import { useForm } from 'slimeform' +import { parse } from 'ultrahtml' definePageMeta({ middleware: 'auth', @@ -19,7 +20,13 @@ const { form, reset, submitter, dirtyFields, isError } = useForm({ form: () => { // For complex types of objects, a deep copy is required to ensure correct comparison of initial and modified values const fieldsAttributes = Array.from({ length: 4 }, (_, i) => { - return { ...account?.fields?.[i] || { name: '', value: '' } } + const field = { ...account?.fields?.[i] || { name: '', value: '' } } + + const linkElement = (parse(field.value)?.children?.[0]) + if (linkElement && linkElement?.attributes?.href) + field.value = linkElement.attributes.href + + return field }) return { displayName: account?.displayName ?? '',