Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 

137 righe
3.5 KiB

  1. "use client";
  2. import { UserResult } from "@/app/api/user";
  3. import {
  4. Card,
  5. CardContent,
  6. Grid,
  7. Stack,
  8. TextField,
  9. Typography,
  10. } from "@mui/material";
  11. import { useFormContext } from "react-hook-form";
  12. import { useTranslation } from "react-i18next";
  13. interface Props {
  14. data: UserResult
  15. }
  16. const UserDetail: React.FC<Props> = ({
  17. data
  18. }) => {
  19. const { t } = useTranslation();
  20. const {
  21. register,
  22. formState: { errors },
  23. control,
  24. } = useFormContext<UserResult>();
  25. return (
  26. <Card>
  27. <CardContent component={Stack} spacing={4}>
  28. <Typography variant="overline" display="block" marginBlockEnd={1}>
  29. {t("User Detail")}
  30. </Typography>
  31. <Grid container spacing={2} columns={{ xs: 6, sm: 12 }}>
  32. <Grid item xs={6}>
  33. <TextField
  34. label={t("username")}
  35. fullWidth
  36. {...register("username", {
  37. required: "username required!",
  38. })}
  39. error={Boolean(errors.name)}
  40. />
  41. </Grid>
  42. {/* <Grid item xs={6}>
  43. <TextField
  44. label={t("First Name")}
  45. fullWidth
  46. {...register("firstname", {
  47. required: "Name required!",
  48. })}
  49. error={Boolean(errors.firstname)}
  50. />
  51. </Grid>
  52. <Grid item xs={6}>
  53. <TextField
  54. label={t("Last Name")}
  55. fullWidth
  56. {...register("lastname", {
  57. required: "Name required!",
  58. })}
  59. error={Boolean(errors.lastname)}
  60. />
  61. </Grid>
  62. <Grid item xs={6}>
  63. <TextField
  64. label={t("title")}
  65. fullWidth
  66. {...register("title", {
  67. required: "title required!",
  68. })}
  69. error={Boolean(errors.title)}
  70. />
  71. </Grid>
  72. <Grid item xs={6}>
  73. <TextField
  74. label={t("department")}
  75. fullWidth
  76. {...register("department", {
  77. required: "department required!",
  78. })}
  79. error={Boolean(errors.department)}
  80. />
  81. </Grid>
  82. <Grid item xs={6}>
  83. <TextField
  84. label={t("email")}
  85. fullWidth
  86. {...register("email", {
  87. required: "email required!",
  88. })}
  89. error={Boolean(errors.email)}
  90. />
  91. </Grid>
  92. <Grid item xs={6}>
  93. <TextField
  94. label={t("phone1")}
  95. fullWidth
  96. {...register("phone1", {
  97. required: "phone1 required!",
  98. })}
  99. error={Boolean(errors.phone1)}
  100. />
  101. </Grid>
  102. <Grid item xs={6}>
  103. <TextField
  104. label={t("phone2")}
  105. fullWidth
  106. {...register("phone2", {
  107. required: "phone2 required!",
  108. })}
  109. error={Boolean(errors.phone2)}
  110. />
  111. </Grid>
  112. <Grid item xs={12}>
  113. <TextField
  114. label={t("remarks")}
  115. fullWidth
  116. multiline
  117. rows={4}
  118. variant="filled"
  119. {...register("remarks", {
  120. required: "remarks required!",
  121. })}
  122. error={Boolean(errors.remarks)}
  123. />
  124. </Grid> */}
  125. </Grid>
  126. </CardContent>
  127. </Card>
  128. );
  129. };
  130. export default UserDetail;