mirror of https://github.com/openwrt/luci.git
Give each kind of data the form that suits it: a row of KPI cards for the values you check at a glance, a row of charts for the per-client data, and a tabbed panel for the details you look up once. Every field the page showed before is still there, only shaped differently. Build it from the markup LuCI and the themes already provide, so the page takes the look of whatever theme it runs in instead of carrying one of its own: .cbi-section with h3 and .cbi-section-descr for the cards and KPI tiles, .cbi-map with a .cbi-map-tabbed group for the tab panel and ui.tabs for its menu, .table with a .table-titles row and cbi-rowstyle stripes for the tables, .ifacebox for the wireless radios, the theme's .label for badges, and code, em, small and strong for values. ui.tabs also keeps the selected tab across the poll re-render. The charts are the one part LuCI has no component for, so they are drawn in a new lib/charts.js as plain DOM and SVG, with no dependency. Their colours, and the few rules left in custom.css, read the generic LuCI colour variables. Not every theme defines those, so each one now falls back to both a light and a dark literal, keyed on the theme's darkmode attribute and on prefers-color-scheme. custom.css used to fall back to light literals only, which left the page dark grey on dark under a theme that has a dark mode but not the variables. The five icons are redrawn as one stroke set and applied as a CSS mask, so they take their colour from the theme as well. The wireless signal is plotted as the RSSI the driver reports, in dBm, rather than a percentage derived from an assumed noise floor, and clients are graded against -67 dBm. Byte counters are formatted with %1024.2mB and the traffic axis labelled in KiB/MiB/GiB, matching how the status pages present the same values. No new data is collected and no new ACL entry or RPC method is needed. Signed-off-by: Eamon Xiong <eamonxiong@gmail.com> |
||
|---|---|---|
| .github | ||
| applications | ||
| build | ||
| collections | ||
| contrib/package | ||
| doc_gen | ||
| docs | ||
| libs | ||
| modules | ||
| plugins | ||
| protocols | ||
| themes | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| NOTICE | ||
| README.md | ||
| eslint.config.mjs | ||
| jsdoc.conf.json | ||
| luci.mk | ||
| package.json | ||
README.md
OpenWrt luci feed
Description
This is the OpenWrt "luci"-feed containing LuCI - OpenWrt Configuration Interface.
Usage
This feed is enabled by default. Your feeds.conf.default (or feeds.conf) should contain a line like:
src-git luci https://github.com/openwrt/luci.git
To install all its package definitions, run:
./scripts/feeds update luci
./scripts/feeds install -a -p luci
API Reference
You can browse the generated API documentation directly on Github.
Use ucode and rpcd for server side operations.
Development
Documentation for developing and extending LuCI can be found in the Wiki
License
See LICENSE file.
Package Guidelines
See CONTRIBUTING.md file.
Translation status
Use Weblate instead of direct editing of the *.po files.