767 Commits

Author SHA1 Message Date
Joshua Criss
6006b34085 luci-theme-bootstrap: fix header .pull-right
Noticed the indicators behaving a little odd
on mobile, and realised one flex element in
the mobile.css was the cause. Removing
the flex entry did not cause any further
issue, and fixed the indicator misbehaviour.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-11 09:35:01 +03:00
Han Yiming
4a308bab37 luci-base: add authentication plugin mechanism
This commit introduces a generic authentication plugin mechanism
to the LuCI dispatcher, enabling multi-factor authentication
(MFA/2FA) and other custom verification methods without
modifying core files.

This implementation integrates with the new plugin UI architecture
introduced in commit 617f364 (luci-mod-system: implement plugin UI
architecture), allowing authentication plugins to be managed
through the unified System > Plugins interface.

Signed-off-by: Han Yiming <moebest@outlook.jp>
2026-04-09 14:26:09 +02:00
Joshua Criss
9cccae92ee luci-theme-bootstrap: update -webkit-appearance
Compliment '-webkit-appearance'
with 'appearance', as it is
non-standard and has since
been succeeded by 'appearance',
accepted by all baseline browsers.

Future consideration to then
remove '-webkit-appearance'.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-04 16:23:59 +02:00
Joshua Criss
63bb777eaf luci-theme-openwrt-2020: update -webkit-appearance
Compliment '-webkit-appearance'
with 'appearance', as it is
non-standard and has since
been succeeded by 'appearance',
accepted by all baseline browsers.

Future consideration to then
remove '-webkit-appearance'.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-04 16:23:32 +02:00
Joshua Criss
2b010f97e5 luci-theme-openwrt: update -webkit-appearance
Compliment '-webkit-appearance'
with 'appearance', as it is
non-standard and has since
been succeeded by 'appearance',
accepted by all baseline browsers.

Future consideration to then
remove '-webkit-appearance'.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-04 16:23:19 +02:00
Joshua Criss
a3645ebea2 luci-theme-material: update -webkit-appearance
Compliment '-webkit-appearance'
with 'appearance', as it is
non-standard and has since
been succeeded by 'appearance',
accepted by all baseline browsers.

Future consideration to then
remove '-webkit-appearance'.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-04 16:23:06 +02:00
Joshua Criss
a6d95fe11b luci-theme-openwrt-2020: ifacebox in overview
Set text to var(--secondary-bright-color)
when using var(--main-bright-color)
for background to match same
behaviour as the header of the page,
e.g. IPv4 Upstream and
IPv6 Upstream boxes.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-03 03:16:52 +02:00
Joshua Criss
6179b709bf luci-theme-material: overview boxes and buttons
Change mouse icon from text
cursor to pointer. Fix buttons not
being same min-width. Create
larger buttons for smaller screens,
same behaviour as
luci-theme-bootstrap. Slightly
fade "show" button: no variable
for disabled opacity like
luci-theme-bootstrap, assuming
0.7. Remove fade when hovered.

