bitburner-src/src/ui/React/Overview.tsx

39 lines
1.3 KiB
TypeScript
Raw Normal View History

2021-09-19 06:46:39 +02:00
import React, { useState } from "react";
import makeStyles from "@mui/styles/makeStyles";
import Box from "@mui/material/Box";
import Collapse from "@mui/material/Collapse";
import Fab from "@mui/material/Fab";
import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
2021-09-19 23:05:27 +02:00
import { use } from "../Context";
import { Page } from "../Router";
2021-09-19 06:46:39 +02:00
const useStyles = makeStyles({
nobackground: {
backgroundColor: "#0000",
},
});
interface IProps {
children: JSX.Element[] | JSX.Element | React.ReactElement[] | React.ReactElement;
}
export function Overview({ children }: IProps): React.ReactElement {
const [open, setOpen] = useState(true);
const classes = useStyles();
2021-09-19 23:05:27 +02:00
const router = use.Router();
if (router.page() === Page.BitVerse || router.page() === Page.HackingMission) return <></>;
2021-09-19 06:46:39 +02:00
return (
<div style={{ position: "fixed", top: 0, right: 0, zIndex: 1500 }}>
<Box display="flex" justifyContent="flex-end" flexDirection={"column"}>
<Collapse in={open}>{children}</Collapse>
<Box display="flex" justifyContent="flex-end">
<Fab classes={{ root: classes.nobackground }} onClick={() => setOpen((old) => !old)}>
<VisibilityOffIcon color="primary" />
</Fab>
</Box>
</Box>
</div>
);
}