import React, { useState, useRef, useEffect, useMemo } from "react"; 
 | 
import { Button, useTranslate } from "react-admin"; 
 | 
import { Fab, useMediaQuery } from "@mui/material"; 
 | 
import ContentAdd from "@mui/icons-material/Add"; 
 | 
import { styled } from "@mui/material/styles"; 
 | 
import { Link } from "react-router-dom"; 
 | 
  
 | 
const MyCreateButton = (props) => { 
 | 
  const translate = useTranslate(); 
 | 
  const isSmall = useMediaQuery((theme) => theme.breakpoints.down("md")); 
 | 
  
 | 
  return isSmall ? ( 
 | 
    <StyledFab 
 | 
      color="primary" 
 | 
      className={CreateButtonClasses.floating} 
 | 
      aria-label={label && translate(label)} 
 | 
      onClick={props.onClick} 
 | 
      {...props} 
 | 
    > 
 | 
      {defaultIcon} 
 | 
    </StyledFab> 
 | 
  ) : ( 
 | 
    <StyledButton 
 | 
      className={CreateButtonClasses.floating} 
 | 
      label={label} 
 | 
      onClick={props.onClick} 
 | 
      {...props} 
 | 
    > 
 | 
      {defaultIcon} 
 | 
    </StyledButton> 
 | 
  ); 
 | 
}; 
 | 
  
 | 
const label = "ra.action.create"; 
 | 
const PREFIX = "RaCreateButton"; 
 | 
const defaultIcon = <ContentAdd />; 
 | 
  
 | 
export const CreateButtonClasses = { 
 | 
  root: `${PREFIX}-root`, 
 | 
  floating: `${PREFIX}-floating`, 
 | 
}; 
 | 
  
 | 
const StyledFab = styled(Fab, { 
 | 
  name: PREFIX, 
 | 
  overridesResolver: (_props, styles) => styles.root, 
 | 
})(({ theme }) => ({ 
 | 
  [`&.${CreateButtonClasses.floating}`]: { 
 | 
    color: theme.palette.getContrastText(theme.palette.primary.main), 
 | 
    margin: 0, 
 | 
    top: "auto", 
 | 
    right: 20, 
 | 
    bottom: 60, 
 | 
    left: "auto", 
 | 
    position: "fixed", 
 | 
    zIndex: 1000, 
 | 
  }, 
 | 
})); 
 | 
  
 | 
const StyledButton = styled(Button, { 
 | 
  name: PREFIX, 
 | 
  overridesResolver: (_props, styles) => styles.root, 
 | 
})({}); 
 | 
  
 | 
export default MyCreateButton; 
 |