Resolve mismatched spacing for
each heading in box, fixing
spacing for when contents are
hidden and adding spacing
when contents are shown.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-03 03:16:37 +02:00
Joshua Criss
b9dff54410 luci-theme-openwrt: refining hide/show buttons
Match "show" button style to IP table,
change border colour to match font
colour; fade it slightly: no variable for
disabled opacity like
luci-theme-bootstrap, assuming 0.7.
Remove fade when hovered.
Change mouse icon from text cursor
to pointer, restore button text weight
and font similar to indicators,
add subtle border to compliment
both states of button.
Work with existing mobile styling
for 480px and below, make
bigger buttons and fix
heading alignment.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-02 16:12:56 +02:00
Joshua Criss
9e4058cdca luci-theme-bootstrap: refining hide/show buttons
Change mouse icon from text cursor to pointer.
Smaller buttons on larger screens.
Slightly fade "show" button.
Remove fade when hovered.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-02 16:11:18 +02:00
Joshua Criss
37fd4169ad luci-theme-openwrt-2020: refining indicators
Match rounded indicators to same
style as "hide" and "show" buttons
for design consistency (site wide).

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-02 16:10:46 +02:00
Joshua Criss
d90696cca7 luci-theme-openwrt-2020: refining hide/show buttons
Create larger buttons for smaller
screens (same behaviour as
luci-theme-bootstrap).
Swap the "hide" and "show" button
styles to match all other luci-theme,
as "hide" is currently using primary
style and "show" is currently using
secondary style. Also, change mouse
icon from text cursor to pointer.
Slightly fade "show" button:
no variable for disabled opacity
like luci-theme-bootstrap,
assuming 0.7.
Remove fade when hovered.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-02 16:09:18 +02:00
Joshua Criss
ec33f41105 luci-theme-bootstrap: match footer with header
Match footer with header
padding left and right so they are
aligned (header uses 1180px,
but footer was using 940px).

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-02 16:09:00 +02:00
Joshua Criss
e1b548545d luci-theme-material: fix overview ifacebox
Set text to header colour when
using the header colour
background to match same
behaviour, for e.g. IPv4 Upstream
and IPv6 Upstream boxes.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-02 16:08:04 +02:00
Joshua Criss
9db25861aa luci-theme-openwrt: refining indicators
Match rounded indicators to
same style as "hide" and "show"
buttons for design consistency.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-02 16:07:37 +02:00
Joshua Criss
fa2ce66ba1 luci-theme-openwrt: remove empty CSS
It is not advisable to have
empty rulesets in CSS.
Removing the empty ruleset.

Signed-off-by: Joshua Criss <owlsy@outlook.com.au>
2026-04-02 16:07:10 +02:00
Self-Hosting-Group
e81c0637e2 luci-theme: remove LuCI from title, material changes
- Remove `| LuCI` suffix from title tag
- Make material theme zoomable and remove legacy meta tags
- Unify viewport

Link: #8330
Signed-off-by: Self-Hosting-Group <selfhostinggroup-git+openwrt@shost.ing>
2026-03-02 19:14:01 +01:00
Paul Donald
ce358ad411 luci-theme: html title: swap hostname <-> page title
hostname first to differentiate units from at-a-glance
browser tab view.

follow-up to 18d14980dd

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2026-02-09 22:14:59 +01:00
Paul Donald
18d14980dd luci-theme: html title: swap hostname <-> page title
hostname first to differentiate units from at-a-glance
browser tab view.

Closes #8308

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2026-02-09 18:08:38 +01:00
Paul Donald
94da6ead86 luci-base: restore titles class
follow-up to 720c96ce5b

While ::before CSS styling has been deactivated, and
'content' removed, cbi-value-first-field is a bit
ambiguous. So, restore cbi-section-table-titles, and
replace the ::before tags in CSS.

Remove also the data-title for title rows. We already
insert titles for named headers and rows via HTML and
not via CSS after the mentioned commit.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2026-02-02 18:22:15 +01:00
Brian White
ef8ef56430 luci-theme-material: fix unreadable text
Fix low-contrast text in dark mode that caused
labels to be hard to read.

Signed-off-by: Brian White <brianwhitedev1996@gmail.com>
2026-01-24 08:36:46 +01:00
Ramon Van Gorkom
720c96ce5b luci-base: make some tables better searchable
This changes the "name" in specific tables from being painted to
being rendered. This allows the use of "ctrl-f" in browsers to e.g.
search for firewall rule names.

Closes https://github.com/openwrt/luci/issues/7708
Signed-off-by: Ramon Van Gorkom <Ramon00c00@gmail.com>
Link: https://github.com/openwrt/luci/pull/8191
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2026-01-23 04:10:13 +01:00
Eric Fahlgren
d074b87514 luci-theme-openwrt-2020: add missing selector
The .label.notice selector is defined in the bootstrap theme, and
used in luci-base, but is not present in the openwrt2020 theme.

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
2026-01-21 23:15:32 +01:00
Paul Donald
9fe1334fd5 luci-theme: fix theme header title
dispatched.title is sometimes null, especially where menu JSON
does not declare a title for a page.

