2023-06-28 12:55:24 +00:00
|
|
|
"use client";
|
|
|
|
|
|
2023-02-13 12:41:30 +00:00
|
|
|
import { FC } from "react";
|
2023-05-25 14:36:08 +00:00
|
|
|
import { makeStyles } from "@mui/styles";
|
2023-02-13 12:41:30 +00:00
|
|
|
import {
|
|
|
|
|
SimpleForm,
|
|
|
|
|
TextInput,
|
|
|
|
|
Edit,
|
|
|
|
|
ReferenceInput,
|
|
|
|
|
SelectInput,
|
|
|
|
|
DateInput,
|
|
|
|
|
Toolbar,
|
|
|
|
|
DeleteButton,
|
|
|
|
|
EditProps,
|
|
|
|
|
} from "react-admin";
|
|
|
|
|
import { useSession } from "next-auth/react";
|
|
|
|
|
|
2023-05-25 07:03:57 +00:00
|
|
|
const useStyles = makeStyles((_theme: any) => ({
|
2023-02-13 12:41:30 +00:00
|
|
|
defaultToolbar: {
|
|
|
|
|
flex: 1,
|
|
|
|
|
display: "flex",
|
|
|
|
|
justifyContent: "space-between",
|
|
|
|
|
},
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
type AccountEditToolbarProps = {
|
|
|
|
|
record?: any;
|
|
|
|
|
};
|
|
|
|
|
|
2023-03-14 17:40:24 +00:00
|
|
|
const AccountEditToolbar: FC<AccountEditToolbarProps> = (props: any) => {
|
2023-02-13 12:41:30 +00:00
|
|
|
const { data: session } = useSession();
|
|
|
|
|
const classes = useStyles(props);
|
|
|
|
|
return (
|
|
|
|
|
<Toolbar className={classes.defaultToolbar} {...props}>
|
|
|
|
|
<DeleteButton disabled={session?.user?.email === props.record?.userId} />
|
|
|
|
|
</Toolbar>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const AccountTitle = ({ record }: { record?: any }) => {
|
|
|
|
|
let title = "";
|
2023-03-15 12:17:43 +00:00
|
|
|
if (record) title = record.name ?? record.email;
|
2023-02-13 12:41:30 +00:00
|
|
|
return <span>Account {title}</span>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const AccountEdit = (props: EditProps) => (
|
|
|
|
|
<Edit title={<AccountTitle />} {...props}>
|
|
|
|
|
<SimpleForm toolbar={<AccountEditToolbar />}>
|
|
|
|
|
<TextInput disabled source="id" />
|
|
|
|
|
<ReferenceInput source="userId" reference="users">
|
|
|
|
|
<SelectInput disabled optionText="email" />
|
|
|
|
|
</ReferenceInput>
|
|
|
|
|
<TextInput disabled source="providerType" />
|
|
|
|
|
<TextInput disabled source="providerId" />
|
|
|
|
|
<TextInput disabled source="providerAccountId" />
|
|
|
|
|
<DateInput disabled source="createdAt" />
|
|
|
|
|
<DateInput disabled source="updatedAt" />
|
|
|
|
|
</SimpleForm>
|
|
|
|
|
</Edit>
|
|
|
|
|
);
|
|
|
|
|
export default AccountEdit;
|