From 7db964aefa09fc3ea1a861fc1a7ca754dff809fd Mon Sep 17 00:00:00 2001 From: Sy Traore Date: Mon, 18 Aug 2025 10:42:48 -0400 Subject: [PATCH] Update env config and improve tray feedback logic Backend now loads MongoDB URL from .env.local using dotenv, improving environment variable management. Frontend basePage tray click logic now provides more specific feedback based on tray correctness and cookie count, enhancing user experience. --- apps/backend/src/db.js | 8 ++++++-- apps/backend/src/server.js | 4 +++- apps/frontend/src/pages/basePage.jsx | 17 ++++++++++++++--- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/apps/backend/src/db.js b/apps/backend/src/db.js index 8fb1c2e..d335840 100644 --- a/apps/backend/src/db.js +++ b/apps/backend/src/db.js @@ -2,12 +2,16 @@ import mongoose from "mongoose"; import fs from 'fs'; import { fileURLToPath } from 'url'; import path from 'path'; +import { config } from 'dotenv'; // for loading mongodb url from .env.local file + +config({path:'.env.local'}); const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); -// const mongoUrl = `mongodb+srv://${uname}:${pw}@cluster0.oypxwnq.mongodb.net/?retryWrites=true&w=majority`; -const mongoUrl = "mongodb://127.0.0.1:27017/counting"; +//const mongoUrl = `mongodb+srv://${uname}:${pw}@cluster0.oypxwnq.mongodb.net/?retryWrites=true&w=majority`; +//const mongoUrl = "mongodb://127.0.0.1:27017/counting"; +const mongoUrl = process.env.MONGODB_URL; async function connectToDb(){ try { diff --git a/apps/backend/src/server.js b/apps/backend/src/server.js index 991ce4d..d875226 100644 --- a/apps/backend/src/server.js +++ b/apps/backend/src/server.js @@ -1,3 +1,4 @@ +import { config } from 'dotenv'; import {connectToDb} from './db.js'; import express from 'express'; import './database/userDetails.js'; @@ -11,7 +12,8 @@ import fetch from 'node-fetch'; import cors from 'cors'; import path from 'path'; import { fileURLToPath } from 'url'; -import { config } from 'dotenv'; +//import { config } from 'dotenv'; // might move it before importing the db.js file + // change from apps/backend/.env.local to .env.local to enable environment variables to be loaded on server config({path:'.env.local'}); diff --git a/apps/frontend/src/pages/basePage.jsx b/apps/frontend/src/pages/basePage.jsx index b24d79f..615632b 100644 --- a/apps/frontend/src/pages/basePage.jsx +++ b/apps/frontend/src/pages/basePage.jsx @@ -84,13 +84,24 @@ function basePage() { const handleTrayClick = (trayType) => { setSelectedTray(trayType); - if (trayType === "greenTray") { - textToSpeech("Correct"); + // if the correct tray has been clicked + if (trayType === "greenTray" && baseData.pages[currentPage].greenTray[0].biscuits.length === baseData.pages[currentPage].cookies.length) { + textToSpeech("Green is correct, Good job!"); + } + else if (trayType === "purpleTray" && baseData.pages[currentPage].purpleTray[0].biscuits.length === baseData.pages[currentPage].cookies.length){ + textToSpeech("Purple is correct, Well done!"); + } + // if the wrong tray has been clicked + else if (trayType === "greenTray" && baseData.pages[currentPage].greenTray[0].biscuits.length !== baseData.pages[currentPage].cookies.length) { + const explanation = `No, ${trayType} has ${baseData.pages[currentPage].greenTray[0].biscuits.length} cookies. Try again!`; + textToSpeech(explanation); } else{ - textToSpeech("Incorrect"); + const explanation = `Wrong answer, ${trayType} has ${baseData.pages[currentPage].purpleTray[0].biscuits.length} cookies. Try again!`; + textToSpeech(explanation); } storeAnswer(currentPage, trayType); + }; const handleNextPage = () => {