Commit Graph
69 Commits
Author SHA1 Message Date
RD WebDesign 527fe63e17 Remove duplicated selectors and adjust colors of card elements
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-07-30 02:11:12 -03:00
RD WebDesign 5dfbff206f Fix datatables background color for selected rows
The new theme doesn't use background colors for striped tables and to show
selected rows. Instead, it adds box-shadow to table cells to simulate
background colors. The original theme uses a opaque color and white text,
breaking the Pi-hle themes.

The fix replaces the original box-shadow with a semi-transparent shadow
and uses the theme text color.

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-07-23 00:57:26 -03:00
RD WebDesignandAdam Warner 7128f52c40 Adjust default-dark and high-contrast-dark themes
- adjust .app-wrapper (top nav) and .app-sidebar background colors to
  improve contrast (high-contrast-dark theme);
- remove box-shadow from .card class;
- adjust .card colors and borders;

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-07-17 22:43:26 +01:00
DL6ERandAdam Warner 07c6b01d8a Fix comment indentation for editorconfig and equalise list icon columns
- The multi-line comments added in the previous UI-fix commits aligned their
  continuation lines with an odd number of leading spaces, which the
  editorconfig check rejects (it wants multiples of two). Re-indent them.
- Equalise the two single-icon columns (list status and list type) on the
  subscribed-lists table so the type column is no longer noticeably wider than
  the status one, and centre their icons.

Signed-off-by: DL6ER <dl6er@dl6er.de>
2026-07-17 22:40:00 +01:00
DL6ERandAdam Warner 15b11525a4 Restore form spacing and tone down more dark-theme accents
- Bootstrap 5 also removed `.form-group` (row bottom margin) and `.help-block`
  (muted helper text); both are used across the settings and query-log forms,
  so restore them. This recovers the vertical spacing that was missing between
  form rows throughout the interface.
- Dark theme: mute the active pagination link and the filled `.card-info` /
  `.card-primary` card headers (e.g. the query-log "Advanced filtering" box),
  which used Bootstrap's over-bright `#0d6efd`/`#0dcaf0` on the dark background.
  The headers are recoloured via AdminLTE 4's `--lte-card-variant-*` variables.
- Widen the reverse-DNS servers table's "Enabled" column so its header no
  longer overflows into the next column.

Signed-off-by: DL6ER <dl6er@dl6er.de>
2026-07-17 22:39:59 +01:00
DL6ERandAdam Warner 61b354fd66 Restore Bootstrap 3->5 utility and spacing gaps in the AdminLTE 4 UI
The Bootstrap 3 -> 5 jump silently dropped several utilities and defaults the
templates still relied on, leaving elements mis-rendered:

