import React, { useState, useRef, useEffect, useMemo } from "react"; 
 | 
import { 
 | 
  Box, 
 | 
  Card, 
 | 
  CardContent, 
 | 
  Grid, 
 | 
  Typography, 
 | 
  Tooltip, 
 | 
} from "@mui/material"; 
 | 
import { useTranslate, useRecordContext } from "react-admin"; 
 | 
import PanelTypography from "@/page/components/PanelTypography"; 
 | 
import * as Common from "@/utils/common"; 
 | 
  
 | 
const UserPanel = () => { 
 | 
  const record = useRecordContext(); 
 | 
  if (!record) return null; 
 | 
  const translate = useTranslate(); 
 | 
  return ( 
 | 
    <> 
 | 
      <Card 
 | 
        sx={{ width: { xs: 300, sm: 500, md: 600, lg: 800 }, margin: "auto" }} 
 | 
      > 
 | 
        <CardContent> 
 | 
          <Grid container spacing={2}> 
 | 
            <Grid 
 | 
              item 
 | 
              xs={12} 
 | 
              sx={{ display: "flex", justifyContent: "space-between" }} 
 | 
            > 
 | 
              <Typography 
 | 
                variant="h6" 
 | 
                gutterBottom 
 | 
                align="left" 
 | 
                sx={{ 
 | 
                  maxWidth: { 
 | 
                    xs: "100px", 
 | 
                    sm: "180px", 
 | 
                    md: "260px", 
 | 
                    lg: "360px", 
 | 
                  }, 
 | 
                  whiteSpace: "nowrap", 
 | 
                  overflow: "hidden", 
 | 
                  textOverflow: "ellipsis", 
 | 
                }} 
 | 
              > 
 | 
                {Common.camelToPascalWithSpaces( 
 | 
                  translate("table.field.user.nickname"), 
 | 
                )} 
 | 
                : {record.nickname} 
 | 
              </Typography> 
 | 
              {/*  inherit, primary, secondary, textPrimary, textSecondary, error */} 
 | 
              <Typography variant="h6" gutterBottom align="right"> 
 | 
                ID: {record.id} 
 | 
              </Typography> 
 | 
            </Grid> 
 | 
          </Grid> 
 | 
          <Grid container spacing={2}> 
 | 
            <Grid item xs={12} container alignContent="flex-end"> 
 | 
              <Typography 
 | 
                variant="caption" 
 | 
                color="textSecondary" 
 | 
                sx={{ wordWrap: "break-word", wordBreak: "break-all" }} 
 | 
              > 
 | 
                {Common.camelToPascalWithSpaces(translate("common.field.memo"))} 
 | 
                :{record.memo} 
 | 
              </Typography> 
 | 
            </Grid> 
 | 
          </Grid> 
 | 
          <Box height={20}> </Box> 
 | 
          <Grid container spacing={2}> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.username" 
 | 
                property={record.username} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.nickname" 
 | 
                property={record.nickname} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.avatar" 
 | 
                property={record.avatar} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.code" 
 | 
                property={record.code} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.sex" 
 | 
                property={record.sex$} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.phone" 
 | 
                property={record.phone} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.email" 
 | 
                property={record.email} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.emailVerified" 
 | 
                property={record.emailVerified$} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.deptId" 
 | 
                property={record.deptId$} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.realName" 
 | 
                property={record.realName} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.idCard" 
 | 
                property={record.idCard} 
 | 
              /> 
 | 
            </Grid> 
 | 
            <Grid item xs={6}> 
 | 
              <PanelTypography 
 | 
                title="table.field.user.birthday" 
 | 
                property={record.birthday} 
 | 
              /> 
 | 
            </Grid> 
 | 
            {/* <Grid item xs={6}> 
 | 
                            <PanelTypography 
 | 
                                title="table.field.user.introduction"  
 | 
                                property={record.introduction} 
 | 
                            /> 
 | 
                        </Grid> */} 
 | 
          </Grid> 
 | 
        </CardContent> 
 | 
      </Card> 
 | 
    </> 
 | 
  ); 
 | 
}; 
 | 
  
 | 
export default UserPanel; 
 |