Skip to content
2 changes: 2 additions & 0 deletions nextstep-frontend/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import Resume from './pages/Resume';
import TopBar from './components/TopBar';
import Layout from './components/Layout';
import MainDashboard from './pages/MainDashboard';
import Quiz from './pages/Quiz';

const App: React.FC = () => {
return (
Expand All @@ -30,6 +31,7 @@ const App: React.FC = () => {
<Route path="/chat" element={<RequireAuth><TopBar /><Layout className="chat"><Chat /></Layout></RequireAuth>} />
<Route path="/resume" element={<RequireAuth><TopBar /><Layout className="resume"><Resume /></Layout></RequireAuth>} />
<Route path="/main-dashboard" element={<RequireAuth><TopBar /><Layout className="main-dashboard"><MainDashboard /></Layout></RequireAuth>} />
<Route path="/quiz" element={<RequireAuth><TopBar /><Layout className="quiz"><Quiz /></Layout></RequireAuth>} />
<Route path="*" element={<Navigate to="/" />} />
</Routes>
</Router>
Expand Down
30 changes: 22 additions & 8 deletions nextstep-frontend/src/components/LinkedInIntegration.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,12 @@ const LinkedInIntegration: React.FC<LinkedInIntegrationProps> = ({
setJobDetails(null);
};

const handleGenerateQuiz = (job: Job) => {
const subject = `${job.position} at ${job.company}`;
const quizUrl = `/quiz?subject=${encodeURIComponent(subject)}`;
window.open(quizUrl, '_blank');
};

return (
<Box sx={{ bgcolor: 'background.paper', p: 3, borderRadius: 2, boxShadow: 1, mt: 4 }}>
<Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 2 }}>
Expand Down Expand Up @@ -281,14 +287,22 @@ const LinkedInIntegration: React.FC<LinkedInIntegrationProps> = ({
Close
</Button>
{selectedJob?.jobUrl && (
<Button
href={selectedJob.jobUrl}
target="_blank"
rel="noopener noreferrer"
color="primary"
>
Open in LinkedIn
</Button>
<div>
<Button
onClick={() => handleGenerateQuiz(selectedJob)}
color="primary"
>
Generate a quiz
</Button>
<Button
href={selectedJob.jobUrl}
target="_blank"
rel="noopener noreferrer"
color="primary"
>
Open in LinkedIn
</Button>
</div>
)}
</DialogActions>
</Dialog>
Expand Down
7 changes: 6 additions & 1 deletion nextstep-frontend/src/components/TopBar.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React, { useRef } from 'react';
import { useNavigate } from 'react-router-dom';
import { AppBar, Toolbar, IconButton, Tooltip, Box } from '@mui/material';
import { Home, Person, Message, Logout, DocumentScannerTwoTone, Feed } from '@mui/icons-material';
import { Home, Person, Message, Logout, DocumentScannerTwoTone, Feed, Quiz } from '@mui/icons-material';
import {getUserAuth, removeUserAuth} from "../handlers/userAuth.ts";
import api from "../serverApi.ts";

Expand Down Expand Up @@ -32,6 +32,11 @@ const TopBar: React.FC = () => {
<DocumentScannerTwoTone fontSize='large'/>
</IconButton>
</Tooltip>
<Tooltip title="Quiz">
<IconButton color="inherit" onClick={() => navigate('/quiz')} sx={{ mx: 1 }}>
<Quiz fontSize='large'/>
</IconButton>
</Tooltip>
<Tooltip title="Feed">
<IconButton color="inherit" onClick={() => navigate('/feed')} sx={{ mx: 1 }}>
<Feed fontSize='large'/>
Expand Down
Loading
Loading