From 5b6e72f8f410f53ec4f33dcbed125e2851957fb4 Mon Sep 17 00:00:00 2001 From: Julia Demianetc Date: Wed, 18 Feb 2026 13:53:14 +0100 Subject: [PATCH] updated api and components --- backend/package.json | 2 +- frontend/api.js | 1 + frontend/src/App.jsx | 39 ++++++++++++++++++-------- frontend/src/components/QuestList.jsx | 7 ++--- frontend/src/pages/HomePage.jsx | 19 +++++++------ frontend/src/pages/UserProfilePage.jsx | 24 ++++++++-------- 6 files changed, 54 insertions(+), 38 deletions(-) diff --git a/backend/package.json b/backend/package.json index d1b6814568..d8de540f47 100644 --- a/backend/package.json +++ b/backend/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "Server part of final project", "scripts": { - "start": "nodemon server.js --exec babel-node", + "start": "node server.js --exec babel-node", "dev": "nodemon server.js --exec babel-node", "test": "echo \"Error: no test specified\" && exit 1" }, diff --git a/frontend/api.js b/frontend/api.js index e69de29bb2..441e8d35c0 100644 --- a/frontend/api.js +++ b/frontend/api.js @@ -0,0 +1 @@ +export const apiUrl = import.meta.env.VITE_API_URL || "http://localhost:8080"; diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 4ba1e68314..5c7cdba0cc 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,15 +1,33 @@ -import { Routes, Route, Link } from 'react-router-dom' -import { About } from './pages/AboutPage' -import { FriendFeed } from './pages/FriendFeedPage' -import { Home } from './pages/HomePage' -import { Quests } from './pages/QuestPage' -import { Rewards } from './pages/RewardPage' -import { UserProfile } from './pages/UserProfilePage' -import { Login } from './pages/LoginPage' -import { GlobalStyle } from './styles/GlobalStyles' -import { Signup } from './pages/SignupPage' +import { Routes, Route, Link } from "react-router-dom"; +import { About } from "./pages/AboutPage"; +import { FriendFeed } from "./pages/FriendFeedPage"; +import { Home } from "./pages/HomePage"; +import { Quests } from "./pages/QuestPage"; +import { Rewards } from "./pages/RewardPage"; +import { UserProfile } from "./pages/UserProfilePage"; +import { Login } from "./pages/LoginPage"; +import { GlobalStyle } from "./styles/GlobalStyles"; +import { Signup } from "./pages/SignupPage"; +import { useEffect, useState } from "react"; +import { apiUrl } from "../api"; export const App = () => { + const [data, setData] = useState(null); + + useEffect(() => { + const fetchData = async () => { + try { + const response = await fetch(apiUrl); + const data = await response.json(); + console.log("API Response:", data); + setData(data); + } catch (err) { + console.error("Error:", err); + } + }; + + fetchData(); + }, []); return ( <> @@ -27,4 +45,3 @@ export const App = () => { ); }; - diff --git a/frontend/src/components/QuestList.jsx b/frontend/src/components/QuestList.jsx index a2faa3b4d9..47d377698a 100644 --- a/frontend/src/components/QuestList.jsx +++ b/frontend/src/components/QuestList.jsx @@ -1,6 +1,3 @@ export const QuestList = () => { - return ( - // FIXME map through quests and list them -

List of quests

- ) -} \ No newline at end of file + return

quest list

; +}; diff --git a/frontend/src/pages/HomePage.jsx b/frontend/src/pages/HomePage.jsx index 240fb6a1c5..3e1a137292 100644 --- a/frontend/src/pages/HomePage.jsx +++ b/frontend/src/pages/HomePage.jsx @@ -1,8 +1,9 @@ -import { Navbar } from '../components/Navbar' -import { Header } from '../components/Header' -import styled from 'styled-components' -import { CreateQuest } from '../components/CreateQuest' -import { QuestLibrary } from '../components/QuestLibrary' +import { Navbar } from "../components/Navbar"; +import { Header } from "../components/Header"; +import styled from "styled-components"; +import { CreateQuest } from "../components/CreateQuest"; +import { QuestLibrary } from "../components/QuestLibrary"; +import { apiUrl } from "../../api"; export const Home = () => { return ( @@ -18,14 +19,14 @@ export const Home = () => { - ) -} + ); +}; const Div = styled.div` display: flex; background-color: var(--accent-color); margin: 10px; justify-content: center; -` +`; -// TODO: This is home page for logged out user. Decide what to keep there. Simplify? +// TODO: This is home page for logged out user. Decide what to keep there. Simplify? diff --git a/frontend/src/pages/UserProfilePage.jsx b/frontend/src/pages/UserProfilePage.jsx index 50ffdb10d6..929dae2a20 100644 --- a/frontend/src/pages/UserProfilePage.jsx +++ b/frontend/src/pages/UserProfilePage.jsx @@ -1,12 +1,12 @@ -import { Navbar } from '../components/Navbar' -import { Header } from '../components/Header' -import styled from 'styled-components' -import { CreateQuest } from '../components/CreateQuest' -import { QuestLibrary } from '../components/QuestLibrary' -import { Avatar } from '../components/Avatar' -import { Strike } from '../components/StrikeDisplay' -import { Link } from 'react-router-dom' -import { QuestList } from '../components/QuestList' +import { Navbar } from "../components/Navbar"; +import { Header } from "../components/Header"; +import styled from "styled-components"; +import { CreateQuest } from "../components/CreateQuest"; +import { QuestLibrary } from "../components/QuestLibrary"; +import { Avatar } from "../components/Avatar"; +import { Strike } from "../components/StrikeDisplay"; +import { Link } from "react-router-dom"; +import { QuestList } from "../components/QuestList"; export const UserProfile = () => { return ( @@ -24,12 +24,12 @@ export const UserProfile = () => { {/* NOTE: hide add quest + list of quests by default? Only show when user clicks button? */} - ) -} + ); +}; const Div = styled.div` display: flex; flex-direction: column; justify-content: center; align-items: center; -` \ No newline at end of file +`;