diff --git a/app/components/admin/Branding.vue b/app/components/admin/Branding.vue
index ed17f74..69261db 100644
--- a/app/components/admin/Branding.vue
+++ b/app/components/admin/Branding.vue
@@ -38,17 +38,17 @@
+
- {{
- siteSubtitle || `v${useRuntimeConfig().public.appVersion}`
- }}
@@ -405,11 +405,11 @@
type="text"
maxlength="100"
class="w-full bg-bg-tertiary border border-border rounded px-3 py-2 text-sm text-text-primary focus:outline-none focus:border-white/20"
- :placeholder="`- ${siteName || 'Trackarr'}`"
+ :placeholder="`- ${siteName?.replace(/<[^>]*>/g, '') || 'Trackarr'}`"
/>
- Example: "Search Torrents{{
- pageTitleSuffix || ` - ${siteName || 'Trackarr'}`
+ Example: "Search Torrents {{
+ pageTitleSuffix || ` - ${siteName?.replace(/<[^>]*>/g, '') || 'Trackarr'}`
}}"
@@ -486,7 +486,7 @@
>
diff --git a/app/layouts/default.vue b/app/layouts/default.vue
index 54e3c5e..90d8d3e 100644
--- a/app/layouts/default.vue
+++ b/app/layouts/default.vue
@@ -27,20 +27,16 @@
-
@@ -299,7 +295,7 @@
class="[&>p]:inline [&>p]:m-0"
v-html="
branding?.footerText ||
- `© ${new Date().getFullYear()} ${(branding?.siteName || 'Trackarr').toUpperCase()}`
+ `© ${new Date().getFullYear()} ${(branding?.siteName || 'Trackarr')}`
"
>
@@ -360,7 +356,7 @@ useHead({
titleTemplate: computed(() => {
const suffix =
branding.value?.pageTitleSuffix ||
- `- ${branding.value?.siteName || 'Trackarr'}`;
+ `- ${branding.value?.siteName?.replace(/<[^>]*>/g, '') || 'TRACKARR'}`;
return (title?: string) =>
title ? `${title} ${suffix}` : suffix.replace(/^- /, '');
}),
diff --git a/app/pages/auth/login.vue b/app/pages/auth/login.vue
index 338c9e0..0116f95 100644
--- a/app/pages/auth/login.vue
+++ b/app/pages/auth/login.vue
@@ -19,8 +19,8 @@
/>
or whitespace)
@@ -169,7 +170,7 @@ export async function getDefaultInvites(): Promise {
*/
export async function getSiteName(): Promise {
const value = await getSetting(SETTINGS_KEYS.SITE_NAME);
- return value || 'Trackarr';
+ return isEmptyHtml(value) ? 'TRACKARR' : value!;
}
/**
@@ -199,9 +200,9 @@ export async function getSiteFavicon(): Promise {
/**
* Get site subtitle (displayed below site name)
*/
-export async function getSiteSubtitle(): Promise {
+export async function getSiteSubtitle(): Promise {
const value = await getSetting(SETTINGS_KEYS.SITE_SUBTITLE);
- return isEmptyHtml(value) ? null : value;
+ return isEmptyHtml(value) ? `v${pkg.version}` : value!;
}
/**