diff --git a/src/Web.ts b/src/Web.ts
index 9d0f244..a5bb4c8 100644
--- a/src/Web.ts
+++ b/src/Web.ts
@@ -4,11 +4,18 @@ import express from 'express';
import bodyParser from 'body-parser';
import type { Express } from 'express';
import { createEvent } from 'ics';
+import path from 'path';
+import { promises as fsp } from 'fs';
interface WebConfig {
port?: number;
}
+interface Install {
+ os: 'manjaro' | 'mint' | 'chrome' | 'other',
+ form: 'laptop' | 'desktop' | 'aio'
+}
+
const DATE = process.env['DATE'] || 'November 1st';
const TIME = process.env['TIME'] || '2:30PM-5:30PM';
@@ -23,6 +30,7 @@ class Web {
private _webserver: http.Server | null = null;
private app: Express | null = null;
private port: number;
+ private installs: Install[] = [];
// private options: WebConfig;
constructor(options: WebConfig = {}) {
@@ -33,6 +41,14 @@ class Web {
initialize = async () => {
// const options = this.options;
const app: Express = this.app = express();
+ try {
+ this.installs = JSON.parse(await fsp.readFile(process.env['config'] || process.env['CONFIG'] || path.join(process.cwd(), 'config', 'installs.json'), 'utf-8'));
+ }
+ catch(ex) {
+ console.error(ex);
+ this.installs = [];
+ }
+
app.set('trust proxy', 1);
app.set('view engine', 'ejs');
@@ -70,6 +86,7 @@ class Web {
description: `Windows 10 support is ending, but you may not need a brand-new PC! Sector67 in Madison, Wisconsin is hosting a Linux install party to help the community keep their current computers usable and up-to-date. Join us on ${DATE}`
},
date: DATE,
+ installs: this.installs,
time: TIME
});
});
diff --git a/styles/01-layout.scss b/styles/01-layout.scss
index f3e14a1..bd3721f 100644
--- a/styles/01-layout.scss
+++ b/styles/01-layout.scss
@@ -73,6 +73,34 @@ img {
max-width: 100%;
}
+#installs {
+ h1 {
+ animation-iteration-count: infinite;
+ animation-name: zoomie;
+ animation-duration: 1.5s;
+ animation-timing-function: ease-out;
+ }
+
+ span {
+ padding: .05em .25em;
+ border-radius: .15em;
+ }
+}
+
+@keyframes zoomie {
+ 0% {
+ transform: perspective(800px) translate3d(0, 0, 0px);
+ }
+
+ 50% {
+ transform: perspective(800px) translate3d(0, 0, 40px);
+ }
+
+ 100% {
+ transform: perspective(800px) translate3d(0, 0, 0px);
+ }
+}
+
@media screen and (max-width:540px) {
.content {
width: 95%;
diff --git a/styles/02-colors.scss b/styles/02-colors.scss
index 64f0cb9..c0ed691 100644
--- a/styles/02-colors.scss
+++ b/styles/02-colors.scss
@@ -44,4 +44,8 @@ a.btn {
color: #fff;
}
}
-}
\ No newline at end of file
+}
+
+#installs span {
+ background: #1A237E;
+}
diff --git a/views/head.ejs b/views/head.ejs
index c0c8488..37a09dc 100644
--- a/views/head.ejs
+++ b/views/head.ejs
@@ -14,7 +14,7 @@
<% } %>
-
+