added team select in user menu

This commit is contained in:
Carter 2025-02-12 13:25:12 -06:00
parent 45ff49bcea
commit 6c5ac2b17c
4 changed files with 52 additions and 0 deletions

7
package-lock.json generated
View file

@ -21,6 +21,7 @@
"@types/classnames": "^2.3.0",
"axios": "^1.7.7",
"dayjs": "^1.11.13",
"deep-object-diff": "^1.1.9",
"lodash": "^4.17.21",
"moment": "^2.30.1",
"moment-timezone": "^0.5.46",
@ -3169,6 +3170,12 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
"node_modules/deep-object-diff": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz",
"integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==",
"license": "MIT"
},
"node_modules/delaunator": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz",

View file

@ -30,6 +30,7 @@
"@types/classnames": "^2.3.0",
"axios": "^1.7.7",
"dayjs": "^1.11.13",
"deep-object-diff": "^1.1.9",
"lodash": "^4.17.21",
"moment": "^2.30.1",
"moment-timezone": "^0.5.46",

View file

@ -88,6 +88,34 @@ export default function AddComponentManualDialog (props: Props) {
/>
</Grid2>
</Grid2>
<Grid2 container direction="row">
<Grid2 size={{ xs: 6 }}>
<TextField
value={component.measurementPeriodMs}
type="number"
label="Measurement Perios (ms)"
fullWidth
onChange={event => {
let newSettings = pond.ComponentSettings.create(component)
newSettings.measurementPeriodMs = or(parseInt(event.currentTarget.value), 0)
setComponent(newSettings)
}}
/>
</Grid2>
<Grid2 size={{ xs: 6 }}>
<TextField
value={component.reportPeriodMs}
type="number"
label="Report Period (ms)"
fullWidth
onChange={event => {
let newSettings = pond.ComponentSettings.create(component)
newSettings.reportPeriodMs = or(parseInt(event.currentTarget.value), 0)
setComponent(newSettings)
}}
/>
</Grid2>
</Grid2>
</Grid2>
</DialogContent>
<DialogActions>

View file

@ -12,6 +12,7 @@ import UserSettings from "./UserSettings";
import UserAvatar from "./UserAvatar";
import { purple } from "@mui/material/colors";
import { useNavigate } from "react-router-dom";
import TeamDialog from "teams/TeamDialog";
const useStyles = makeStyles((theme: Theme) => ({
userAvatar: {
@ -89,9 +90,15 @@ export default function UserMenu(props: Props) {
// const hasAdmin = user.hasFeature ? user.hasFeature("admin") : false;
// const allowedToCopyToken = user.allowedTo("copy-token");
const hasTeams = user.hasFeature ? user.hasFeature("teams") : false;
const [teamDialogIsOpen, setTeamDialogIsOpen] = useState<boolean>(false);
const navigate = useNavigate()
const openTeamDialog = () => {
setTeamDialogIsOpen(true);
closeUserMenu();
};
const lockHover = () => {
setLockIsHovered(true);
};
@ -215,6 +222,14 @@ export default function UserMenu(props: Props) {
</ListItemIcon>
<ListItemText primary="Toggle Theme" />
</MenuItem>
{hasTeams && (
<MenuItem onClick={openTeamDialog} aria-label="Open Team Menu" dense>
<ListItemIcon>
<TeamIcon />
</ListItemIcon>
<ListItemText primary="Select Team" />
</MenuItem>
)}
<MenuItem onClick={handleLogout} aria-label="Sign Out" dense>
<ListItemIcon>
<ExitToApp className={classes.red} />
@ -222,6 +237,7 @@ export default function UserMenu(props: Props) {
<ListItemText primary="Sign Out" />
</MenuItem>
</Menu>
<TeamDialog open={teamDialogIsOpen} setOpen={setTeamDialogIsOpen} />
<UserSettings isOpen={userSettingsIsOpen} closeDialogCallback={closeUserSettingsDialog} />
</>
)