diff --git a/cmd/photoprism/photoprism.go b/cmd/photoprism/photoprism.go index b4738a712..628998591 100644 --- a/cmd/photoprism/photoprism.go +++ b/cmd/photoprism/photoprism.go @@ -39,7 +39,9 @@ var log = event.Log const appName = "PhotoPrism" const appEdition = "PhotoPrism® CE" -const appDescription = "AI-Powered Photos App. Visit https://docs.photoprism.app/ to learn more." +const appDescription = "PhotoPrism® is an AI-Powered Photos App for the Decentralized Web." + + " It makes use of the latest technologies to tag and find pictures automatically without getting in your way." + + " You can run it at home, on a private server, or in the cloud." const appCopyright = "(c) 2018-2022 PhotoPrism UG. All rights reserved." // Metadata contains build specific information. diff --git a/frontend/src/common/config.js b/frontend/src/common/config.js index ad6cd9fed..eb6731842 100644 --- a/frontend/src/common/config.js +++ b/frontend/src/common/config.js @@ -29,6 +29,7 @@ import themes from "options/themes.json"; import translations from "locales/translations.json"; import { Languages } from "options/options"; import { Photo } from "model/photo"; +import { onSetTheme } from "common/hooks"; export default class Config { /** @@ -340,13 +341,22 @@ export default class Config { } setTheme(name) { - this.themeName = name; + let theme = onSetTheme(name, this); + + if (!theme) { + this.themeName = name; + theme = themes[name] ? themes[name] : themes["default"]; + } + + if (this.values.settings && this.values.settings.ui) { + this.values.settings.ui.theme = this.themeName; + } Event.publish("view.refresh", this); - this.theme = themes[name] ? themes[name] : themes["default"]; + this.theme = theme; - this.setBodyTheme(name); + this.setBodyTheme(this.themeName); if (this.theme.dark) { this.setColorMode("dark"); diff --git a/frontend/src/common/hooks.js b/frontend/src/common/hooks.js new file mode 100644 index 000000000..42543d5f5 --- /dev/null +++ b/frontend/src/common/hooks.js @@ -0,0 +1,3 @@ +export function onSetTheme(/*name, config*/) { + return false; +} diff --git a/frontend/src/component/footer.vue b/frontend/src/component/footer.vue index 8e3943060..109d464c1 100644 --- a/frontend/src/component/footer.vue +++ b/frontend/src/component/footer.vue @@ -4,14 +4,14 @@ {{ $config.getEdition() }} - Build {{ build }} + Build {{ build }} diff --git a/frontend/src/css/auth.css b/frontend/src/css/auth.css index ac216665f..543c0764c 100644 --- a/frontend/src/css/auth.css +++ b/frontend/src/css/auth.css @@ -13,11 +13,15 @@ width: 190px; height: 30vh; max-height: 190px; - margin: 32px auto 16px auto; + margin: 20px auto 40px auto; position: relative; left: unset; } +#photoprism .auth-login .action-buttons { + margin: 30px auto 20px auto; +} + #photoprism main .auth-login .logo img { height: 100%; } diff --git a/frontend/src/options/options.js b/frontend/src/options/options.js index 23ac31cb1..e0452f11a 100644 --- a/frontend/src/options/options.js +++ b/frontend/src/options/options.js @@ -214,7 +214,7 @@ export const Languages = () => [ }, ]; -export const Themes = () => [ +let themes = [ { text: $gettext("Default"), value: "default", @@ -281,6 +281,12 @@ export const Themes = () => [ disabled: false, }, ]; + +export const Themes = () => themes; +export const SetThemes = (v) => { + themes = v; +}; + export const MapsAnimate = () => [ { text: $gettext("None"), diff --git a/frontend/src/pages/about/about.vue b/frontend/src/pages/about/about.vue index 706691781..63e57e398 100644 --- a/frontend/src/pages/about/about.vue +++ b/frontend/src/pages/about/about.vue @@ -12,42 +12,62 @@ -

- Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible. - - The roadmap shows what tasks are in progress, what needs testing, and which feature requests are going to be implemented next. +

+ PhotoPrism® is an AI-Powered Photos App for the Decentralized Web. + It makes use of the latest technologies to tag and find pictures automatically without getting in your way. + You can run it at home, on a private server, or in the cloud. +

+ +

+ + Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy. + + + Sponsors get access to additional features, receive direct technical support via email, and can join our private chat room on matrix.org. + + Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services. +

+ +
+

+ + Become a sponsor + star + +

+ +

+ + Also, please leave a star on GitHub if you like this project. It provides additional motivation to keep going. -

+

+
-

- - Become a sponsor - star - +

User Guide

+

+ Visit docs.photoprism.app/user-guide to learn how to sync, organize, and share your pictures. + Our User Guide also covers many advanced topics, such as migrating from Google Photos and thumbnail quality settings. + Common issues can be quickly diagnosed and solved using the troubleshooting checklists we provide.

+

Read the docs ›

-

- Your continued support helps us provide regular updates and services like world maps. - Sponsors get access to additional features, receive direct technical support via email, and can join our private chat room on matrix.org. -

-

- - Also, please leave a star on GitHub if you like this project. It provides additional motivation to keep going. - -

-

+

Knowledge Base

+

Browse the Knowledge Base for detailed information on specific product features, services, and related resources.

+

Learn more ›

+ +

Getting Support -

+

- Before submitting a support request, please use our Troubleshooting Checklists to determine the cause of your problem. - If this doesn't help, or you have other questions: + Before submitting a support request, please use our Troubleshooting Checklists to determine the cause of your problem. + If this doesn't help, or you have other questions:

-

+

In addition, sponsors receive direct technical support via email. -

- -

- We'll do our best to answer all your questions. In return, we ask you to back us on Patreon or GitHub Sponsors. + + We'll do our best to answer all your questions. In return, we ask you to back us on Patreon or GitHub Sponsors. +

diff --git a/frontend/src/pages/about/feedback.vue b/frontend/src/pages/about/feedback.vue index 72114ae05..02881785e 100644 --- a/frontend/src/pages/about/feedback.vue +++ b/frontend/src/pages/about/feedback.vue @@ -1,10 +1,7 @@