Răsfoiți Sursa

Added wip system overview status module

Toby Chui 1 an în urmă
părinte
comite
4aca496cda

+ 120 - 3
web/SystemAO/desktop/utils/sysoverview.html

@@ -1,11 +1,128 @@
 <div class="sysoverview">
     <style>
         #sysoverviewRender{
-            height: 200px;
-            border: 1px solid blue;
+            
+            padding-top: 1em;
+            /* border: 1px solid blue; */
+        }
+
+        #sysoverviewRender .title{
+            color: #32b218;
+        }
+
+        #sysoverviewRender .sysoverviewtable{
+            margin-left: 1em;
+            margin-right: 1em;
+            margin-top: 1.5em;
+        }
+
+        #sysoverviewRender .hoststatus{
+            display: flex;
+            justify-content: center;
+            margin-right: 2em;
         }
     </style>
     <div id="sysoverviewRender">
-        SYSTEM OVERVIEW
+        <div class="hoststatus">
+            <h2 class="ui header">
+                <img class="statusicon" src="img/desktop/system_icon/checkmark.svg">
+                <div class="content">
+                    <span class="title">Healthy</span>
+                    <div class="sub header statusDesc">Your server seems working well! </div>
+                </div>
+            </h2>
+        </div>
+        <div class="sysoverviewtable">
+            <table class="ui very basic compact table">
+                <tbody>
+                    <tr>
+                        <td locale="quickAccess/overview/hostname">Host Name</td>
+                        <td class="hostname"></td>
+                    </tr>
+                    <tr>
+                        <td>
+                            <div class="ui dropdown iface">
+                            <div class="text">loopback</div>
+                            <i class="dropdown icon"></i>
+                            <div class="menu">
+                              <div class="item">loopback</div>
+                            </div>
+                        </td>
+                        <td class="ifaceip">127.0.0.1</td>
+                    </tr>
+                    <tr>
+                        <td locale="quickAccess/overview/uuid">Dev. UUID</td>
+                        <td class="sysuuid" style="font-size: 0.8em;"></td>
+                    </tr>
+                </tbody>
+            </table>
+        </div>
     </div>
+    <script>
+        
+
+        //Fill in the system overview information
+        if (typeof(hostInfo) != "undefined"){
+            $(".sysoverviewtable .hostname").text(hostInfo.Hostname);
+            $(".sysoverviewtable .sysuuid").text(hostInfo.DeviceUUID);
+        }
+        
+        applocale.translate();
+
+        //Fill nic info
+        $.get(ao_root + "system/network/getNICinfo", function(data){
+            console.log(data);
+            if (data.error == undefined){
+                let menuElement = $("#sysoverviewRender .dropdown.iface .menu");
+                menuElement.html("");
+                data.forEach(nic => {
+                    let targetIP = nic.IPv4Addr;
+                    if (targetIP == "N/A"){
+                        targetIP = nic.IPv6Addr;
+                    }
+                    menuElement.append(`<div class="item" value="${targetIP}">${nic.Name}</div>`);
+                });
+            }
+
+            //Select the first nic
+            $("#sysoverviewRender .dropdown.iface").dropdown({
+                onChange: function(){
+                    let newIface = $("#sysoverviewRender .dropdown.iface").dropdown("get item");
+                    let newIp = $(newIface).attr("value");
+                    $("#sysoverviewRender .ifaceip").text(newIp);
+                }
+            })
+            $("#sysoverviewRender .dropdown.iface").dropdown("set selected",data[0].Name);
+            
+        });
+
+
+        //Update system status warning, 0 = good, 1 = warning, 2 = error
+        function updateSystemOverviewStatusText(warningStatus=0){
+            let titleText = $("#sysoverviewRender .hoststatus .title");
+            let titleDesc = $("#sysoverviewRender .hoststatus .statusDesc");
+            let statusIconEle = $("#sysoverviewRender .statusicon");
+            if (warningStatus == 0){
+                //Normal, looks good
+                titleText.text(applocale.getString("quickAccess/overview/status/healthy", "Good"));
+                titleDesc.text(applocale.getString("quickAccess/overview/status/healthy/desc", "Your server seems working well! "));
+                titleText.css("color", "#32b218");
+                statusIconEle.attr('src', 'img/desktop/system_icon/checkmark.svg');
+            }else if (warningStatus == 1){
+                //Warning
+                titleText.text(applocale.getString("quickAccess/overview/status/warning", "Good"));
+                titleText.css("color", "#f09600");
+                titleDesc.text(applocale.getString("quickAccess/overview/status/warning/desc", "Your server seems working well! "));
+                statusIconEle.attr('src', 'img/desktop/system_icon/warning.svg');
+            }else{
+                //Screwed
+                titleText.text(applocale.getString("quickAccess/overview/status/screwed", "Good"));
+                titleDesc.text(applocale.getString("quickAccess/overview/status/screwed/desc", "Your server seems working well! "));
+                titleText.css("color", "#c10d23");
+                statusIconEle.attr('src', 'img/desktop/system_icon/error.svg');
+            }
+        }
+        updateSystemOverviewStatusText(0);
+
+    </script>
 </div>

