Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
e758078a8d | |||
e8bf1e0d81 | |||
a8c5f3a694 | |||
8d47e4c4f5 | |||
f9102eb707 | |||
139568415e | |||
b74bf3be3c | |||
07fbd43cbe |
@ -6,7 +6,6 @@ pipeline:
|
|||||||
build:
|
build:
|
||||||
image: node:16
|
image: node:16
|
||||||
commands:
|
commands:
|
||||||
- apt update && apt install -y ruby ruby-dev && gem install sass
|
|
||||||
- npm install
|
- npm install
|
||||||
- npm run grunt
|
- npm run grunt
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ module.exports = function(grunt) {
|
|||||||
|
|
||||||
// Project configuration.
|
// Project configuration.
|
||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
sass: {
|
'dart-sass': {
|
||||||
dist: {
|
dist: {
|
||||||
options: {
|
options: {
|
||||||
style: 'compressed'
|
style: 'compressed'
|
||||||
@ -69,7 +69,7 @@ module.exports = function(grunt) {
|
|||||||
},
|
},
|
||||||
css: {
|
css: {
|
||||||
files: ['assets/sass/*.sass'],
|
files: ['assets/sass/*.sass'],
|
||||||
tasks: ['sass'],
|
tasks: ['dart-sass'],
|
||||||
options: {
|
options: {
|
||||||
atBegin: true,
|
atBegin: true,
|
||||||
spawn: false
|
spawn: false
|
||||||
@ -96,12 +96,12 @@ module.exports = function(grunt) {
|
|||||||
|
|
||||||
// Load task plugins
|
// Load task plugins
|
||||||
grunt.loadNpmTasks('grunt-twig-render');
|
grunt.loadNpmTasks('grunt-twig-render');
|
||||||
grunt.loadNpmTasks('grunt-contrib-sass');
|
grunt.loadNpmTasks('grunt-dart-sass');
|
||||||
grunt.loadNpmTasks('grunt-contrib-coffee');
|
grunt.loadNpmTasks('grunt-contrib-coffee');
|
||||||
grunt.loadNpmTasks('grunt-contrib-copy');
|
grunt.loadNpmTasks('grunt-contrib-copy');
|
||||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||||
|
|
||||||
// Default task(s).
|
// Default task(s).
|
||||||
grunt.registerTask('default', ['twigRender', 'sass', 'coffee', 'copy']);
|
grunt.registerTask('default', ['twigRender', 'dart-sass', 'coffee', 'copy']);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -42,6 +42,7 @@ button
|
|||||||
max-width: 1024px
|
max-width: 1024px
|
||||||
|
|
||||||
.container.fluid
|
.container.fluid
|
||||||
|
width: 100%
|
||||||
max-width: 100%
|
max-width: 100%
|
||||||
margin: 0
|
margin: 0
|
||||||
|
|
||||||
@ -61,6 +62,10 @@ button
|
|||||||
border-bottom: 1px solid #bbb
|
border-bottom: 1px solid #bbb
|
||||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .25)
|
box-shadow: 0 1px 2px rgba(0, 0, 0, .25)
|
||||||
|
|
||||||
|
.container.fluid
|
||||||
|
width: 100%
|
||||||
|
margin-right: 0
|
||||||
|
|
||||||
.row
|
.row
|
||||||
display: relative
|
display: relative
|
||||||
|
|
||||||
|
12
assets/twig/about.twig
Normal file
12
assets/twig/about.twig
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>About Sentry</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This is a test.</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -19,7 +19,8 @@
|
|||||||
<div class="container fluid">
|
<div class="container fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="columns twelve">
|
<div class="columns twelve">
|
||||||
<button class="tab-button active" onclick="openTab('cpu')">CPU</button>
|
<button class="tab-button active" onclick="openTab('overview')">Overview</button>
|
||||||
|
<button class="tab-button" onclick="openTab('cpu')">CPU</button>
|
||||||
<button class="tab-button" onclick="openTab('memory')">Memory</button>
|
<button class="tab-button" onclick="openTab('memory')">Memory</button>
|
||||||
<button class="tab-button" onclick="openTab('storage')">Storage</button>
|
<button class="tab-button" onclick="openTab('storage')">Storage</button>
|
||||||
<button class="tab-button" onclick="openTab('gpu')">GPU</button>
|
<button class="tab-button" onclick="openTab('gpu')">GPU</button>
|
||||||
@ -29,7 +30,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="wrapper" class="container">
|
<div id="wrapper" class="container">
|
||||||
<div class="component-display active" data-component="cpu">
|
<div class="component-display active" data-component="overview">
|
||||||
|
{% include 'overview.twig' %}
|
||||||
|
</div>
|
||||||
|
<div class="component-display" data-component="cpu">
|
||||||
{% include 'cpu.twig' %}
|
{% include 'cpu.twig' %}
|
||||||
</div>
|
</div>
|
||||||
<div class="component-display" data-component="memory">
|
<div class="component-display" data-component="memory">
|
||||||
|
5
assets/twig/overview.twig
Normal file
5
assets/twig/overview.twig
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<header class="row">
|
||||||
|
<div class="columns twelve u-text-center">
|
||||||
|
<h1>Sentry Overview</h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
8
main.js
8
main.js
@ -1,5 +1,5 @@
|
|||||||
// Modules to control application life and create native browser window
|
// Modules to control application life and create native browser window
|
||||||
const {app, BrowserWindow} = require('electron');
|
const { app, BrowserWindow, Menu } = require('electron');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
||||||
function createWindow () {
|
function createWindow () {
|
||||||
@ -7,6 +7,8 @@ function createWindow () {
|
|||||||
const mainWindow = new BrowserWindow({
|
const mainWindow = new BrowserWindow({
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 700,
|
height: 700,
|
||||||
|
minWidth: 735,
|
||||||
|
minHeight: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
nodeIntegration: true,
|
nodeIntegration: true,
|
||||||
contextIsolation: false,
|
contextIsolation: false,
|
||||||
@ -21,6 +23,10 @@ function createWindow () {
|
|||||||
// mainWindow.webContents.openDevTools()
|
// mainWindow.webContents.openDevTools()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set the application menu
|
||||||
|
const menu = require('./src/menu').createMenu(app);
|
||||||
|
Menu.setApplicationMenu(menu);
|
||||||
|
|
||||||
// This method will be called when Electron has finished
|
// This method will be called when Electron has finished
|
||||||
// initialization and is ready to create browser windows.
|
// initialization and is ready to create browser windows.
|
||||||
// Some APIs can only be used after this event occurs.
|
// Some APIs can only be used after this event occurs.
|
||||||
|
819
package-lock.json
generated
819
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "sentry",
|
"name": "sentry",
|
||||||
"version": "0.3.2",
|
"version": "0.3.3",
|
||||||
"description": "Desktop app to view system information and sensors",
|
"description": "Desktop app to view system information and sensors",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -25,12 +25,12 @@
|
|||||||
"grunt": "^1.5.3",
|
"grunt": "^1.5.3",
|
||||||
"grunt-contrib-coffee": "^2.1.0",
|
"grunt-contrib-coffee": "^2.1.0",
|
||||||
"grunt-contrib-copy": "^1.0.0",
|
"grunt-contrib-copy": "^1.0.0",
|
||||||
"grunt-contrib-sass": "^2.0.0",
|
|
||||||
"grunt-contrib-watch": "^1.1.0",
|
"grunt-contrib-watch": "^1.1.0",
|
||||||
|
"grunt-dart-sass": "^2.0.1",
|
||||||
"grunt-twig-render": "^1.8.3"
|
"grunt-twig-render": "^1.8.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"systeminformation": "^5.11.15"
|
"systeminformation": "^5.17.12"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"appId": "tech.bitgoblin.sentry",
|
"appId": "tech.bitgoblin.sentry",
|
||||||
|
15
src/menu/help.js
Normal file
15
src/menu/help.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
const { BrowserWindow } = require('electron');
|
||||||
|
|
||||||
|
exports.about = function() {
|
||||||
|
const aboutWindow = new BrowserWindow({
|
||||||
|
width: 600,
|
||||||
|
height: 400,
|
||||||
|
webPreferences: {
|
||||||
|
nodeIntegration: true,
|
||||||
|
contextIsolation: false
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// and load the about.html of the app.
|
||||||
|
aboutWindow.loadFile('public/about.html');
|
||||||
|
};
|
30
src/menu/index.js
Normal file
30
src/menu/index.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
const electron = require('electron');
|
||||||
|
|
||||||
|
// load event handlers
|
||||||
|
const helpHandlers = require('./help');
|
||||||
|
|
||||||
|
exports.createMenu = function(app) {
|
||||||
|
return electron.Menu.buildFromTemplate([
|
||||||
|
{
|
||||||
|
label: 'File',
|
||||||
|
submenu: [
|
||||||
|
{
|
||||||
|
label: 'Close',
|
||||||
|
click: function() {
|
||||||
|
app.quit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: 'Help',
|
||||||
|
submenu: [
|
||||||
|
{
|
||||||
|
label: 'About',
|
||||||
|
click: helpHandlers.about
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user