diff --git a/components/frontend/src/header_footer/Footer.css b/components/frontend/src/header_footer/Footer.css
index acf926facc..1d6848b613 100644
--- a/components/frontend/src/header_footer/Footer.css
+++ b/components/frontend/src/header_footer/Footer.css
@@ -1,11 +1,11 @@
-@media print {
- div.footer {
- display: none;
- }
+.MuiDivider-root {
+ padding: 20px;
}
-div.footer {
- background-color: var(--inverted-menu-background-color) !important;
- margin: 5em 0em 0em !important;
- padding: 5em 0em 3em !important;
+.MuiDivider-root:before {
+ border-top: thin solid rgba(255, 255, 255, 0.3) !important;
+}
+
+.MuiDivider-root:after {
+ border-top: thin solid rgba(255, 255, 255, 0.3) !important;
}
diff --git a/components/frontend/src/header_footer/Footer.js b/components/frontend/src/header_footer/Footer.js
index 80391fca3b..a4a97eec6f 100644
--- a/components/frontend/src/header_footer/Footer.js
+++ b/components/frontend/src/header_footer/Footer.js
@@ -1,122 +1,112 @@
import "./Footer.css"
-import { number, object, oneOfType, string } from "prop-types"
-import { Container, Divider, Grid, Header, Icon, Image, List, Segment } from "semantic-ui-react"
+import BugReportIcon from "@mui/icons-material/BugReport"
+import CopyrightIcon from "@mui/icons-material/Copyright"
+import FeedbackIcon from "@mui/icons-material/Feedback"
+import GitHubIcon from "@mui/icons-material/GitHub"
+import HistoryIcon from "@mui/icons-material/History"
+import MenuBookIcon from "@mui/icons-material/MenuBook"
+import PersonIcon from "@mui/icons-material/Person"
+import ScienceIcon from "@mui/icons-material/Science"
+import {
+ Container,
+ Divider,
+ List,
+ ListItem,
+ ListItemButton,
+ ListItemIcon,
+ ListItemText,
+ Stack,
+ Typography,
+} from "@mui/material"
+import { element, object, oneOfType, string } from "prop-types"
import { alignmentPropType, childrenPropType, datePropType, reportPropType } from "../sharedPropTypes"
function FooterItem({ children, icon, url }) {
- const item = icon ? (
- <>
- {children}
- >
- ) : (
- children
- )
- return url ? (
-
- {item}
-
- ) : (
- {item}
- )
+ const color = "silver"
+ let item = {children}
+ if (icon) {
+ item = (
+ <>
+ {icon}
+ {item}
+ >
+ )
+ }
+ if (url) {
+ item = (
+
+ {item}
+
+ )
+ }
+ return {item}
}
FooterItem.propTypes = {
children: childrenPropType,
- icon: string,
+ icon: element,
url: string,
}
-function FooterColumn({ children, header, textAlign, width }) {
+function FooterColumn({ children, header, textAlign }) {
return (
-
-
-
- {children}
-
-
+
+ {header || <>>}
+ {children}
+
)
}
FooterColumn.propTypes = {
children: childrenPropType,
header: oneOfType([object, string]),
textAlign: alignmentPropType,
- width: number,
-}
-
-function FooterCenterColumn({ header, children }) {
- return (
-
- {children}
-
- )
-}
-FooterCenterColumn.propTypes = {
- header: oneOfType([object, string]),
- children: childrenPropType,
-}
-
-function FooterSideColumn({ header, children }) {
- return (
-
- {children}
-
- )
-}
-FooterSideColumn.propTypes = {
- header: oneOfType([object, string]),
- children: childrenPropType,
}
function AboutAppColumn() {
return (
-
- Quality-time v{process.env.REACT_APP_VERSION}
- >
- }
- >
-
+ Quality-time v{process.env.REACT_APP_VERSION}>}>
+ } url="https://www.ictu.nl/about-us">
Created by ICTU
-
+ } url="https://github.com/ICTU/quality-time/blob/master/LICENSE">
License
}
url={`https://quality-time.readthedocs.io/en/v${process.env.REACT_APP_VERSION}/changelog.html`}
>
Changelog
-
+ } url="https://github.com/ICTU/quality-time">
Source code
-
+
)
}
function SupportColumn() {
return (
-
-
+
+ }
+ url={`https://quality-time.readthedocs.io/en/v${process.env.REACT_APP_VERSION}/`}
+ >
Documentation
}
url={`https://quality-time.readthedocs.io/en/v${process.env.REACT_APP_VERSION}/usage.html`}
>
User manual
-
+ } url="https://github.com/ICTU/quality-time/issues">
Known issues
-
+ } url="https://github.com/ICTU/quality-time/issues/new">
Report an issue
-
+
)
}
@@ -126,12 +116,12 @@ function AboutReportColumn({ lastUpdate, report }) {
// browser pass the correct URL as search parameter and use that instead:
const reportURL = new URLSearchParams(window.location.search).get("report_url") ?? window.location.href
return (
-
+
{report.title}
{report.subtitle}
{lastUpdate.toLocaleDateString()}
{lastUpdate.toLocaleTimeString()}
-
+
)
}
AboutReportColumn.propTypes = {
@@ -149,7 +139,7 @@ function QuoteColumn() {
]
const randomQuote = quotes[Math.floor(Math.random() * quotes.length)]
return (
-
+
{randomQuote[0]}
@@ -157,27 +147,30 @@ function QuoteColumn() {
{randomQuote[1]}
{randomQuote[2]}
-
+
)
}
export function Footer({ lastUpdate, report }) {
return (
-
-
-
-
-
-
- {report ? : }
-
-
-
-
-
-
+
+
+
+
+ {report ? : }
+
+
+
+
+
-
+
)
}
Footer.propTypes = {