<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luci/themes, branch master</title>
<subtitle>Lua Configuration Interface (mirror)</subtitle>
<id>https://git.openwrt.org/project/luci/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/luci/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/'/>
<updated>2026-08-07T23:33:25Z</updated>
<entry>
<title>luci-theme-bootstrap: remove broken title class on &lt;body&gt;</title>
<updated>2026-08-07T23:33:25Z</updated>
<author>
<name>Packet Please</name>
</author>
<published>2026-08-07T16:28:52Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=084fae3db599bcf51e0c68b6f4ef37e49bd9b794'/>
<id>urn:sha1:084fae3db599bcf51e0c68b6f4ef37e49bd9b794</id>
<content type='text'>
When the bootstrap theme was first ported to ucode, the dispatched
menu.d title was intended to be added to the &lt;body&gt; CSS classes.

It never worked because it uses the wrong variable name.
It also doesn't seem useful and other themes don't do it.

So let's just remove it.

Signed-off-by: Packet Please &lt;pktpls@systemli.org&gt;
</content>
</entry>
<entry>
<title>themes: fix custom CSS via menu.d node</title>
<updated>2026-08-07T23:33:25Z</updated>
<author>
<name>Packet Please</name>
</author>
<published>2026-08-07T16:27:26Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=7c6d8ff7f8b894d1c8c3382af4b79b7cea68c709'/>
<id>urn:sha1:7c6d8ff7f8b894d1c8c3382af4b79b7cea68c709</id>
<content type='text'>
The themes have supported custom CSS via menu.d nodes since they
were first ported to ucode. There were two little problems though:

- The css property wasn't added to the node schema in luci.dispatcher.
- The themes used the wrong variable name.

The advantage is that the client will load the custom CSS right away,
instead of later when the view initializes. In my local development,
it has prevented visual flickering on page load.

Example menu.d entry:

    "falter": {
      "title": "Settings",
      "order": 5,
      "action": {
        "type": "view",
        "path": "falter/settings"
      },
      "css": "view/falter/falter.css"
    }

There are lots of potential users for this, since many Luci applications
inject their CSS via client-side JS. Even luci-mod-network does.

Signed-off-by: Packet Please &lt;pktpls@systemli.org&gt;
</content>
</entry>
<entry>
<title>luci-theme-bootstrap: handle null board info in container environments</title>
<updated>2026-06-28T00:00:03Z</updated>
<author>
<name>Maxim Skokov</name>
</author>
<published>2026-06-26T23:46:17Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=cf114f96b632adb1ffa54587f7288b17a4d0d2f2'/>
<id>urn:sha1:cf114f96b632adb1ffa54587f7288b17a4d0d2f2</id>
<content type='text'>
ubus.call('system', 'board') returns null in minimal container
runtimes without procd. Subsequent accesses to boardinfo.hostname
and boardinfo.rootfs_type crash with 'left-hand side expression
is null'. Add null fallback to prevent the crash.

Fixes openwrt/luci#8726.

Signed-off-by: Maxim Skokov &lt;skokov.m020709@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme-openwrt: fix empty data-page when request path is empty</title>
<updated>2026-06-27T23:17:20Z</updated>
<author>
<name>Maxim Skokov</name>
</author>
<published>2026-06-27T13:19:19Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=b45584b4e6068b9b096872dd02494a048d869c36'/>
<id>urn:sha1:b45584b4e6068b9b096872dd02494a048d869c36</id>
<content type='text'>
Fall back to ctx.path when ctx.request_path is empty.

Fixes openwrt/luci#8534.

Signed-off-by: Maxim Skokov &lt;skokov.m020709@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme-openwrt-2020: fix empty data-page when request path is empty</title>
<updated>2026-06-27T23:17:20Z</updated>
<author>
<name>Maxim Skokov</name>
</author>
<published>2026-06-27T13:19:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=22ce1df0f3a3a26c60a434d5141b2582325a80a8'/>
<id>urn:sha1:22ce1df0f3a3a26c60a434d5141b2582325a80a8</id>
<content type='text'>
Fall back to ctx.path when ctx.request_path is empty.

Fixes openwrt/luci#8534.

Signed-off-by: Maxim Skokov &lt;skokov.m020709@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme-bootstrap: fix empty data-page when request path is empty</title>
<updated>2026-06-27T23:17:20Z</updated>
<author>
<name>Maxim Skokov</name>
</author>
<published>2026-06-27T13:17:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=ee0674fa8e6b77dbc25f9008134681fc455073b8'/>
<id>urn:sha1:ee0674fa8e6b77dbc25f9008134681fc455073b8</id>
<content type='text'>
When accessing LuCI via root URL or after login redirect,
ctx.request_path is empty and data-page attribute is blank.
Fall back to ctx.path which holds the resolved page route.

Fixes openwrt/luci#8534.

Signed-off-by: Maxim Skokov &lt;skokov.m020709@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme-material: correctness fixes</title>
<updated>2026-05-27T12:49:47Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-05-26T10:09:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=3c872414bb984ac3fdbad422162764f5c3a0ceb9'/>
<id>urn:sha1:3c872414bb984ac3fdbad422162764f5c3a0ceb9</id>
<content type='text'>
Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme-material: add dark mode support</title>
<updated>2026-05-27T11:29:01Z</updated>
<author>
<name>Shannon Barber</name>
</author>
<published>2026-04-12T21:56:12Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=54338546bca800dad20248534c2a8733f70c1c26'/>
<id>urn:sha1:54338546bca800dad20248534c2a8733f70c1c26</id>
<content type='text'>
Add dark mode following the luci-theme-bootstrap pattern: auto-detect
via prefers-color-scheme, with forced MaterialDark/MaterialLight
variants. Replace ~60 hardcoded colors in cascade.css with CSS
variables and override them in a :root[data-darkmode="true"] block.

Signed-off-by: Shannon Barber &lt;sgbarber@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme-bootstrap: fix header .pull-right</title>
<updated>2026-04-11T06:35:01Z</updated>
<author>
<name>Joshua Criss</name>
</author>
<published>2026-04-06T23:17:28Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=6006b3408527460ae99bdb34877d5ab837ef402b'/>
<id>urn:sha1:6006b3408527460ae99bdb34877d5ab837ef402b</id>
<content type='text'>
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 &lt;owlsy@outlook.com.au&gt;
</content>
</entry>
<entry>
<title>luci-base: add authentication plugin mechanism</title>
<updated>2026-04-09T12:26:09Z</updated>
<author>
<name>Han Yiming</name>
</author>
<published>2026-01-29T09:23:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=4a308bab378851272d1795d14c624bc0a2250491'/>
<id>urn:sha1:4a308bab378851272d1795d14c624bc0a2250491</id>
<content type='text'>
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 &gt; Plugins interface.

Signed-off-by: Han Yiming &lt;moebest@outlook.jp&gt;
</content>
</entry>
</feed>