Also, while we're here, wrap these in i18n tags, since the
JSON titles are often translated (they're included in po matter).

Closes #8222

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2026-01-21 22:39:04 +01:00
Paul Donald
7f0c172ee1 luci-theme: alignment fixes
These help to align read-only items with their title elements.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2026-01-18 18:14:40 +01:00
Paul Donald
5a36477c95 luci-theme-openwrt: prevent minify errors
The CSS:

	padding: calc(0.125em - 1px) calc(0.5em - 1px);

produced:

	padding:calc(.125em

since minify treated it as a quad. Work around this and remove
it. The difference without it is minor.

Remove input colouring since the custom tags don't help and
the colouring makes input difficult to discern from placeholders.

Remove also -ms-backdrop definition which effectively overrides
the previous auto.

There was also an instance where 'solid red;' was truncated
to 'solid re' but I cannot reproduce this with minify.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2026-01-15 17:51:15 +01:00
Paul Donald
0d55a89cb2 luci-theme-openwrt: fix CSS error
browsers produce parse error and drop this declaration

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2026-01-03 17:52:27 +01:00
Paul Donald
bf8fe5e6ea luci-theme-bootstrap: partial revert of monospace changes
follow-up to 3c3a5e2b1a

Retain original monospace properties since those are handled by the system
anyway.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-12-03 23:34:57 +01:00
Akihiro Nagai
3c3a5e2b1a luci-theme-bootstrap: fall back to system font stack with CSS custom properties
Replace hardcoded font-family declarations with CSS custom properties
(--font-sans, --font-serif, --font-mono) that fall back to system UI fonts.

Signed-off-by: Akihiro Nagai <bashing.tremors_0f@icloud.com>
2025-12-03 22:17:50 +01:00
Self-Hosting-Group
d16ffa3113 luci-theme: add missing menu name to page <title>
Signed-off-by: Self-Hosting-Group <selfhostinggroup-git+openwrt@shost.ing>
2025-12-03 21:47:13 +01:00
Mikael Magnusson
9b5d60757e luci-theme-bootstrap: disable Dark Reader
Disable Dark Deader since the bootstap theme has built-in
dark and light modes, as well as a mode which auto-detects
the user's preference. Dark Reader also doesn't work well
with the bootstrap theme.

Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
2025-11-27 00:27:59 +01:00
Eamon Xiong
0096cef2b3 luci-theme-openwrt-2020: use arrow function
Replaced L.bind with an arrow function for simpler syntax and clearer `this` binding.

Signed-off-by: Eamon Xiong <eamonxiong@gmail.com>
2025-11-17 23:41:07 +08:00
Eamon Xiong
8df4e465a3 luci-theme-openwrt: use arrow function
Replaced L.bind with an arrow function for simpler syntax and clearer `this` binding.

Signed-off-by: Eamon Xiong <eamonxiong@gmail.com>
2025-11-17 23:41:07 +08:00
Eamon Xiong
53548203fd luci-theme-material: use arrow function
Replaced L.bind with an arrow function for simpler syntax and clearer `this` binding.

Signed-off-by: Eamon Xiong <eamonxiong@gmail.com>
2025-11-17 23:41:07 +08:00
Eamon Xiong
8a8e4d53a7 luci-theme-bootstrap: use ES6 syntax
Replaced L.bind with arrow functions, used Array.from for array conversion,
applied concise method syntax, and switched to block-scoped declarations.

Signed-off-by: Eamon Xiong <eamonxiong@gmail.com>
2025-11-17 23:40:51 +08:00
Paul Donald
6e263428bd luci-mod-status: partial revert of styling changes
follow-up to 788e47034b

Some of the CSS changes have knock-on effects and change behaviour in
other display areas, especially when the CSS is minified.

Simplified to change between label flavours on hide/show status.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-10-21 16:25:47 +02:00
Andy Chiang
91a94ce360 luci-theme-bootstrap: add width for localtime
set an appropriate width for #localtime

Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
2025-10-20 20:40:46 +02:00
Christian Marangi
788e47034b luci-mod-status: add support to show/hide index cards
Add support to show/hide index cards. A card's state is saved using the
browser localstorage and its state is restored on page reload/relogin.

Rework the pool function to check and skip loading of hidden cards.

Rework themes to address new button position.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
[ changed tabs in CSS ]
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-10-02 15:11:51 +02:00
Dávid Benko
65c1075b86 themes: scale down icons for network interfaces
Many LuCI icons doubled in size during migration to vector graphics
in commit ae5d91da90 (16px to 32px).

Sizing of their instances is mostly controlled by CSS, but there's
an exception - network interface boxes of "Interfaces" page in LuCI.
Current CSS doesn't specify any particular size requirements to follow,
so the icons just scale with the images served, thus effectively
doubling in width and height compared to state before the vectorization
commit. Such a big icons look odd and take up too much space, especially
for bridge interfaces with many ports.

Instead of reverting to the original 16×16px, this commit proposes
compromise of 24×24px as most of other icons within LuCI became a bit
bigger as well.

Signed-off-by: Dávid Benko <davidbenko@davidbenko.dev>
2025-09-29 17:25:45 +02:00
Paul Donald
755061bc9e themes: remove overflow-y property; it inhibits readonly view scrolling
Closes #7947

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-09-19 01:45:03 +02:00
Paul Donald
4d5ac5b3e9 themes: remove -moz selectors
Firefox newer than v88 complains with:

 Unknown pseudo-class or pseudo-element '-moz-focus-inner'.
 Ruleset ignored due to bad selector.

See: https://developer.mozilla.org/en-US/docs/Web/CSS/::-moz-focus-inner

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-07-30 14:49:54 +02:00
Marko Mäkelä
75a612ae63 luci-theme-bootstrap: global darkmode graphs
Instead of enumerating each SVG graph that the dark mode is applicable to,
apply --background-color-high to each SVG element that is a child of
<div style="…"> and --text-color-highest to each LINE inside such SVG.

This allows dark mode to work in all SVG widgets by default, in any
current or future LuCI component.

Signed-off-by: Marko Mäkelä <marko.makela@iki.fi>
2025-06-30 02:20:02 +02:00
Paul Donald
ae5d91da90 treewide: vectorise iconography
Clear, crisp, resolution independent vector graphics replace the trusty
microscopic PNG. Some minor CSS changes were needed to constrain images
in some locations to make sure they don't consume too much space.

Iconography taken from Mate desktop theme with minor adjustments:

https://github.com/mate-desktop/mate-icon-theme/

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-06-12 18:55:53 +02:00
Paul Donald
46c27a05c5 luci-theme-*: layout improvements
follow-up to 1be1deb9ec

bootstrap now utilizes more screen width for main content

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-06-10 16:34:48 +02:00
Paul Donald
37262790c1 luci-theme-*: layout improvements
follow-up to 1be1deb9ec

bootstrap now utilizes more screen width for main content

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-06-10 14:57:10 +02:00
Paul Donald
1be1deb9ec luci-theme-*: layout improvements
bootstrap now utilizes more screen width for main content

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-06-08 22:59:41 +02:00
Paul Donald
f1fefe958c luci-theme-*: layout improvements
material menu bar on the left is now 'above' main content

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-06-08 22:59:15 +02:00
Paul Donald
76fa3036a2 luci-theme-*: wrap span tags, fixes badge text
The nowrap can be a bit obnoxious when available layout space is
limited. Wrap.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-06-08 22:56:40 +02:00
Paul Donald
e7ce4d2a1c luci-theme-openwrt: fix a few CSS errors
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-04-23 18:41:38 +02:00
Paul Donald
9180f2a762 luci-theme-*: ES6 refactor
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-04-23 14:21:40 +02:00