diff options
author | Jo-Philipp Wich <jo@mein.io> | 2024-07-30 00:06:23 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2024-07-30 00:08:31 +0200 |
commit | 79a7012dce62624d61bb50934f1b382518455cdc (patch) | |
tree | 8d535ebfef09edcd2719501b5c34e48eb8a16e14 /themes/luci-theme-openwrt/ucode | |
parent | 52bbc55f6d911dfa57b6d0c6482a212775f5cfda (diff) |
luci-theme-openwrt: 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>
Diffstat (limited to 'themes/luci-theme-openwrt/ucode')
-rw-r--r-- | themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/footer.ut | 18 | ||||
-rw-r--r-- | themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/header.ut | 88 |
2 files changed, 106 insertions, 0 deletions
diff --git a/themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/footer.ut b/themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/footer.ut new file mode 100644 index 0000000000..1b6bfff5bb --- /dev/null +++ b/themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/footer.ut @@ -0,0 +1,18 @@ +{# + Copyright 2008 Steven Barth <steven@midlink.org> + Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> + Licensed to the public under the Apache License 2.0. +-#} + +<div class="clear"></div> +</div> +</div> + +<p class="luci"> + Powered by {{ version.luciname }} ({{ version.luciversion }}) +</p> + +<script type="text/javascript">L.require('menu-openwrt')</script> + +</body> +</html> diff --git a/themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/header.ut b/themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/header.ut new file mode 100644 index 0000000000..f6c20be188 --- /dev/null +++ b/themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/header.ut @@ -0,0 +1,88 @@ +{# + Copyright 2008 Steven Barth <steven@midlink.org> + Copyright 2008-2010 Jo-Philipp Wich <jow@openwrt.org> + Licensed to the public under the Apache License 2.0. +-#} + +{% + import { getuid, getspnam } from 'luci.core'; + + const boardinfo = ubus.call('system', 'board'); + const loadinfo = ubus.call("system", "info")?.load; + + http.prepare_content("application/xhtml+xml"); +-%} + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{ dispatcher.lang }}" lang="{{ dispatcher.lang }}"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> +<meta http-equiv="Content-Script-Type" content="text/javascript" /> +<link rel="stylesheet" type="text/css" media="screen" href="{{ media }}/cascade.css" /> +{% if (node?.css): %} +<link rel="stylesheet" type="text/css" media="screen" href="{{ resource }}/{{ node.css }}" /> +{% endif %} +{% if (css): %} +<style type="text/css">{{ css }}</style> +{% endif %} +<script type="text/javascript" src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script> +<script type="text/javascript" src="{{ resource }}/cbi.js"></script> + +<title>{{ striptags(`${boardinfo.hostname ?? '?'}${node ? ` - ${_(node.title)}` : ''}`) }} - LuCI</title> +</head> +<body class="lang_{{ dispatcher.lang }}" data-page="{{ entityencode(join('-', ctx.request_path), true) }}"> + +<p class="skiplink"> +<span id="skiplink1"><a href="#navigation">{{ _('Skip to navigation') }}</a></span> +<span id="skiplink2"><a href="#content">{{ _('Skip to content') }}</a></span> +</p> + +<div id="menubar"> +<h2 class="navigation"><a id="navigation" name="navigation">{{ _('Navigation') }}</a></h2> + +<div class="hostinfo"> + {{ striptags(boardinfo.hostname ?? '?') }} | {{ version.distversion }} | + {{ _('Load') }}: {{ loadinfo ? join(' ', map(loadinfo, load => sprintf("%.2f", load / 65535.0))) : '-' }} +</div> + +<div id="indicators"></div> + +<ul id="modemenu" style="display:none"></ul> + +<div class="clear"></div> +</div> + +<div id="maincontainer"> + <div id="mainmenu" style="display:none"></div> + + <div id="maincontent"> + <div id="tabmenu" style="display:none"></div> + + <noscript> + <div class="alert-message warning"> + <h4>{{ _('JavaScript required!') }}</h4> + <p>{{ _('You must enable JavaScript in your browser or LuCI will not work properly.') }}</p> + </div> + </noscript> + + {% if (getuid() == 0 && getspnam('root')?.pwdp === '' && join('-', ctx.request_path) != 'admin-system-admin'): %} + <div class="alert-message warning"> + <h4>{{ _('No password set!') }}</h4> + <p>{{ _('There is no password set on this router. Please configure a root password to protect the web interface.') }}</p> + {% if (dispatcher.lookup("admin/system/admin")): %} + <div class="right"><a class="btn" href="{{ dispatcher.build_url("admin/system/admin") }}">{{ _('Go to password configuration...') }}</a></div> + {% endif %} + </div> + {% endif %} + + {% if (boardinfo.rootfs_type == "initramfs"): %} + <div class="alert-message warning"> + <h4>{{ _('System running in recovery (initramfs) mode.') }}</h4> + <p>{{ _('No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade') }}</p> + {% if (dispatcher.lookup("admin/system/flash")): %} + <div class="right"><a class="btn" href="{{ dispatcher.build_url("admin/system/flash") }}">{{ _('Go to firmware upgrade...') }}</a></div> + {% endif %} + </div> + {% endif %} |