import React, { createContext, useEffect, useState } from 'react' import { Routes, Route, NavLink, Navigate } from 'react-router-dom' import { api } from './api' import Rubrics from './pages/Rubrics.jsx' import Grading from './pages/Grading.jsx' import Review from './pages/Review.jsx' import Audit from './pages/Audit.jsx' export const RoleContext = createContext({ role: 'instructor', user: null, users: [] }) const NAV = [ { to: '/rubrics', label: 'Rubrics' }, { to: '/grading', label: 'Grading' }, { to: '/review', label: 'Review' }, { to: '/audit', label: 'Audit' }, ] export default function App() { const [users, setUsers] = useState([]) const [user, setUser] = useState(null) const [health, setHealth] = useState(null) useEffect(() => { api.users().then(us => { setUsers(us); setUser(us[0] || null) }).catch(() => {}) api.health().then(setHealth).catch(() => setHealth({ status: 'error' })) }, []) return (
} /> } /> } /> } /> } />
) } function Header({ user, users, setUser, health }) { return (
{health && (
{health.status === 'ok' ? 'Connected' : 'Disconnected'}
)} {users.length > 0 && ( )}
) } function Wordmark() { return (
GradeOps
) }