- `.hidden` no longer exists in Bootstrap 5, so every element toggled via it
  (the 2FA login field, the diagnosis `warning-count` badge, the "reset
  sorting" and "enable 2FA" buttons) was permanently visible. Restore it.
- `.btn-block` was removed; restore it so the settings "Actions" and gravity
  buttons fill their grid column again instead of collapsing left-aligned.
- AdminLTE 4 resets `.card` bottom margin to 0, removing the vertical rhythm
  between stacked cards. Restore a consistent `margin-bottom`.
- `.btn-toolbar` no longer spaces its button groups; add a small gap.
- The header logo/wordmark is no longer swapped when the sidebar collapses, so
  "Pi-hole" wrapped in the narrow header. Show the compact "Ph" mark instead.
- The domain-management tab links were missing the `nav-item`/`nav-link`
  classes Bootstrap 5 requires, so they rendered as bare text.

Also tone down the over-bright `h4` heading colour (`#44def1`) in the dark
theme to the theme's own accent blue, and hide the Tom Select "none selected"
placeholder once a group is selected.

Signed-off-by: DL6ER <dl6er@dl6er.de>
2026-07-17 22:39:58 +01:00
Adam WarnerandClaude Sonnet 5 53fb6a4588 Trim dead selectors and use variables in default-dark.css
Follows up on rdwebdesign's comment about themes needing a rewrite to use v4's CSS custom properties instead of piles of one-off rules.

Verified against the live DOM in a Docker container that these selectors no longer match anything: they targeted AdminLTE2/Bootstrap 3 markup (.sidebar-form, .nav-stacked, .left-side/.right-side, box-solid, box-comment...) or old DataTables classnames replaced by the dt-* build in this PR (dataTables_wrapper, dataTables_paginate). Bootstrap 5's native [data-bs-theme=dark] cascade already covers the pagination/search styling those rules used to provide.

Also pulled the two most-repeated literal colours (#bec5cb text, #353c42 background, appearing 34/35 times each) out into --theme-text/--theme-bg custom properties.

default-darker.css is a separate, much larger (5600+ line) machine-generated Darkreader dump and needs its own dedicated pass, not attempted here.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Adam Warner <github@promofaux.dev>
2026-07-17 22:39:58 +01:00
646a3ef6ab Fix theme/layout regressions and CSP-blocked icons found in manual testing
Reviewed and built on top of a round of fixes already applied to the
working tree (boxed layout, badge alignment, sidebar treeview links,
bootstrap5-toggle's on/off->onlabel/offlabel rename, and forcing
data-bs-theme explicitly instead of leaving Bootstrap 5 to fall back to
the OS's prefers-color-scheme, plus the new scripts/js/theme.js that
locks the resolved theme so AdminLTE's own color-mode logic can't
silently override Pi-hole's own theme selection). On top of that:

- Fixed the "day theme still shows dark" gap: the anti-FOUC inline
  background style in header.lp only covered the case where the theme
  is unconditionally dark, never the "auto" theme (whose Lua-side flag
  is literally the string "auto", not "dark") - added a
  prefers-color-scheme media query fallback so the auto theme also
  avoids a white flash without needing to wait for theme.js/CSS to load.
- Fixed a strict Content-Security-Policy (img-src 'self', set by FTL's
  webserver) blocking every checkbox/radio checkmark, the modal close
  button, and the select2 dropdown arrow/clear icon: Bootstrap 5 and its
  plugins ship these as inline data: URI SVGs, which the CSP rejects
  outright. Re-hosted the exact same icons as local files under
  style/icons/ and pointed the same CSS custom properties at them.
  Learned the hard way that a url() stored in a custom property
  resolves relative to the stylesheet that *consumes* it via var(), not
  the one that declares it - the consumer here is always
  vendor/adminLTE/adminlte.min.css, so the override paths needed to
  account for that rather than being relative to pi-hole.css itself.
- Found and fixed three more leftover .box-* selectors in pi-hole.css
  that never got updated to .card-* during the earlier card-conversion
  phase: the query-types/forward-destinations pie chart flex layout,
  the domains-list filter row header, and the dynamically-generated
  settings cards' sizing/hidden-state selectors - all on pages that
  render in normal use, unlike the handful of genuinely-unreachable
  .box-solid/.box-comment selectors left alone in the theme files
  (those modifier classes are never applied by any current markup).

Verified against a live container: boxed layout now visibly constrains
and centers the page, day theme renders light content with checkmarks/
close icons/dropdown arrows all visible with zero console errors,
clicking Settings/Tools now expands the submenu instead of navigating
to the dashboard, and sidebar badges are aligned to a consistent right
edge.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-07-17 22:39:57 +01:00
b7bd4cb6d1 Bump Font Awesome to v7, rename theme CSS to match new layout classes
Bump @fortawesome/fontawesome-free 6.7.2 -> 7.3.0 (the only remaining
outdated dependency; everything else was already at latest). Drop the
now-unused .ttf webfonts - FA7's dist CSS only references .woff2.

Rename the same AdminLTE2/Bootstrap3 selectors across all 6 theme files
under style/themes/ that were already renamed everywhere else in this
migration: .main-header/.main-sidebar/.main-footer -> .app-header/
.app-sidebar/.app-footer, .wrapper -> .app-wrapper, .content-wrapper ->
.app-main (this one predates AdminLTE 4 entirely and no longer exists
anywhere - confirmed dead in the current markup), .treeview-menu ->
.nav-treeview, sidebar .header list items -> .nav-header, and the full
box/panel -> card component family (including collapsed-box -> collapsed-
card and the color/state variants). Also removed now-dead bootstrap-select/
icheck-bootstrap selectors that can never match anything anymore.

All 7 theme options (default-auto/-light/-dark/-darker, high-contrast,
high-contrast-dark, lcars) are genuinely selectable in Settings -> Web
interface/API, confirmed via the live theme dropdown - none of these
files were dead code, despite "default-darker" not being referenced by
name anywhere else in this repo (themes are loaded via string
concatenation of a backend-supplied name).

Removed pi-hole.css's ~210-line hand-rolled polyfill of Bootstrap 4/5's
margin/padding/display utility classes (.m-0.../.py-3/.d-none) - these
exist natively in Bootstrap 5 now (confirmed present with identical
values in the vendored adminlte.min.css), so the polyfill was pure dead
weight.

Verified against a live container: switched the active theme through
default-darker, lcars, and high-contrast and reloaded the dashboard for
each - all three render correctly (LCARS's very custom skin in
particular came through intact) with zero console errors. FA7 icons
render correctly across the sidebar and dashboard.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-07-17 22:39:57 +01:00
yubiuser fe516a3796 Use CSS to style the keys as 3D key caps
Signed-off-by: yubiuser <github@yubiuser.dev>
2026-02-22 17:35:55 +01:00
RD WebDesignandGitHub 6ddd46381e Fix "Advanced Filtering" colors in Dark theme
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2025-05-21 15:42:02 -03:00
XhmikosR 1fbbb91f51 Remove icheckbox related-code except for primary
v6 doesn't support changing this like v5

Signed-off-by: XhmikosR <xhmikosr@gmail.com>
2025-04-21 12:07:06 +03:00
XhmikosR 9b0c212a53 Ran autoprefixer
Move selector where appropriate

Signed-off-by: XhmikosR <xhmikosr@gmail.com>
2025-02-22 17:07:24 +02:00
RD WebDesign 2d684465cb Use CSS properties to define colors for each theme
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2025-01-24 17:39:38 -03:00
RD WebDesign 6f9332983c Remove old (and unnecessary) style definitions from all themes
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2025-01-23 21:29:15 -03:00
RD WebDesign 46092a4ba3 Adjust style for the "group assignment" control
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2024-12-24 17:48:39 -03:00
RD WebDesign e9aea93298 Fix close button contrast in some dark themes
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2024-06-25 18:29:57 -03:00
RD WebDesign 4c23e5bf0a Fix callout header color
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2024-06-17 15:39:32 -03:00
DL6ER 50f28e8a93 The permitted column in the main graph was actually the sum of forwarded and other queries. As cache is arguably somehow permitted, too, make the difference between them clear
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-02-11 21:02:43 +01:00
RD WebDesign 4363f027ea Use a new color for every theme and better position and sizes
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2023-12-03 03:49:42 -03:00
DL6ER 20cd1b5e80 De-ghostify cached queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-22 19:51:15 +02:00
DL6ER fb64759fdf Merge remote-tracking branch 'origin/devel' into devel-v6
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 09:18:39 +02:00
SodaWithoutSparkles cd887a2c32 add color-scheme: dark to fix #2554
Signed-off-by: SodaWithoutSparkles <64138578+SodaWithoutSparkles@users.noreply.github.com>
2023-03-23 18:48:04 +08:00
DL6ER 5f7ceda54f Add live-tail of all log files as well as local DNS and CNAME records handling (add new and delete existing records is still TODO at this point)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-20 15:41:12 +01:00
DL6ER 7396156274 Reorganize settings pageto avoid gaps between boxes
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-17 04:41:11 +01:00
Christian König dac2731e33 Adjust CSS to suppress webkit-autofill style
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-12-28 15:44:04 +01:00
Iksas a582d7c8ac remove workaround for the Safari password button in dark themes
Signed-off-by: Iksas <Iksas@users.noreply.github.com>
2022-09-15 14:16:09 +02:00
RD WebDesign 944ce3aa64 Tweak topbar and sidebar
- fix broken visual after initial changes;
- remove donate button from topmenu;
- re-add donate button to the sidebar and add hover color;
- remove "Ph" when collapsed;
- add icon and background to topmenu button;
- hide main menu headers (using lines as separators);
- reorder the main menu;
- adjust each theme to the new visual (CSS and HTML tweaks).
- new menu colors for LCARS theme

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-08-18 23:53:18 -03:00
RD WebDesign f528829c67 Testing a shorter main menu + top menu
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-08-13 02:00:24 -03:00
RD WebDesign 509113296c Move login form to a new page
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-08-12 18:04:57 -03:00
Christian König 67fa5e21c0 Address reviewer's comment
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-17 08:34:50 +02:00
Christian König f8e25e1142 Restructure nav menu
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-16 11:08:32 +02:00
RD WebDesign 9113471054 Fix dropdown background color (dark theme)
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-04-26 13:07:58 -03:00
Robin Tweedie cb6d1cc8d3 replace background image jpgs with minimal pngs
Signed-off-by: Robin Tweedie <robin.tweedie@gmail.com>
2022-04-14 22:49:15 +01:00
RD WebDesign 1d9b40d245 Replace old image button with a simple button
- add fixes for mobile and medium screens
- new style selectors
- button background-color (tablets / medium screens)
- small adjustments
- remove unused image file

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-03-28 14:54:35 -03:00
RD WebDesign ea24655a7b Add colors to debug log
- Add function and CSS to show colorful debug log
- Adjusts to #output element

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-03-12 03:22:22 -03:00
RD WebDesign 15f9e58e07 Fix login input visual misalignment (dark theme)
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-03-05 15:05:56 -03:00
RD WebDesign 6288112044 Allow bulk deletion of warnings
- add Datatables extension Select (CSS and js);
- add Datatables extension Buttons (CSS and js);
- allow selection of multiple warnings;
- new button to select all;
- new button to delete all selected warnings;
- add icons for the buttons;
- hide buttons if all messages were deleted;
- update CSS themes to format the new items;
- Fix: update icon count after warning deletion;
- Fix: remove triangle icon after delete last warning;

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-02-26 19:59:13 -03:00
rdwebdesign e8807fb9d2 Fix an "overflow" on hover
Change the animation range and timing

Signed-off-by: rdwebdesign <github@rdwebdesign.com.br>
2022-01-20 20:09:37 -03:00
RD WebDesignandGitHub e1cbe8775f Improving contrast for UI tabs (#2076)
* Improving nav-tabs contrast

Signed-off-by: rdwebdesign <github@rdwebdesign.com.br>

* Improving nav-tabs contrast + prettier

Signed-off-by: rdwebdesign <github@rdwebdesign.com.br>
2022-01-15 07:47:26 +01:00
IksasandGitHub c0dcdedcda fix invisible buttons in password fields (#2020)
Signed-off-by: Iksas <Iksas@users.noreply.github.com>
2021-12-26 10:09:50 +01:00
rdwebdesign c36e08dbcc Sidebar: same effect for hover and focus (all themes).
Signed-off-by: rdwebdesign <github@rdwebdesign.com.br>
2021-11-03 00:50:52 -03:00
rdwebdesign 675a1a6206 Sidebar and NavTabs: additional CSS for focus state.
Signed-off-by: rdwebdesign <github@rdwebdesign.com.br>
2021-10-30 17:29:16 -03:00
Kenneth Chew 2f3f4e6056 Adapt theme-color and background-color for different themes
Signed-off-by: Kenneth Chew <kenneth.c0@protonmail.com>
2021-06-19 01:02:53 -04:00
DL6ER a166ae2d8d Fix links in box headers being invisible on the dark theme.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-02-05 07:56:13 +01:00
Adam WarnerandGitHub 36bfb9ad03 Merge pull request #1693 from Gontier-Julien/third-pull-request
Fix gray space on the left side for cleaner look.
2021-01-13 21:00:41 +00:00
Gontier Julien 0381db72dd Fix gray space on the left side for cleaner look.
Signed-off-by: Gontier Julien <gontierjulien68@gmail.com>
2021-01-12 20:13:55 +01:00
Gontier Julien 7bc5398e66 Don't need this backround-color for the interface.
Signed-off-by: Gontier Julien <gontierjulien68@gmail.com>
2021-01-12 19:55:43 +01:00
KevinandGitHub 28faf0159e Implement dark theme on the modal dialogs (#1674)
* Implement dark theme on the modal dialogs

Signed-off-by: Kevin Lopez <g.lopezkevin@gmail.com>
2020-12-31 10:59:35 +01:00
DL6ER f06a2b6ed1 CSS: Use rgba() instead of hex-color.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-21 21:45:22 +02:00