I am digging the dark theme. One thing that has popped up for me today with it is a couple of the bars in the activities table on the homepage is almost black. I was trying to figure out how to change it but am not a programmer of any kind. It might be worth filtering this color out in the dark theme (maybe replace it with the inverse).
Why? The theme changer has many advantages like allowing more than one theme. Users can then submit themes (or use their own locally, even) and everyone else will benefit.
Having said that, this is WIP and nothing is set in stone, yet!
@yubiuser Is looking at them and found the green okay. There will be no optimal solution that will be best for everyone, hence, the ability to add an arbitrary amount of different themes. You can select your favorite one or add your own tweaks to a new one.
Well, okay, if it works... still, please try
sudo git reset --hard HEAD^^
sudo git pull
to ensure you're on track and don't experience any issues in the future.
One should never say we aren't trying. It doesn't work. It can only style very simple pages. Furthermore, we'd have to allow unsafe-inline scripts as it modifies the page styling in a rather dirty way. This is not really something we want to do (note that the test page doesn't have Content Security rules at all).
Well you guys should add a themes tab in the settings tab where people can select themes and can also upload their custom themes to their pi-hole from the Web UI. You can also make a themes section on the pihole forum where users can submit their custom themes and others can download that file and use it on their pihole.
I seem to have the tendency to like brighter colors more.
That's also why I am in favor of a theme picker instead of the one dark mode that needs to suit anyone. You can prepare your own style sheet (I even added comments in a lot of places what is styling what in case this is not obvious) and submit it to upstream Pi-hole. We will then review and include it for anyone in the next release.
By this, everyone can benefit. And if users want to create their own custom style, the can start from the one which the like the most, reducing the absolute amount of work they'll have to put in to get what they want.
But I would proceed differently from here. Instead of
submit it to upstream Pi-hole. We will then review and include it for anyone in the next release.
I would suggest to deliver only 2 themes by default (light/dark) and no user generated. But instead extend the 'theme manager' a bit more, allowing to pick a folder or file that contains the user modified style templates. I can imagine a ecosystem of themes growing here on discourse where users share and discuss their themes (new discourse category "themes"?). I think it is beyond pihole's scope to review and include dozens of user generated themes - but maybe provide the necessary infrastructure?
extend the 'theme manager' a bit more, allowing to pick a folder or file that contains the user modified style templates. I can imagine a ecosystem of themes growing here on discourse where users share and discuss their themes (new discourse category "themes"?).
Then you add the attack vector of remote code. Even if not exploitable under all circumstances,
This can be dangerous as users could use this to take (remote!) control of your Pi-hole, at least as long as you have the dashboard open. They could steal your login password as well as your entire settings or even manipulate them. Even when there are security measures in our dashboard which prevent foreign JS code execution, you can never be safe against possible zero-day exploits of browsers which are simply not fixed due to either not being known publicly or by users using ancient browsers (most prominent with Internet Explorer which is still used out there).
Hence, I feel the ultimate necessity to review the submitted style sheets before we provide them to other users to ensure safety on their side. Furthermore, when people offer their style sheets for downloading on whatever platform, they may collect the IP addresses of Pi-hole users which is something touching your privacy as well. We don't want this and this is also the reason why we try hard to ensure you get everything around Pi-hole from Github itself so you can be sure we're not collecting information on Pi-hole users. Privacy first has always been and will always be one of the top priorities of Pi-hole!
Having said all that, I'm still convinced that people submitting style sheets is a good idea. We can review and merge them and all users will be able to use them while they can rely on Pi-hole's privacy rules.
I don't expect a huge rush of contributions, but, of course, there is also the maintainability criterion. If it settles down at 5 style sheets, no problem, when we add new features which need new colors for which nothing similar exists to date, we'd have to add this to all style sheets ourselves and imagine how the initial designer would have liked things to look like. Or rather, we have to have dedicated users we can contact during each beta phase to adapt their style sheets.
You see, there is a lot of need for discussion, however, I don't think we should have unreviewed style sheets floating around.