import React, { useState } from "react"; import { Text, Box, Input, Button, Label, IconButton } from "theme-ui"; import Modal from "./Modal"; function Nickname({ nickname, allowChanging, onChange }) { const [isChangeModalOpen, setIsChangeModalOpen] = useState(false); function openModal() { setIsChangeModalOpen(true); } function closeModal() { setIsChangeModalOpen(false); } const [changedNickname, setChangedNickname] = useState(nickname); function handleChangeSubmit(event) { event.preventDefault(); if (allowChanging) { onChange(changedNickname); closeModal(); } } function handleChange(event) { setChangedNickname(event.target.value); } return ( <> allowChanging && openModal()} > {nickname} {allowChanging && ( )} ); } Nickname.defaultProps = { allowChanging: false, onChange: () => {}, }; export default Nickname;