2020-04-08 17:00:56 +10:00
|
|
|
import React, { useState } from "react";
|
2020-04-13 18:15:00 +10:00
|
|
|
import { IconButton } from "theme-ui";
|
2020-04-08 17:00:56 +10:00
|
|
|
|
2020-04-13 18:15:00 +10:00
|
|
|
import ChangeNicknameModal from "../modals/ChangeNicknameModal";
|
2020-04-18 23:31:40 +10:00
|
|
|
import ChangeNicknameIcon from "../icons/ChangeNicknameIcon";
|
2020-04-08 17:00:56 +10:00
|
|
|
|
|
|
|
|
function ChangeNicknameButton({ nickname, onChange }) {
|
|
|
|
|
const [isChangeModalOpen, setIsChangeModalOpen] = useState(false);
|
|
|
|
|
function openModal() {
|
|
|
|
|
setIsChangeModalOpen(true);
|
|
|
|
|
}
|
|
|
|
|
function closeModal() {
|
|
|
|
|
setIsChangeModalOpen(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const [changedNickname, setChangedNickname] = useState(nickname);
|
|
|
|
|
function handleChangeSubmit(event) {
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
onChange(changedNickname);
|
|
|
|
|
closeModal();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function handleChange(event) {
|
|
|
|
|
setChangedNickname(event.target.value);
|
|
|
|
|
}
|
|
|
|
|
return (
|
|
|
|
|
<>
|
2020-04-09 11:12:46 +10:00
|
|
|
<IconButton
|
|
|
|
|
m={1}
|
|
|
|
|
aria-label="Change Nickname"
|
|
|
|
|
title="Change Nickname"
|
|
|
|
|
onClick={openModal}
|
|
|
|
|
>
|
2020-04-18 23:31:40 +10:00
|
|
|
<ChangeNicknameIcon />
|
2020-04-08 17:00:56 +10:00
|
|
|
</IconButton>
|
2020-04-13 18:15:00 +10:00
|
|
|
<ChangeNicknameModal
|
|
|
|
|
isOpen={isChangeModalOpen}
|
|
|
|
|
onRequestClose={closeModal}
|
|
|
|
|
onChangeSubmit={handleChangeSubmit}
|
|
|
|
|
onChange={handleChange}
|
|
|
|
|
nickname={changedNickname}
|
|
|
|
|
/>
|
2020-04-08 17:00:56 +10:00
|
|
|
</>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default ChangeNicknameButton;
|