+ 53 - 1
web/SystemAO/locale/desktop.json

@@ -39,6 +39,17 @@
                 "quickAccess/restart":"重新啟動伺服器",
                 "quickAccess/poweroff":"關機伺服器",
 
+                "quickAccess/overview/status/healthy": "良好",
+                "quickAccess/overview/status/healthy/desc": "伺服器看來運作良好喔!",
+                "quickAccess/overview/status/warning": "注意",
+                "quickAccess/overview/status/warning/desc": "伺服器看來有些小問題",
+                "quickAccess/overview/status/screwed": "噢不",
+                "quickAccess/overview/status/screwed/desc": "好像有點東西搞砸了的味道。。。",
+                "quickAccess/overview/hostname": "伺服器名稱",
+                "quickAccess/overview/uptime": "運作時間",
+                "quickAccess/overview/model": "機器型號",
+                "quickAccess/overview/uuid": "裝置識別碼",
+
                 "backgroundTasks/noTasks": "沒有執行中之背景任務",
                 "backgroundTasks/refresh": "重新載入",
 
@@ -146,6 +157,16 @@
                 "quickAccess/fullscreen":"切換全螢幕",
                 "quickAccess/restart":"重新啟動伺服器",
                 "quickAccess/poweroff":"關機伺服器",
+                "quickAccess/overview/status/healthy": "良好",
+                "quickAccess/overview/status/healthy/desc": "伺服器睇落運作良好!",
+                "quickAccess/overview/status/warning": "注意",
+                "quickAccess/overview/status/warning/desc": "伺服器睇落有啲小問題",
+                "quickAccess/overview/status/screwed": "仆街啦",
+                "quickAccess/overview/status/screwed/desc": "好似有啲野死咗,快啲 check 吓佢啦",
+                "quickAccess/overview/hostname": "伺服器名稱",
+                "quickAccess/overview/uptime": "運作時間",
+                "quickAccess/overview/model": "機器型號",
+                "quickAccess/overview/uuid": "裝置識別碼",
 
                 "backgroundTasks/noTasks": "沒有執行中之背景任務",
                 "backgroundTasks/refresh": "重新載入",
@@ -253,6 +274,17 @@
                 "quickAccess/fullscreen":"切换全屏幕",
                 "quickAccess/restart":"服务器重启",
                 "quickAccess/poweroff":"服务器关机",
+                "quickAccess/overview/status/healthy": "良好",
+                "quickAccess/overview/status/healthy/desc": "服务器看来运作良好喔!",
+                "quickAccess/overview/status/warning": "注意",
+                "quickAccess/overview/status/warning/desc": "服务器看来有些小问题",
+                "quickAccess/overview/status/screwed": "噢不",
+                "quickAccess/overview/status/screwed/desc": "好像有点东西搞砸了。。。",
+                "quickAccess/overview/hostname": "服务器名称",
+                "quickAccess/overview/uptime": "运作时间",
+                "quickAccess/overview/model": "机器型号",
+                "quickAccess/overview/uuid": "装置识别码",
+            
 
                 "backgroundTasks/noTasks": "没有执行中的背景任务",
                 "backgroundTasks/refresh": "重新加载",
@@ -362,7 +394,17 @@
                 "quickAccess/fullscreen":"Toggle Full Screen",
                 "quickAccess/restart":"Restart Server",
                 "quickAccess/poweroff":"Shutdown Server",
