mirror of
https://github.com/rjNemo/ticket_manager
synced 2026-06-06 00:36:39 +00:00
settings
This commit is contained in:
parent
33a07ba1ae
commit
cf9c80f6b1
4 changed files with 12 additions and 96 deletions
|
|
@ -62,4 +62,4 @@
|
||||||
- [ ] Filter users in Users Modal
|
- [ ] Filter users in Users Modal
|
||||||
- [ ] EditForms for Project and Ticket
|
- [ ] EditForms for Project and Ticket
|
||||||
- [ ] Admin Page
|
- [ ] Admin Page
|
||||||
- [ ] Use auth0 user info to create appUser account
|
- [x] Use auth0 user info to create appUser account
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
"domain": "dev-fyjrvohx.auth0.com",
|
"domain": "dev-fyjrvohx.auth0.com",
|
||||||
"clientId": "NOTxfOhjCLkdvsstLm2tcS1kiAjCdWm9"
|
"clientId": "NOTxfOhjCLkdvsstLm2tcS1kiAjCdWm9",
|
||||||
|
"audience": "https://localhost:5001/api/V1/"
|
||||||
}
|
}
|
||||||
|
|
@ -1,7 +1,13 @@
|
||||||
import React, { FC, ReactNode } from "react";
|
import React, { FC, ReactNode } from "react";
|
||||||
import { Link } from "react-router-dom";
|
import { Link as RouterLink } from "react-router-dom";
|
||||||
import { makeStyles } from "@material-ui/core/styles";
|
import { makeStyles } from "@material-ui/core/styles";
|
||||||
import { Card, CardActions, CardContent, Typography } from "@material-ui/core";
|
import {
|
||||||
|
Card,
|
||||||
|
CardActions,
|
||||||
|
CardContent,
|
||||||
|
Typography,
|
||||||
|
Link,
|
||||||
|
} from "@material-ui/core";
|
||||||
import ProgressBar from "../Progress/ProgressBar";
|
import ProgressBar from "../Progress/ProgressBar";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
|
|
@ -33,7 +39,7 @@ const HorizontalCard: FC<IProps> = ({
|
||||||
<ProgressBar value={progress} />
|
<ProgressBar value={progress} />
|
||||||
<CardContent>
|
<CardContent>
|
||||||
<Typography variant="h5" component="h2">
|
<Typography variant="h5" component="h2">
|
||||||
<Link to={link}>
|
<Link color="primary" component={RouterLink} to={link}>
|
||||||
<b>{title ?? "Nothing to do"}</b>
|
<b>{title ?? "Nothing to do"}</b>
|
||||||
</Link>
|
</Link>
|
||||||
</Typography>
|
</Typography>
|
||||||
|
|
|
||||||
|
|
@ -1,91 +0,0 @@
|
||||||
import React, { FC, useState, ChangeEvent, FormEvent, useEffect } from "react";
|
|
||||||
import { Modal } from "./Modal";
|
|
||||||
import { AvatarList } from "./AvatarList";
|
|
||||||
import { User } from "../types/User";
|
|
||||||
import { FilterBar } from "./FilterBar";
|
|
||||||
import { patch } from "../utils/http";
|
|
||||||
import { Constants } from "../utils/Constants";
|
|
||||||
import { UsersModalEntry } from "./UsersModalEntry";
|
|
||||||
import { useParams } from "react-router-dom";
|
|
||||||
|
|
||||||
interface IProps {
|
|
||||||
show: boolean;
|
|
||||||
users: User[];
|
|
||||||
allUsers: User[];
|
|
||||||
handleClose(): void;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const UsersModal: FC<IProps> = ({
|
|
||||||
show,
|
|
||||||
handleClose,
|
|
||||||
users,
|
|
||||||
allUsers
|
|
||||||
}) => {
|
|
||||||
const [filterText, setFilterText] = useState<string>("");
|
|
||||||
const [members, setMembers] = useState<User[]>(users);
|
|
||||||
const { id } = useParams();
|
|
||||||
|
|
||||||
const handleChange: (e: ChangeEvent<HTMLInputElement>) => void = (
|
|
||||||
e: ChangeEvent<HTMLInputElement>
|
|
||||||
) => {
|
|
||||||
setFilterText(e.target.value);
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleSubmit: (event: FormEvent<HTMLFormElement>) => void = async (
|
|
||||||
e: FormEvent
|
|
||||||
) => {
|
|
||||||
e.preventDefault();
|
|
||||||
await patch<User[]>(
|
|
||||||
`${Constants.projectsURI}/${id}/members`,
|
|
||||||
members.map(m => m.id)
|
|
||||||
);
|
|
||||||
handleClose();
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Modal show={show} handleClose={handleClose}>
|
|
||||||
<div className="row valign-wrapper indigo">
|
|
||||||
<div className="col s10">
|
|
||||||
<h4 className="white-text">Manage users</h4>
|
|
||||||
</div>
|
|
||||||
<div className="col s2">
|
|
||||||
<i
|
|
||||||
className="right material-icons indigo lighten-3 circle"
|
|
||||||
onClick={handleClose}
|
|
||||||
>
|
|
||||||
close
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="center">
|
|
||||||
<AvatarList users={users} />
|
|
||||||
<FilterBar
|
|
||||||
filterText={filterText}
|
|
||||||
clearFilterText={() => setFilterText("")}
|
|
||||||
handleChange={handleChange}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form onSubmit={handleSubmit}>
|
|
||||||
<ul>
|
|
||||||
{allUsers.map((u: User) => (
|
|
||||||
<li key={u.id}>
|
|
||||||
<UsersModalEntry
|
|
||||||
user={u}
|
|
||||||
members={members}
|
|
||||||
setMembers={setMembers}
|
|
||||||
/>
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
<div className="modal-footer grey lighten-3">
|
|
||||||
<input
|
|
||||||
type="submit"
|
|
||||||
className="modal-close waves-effect waves-green btn indigo"
|
|
||||||
value="Done"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</Modal>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
Loading…
Reference in a new issue