disabled animated gradient background for welcomemessage and opted for a loop of static colorseach time the message is dispalyed

This commit is contained in:
Sura Hanna 2024-05-24 15:47:14 -04:00
parent c990b86e41
commit abacaca9e2
7 changed files with 47 additions and 8 deletions

27
package-lock.json generated
View File

@ -12,6 +12,7 @@
"@azure/identity": "^3.3.2", "@azure/identity": "^3.3.2",
"@azure/msal-node": "^2.6.1", "@azure/msal-node": "^2.6.1",
"@microsoft/microsoft-graph-client": "^3.0.7", "@microsoft/microsoft-graph-client": "^3.0.7",
"cors": "^2.8.5",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"express": "^4.18.2", "express": "^4.18.2",
"fs": "^0.0.1-security", "fs": "^0.0.1-security",
@ -213,9 +214,9 @@
} }
}, },
"node_modules/@babel/runtime": { "node_modules/@babel/runtime": {
"version": "7.24.5", "version": "7.24.6",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.6.tgz",
"integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", "integrity": "sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw==",
"dependencies": { "dependencies": {
"regenerator-runtime": "^0.14.0" "regenerator-runtime": "^0.14.0"
}, },
@ -384,6 +385,18 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
}, },
"node_modules/cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"dependencies": {
"object-assign": "^4",
"vary": "^1"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/debug": { "node_modules/debug": {
"version": "2.6.9", "version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@ -991,6 +1004,14 @@
} }
} }
}, },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/object-inspect": { "node_modules/object-inspect": {
"version": "1.13.1", "version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",

View File

@ -14,6 +14,7 @@
"@azure/identity": "^3.3.2", "@azure/identity": "^3.3.2",
"@azure/msal-node": "^2.6.1", "@azure/msal-node": "^2.6.1",
"@microsoft/microsoft-graph-client": "^3.0.7", "@microsoft/microsoft-graph-client": "^3.0.7",
"cors": "^2.8.5",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"express": "^4.18.2", "express": "^4.18.2",
"fs": "^0.0.1-security", "fs": "^0.0.1-security",

View File