-            
+                "quickAccess/overview/status/healthy": "Good",
+                "quickAccess/overview/status/healthy/desc": "The server seems to be operating well!",
+                "quickAccess/overview/status/warning": "Warning",
+                "quickAccess/overview/status/warning/desc": "There seems to be some minor issues",
+                "quickAccess/overview/status/screwed": "Oh Shit",
+                "quickAccess/overview/status/screwed/desc": "Looks like something screwed...",
+                "quickAccess/overview/hostname": "Host Name",
+                "quickAccess/overview/uptime": "Uptime",
+                "quickAccess/overview/model": "Model",
+                "quickAccess/overview/uuid": "Dev. UUID",
+
                 "backgroundTasks/noTasks": "No background tasks are currently running",
                 "backgroundTasks/refresh": "Refresh",
             
@@ -470,6 +512,16 @@
                 "quickAccess/fullscreen": "全画面表示の切り替え",
                 "quickAccess/restart": "サーバーの再起動",
                 "quickAccess/poweroff": "サーバーのシャットダウン",
+                "quickAccess/overview/status/healthy": "健康",
+                "quickAccess/overview/status/healthy/desc": "サーバーは正常に動作しているようです!",
+                "quickAccess/overview/status/warning": "警告",
+                "quickAccess/overview/status/warning/desc": "サーバーにいくつかの小さな問題があるようです",
+                "quickAccess/overview/status/screwed": "だめ",
+                "quickAccess/overview/status/screwed/desc": "何かがちょっとおかしくなっているようです。。。",
+                "quickAccess/overview/hostname": "サーバー名",
+                "quickAccess/overview/uptime": "稼働時間",
+                "quickAccess/overview/model": "機種",
+                "quickAccess/overview/uuid": "デバイス識別子",
 
                 "backgroundTasks/noTasks": "現在、バックグラウンドで実行中のタスクはありません",
                 "backgroundTasks/refresh": "更新",

Fișier diff suprimat deoarece este prea mare
+ 27 - 0
web/img/desktop/system_icon/checkmark.ai


BIN
web/img/desktop/system_icon/checkmark.png


+ 9 - 0
web/img/desktop/system_icon/checkmark.svg

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<circle fill="#33B418" cx="261" cy="256" r="169"/>
+<polyline fill="none" stroke="#FFFFFF" stroke-width="36" stroke-miterlimit="10" points="333,210.333 236.333,299.667 
+	178.333,249.667 "/>
+</svg>

Fișier diff suprimat deoarece este prea mare
+ 27 - 0
web/img/desktop/system_icon/error.ai


BIN
web/img/desktop/system_icon/error.png


+ 15 - 0
web/img/desktop/system_icon/error.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="512px"
+	 height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<g id="圖層_1">
+	<circle fill="#C30D23" cx="261" cy="256" r="169"/>
+</g>
+<g id="圖層_2">
+	
+		<line fill="none" stroke="#FFFFFF" stroke-width="35" stroke-miterlimit="10" x1="330.297" y1="186.37" x2="191.703" y2="324.963"/>
+	
+		<line fill="none" stroke="#FFFFFF" stroke-width="35" stroke-miterlimit="10" x1="330.296" y1="324.963" x2="191.703" y2="186.371"/>
+</g>
+</svg>

Fișier diff suprimat deoarece este prea mare
+ 27 - 0
web/img/desktop/system_icon/warning.ai


BIN
web/img/desktop/system_icon/warning.png


+ 14 - 0
web/img/desktop/system_icon/warning.svg

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="512px"
+	 height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<g id="圖層_1">
+	<circle fill="#F39800" cx="261" cy="256" r="169"/>
+</g>
+<g id="圖層_2">
+	<line fill="none" stroke="#FFFFFF" stroke-width="36" stroke-miterlimit="10" x1="261" y1="161.125" x2="261" y2="313.125"/>
+	<path fill="#FFFFFF" d="M279.416,347.374c0,10.131-8.209,18.334-18.334,18.334c-10.123,0-18.332-8.203-18.332-18.334
+		c0-10.129,8.209-18.332,18.332-18.332C271.207,329.042,279.416,337.245,279.416,347.374z"/>
+</g>
+</svg>

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff