From 7492f51d7f9b399a4beab7840b84a163da61f535 Mon Sep 17 00:00:00 2001 From: stopyz <stopyz@gmail.com> Date: Mon, 3 Jul 2023 22:03:01 +0200 Subject: [PATCH] Dashboard App for ACF --- app/acf-util/welcome-html.lsp | 19 +++++++++---------- app/alpine-baselayout/health-model.lua | 2 +- app/template-html.lsp | 10 ++++++---- css/dashboard-main/logon.css | 2 +- css/dashboard-main/mobile.css | 2 +- lib/htmlviewfunctions.lua | 4 ++++ 6 files changed, 22 insertions(+), 17 deletions(-) diff --git a/app/acf-util/welcome-html.lsp b/app/acf-util/welcome-html.lsp index 05667e8..10aeb45 100644 --- a/app/acf-util/welcome-html.lsp +++ b/app/acf-util/welcome-html.lsp @@ -143,7 +143,7 @@ end <!-- Dashboard App Block - LINE 1 --> <div class="dashboard-main main-block"> <!-- Dashboard Version Block - BLOCK 1 --> - <div class="dashboard-system dashboard-block"> + <div style="cursor: pointer;" onclick="window.open('/cgi-bin/acf/alpine-baselayout/health/system', '_blank')" class="dashboard-system dashboard-block"> <div class="data-block data-system"> <h4 class="dashboard-block-title dashboard-title-system">System</h4> <p class="dashboard-infos dash-info-version"> @@ -176,7 +176,7 @@ end let delay = () => { increment += 1; - // CONVERT JS UPTIME + // CONVERT JS UPTIME 😂 js_uptime = parseInt(increment); var js_centuries = Math.floor((js_uptime / (3600*24) / 365) / 100); var js_years = Math.floor((js_uptime / (3600*24) / 365) % 100); @@ -202,13 +202,13 @@ end </span> </div> </div> + <!-- Dashboard App Block - LINE 1 --> </div> - <!-- Dashboard App Block - LINE 2 --> <div class="dashboard-main main-block"> <!-- Dashboard Main Block - SYSTEM - BLOCK 1 --> - <div class="dashboard-hardware dashboard-block medium-block"> + <div style="cursor: pointer;" onclick="window.open('/cgi-bin/acf/alpine-baselayout/health/proc', '_blank')" class="dashboard-hardware dashboard-block medium-block"> <div class="data-block data-system"> <h4 class="dashboard-block-title dashboard-title-hardware">Hardware</h4> <span class="icon-cpu"> @@ -240,8 +240,7 @@ end <p class="dashboard-infos dash-info-bios"> <span class="data-title">BIOS : </span> <span id="version">ver: </span><%= sys.value.biosVersion.value %> | - <%= sys.value.biosVendor.value %> - - <%= sys.value.biosDate.value %> + <%= sys.value.biosVendor.value %> | <%= sys.value.biosDate.value %> </p> <p class="dashboard-infos dash-info-cpu"> <span class="data-title">CPU : </span><%= string.sub((proc.value.model.value), 14) %> @@ -281,7 +280,7 @@ end <!-- Dashboard Main Block - DISK - BLOCK 2 --> <div class="dashboard-main main-block medium-block"> - <div class="dashboard-memory dashboard-block"> + <div style="cursor: pointer;" onclick="window.open('/cgi-bin/acf/alpine-baselayout/health/storage', '_blank')" class="dashboard-disk dashboard-block"> <h4 class="dashboard-block-title dashboard-title-disk">Disk</h4> <!-- Dashboard Main Block - DISK CHART FROM N.ANGELACOS ACF NATIVE APP --> <% displaydisk = function(disk, name) @@ -332,7 +331,7 @@ end <!-- Dashboard Main Block - MEMORY - BLOCK 3 --> <div class="dashboard-main main-block small-block"> - <div class="dashboard-memory dashboard-block"> + <div style="cursor: pointer;" onclick="window.open('/cgi-bin/acf/alpine-baselayout/health/system', '_blank')" class="dashboard-memory dashboard-block"> <h4 class="dashboard-block-title dashboard-title-memory">Memory</h4> <!-- Dashboard Main Block - CHART.JS --> <div class="chart-canvas chartjs"> @@ -395,7 +394,7 @@ $(function memChart() { <!-- Dashboard App Block - LINE 3 --> <div class="dashboard-main main-block"> <!-- Dashboard Main Block - 1 --> - <div class="dashboard-block large-block dashboard-network"> + <div style="cursor: pointer;" onclick="window.open('/cgi-bin/acf/alpine-baselayout/health/network', '_blank')" class="dashboard-network dashboard-block large-block"> <div class="data-block data-system"> <h4 class="dashboard-block-title dashboard-title-network-stats">Network Stats</h4> <div id="chartNetwork"> </div> @@ -517,7 +516,7 @@ $(function networkChart() { <!-- Dashboard App Block - LINE 4 --> <div class="dashboard-main main-block"> <!-- Dashboard Main Block - DISK & PARTITION 1 --> - <div class="dashboard-ssh dashboard-block large-block"> + <div style="cursor: pointer;" onclick="window.open('/cgi-bin/acf/alpine-baselayout/health/storage, '_blank')'" class="dashboard-disk dashboard-block large-block"> <div class="data-block data-diskpart"> <h4 class="dashboard-block-title dashboard-title-disk-viewer">Disk | Partition Viewer</h4> <p class="dashboard-infos dash-info-keys"> diff --git a/app/alpine-baselayout/health-model.lua b/app/alpine-baselayout/health-model.lua index 399b010..4bb455b 100644 --- a/app/alpine-baselayout/health-model.lua +++ b/app/alpine-baselayout/health-model.lua @@ -92,7 +92,7 @@ mymodule.get_system = function (self) system.boardVersion = cfe({ value=querycmd("cat /sys/devices/virtual/dmi/id/board_version") or "Unknown", label="Board Version" }) system.biosVendor = cfe({ value=querycmd("cat /sys/devices/virtual/dmi/id/bios_vendor") or "Unknown", label="Bios Vendor" }) system.biosVersion = cfe({ value=querycmd("cat /sys/devices/virtual/dmi/id/bios_version") or "Unknown", label="Bios Version" }) - system.biosDate = cfe({ value=querycmd("cat /sys/devices/virtual/dmi/id/bios_date") or "Unknown", label="Bios Date" }) + system.biosDate = cfe({ value=string.match(querycmd("cat /sys/devices/virtual/dmi/id/bios_date"), "%d%d%d%d") or "Unknown", label="Bios Date" }) return cfe({ type="group", value=system, label="System" }) end diff --git a/app/template-html.lsp b/app/template-html.lsp index da172d0..3986826 100644 --- a/app/template-html.lsp +++ b/app/template-html.lsp @@ -83,7 +83,7 @@ end $(function(){ $(":input:not(input[type=button],input[type=submit],button):enabled:not([readonly]):visible:first").focus(); }); - + $(document).ready(function() { // Login page input placeholder if(window.location.href.indexOf("logon/logon") > -1){ @@ -91,8 +91,10 @@ end document.querySelector('#password input').setAttribute('required','required'); document.querySelector('#userid input').setAttribute('placeholder','🔒 User ID'); document.querySelector('#password input').setAttribute('placeholder','🔑 Password'); - document.querySelector('#userid input').setAttribute('autocomplete','username'); - document.querySelector('#password input').setAttribute('autocomplete','current-password'); + document.querySelector('#login').setAttribute('autocomplete','on'); + + document.querySelector('#password input').setAttribute('autocomplete','off'); + document.querySelector('.hidden').setAttribute('hidden',''); }; // Save collapse menu state var updated = window.localStorage.getItem('nav', updated); @@ -246,7 +248,7 @@ end </div> <!-- main --> - <div id="footer"> + <div id="footer" style="cursor: pointer;" onclick="window.open('https://www.alpinelinux.org/about/', '_blank')"> <a href="https://www.alpinelinux.org/about/" target="_blank"> © Alpine | 2008 - <%= html.html_escape(os.date("%Y")) %> </a> diff --git a/css/dashboard-main/logon.css b/css/dashboard-main/logon.css index 14444e0..b577a8b 100644 --- a/css/dashboard-main/logon.css +++ b/css/dashboard-main/logon.css @@ -75,7 +75,7 @@ margin-top: 1rem !important; } -#logon .left { +#login .left { display: none !important; } /*REMOVE ME ! ------------------- REMOVE LEFT CONTENT FOR PLACEHOLDER - GO TO readme.md for activate it in /usr/share/lua/5.4/html - Depend of your lua version acf install 20230407*/ diff --git a/css/dashboard-main/mobile.css b/css/dashboard-main/mobile.css index 7931f94..0ea4355 100644 --- a/css/dashboard-main/mobile.css +++ b/css/dashboard-main/mobile.css @@ -140,7 +140,7 @@ color: #d9d9d9; float: left; margin: 0 1.5rem 0 0.5rem; - padding: 1.25rem 2rem 1.25rem 1rem !important; + padding: 1.25rem 1.5rem 1.25rem 0.5rem !important; } .icon-header { diff --git a/lib/htmlviewfunctions.lua b/lib/htmlviewfunctions.lua index e45eaf4..310a545 100644 --- a/lib/htmlviewfunctions.lua +++ b/lib/htmlviewfunctions.lua @@ -271,7 +271,11 @@ function mymodule.displayformstart(myform, page_info) myform.action = page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action end mymodule.displayinfo(myform) + if page_info.action == "logon" then + io.write('<form action="' .. html.html_escape(myform.action) .. '" id="login" ') + else io.write('<form action="' .. html.html_escape(myform.action) .. '" id="' .. html.html_escape(myform.id or page_info.action) .. '" ') + end if myform.enctype and myform.enctype ~= "" then io.write('enctype="'..html.html_escape(myform.enctype)..'" ') end -- GitLab