diff --git a/client/components/app/Appbar.vue b/client/components/app/Appbar.vue index 607017ecf..6d022fd75 100644 --- a/client/components/app/Appbar.vue +++ b/client/components/app/Appbar.vue @@ -7,7 +7,7 @@ -

Bookfire

+

{{ serverTitle }}

@@ -220,6 +220,9 @@ export default { } return options + }, + serverTitle() { + return this.$store.state.serverSettings?.title || 'Bookfire' } }, methods: { diff --git a/client/pages/config/styling.vue b/client/pages/config/styling.vue index 26aed2a02..67c4b4297 100644 --- a/client/pages/config/styling.vue +++ b/client/pages/config/styling.vue @@ -3,6 +3,14 @@
+

Server Title

+

Customize the name of your server.

+
+ +
+
+ +

Theme Colors

Customize the appearance of your server by adjusting these colors.

@@ -118,6 +126,7 @@ export default { data() { return { saving: false, + title: '', colors: { primary: '#1e293b', primaryDark: '#0f172a', @@ -143,6 +152,7 @@ export default { this.saving = true try { await this.$store.dispatch('updateServerSettings', { + title: this.title, styling: this.colors }) this.$toast.success('Server styling updated') @@ -159,6 +169,8 @@ export default { if (serverStyling) { this.colors = { ...this.colors, ...serverStyling } } + // Load saved title + this.title = this.$store.state.serverSettings?.title || 'Bookfire' } } \ No newline at end of file diff --git a/server/objects/settings/ServerSettings.js b/server/objects/settings/ServerSettings.js index a8d2ce177..ecf4b94d0 100644 --- a/server/objects/settings/ServerSettings.js +++ b/server/objects/settings/ServerSettings.js @@ -9,6 +9,9 @@ class ServerSettings { this.id = 'server-settings' this.tokenSecret = null + // Server Title + this.title = 'Bookfire' + // Styling this.styling = { primary: '#1e293b', @@ -100,6 +103,9 @@ class ServerSettings { construct(settings) { this.tokenSecret = settings.tokenSecret + // Server Title + this.title = settings.title || 'Bookfire' + // Styling if (settings.styling) { this.styling = { @@ -224,6 +230,7 @@ class ServerSettings { return { id: this.id, tokenSecret: this.tokenSecret, // Do not return to client + title: this.title, styling: { ...this.styling }, scannerFindCovers: this.scannerFindCovers, scannerCoverProvider: this.scannerCoverProvider,