Update v1.0.2
Took 37 minutes
This commit is contained in:
parent
9a9286ed42
commit
641120f7cc
6
public/stylesheets/settings.css
Normal file
6
public/stylesheets/settings.css
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#settings {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, calc(90% / 4));
|
||||||
|
grid-template-rows: repeat(5, calc(90% / 5));
|
||||||
|
grid-gap: 10% 5%;
|
||||||
|
}
|
@ -5,6 +5,7 @@
|
|||||||
@import url("/stylesheets/menu.css");
|
@import url("/stylesheets/menu.css");
|
||||||
@import url("/stylesheets/main.css");
|
@import url("/stylesheets/main.css");
|
||||||
@import url("/stylesheets/setup.css");
|
@import url("/stylesheets/setup.css");
|
||||||
|
@import url("/stylesheets/settings.css");
|
||||||
@import url("/stylesheets/containers.css");
|
@import url("/stylesheets/containers.css");
|
||||||
|
|
||||||
|
|
||||||
@ -223,10 +224,3 @@ h2 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#settings {
|
|
||||||
display: none;
|
|
||||||
background-color: red;
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -40,7 +40,13 @@ export class Utils {
|
|||||||
|
|
||||||
static deleteImage( id )
|
static deleteImage( id )
|
||||||
{
|
{
|
||||||
|
try {
|
||||||
fs.unlinkSync("./public/images/" + id + ".png");
|
fs.unlinkSync("./public/images/" + id + ".png");
|
||||||
|
} catch( e )
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static checkForImage( id )
|
static checkForImage( id )
|
||||||
|
@ -8,6 +8,9 @@ import Drink from "./database/Drink";
|
|||||||
import {IDrink} from "./database/IDrink";
|
import {IDrink} from "./database/IDrink";
|
||||||
import Ingredient from "./database/Ingredient";
|
import Ingredient from "./database/Ingredient";
|
||||||
import {RequestType} from "./RequestType";
|
import {RequestType} from "./RequestType";
|
||||||
|
import debug from "debug";
|
||||||
|
|
||||||
|
const log = debug("itender:WShandler");
|
||||||
|
|
||||||
export class WebSocketHandler {
|
export class WebSocketHandler {
|
||||||
private static _ws: WebSocket;
|
private static _ws: WebSocket;
|
||||||
@ -24,6 +27,7 @@ export class WebSocketHandler {
|
|||||||
return new Promise(async (resolve, reject) => {
|
return new Promise(async (resolve, reject) => {
|
||||||
try {
|
try {
|
||||||
if (this.ws && this.ws.readyState == 1) {
|
if (this.ws && this.ws.readyState == 1) {
|
||||||
|
log("Sending " + payload.event);
|
||||||
await this.ws.send(payload.toString());
|
await this.ws.send(payload.toString());
|
||||||
resolve();
|
resolve();
|
||||||
}
|
}
|
||||||
|
@ -24,9 +24,6 @@ const log = debug("itender:station");
|
|||||||
const mixLog = debug("itender:mix");
|
const mixLog = debug("itender:mix");
|
||||||
|
|
||||||
export class iTender {
|
export class iTender {
|
||||||
static get containers(): { container: IContainer, sensor: HCSR04 | HX711, pump: null }[] {
|
|
||||||
return this._containers;
|
|
||||||
}
|
|
||||||
|
|
||||||
static get drinks(): IDrink[] {
|
static get drinks(): IDrink[] {
|
||||||
return this._drinks;
|
return this._drinks;
|
||||||
@ -45,11 +42,6 @@ export class iTender {
|
|||||||
return this._internetConnection;
|
return this._internetConnection;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @Deprecated
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
private static _containers: { container: IContainer, sensor: HCSR04 | HX711, pump: null }[] = [];
|
|
||||||
private static _drinks: IDrink[];
|
private static _drinks: IDrink[];
|
||||||
|
|
||||||
static setStatus(status: iTenderStatus) {
|
static setStatus(status: iTenderStatus) {
|
||||||
@ -245,9 +237,9 @@ export class iTender {
|
|||||||
|
|
||||||
let drinkAccept = true;
|
let drinkAccept = true;
|
||||||
for (let i of d.ingredients) {
|
for (let i of d.ingredients) {
|
||||||
let c = await Container.findOne({content: i["type"]});
|
let c = await Container.findOne({$and: [{content: i.type}, {content: {$ne: null}}]});
|
||||||
|
|
||||||
if (!c) {
|
if (!c || c.content != i.type) {
|
||||||
drinkAccept = false;
|
drinkAccept = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ import {iTender} from "./iTender";
|
|||||||
import {iTenderStatus} from "./iTenderStatus";
|
import {iTenderStatus} from "./iTenderStatus";
|
||||||
import {Utils} from "./Utils";
|
import {Utils} from "./Utils";
|
||||||
import {Settings} from "./Settings";
|
import {Settings} from "./Settings";
|
||||||
|
import Drink from "./database/Drink";
|
||||||
|
|
||||||
const log = debug("itender:server");
|
const log = debug("itender:server");
|
||||||
|
|
||||||
@ -39,7 +40,7 @@ const wsApp = new WebsocketApp();
|
|||||||
}
|
}
|
||||||
Settings.saveSettings();
|
Settings.saveSettings();
|
||||||
|
|
||||||
|
log("Check OK, starting...");
|
||||||
await init();
|
await init();
|
||||||
setInterval(refresh, 1000 * 60);
|
setInterval(refresh, 1000 * 60);
|
||||||
iTender.setStatus(iTenderStatus.READY);
|
iTender.setStatus(iTenderStatus.READY);
|
||||||
@ -62,7 +63,8 @@ function init(): Promise<void> {
|
|||||||
setTimeout( async () => {
|
setTimeout( async () => {
|
||||||
// Network
|
// Network
|
||||||
await iTender.checkNetwork();
|
await iTender.checkNetwork();
|
||||||
if (iTender.internetConnection && iTender.status == iTenderStatus.READY) {
|
let drinkCount = await Drink.countDocuments({});
|
||||||
|
if (iTender.internetConnection && iTender.status == iTenderStatus.READY && drinkCount < 3 ) {
|
||||||
await iTender.refreshFromServer();
|
await iTender.refreshFromServer();
|
||||||
}
|
}
|
||||||
}, 1000 * 20 ) ;
|
}, 1000 * 20 ) ;
|
||||||
|
@ -53,5 +53,6 @@ block settings
|
|||||||
// Settings
|
// Settings
|
||||||
button.btn.btn-primary#settings_refreshDrinks Getränke herunterladen
|
button.btn.btn-primary#settings_refreshDrinks Getränke herunterladen
|
||||||
|
|
||||||
|
|
||||||
block main
|
block main
|
||||||
// Main is build dynamically
|
// Main is build dynamically
|
||||||
|
Loading…
x
Reference in New Issue
Block a user