@ -1 +1 @@
:root{--font-size: 1vw;--width: 65vw;--img-margin: -2vw}@media (orientation: landscape){:root{--font-size: 1vh;--width: 65vh;--img-margin: -2vh}}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;font-size:var(--font-size)}body{height:100%;font-family:Calibri,sans-serif;background-color:#000;color:#fff}.header{text-align:center;width:100%;flex-grow:0}.resource-wrapper{width:100%}.title-row{font-weight:700;font-size:3em;padding:.25em 0}.event-row{display:flex;flex-wrap:nowrap;overflow-x:hidden;font-size:3em}.flex-row{display:flex;flex-direction:row}.flex-cell{display:flex;flex-direction:column;flex-grow:1;flex-basis:33%;justify-content:start;align-items:left;margin-right:.5em}.organizer{font-weight:lighter;font-style:italic}.horizontal-logo{width:100%}#resources-container{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;flex-grow:1}#grid{display:grid;grid-template-columns:1fr 2fr 1fr;height:100%;width:100%}#schedule-container{height:100%;grid-column:1;padding:2em;display:flex;flex-direction:column}#schedule-container .header{margin-bottom:3em}#homepage-container{grid-column:3;padding:2em;text-align:center;display:flex;flex-direction:column;height:100%}.top-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:50%}#time-weather-container{display:grid;grid-template-columns:1fr 1fr;align-items:center;width:100%;font-size:5em;font-weight:700}.time{font-family:Calibri,sans-serif}.separator{font-family:Courier New,monospace}#slideshow{grid-column:2;overflow:hidden}.slideshow-img{transition:opacity .5s ease-in-out;opacity:0}#bottom-section{display:flex;flex-direction:column;justify-content:center;align-items:center}#weather-icon{align-self:end;width:2em;margin:var(--img-margin)}#temperature{align-self:start}#description{font-weight:lighter}#quote{font-size:5em;margin:0 10%;max-height:40vh;text-align:left}#author{margin-top:2.5%;font-size:4em;width:75%;text-align:right}#welcome-message{position:fixed;top:0;left:0;width:100%;height:100vh;background:linear-gradient(124deg,#ff7d68,#f17b7b,#f1d67b,#f0f17b,#7bf190,#7bebf1,#847bf1,#f370ff,#f8a9ff);background-size:1800% 1800%;animation:rainbow 30s ease infinite;justify-content:center;align-items:center;color:#fff;font-size:2em;display:flex;z-index:1001;padding:20em;opacity:0;transition:opacity 1s linear}#welcome-message.visible{opacity:1}@keyframes rainbow{0%{background-position:0% 82%}50%{background-position:100% 19%}to{background-position:0% 82%}} :root{--font-size: 1vw;--width: 65vw;--img-margin: -2vw}@media (orientation: landscape){:root{--font-size: 1vh;--width: 65vh;--img-margin: -2vh}}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;font-size:var(--font-size)}body{height:100%;font-family:Calibri,sans-serif;background-color:#000;color:#fff}.header{text-align:center;width:100%;flex-grow:0}.resource-wrapper{width:100%}.title-row{font-weight:700;font-size:3em;padding:.25em 0}.event-row{display:flex;flex-wrap:nowrap;overflow-x:hidden;font-size:3em}.flex-row{display:flex;flex-direction:row}.flex-cell{display:flex;flex-direction:column;flex-grow:1;flex-basis:33%;justify-content:start;align-items:left;margin-right:.5em}.organizer{font-weight:lighter;font-style:italic}.horizontal-logo{width:100%}#resources-container{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;flex-grow:1}#grid{display:grid;grid-template-columns:1fr 2fr 1fr;height:100%;width:100%}#schedule-container{height:100%;grid-column:1;padding:2em;display:flex;flex-direction:column}#schedule-container .header{margin-bottom:3em}#homepage-container{grid-column:3;padding:2em;text-align:center;display:flex;flex-direction:column;height:100%}.top-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:50%}#time-weather-container{display:grid;grid-template-columns:1fr 1fr;align-items:center;width:100%;font-size:5em;font-weight:700}.time{font-family:Calibri,sans-serif}.separator{font-family:Courier New,monospace}#slideshow{grid-column:2;overflow:hidden}.slideshow-img{transition:opacity .5s ease-in-out;opacity:0}#bottom-section{display:flex;flex-direction:column;justify-content:center;align-items:center}#weather-icon{align-self:end;width:2em;margin:var(--img-margin)}#temperature{align-self:start}#description{font-weight:lighter}#quote{font-size:5em;margin:0 10%;max-height:40vh;text-align:left}#author{margin-top:2.5%;font-size:4em;width:75%;text-align:right}#welcome-message{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#00adef;justify-content:center;align-items:center;color:#fff;font-size:2em;display:flex;z-index:1001;padding:20em;opacity:0;transition:opacity 1s linear}#welcome-message.visible{opacity:1}

File diff suppressed because one or more lines are too long

View File

@ -6,13 +6,13 @@
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>NGCI Daily Schedule</title> <title>NGCI Daily Schedule</title>
<script type="module" crossorigin src="/assets/index-DDszHAtm.js"></script> <script type="module" crossorigin src="/assets/index-DWgpMFbj.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-Dt4LGvko.css"> <link rel="stylesheet" crossorigin href="/assets/index-Bq7sOAzP.css">
</head> </head>
<body> <body>
<div id="welcome-message"> <div id="welcome-message">
<img class="horizontal-logo" src="ngci-logo-white-wide.svg" alt="Next-Generation Cities Institute"> <img class="horizontal-logo" src="ngci-logo-black.png" alt="Next-Generation Cities Institute">
</div> </div>

BIN
public/ngci-logo-black.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -3,6 +3,7 @@ const http = require('http');
const fs = require('fs'); const fs = require('fs');
const fetch = require('isomorphic-fetch'); const fetch = require('isomorphic-fetch');
const path = require('path'); const path = require('path');
const cors = require('cors');
require('dotenv').config(); require('dotenv').config();
@ -16,9 +17,23 @@ const slideshowDir = './slideshow';
app.use(express.static(path.join(__dirname, 'public'))); app.use(express.static(path.join(__dirname, 'public')));
app.use(cors({
origin: 'http://localhost:5173'
}));
app.use(express.json()); app.use(express.json());
app.use(express.static('public')); app.use(express.static('public'));
// GRAPH API SECTION - USER AUTH
//
// msGraphHelper.initializeGraphForUserAuth(settings, async (deviceCodeResponse) => {
// if (!deviceCodeResponse) {
// throw new Error("Device code response is undefined.");
// }
// console.log(deviceCodeResponse.message);
// });
//
// GRAPH API SECTION - APP ONLY AUTH
//
msGraphHelper.initializeGraphForAppOnlyAuth(settings); msGraphHelper.initializeGraphForAppOnlyAuth(settings);
const data = fs.readFileSync('./resourceUPNs.json', 'utf8'); const data = fs.readFileSync('./resourceUPNs.json', 'utf8');
const resourceUPNs = JSON.parse(data); const resourceUPNs = JSON.parse(data);
@ -42,8 +57,10 @@ app.get('/api/events', async (req, res) => {
try { try {
const data = const data =
await msGraphHelper.getCalendarView(resource, startDateTime.toISOString(), endDateTime.toISOString()); await msGraphHelper.getCalendarView(resource, startDateTime.toISOString(), endDateTime.toISOString());
// fs.readFileSync(`./events/${resource}.json`, 'utf8');
const resourceEvents = data; const resourceEvents = data;
events[resource] = resourceEvents; events[resource] = resourceEvents;
// console.log(`${new Date()}: Grabbed events for ${resource}`);
} catch (error) { } catch (error) {
console.error(error); console.error(error);
} }