diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-09-26 12:26:41 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2022-10-25 01:03:37 +0200 |
commit | e4960147606af6528f5b92f975e30c61565d53a0 (patch) | |
tree | f246295bd91fc797fa15345e5c4af994bd3ed47c /themes | |
parent | 791a71d225bf8c65ca4f126f19c44f3d4f93d408 (diff) |
luci-theme-material: convert Lua templates to ucode
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'themes')
-rw-r--r-- | themes/luci-theme-material/luasrc/view/themes/material/header.htm | 101 | ||||
-rw-r--r-- | themes/luci-theme-material/ucode/templates/material/footer.ut (renamed from themes/luci-theme-material/luasrc/view/themes/material/footer.htm) | 20 | ||||
-rw-r--r-- | themes/luci-theme-material/ucode/templates/material/header.ut | 96 |
3 files changed, 106 insertions, 111 deletions
diff --git a/themes/luci-theme-material/luasrc/view/themes/material/header.htm b/themes/luci-theme-material/luasrc/view/themes/material/header.htm deleted file mode 100644 index 48059fe17a..0000000000 --- a/themes/luci-theme-material/luasrc/view/themes/material/header.htm +++ /dev/null @@ -1,101 +0,0 @@ -<%# - Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI - - luci-theme-material - Copyright 2015-2017 Lutty Yang <lutty@wcan.in> - - Have a bug? Please create an issue here on GitHub! - https://github.com/LuttyYang/luci-theme-material/issues - - luci-theme-bootstrap: - Copyright 2008 Steven Barth <steven@midlink.org> - Copyright 2008-2016 Jo-Philipp Wich <jow@openwrt.org> - Copyright 2012 David Menting <david@nut-bolt.nl> - - MUI: - https://github.com/muicss/mui - - Licensed to the public under the Apache License 2.0 --%> - -<% - local sys = require "luci.sys" - local util = require "luci.util" - local http = require "luci.http" - local disp = require "luci.dispatcher" - local ver = require "luci.version" - - local boardinfo = util.ubus("system", "board") or { } - - local node = disp.context.dispatched - local path = table.concat(disp.context.path, "-") - - http.prepare_content("text/html; charset=UTF-8") --%> -<!DOCTYPE html> -<html lang="<%=luci.i18n.context.lang%>"> -<head> -<meta charset="utf-8"> -<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/> -<meta name="apple-mobile-web-app-capable" content="yes"> -<meta name="mobile-web-app-capable" content="yes"> -<meta name="theme-color" content="#09c"> -<meta name="msapplication-tap-highlight" content="no"> -<meta name="msapplication-TileColor" content="#09c"> -<meta name="application-name" content="<%=striptags( (boardinfo.hostname or "?") ) %> - LuCI"> -<meta name="apple-mobile-web-app-title" content="<%=striptags( (boardinfo.hostname or "?") ) %> - LuCI"> -<link rel="stylesheet" href="<%=media%>/cascade.css"> -<link rel="shortcut icon" href="<%=media%>/favicon.ico"> -<% if node and node.css then %> -<link rel="stylesheet" href="<%=resource%>/<%=node.css%>"> -<% end -%> -<script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script> -<script src="<%=resource%>/cbi.js"></script> -<title><%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title> -<% if css then %><style title="text/css"> -<%= css %> -</style> -<% end -%> -</head> -<body class="lang_<%=luci.i18n.context.lang%> <% if luci.dispatcher.context.authsession then %>logged-in<% end %> <% if not (path == "") then %>node-<%= path %><% else %>node-main-login<% end %>" data-page="<%= pcdata(path) %>"> -<header> - <div class="fill"> - <div class="container"> - <span class="showSide"></span> - <a id="logo" href="<% if luci.dispatcher.context.authsession then %><%=url('admin/status/overview')%><% else %>#<% end %>"><img src="<%=media%>/brand.png" alt="OpenWrt"></a> - <a class="brand" href="#"><%=striptags(boardinfo.hostname or "?")%></a> - <span class="status" id="indicators"></span> - </div> - </div> -</header> -<div class="main"> - <div style="" class="loading"><span><div class="loading-img"></div><%:Collecting data...%></span></div> - <div class="main-left" id="mainmenu" style="display:none"></div> - <div class="main-right"> - <div class="modemenu-buttons" style="display:none"> - <ul id="modemenu"></ul> - </div> - <div class="darkMask"></div> - <div id="maincontent"> - <div class="container"> - <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") and path ~= "admin-system-admin-password" then -%> - <%- end -%> - - <%- if boardinfo.rootfs_type == "initramfs" then -%> - <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 disp.lookup("admin/system/flash") then %> - <div class="right"><a class="btn" href="<%=url("admin/system/flash")%>"><%:Go to firmware upgrade...%></a></div> - <% end %> - </div> - <%- end -%> - - <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> - - <div id="tabmenu" style="display:none"></div> diff --git a/themes/luci-theme-material/luasrc/view/themes/material/footer.htm b/themes/luci-theme-material/ucode/templates/material/footer.ut index f572504f4b..9249427a43 100644 --- a/themes/luci-theme-material/luasrc/view/themes/material/footer.htm +++ b/themes/luci-theme-material/ucode/templates/material/footer.ut @@ -1,4 +1,4 @@ -<%# +{# Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI luci-theme-material @@ -16,17 +16,17 @@ https://github.com/muicss/mui Licensed to the public under the Apache License 2.0 --%> - -<% local ver = require "luci.version" %> - </div> - <footer class="mobile-hide"> - <a href="https://github.com/openwrt/luci">Powered by <%= ver.luciname %> (<%= ver.luciversion %>)</a> / <%= ver.distversion %> - </footer> +-#} + + </div> + <footer class="mobile-hide"> + <a href="https://github.com/openwrt/luci">Powered by {{ version.luciname }} ({{ version.luciversion }})</a> / + {{ version.distname }} {{ version.distversion }} ({{ version.distrevision }}) + </footer> + </div> </div> -</div> -<script type="text/javascript">L.require('menu-material')</script> + <script type="text/javascript">L.require('menu-material')</script> </body> </html> diff --git a/themes/luci-theme-material/ucode/templates/material/header.ut b/themes/luci-theme-material/ucode/templates/material/header.ut new file mode 100644 index 0000000000..24b2c73517 --- /dev/null +++ b/themes/luci-theme-material/ucode/templates/material/header.ut @@ -0,0 +1,96 @@ +{# + Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI + + luci-theme-material + Copyright 2015-2017 Lutty Yang <lutty@wcan.in> + + Have a bug? Please create an issue here on GitHub! + https://github.com/LuttyYang/luci-theme-material/issues + + luci-theme-bootstrap: + Copyright 2008 Steven Barth <steven@midlink.org> + Copyright 2008-2016 Jo-Philipp Wich <jow@openwrt.org> + Copyright 2012 David Menting <david@nut-bolt.nl> + + MUI: + https://github.com/muicss/mui + + Licensed to the public under the Apache License 2.0 +-#} + +{% + import { getuid, getspnam } from 'luci.core'; + + const boardinfo = ubus.call('system', 'board'); + const hostname = striptags(boardinfo?.hostname ?? '?'); + + http.prepare_content('text/html; charset=UTF-8'); +-%} + +<!DOCTYPE html> +<html lang="{{ dispatcher.lang }}"> +<head> +<meta charset="utf-8"> +<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/> +<meta name="apple-mobile-web-app-capable" content="yes"> +<meta name="mobile-web-app-capable" content="yes"> +<meta name="theme-color" content="#09c"> +<meta name="msapplication-tap-highlight" content="no"> +<meta name="msapplication-TileColor" content="#09c"> +<meta name="application-name" content="{{ hostname }} - LuCI"> +<meta name="apple-mobile-web-app-title" content="{{ hostname }} - LuCI"> +<link rel="stylesheet" href="{{ media }}/cascade.css"> +<link rel="shortcut icon" href="{{ media }}/favicon.ico"> +{% if (node?.css): %} +<link rel="stylesheet" href="{{ resource }}/{{ node.css }}"> +{% endif %} +<script src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script> +<script src="{{ resource }}/cbi.js"></script> +<title>{{ hostname }}{{ node?.title ? ` - ${striptags(node.title)}` : '' }} - LuCI</title> +{% if (css): %} +<style title="text/css">{{ css }}</style> +{% endif %} +</head> +<body class="lang_{{ dispatcher.lang }} {{ ctx.authsession ? 'logged-in' : '' }} {{ length(ctx.path) ? `node-${join('-', ctx.path)}` : 'node-main-login' }}" data-page="{{ entityencode(join('-', ctx.path), true) }}"> +<header> + <div class="fill"> + <div class="container"> + <span class="showSide"></span> + <a id="logo" href="{{ ctx.authsession ? dispatcher.build_url('admin/status/overview') : '#' }}"><img src="{{ media }}/brand.png" alt="OpenWrt"></a> + <a class="brand" href="#">{{ hostname }}</a> + <span class="status" id="indicators"></span> + </div> + </div> +</header> +<div class="main"> + <div style="" class="loading"><span><div class="loading-img"></div>{{ _('Collecting data...') }}</span></div> + <div class="main-left" id="mainmenu" style="display:none"></div> + <div class="main-right"> + <div class="modemenu-buttons" style="display:none"> + <ul id="modemenu"></ul> + </div> + <div class="darkMask"></div> + <div id="maincontent"> + <div class="container"> + {% if (getuid() == 0 && getspnam('root')?.pwdp === ''): %} + <!-- no password set --> + {% 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 %} + + <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> + + <div id="tabmenu" style="display:none"></div> |