diff --git a/web/components/Auth.ce.vue b/web/components/Auth.ce.vue
index 6acf9fdd2..4f8da6d16 100644
--- a/web/components/Auth.ce.vue
+++ b/web/components/Auth.ce.vue
@@ -26,7 +26,7 @@ const { authAction, stateData } = storeToRefs(serverStore);
size="12px"
:text="t(authAction.text)"
:title="authAction?.title ? t(authAction?.title) : undefined"
- @click="authAction.click()"
+ @click="authAction.click ? authAction.click() : undefined"
/>
diff --git a/web/components/KeyActions.vue b/web/components/KeyActions.vue
index 0925f06f6..76a6bb95a 100644
--- a/web/components/KeyActions.vue
+++ b/web/components/KeyActions.vue
@@ -50,7 +50,7 @@ const filteredKeyActions = computed((): ServerStateDataAction[] | undefined => {
:icon-right-hover-display="true"
:text="t(action.text)"
:title="action.title ? t(action.title) : undefined"
- @click="action.click()"
+ @click="action.click ? action.click() : undefined"
/>
diff --git a/web/components/Registration.ce.vue b/web/components/Registration.ce.vue
index 230e21436..066f36df7 100644
--- a/web/components/Registration.ce.vue
+++ b/web/components/Registration.ce.vue
@@ -244,7 +244,7 @@ const items = computed((): RegistrationItemProps[] => {
:icon="authAction.icon"
:text="t(authAction.text)"
:title="authAction.title ? t(authAction.title) : undefined"
- @click="authAction.click()"
+ @click="authAction.click ? authAction.click() : undefined"
/>
diff --git a/web/components/Registration/KeyLinkedStatus.vue b/web/components/Registration/KeyLinkedStatus.vue
index 70e77016d..e1824c80e 100644
--- a/web/components/Registration/KeyLinkedStatus.vue
+++ b/web/components/Registration/KeyLinkedStatus.vue
@@ -36,7 +36,7 @@ defineProps<{
:icon-right="ArrowPathIcon"
size="16px"
>
- {{ t(keyLinkedOutput.text) }}
+ {{ t(keyLinkedOutput.text ?? 'Unknown') }}
- {{ t(keyLinkedOutput.text) }}
+ {{ t(keyLinkedOutput.text ?? 'Unknown') }}
diff --git a/web/components/Registration/ReplaceCheck.vue b/web/components/Registration/ReplaceCheck.vue
index 295c891ec..4c279f55e 100644
--- a/web/components/Registration/ReplaceCheck.vue
+++ b/web/components/Registration/ReplaceCheck.vue
@@ -33,7 +33,7 @@ defineProps<{
:icon="replaceStatusOutput.icon"
size="16px"
>
- {{ t(replaceStatusOutput.text) }}
+ {{ t(replaceStatusOutput.text ?? 'Unknown') }}
{
:text="t('Extend License')"
:title="t('Pay your annual fee to continue receiving OS updates.')"
class="flex-grow"
- @click="renewAction.click()"
+ @click="renewAction.click ? renewAction.click() : undefined"
/>
{
:icon="item.icon"
:icon-right="item.iconRight"
:icon-right-hover-display="item.iconRightHoverDisplay"
- :text="t(item.text)"
+ :text="t(item.text ?? '')"
:title="item.title ? t(item.title) : undefined"
@click="item.click ? item.click() : undefined"
/>
@@ -324,7 +324,7 @@ const modalWidth = computed(() => {
:icon="item.icon"
:icon-right="item.iconRight"
:icon-right-hover-display="item.iconRightHoverDisplay"
- :text="t(item.text)"
+ :text="t(item.text ?? '')"
:title="item.title ? t(item.title) : undefined"
@click="item.click ? item.click() : undefined"
/>
diff --git a/web/components/UpdateOs/UpdateIneligible.vue b/web/components/UpdateOs/UpdateIneligible.vue
index 0be124059..4af810265 100644
--- a/web/components/UpdateOs/UpdateIneligible.vue
+++ b/web/components/UpdateOs/UpdateIneligible.vue
@@ -95,7 +95,7 @@ watchEffect(() => {
:text="t('Extend License')"
:title="t('Pay your annual fee to continue receiving OS updates.')"
class="flex-grow"
- @click="renewAction.click()"
+ @click="renewAction.click ? renewAction.click() : undefined"
/>