diff --git a/components/versions/list-versions.js b/components/versions/list-versions.js index 6bc8d00..01bb222 100644 --- a/components/versions/list-versions.js +++ b/components/versions/list-versions.js @@ -8,10 +8,15 @@ import TableHead from '@mui/material/TableHead' import TableRow from '@mui/material/TableRow' import Paper from '@mui/material/Paper' import Button from '@mui/material/Button' +import ToggleButton from '@mui/material/ToggleButton' +import ToggleButtonGroup from '@mui/material/ToggleButtonGroup' +import ViewListIcon from '@mui/icons-material/ViewList' +import TimelineIcon from '@mui/icons-material/Timeline' import {TableVirtuoso} from 'react-virtuoso' import {Box, Typography} from '@mui/material' import SessionExpired from '../session/session-expired.js' import VersionDialog from './version-dialog.js' +import VersionTimeline from './version-timeline.js' import {formatDate} from '@/lib/format.js' import {compareVersion} from '@/lib/directus.js' @@ -110,29 +115,73 @@ export default function ListVersions({ setIsErrorAlertOpen }) { const countdownRef = useRef() - + const [viewMode, setViewMode] = useState('table') const [isOpenComparison, setIsOpenComparison] = useState(false) const [versionCompare, setVersionCompare] = useState(null) const versionData = data.find(({id}) => id === versionCompare?.versionId) + const handleViewModeChange = (event, newViewMode) => { + if (newViewMode !== null) { + setViewMode(newViewMode) + } + } + return ( <> - - {collection} - - - + + {collection} + + + + + + Table + + + + Timeline + + + + + {viewMode === 'table' ? ( + + rowContent({ + index, row, accessToken, userId, countdownRef, setError, setIsErrorAlertOpen, setIsOpenComparison, setVersionCompare + })} + /> + + ) : ( + rowContent({ - index, row, accessToken, userId, countdownRef, setError, setIsErrorAlertOpen, setIsOpenComparison, setVersionCompare - })} + accessToken={accessToken} + userId={userId} + setError={setError} + setIsErrorAlertOpen={setIsErrorAlertOpen} /> - + )} + {isOpenComparison && ( )}