portal/screen.ts

31 lines
723 B
TypeScript

import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient();
import LCD from "raspberrypi-liquid-crystal"
const lcd = new LCD( 1, 0x27, 16, 2 );
lcd.beginSync();
lcd.clearSync();
lcd.printSync( 'Black' );
lcd.setCursorSync(0, 1);
lcd.printSync( 'Portal' );
setInterval(async ()=>{
const stanzaCount = await prisma.stanza.count();
const skip = Math.floor(Math.random() * stanzaCount) - 1;
const randomStanza = await prisma.stanza.findMany({
take: 2,
skip: skip,
});
if(randomStanza){
lcd.clearSync();
if(randomStanza[0].text.length < 16){
lcd.printSync( randomStanza[0].text );
lcd.setCursorSync(0, 1);
lcd.printSync( randomStanza[1].text );
}
}
}, 3000)