Added an initial cut at a student segement of the site, with a list of workshops and the ability to sign up for them.

This commit is contained in:
2022-10-26 08:45:21 -07:00
parent d7319e340c
commit 77b420ea6f
12 changed files with 538 additions and 32 deletions

View File

@@ -12,6 +12,9 @@ import History from './pages/History'
import Search from './pages/Search'
import Users from './pages/Users'
import Admin from './pages/Admin'
import Home from './pages/Home'
import {StudentPage} from './pages/Student/StudentPage'
import {Workshops} from './pages/Student/Workshops'
const appTheme = createTheme({
components: {
@@ -65,7 +68,7 @@ const appTheme = createTheme({
}
})
export const App = () => {
export const App = (props) => {
const {user, canManageLaptops, isAdmin} = useTracker(() => {
const user = Meteor.user();
const canManageLaptops = user && Roles.userIsInRole(user._id, 'laptop-management', 'global');
@@ -84,43 +87,44 @@ export const App = () => {
<Routes>
<Route path="/" element={
<Page>
<div className="container">
<div className="row">
TODO: Some statistics and such.
</div>
</div>
</Page>}
/>
<Home/>
</Page>
}/>
<Route path="/student" element={
<StudentPage>
{user && <Workshops/>}
</StudentPage>
}/>
<Route path="/assignments/*" element={
<Page>
{canManageLaptops && <Assignments/>}
</Page>}
/>
</Page>
}/>
<Route path="/assets/*" element={
<Page>
{isAdmin && <Assets/>}
</Page>}
/>
</Page>
}/>
<Route path="/admin/*" element={
<Page>
{isAdmin && <Admin/>}
</Page>}
/>
</Page>
}/>
<Route path="/history/*" element={
<Page>
{canManageLaptops && <History/>}
</Page>}
/>
</Page>
}/>
<Route path="/search" element={
<Page>
{canManageLaptops && <Search/>}
</Page>}
/>
</Page>
}/>
<Route path="/users/*" element={
<Page>
{isAdmin && <Users/>}
</Page>}
/>
</Page>
}/>
</Routes>
</BrowserRouter>
</ThemeProvider>