import {createFileRoute} from '@tanstack/react-router'
import {PageHeader} from "@/components/PageHeader.tsx";
import {useSuspenseQuery} from "@tanstack/react-query";
import {Fab, List, MenuItem, Paper} from "@mui/material";
import {getProjects} from "@/api/queryOptions.ts";
import {HeroLink} from "@/components/HeroLink.tsx";
import {FilterList} from "@mui/icons-material";
import {useAppLayout} from "@/hooks/useAppLayout.tsx";
export const Route = createFileRoute('/_authenticated/projects')({
component: Projects
})
function Projects() {
const {data: projects} = useSuspenseQuery(getProjects());
const {bottomNavigationHeight} = useAppLayout();
return (
<>
<PageHeader title="Projects" />
<Paper>
<List>
{projects.map(p => (<MenuItem key={p.id} component={HeroLink} to={'/projects/$projectId'} params={{projectId: p.id}}>{p.projectName}</MenuItem>))}
</List>
</Paper>
<Fab
sx={{
position: 'fixed',
bottom: bottomNavigationHeight + 16,
right: 16
}} color="primary"
>
<FilterList />
</Fab>
</>
)
}
import {createFileRoute} from '@tanstack/react-router'
import {PageHeader} from "@/components/PageHeader.tsx";
import {useSuspenseQuery} from "@tanstack/react-query";
import {Fab, List, MenuItem, Paper} from "@mui/material";
import {getProjects} from "@/api/queryOptions.ts";
import {HeroLink} from "@/components/HeroLink.tsx";
import {FilterList} from "@mui/icons-material";
import {useAppLayout} from "@/hooks/useAppLayout.tsx";
export const Route = createFileRoute('/_authenticated/projects')({
component: Projects
})
function Projects() {
const {data: projects} = useSuspenseQuery(getProjects());
const {bottomNavigationHeight} = useAppLayout();
return (
<>
<PageHeader title="Projects" />
<Paper>
<List>
{projects.map(p => (<MenuItem key={p.id} component={HeroLink} to={'/projects/$projectId'} params={{projectId: p.id}}>{p.projectName}</MenuItem>))}
</List>
</Paper>
<Fab
sx={{
position: 'fixed',
bottom: bottomNavigationHeight + 16,
right: 16
}} color="primary"
>
<FilterList />
</Fab>
</>
)
}