From: Stefan Sterz <s.sterz@proxmox.com>
To: pve-devel@lists.proxmox.com, pbs-devel@lists.proxmox.com,
pmg-devel@lists.proxmox.com
Subject: [pmg-devel] [PATCH widget-toolkit v1] Proxmox Dark Theme
Date: Wed, 8 Mar 2023 17:18:18 +0100 [thread overview]
Message-ID: <20230308161840.2396113-1-s.sterz@proxmox.com> (raw)
this patch series aims to add support for a dark theme to all current
proxmox products. including:
* proxmox virtual environment web gui & api viewer
* proxmox backup server gui & api viewer
* proxmox mail gateway gui, api viewer & (mobile) quarantine
this patch series is split into several parts. the first concerns the
widget toolkit and adds the necessary files and adaptions needed
accross all three products. the other three parts integrate the new
dark theme into pve, pbs and pmg and also adds changes needed by each
product.
part 1: widget toolkit
the first commit adds styles that give the main gui a "dark"
appearance. this includes adjusting the icons and other images as
well as all backgrounds text and link colors. the second commit
removes certain hard-coded background colors that are set via js.
these don't behave properly in the dark theme and the gui behaves
properly without them, so they are removed.
the third and fourth commit make it possible for charts and gauges to
switch their colors based on the current theme. the fifth commit adds
a theme switcher widget that allows switching the current theme and
then sets a cookie accordingly.
the last commit is only relevant for the proxmox mail gateway and
enables the proposed "theme switcher" function. this allows users to
enable or disable a filter over the email preview in the quarantine.
if the filter is enabled the email will have it's brightness reduced
and the colors will be inverted. thus, plain text emails shouldn't
appear too bright
part 2: proxmox virtual environment
the first commit for pve adds the theme switcher to the gui, the
second adjusts the pveproxy template to properly handle the cookie
set by the theme switcher. the third removes unnecessary hard-coded
background colors and the forth add support for the charts used in
pve only.
the fifth commit concern pve-docs and adds support for the dark theme
in the api viewer.
part 3: proxmox backup server
the commits for proxmox backup server first add the theme switcher,
then removes hard-coded backgrounds and finally add dark theme support
to the api viewer.
part 4: proxmox mail gateway
the first commit concerns the api and let's it handle cookie properly.
the next five commits adjust gui to first add a theme switcher, then
style the spam info grid, remove hard-coded white backgrounds, style
the hourly mail chart, and enable the dark mode in the mobile
quarantine.
the second-to-last commit enables the theme switching mechanism for
the quarantine mail preview. this part could be dropped in favor of
extending the preview endpoint to add some styles to the preview that
handle a dark theme. this would have the added benefit of also working
in the mobile quarantine.
the last commit for the mail gateway enables the dark theme in the api
viewer.
Daniel Tschlatscher (2):
dark-theme: add initial version of the proxmox-dark theme
util/window/form: add a theme selector
Stefan Sterz (4):
subscription/summary/backup: stop setting the background color
gauge widget: add support for a dark theme and dynamic theme switching
rrd chart: add support for the dark theme and dynamic theme switching
dark-theme: add support for the pmg quarantine theme toggle
debian/control | 1 +
src/Makefile | 4 +-
src/Utils.js | 25 +++
src/defines.mk | 1 +
src/form/ThemeSelector.js | 6 +
src/node/APT.js | 1 -
src/panel/GaugeWidget.js | 45 ++++
src/panel/RRDChart.js | 37 ++++
src/proxmox-dark/Makefile | 47 ++++
src/proxmox-dark/scss/ProxmoxDark.scss | 37 ++++
src/proxmox-dark/scss/abstracts/_mixins.scss | 12 ++
.../scss/abstracts/_variables.scss | 67 ++++++
src/proxmox-dark/scss/extjs/_body.scss | 23 ++
src/proxmox-dark/scss/extjs/_grid.scss | 146 +++++++++++++
src/proxmox-dark/scss/extjs/_menu.scss | 39 ++++
src/proxmox-dark/scss/extjs/_panel.scss | 25 +++
.../scss/extjs/_presentation.scss | 14 ++
src/proxmox-dark/scss/extjs/_progress.scss | 19 ++
src/proxmox-dark/scss/extjs/_splitter.scss | 18 ++
src/proxmox-dark/scss/extjs/_tabbar.scss | 43 ++++
src/proxmox-dark/scss/extjs/_tip.scss | 18 ++
src/proxmox-dark/scss/extjs/_toolbar.scss | 21 ++
src/proxmox-dark/scss/extjs/_treepanel.scss | 24 +++
src/proxmox-dark/scss/extjs/_window.scss | 39 ++++
src/proxmox-dark/scss/extjs/form/_button.scss | 57 +++++
.../scss/extjs/form/_combobox.scss | 23 ++
.../scss/extjs/form/_formfield.scss | 40 ++++
src/proxmox-dark/scss/other/_charts.scss | 39 ++++
src/proxmox-dark/scss/other/_icons.scss | 200 ++++++++++++++++++
.../scss/proxmox/_datepicker.scss | 61 ++++++
src/proxmox-dark/scss/proxmox/_general.scss | 56 +++++
.../scss/proxmox/_helpbutton.scss | 16 ++
.../scss/proxmox/_loadingindicator.scss | 14 ++
src/proxmox-dark/scss/proxmox/_markdown.scss | 31 +++
src/proxmox-dark/scss/proxmox/_nodes.scss | 9 +
.../scss/proxmox/_quarantine.scss | 53 +++++
src/proxmox-dark/scss/proxmox/_storages.scss | 19 ++
src/proxmox-dark/scss/proxmox/_tags.scss | 14 ++
src/window/AddTotp.js | 1 -
src/window/DiskSmart.js | 1 -
src/window/PackageVersions.js | 1 -
src/window/ThemeEdit.js | 49 +++++
42 files changed, 1391 insertions(+), 5 deletions(-)
create mode 100644 src/form/ThemeSelector.js
create mode 100644 src/proxmox-dark/Makefile
create mode 100644 src/proxmox-dark/scss/ProxmoxDark.scss
create mode 100644 src/proxmox-dark/scss/abstracts/_mixins.scss
create mode 100644 src/proxmox-dark/scss/abstracts/_variables.scss
create mode 100644 src/proxmox-dark/scss/extjs/_body.scss
create mode 100644 src/proxmox-dark/scss/extjs/_grid.scss
create mode 100644 src/proxmox-dark/scss/extjs/_menu.scss
create mode 100644 src/proxmox-dark/scss/extjs/_panel.scss
create mode 100644 src/proxmox-dark/scss/extjs/_presentation.scss
create mode 100644 src/proxmox-dark/scss/extjs/_progress.scss
create mode 100644 src/proxmox-dark/scss/extjs/_splitter.scss
create mode 100644 src/proxmox-dark/scss/extjs/_tabbar.scss
create mode 100644 src/proxmox-dark/scss/extjs/_tip.scss
create mode 100644 src/proxmox-dark/scss/extjs/_toolbar.scss
create mode 100644 src/proxmox-dark/scss/extjs/_treepanel.scss
create mode 100644 src/proxmox-dark/scss/extjs/_window.scss
create mode 100644 src/proxmox-dark/scss/extjs/form/_button.scss
create mode 100644 src/proxmox-dark/scss/extjs/form/_combobox.scss
create mode 100644 src/proxmox-dark/scss/extjs/form/_formfield.scss
create mode 100644 src/proxmox-dark/scss/other/_charts.scss
create mode 100644 src/proxmox-dark/scss/other/_icons.scss
create mode 100644 src/proxmox-dark/scss/proxmox/_datepicker.scss
create mode 100644 src/proxmox-dark/scss/proxmox/_general.scss
create mode 100644 src/proxmox-dark/scss/proxmox/_helpbutton.scss
create mode 100644 src/proxmox-dark/scss/proxmox/_loadingindicator.scss
create mode 100644 src/proxmox-dark/scss/proxmox/_markdown.scss
create mode 100644 src/proxmox-dark/scss/proxmox/_nodes.scss
create mode 100644 src/proxmox-dark/scss/proxmox/_quarantine.scss
create mode 100644 src/proxmox-dark/scss/proxmox/_storages.scss
create mode 100644 src/proxmox-dark/scss/proxmox/_tags.scss
create mode 100644 src/window/ThemeEdit.js
--
2.30.2
next reply other threads:[~2023-03-08 16:18 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-08 16:18 Stefan Sterz [this message]
2023-03-08 16:25 ` Stefan Sterz
2023-03-08 16:33 ` [pmg-devel] [PATCH widget-toolkit v1 1/6] dark-theme: add initial version of the proxmox-dark theme Stefan Sterz
2023-03-08 16:36 ` [pmg-devel] [PATCH widget-toolkit v1 2/6] subscription/summary/backup: stop setting the background color Stefan Sterz
2023-03-08 16:36 ` [pmg-devel] [PATCH widget-toolkit v1 3/6] gauge widget: add support for a dark theme and dynamic theme switching Stefan Sterz
2023-03-08 16:36 ` [pmg-devel] [PATCH widget-toolkit v1 4/6] rrd chart: add support for the " Stefan Sterz
2023-03-08 16:37 ` [pmg-devel] [PATCH widget-toolkit v1 5/6] util/window/form: add a theme selector Stefan Sterz
2023-03-08 16:37 ` [pmg-devel] [PATCH widget-toolkit v1 6/6] dark-theme: add support for the pmg quarantine theme toggle Stefan Sterz
2023-03-08 17:04 ` [pmg-devel] applied-series: [pve-devel] [PATCH widget-toolkit v1] Proxmox Dark Theme Thomas Lamprecht
2023-03-09 8:00 ` [pmg-devel] [PATCH pmg-api v1] proxy: add support for switching themes Stefan Sterz
2023-03-10 10:14 ` Dominik Csapak
2023-03-10 10:24 ` Stefan Sterz
2023-03-15 15:42 ` [pmg-devel] applied: " Thomas Lamprecht
2023-03-09 8:00 ` [pmg-devel] [PATCH pmg-gui v1 1/6] mainview/quarantine: add theme switcher Stefan Sterz
2023-03-15 15:42 ` [pmg-devel] applied: " Thomas Lamprecht
2023-03-09 8:00 ` [pmg-devel] [PATCH pmg-gui v1 2/6] spam-info-grid: style the spam info grid via css variables Stefan Sterz
2023-03-09 8:01 ` [pmg-devel] [PATCH pmg-gui v1 3/6] subscription: remove hard-coded white background Stefan Sterz
2023-03-09 8:01 ` [pmg-devel] [PATCH pmg-gui v1 4/6] hourly mail distribution chart: add dynamic color switching Stefan Sterz
2023-03-09 8:01 ` [pmg-devel] [PATCH pmg-gui v1 5/6] mobile quarantine: add dark theme support to the mobile quarantine Stefan Sterz
2023-03-09 8:01 ` [pmg-devel] [PATCH pmg-gui v1 6/6] quarantines: add support for a theme toggle Stefan Sterz
2023-03-09 8:02 ` [pmg-devel] [PATCH pmg-docs v1] docs: add dark mode support to the api viewer Stefan Sterz
2023-03-23 16:11 ` [pmg-devel] applied: " Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230308161840.2396113-1-s.sterz@proxmox.com \
--to=s.sterz@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
--cc=pmg-devel@lists.proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox