87 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
9180f2a762 luci-theme-*: ES6 refactor
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-04-23 14:21:40 +02:00
Paul Donald
9157254059 luci-theme: fix some dynamic layout issues
Implement a dynamic menu item width to allow item unwrapped and visible:
'min-width: max-content;' or 'max-width: max-content;'

Remove IE hacks and fix a console error for -webkit-scrollbar-thumb

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-04-23 14:03:57 +02:00
Jyn
d23bbd896b luci-theme-openwrt-2020: zone-forwards wrap
Signed-off-by: Jyn <pvp4eek@gmail.com>
2025-04-14 15:19:35 +02:00
Florian Eckert
046a121087 treewide: set css tag flex-wrap to wrap buttons in modal view
In CSS, the flex-wrap property is used in a flex container to control
how flex items are laid out when there is not enough space in a single
line.

If a modal is displayed on small screens, the buttons are not wrapped. They
remain on one line. This breaks the layout and does not look good.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2025-03-06 11:21:32 -06:00
Paul Donald
779ca14125 css: remove unsupported properties
neither Safari nor Firefox recognize them, and they generate a parse
error.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-12-22 16:23:35 +00:00
Paul Donald
0459c378b7 themes: update package-manager style to match page name
opkg is no longer available as the generic name for package-manager

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-12-15 20:29:36 +01:00
Ramon Van Gorkom
80f18df48f luci-base: make items of UIDynamicList drag-sortable
Signed-off-by: Ramon Van Gorkom <Ramon00c00@gmail.com>
2024-11-27 21:43:16 +01:00
Mustafa Can Elmacı
ae8bbb814f treewide: HTML Cleanup
* HTML Cleanup: Meta tags.
* Converted charset to shorthand.
* Removed meta tags with `Content-Script-Type` attribute. (Invalid in HTML5 spec.)

* HTML Cleanup: CSS tags.
* Removed `type` attribute with CSS files from link tags. (HTML5 spec recommends omitting it.)
* Removed `type` attribute from style tags. (Deprecated in HTML5 spec.)
https://html.spec.whatwg.org/#attr-link-type
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style

* HTML Cleanup: Convert from XHTML to HTML5
* Removed XML declaration.
* Removed XML namespace.
* Changed doctype to HTML5.

* HTML Cleanup: CDATA tags.
* CDATA sections should not be used within HTML they are considered as comments and not displayed.
https://developer.mozilla.org/en-US/docs/Web/API/CDATASection

* HTML Cleanup: Script tags.
* Removed `language` attribute from script tags. (No longer valid in HTML5)
* Removed `type` attribute with JavaScript MIME type from script tags. (HTML5 spec recommends omitting it.)
https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type
https://mimesniff.spec.whatwg.org/#javascript-mime-type

Signed-off-by: Mustafa Can Elmacı <mustafacan@elmaci.net>
2024-11-22 22:39:46 +01:00
Florian Eckert
c1621c6d32 luci-theme-openwrt-2020: add css class button-row
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2024-07-09 16:19:51 +02:00
Florian Eckert
be212dd452 luci-theme-openwrt-2020: add missing license information
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2024-03-19 13:37:41 +01:00
Fengyu Wu
98a6ba28de luci-themes: add luci-base to depends
Signed-off-by: Fengyu Wu <saldry@proton.me>
2024-03-02 17:57:01 +01:00
Jo-Philipp Wich
ae146074a1 luci-theme-openwrt-2020: add dropdown option hover styles
Subsequent commits will drop the JS based mouse following focus behavior,
so add appropriate replacement CSS hover styles.

Ref: #6903
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2024-02-19 00:04:16 +01:00
Stan Grishin
4433701463 Merge pull request #6802 from stangri/luci-theme-openwrt2020
luci-theme-openwrt-2020: fix anchor decorations
2024-01-10 19:27:06 -07:00
Stan Grishin
525c5da356 luci-theme-openwrt-2020: fix anchor decorations
* add the decorations for when the links are included in the field descriptions

Thanks @dibdot, @stokito!

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2024-01-07 22:18:06 +00:00
Sergey Ponomarev
74935b8ebb luci-theme-openwrt-2020: Fix header light blue color
According to a style guide the color should be #00B5E2.
In a9f6d850a2 added a light blue square background to logo.svg.
Their color started differs, the change fixes this.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2023-12-12 21:00:02 +02:00
Sergey Ponomarev
5f3a24ef81 luci-theme-openwrt-2020: Remove apple-touch-icon
The apple-touch-icon was used by old Safari on iOS.
Today just <link rel="icon" href="logo.png"> is enough.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2023-12-12 20:24:12 +02:00
Sergey Ponomarev
b5a3354e82 luci-theme-openwrt-2020: Fix Safari favicon: use PNG alongside with SVG
Chrome, Edge and Firefox will use the SVG icon but Safari will use the PNG.
Chrome will try to pick an icon with a best suited dimension.
So it will also download the PNG to check it's dimension.
The explicitly specified sizes are preventing this.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2023-12-12 20:24:12 +02:00
Sergey Ponomarev
a9b06db126 luci-theme-openwrt-2020: remove icon explicit svg type
That was a fix for old browsers when the mime type is incorrect.
Today all servers return a correct mime but also browsers can sniff a type.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2023-12-12 20:24:12 +02:00
Sergey Ponomarev
84da02bc09 luci-theme-openwrt-2020: Minimize logo.svg
Save 686-536=150 bytes

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2023-12-12 20:24:12 +02:00
Sergey Ponomarev
d0df669431 luci-theme-openwrt-2020: logo.svg add 1px on top and bottom
To keep ratio the one pixel was also added to left and right and now size is 100x100

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2023-12-12 20:24:12 +02:00
Sergey Ponomarev
cc0c66c0e5 luci-theme-openwrt-2020: make logo.svg square
Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2023-12-12 20:24:12 +02:00
Sergey Ponomarev
a9f6d850a2 luci-theme-openwrt-2020: fix logo.svg according to Logo Usage Guidelines
The "White & Dark Blue" logo should have a background filled with PANTONE 306 C HEX #00B5E2.
SVG doesn't support background-color properly so use a rectangle instead.
The dark blue circle must be PANTONE 7463 C HEX #002B49

See https://openwrt.org/_media/docs/guide-graphic-designer/openwrt-logo-usage-guidelines.pdf

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2023-12-12 20:24:12 +02:00
Jo-Philipp Wich
7cded1f8bb luci-theme-openwrt-2020: import bootstrap radio/checkbox styling rules
Import the radio and checkbox styling rules from the default Bootstrap
theme and adapt colors and margins to the OpenWrt 2020 one.

Fixes: #6442
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-07-26 15:46:06 +02:00
Jo-Philipp Wich
1597d8e555 luci-theme-openwrt-2020: don't inherit background in alert message buttons
Fixes: #6177
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-02-07 10:41:59 +01:00
Florian Eckert
21b40652d9 luci-theme-: add postrm script
Remove uci theme config section on uninstall.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2023-01-09 13:07:42 +01:00
Jo-Philipp Wich
694b8086cd luci-theme-openwrt-2020: convert Lua templates to ucode
Convert the theme's Lua templates to ucode to avoid the implicit dependency
on the luci-lua-runtime package.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-10-26 22:43:56 +02:00
Rosen Penev
5466452399 luci-theme-openwrt-2020: quantize png image
Small size reduction.

From: 5908
To:   3896

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-10-14 13:25:24 -07:00
Rosen Penev
28193247bc luci-theme-openwrt-2020: add iOS webapp support
This way instead of opening a Safari tab, it opens in its own instance.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-10-11 14:50:40 -07:00
Rosen Penev
1be885064e luci-theme-openwrt-2020: add iOS icon support
Used when adding LuCI to Springboard. Image generated from logo.svg.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-10-11 14:48:54 -07:00
Sergey V. Lobanov
13949cb887 luci-theme-openwrt-2020: fix font issue when mixing latin and non-latin symbols
The GalanoGrotesque font used by the openwrt2020 theme does not support non-
latin symbols.

If latin and non-latin symbols are used together in one line it looks strange
because for latin symbols GalanoGrotesque is used but for non-latin symbols a
fallback font is used (sans-serif).

This patch changes default font to Helvetica for the "bg", "ru", "uk", "el"
and "he" locales.

Original patch was written by Jo-Philipp Wich

Fixes: #5580
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
[reword commit message, drop "de" from exception list]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-12-09 17:03:25 +01:00