"use client"; import { Button, Modal, Textarea } from "flowbite-react"; import { ENDPOINTS } from "#/api/config"; import { useEffect, useState } from "react"; export const ProfileEditStatusModal = (props: { isOpen: boolean; setIsOpen: (isOpen: boolean) => void; token: string; status: string; setStatus: (status: string) => void; }) => { const [loading, setLoading] = useState(false); const [_status, _setStatus] = useState(""); const [_stringLength, _setStringLength] = useState(0); useEffect(() => { _setStatus(props.status); _setStringLength(props.status.length); }, [props.isOpen]); function handleInput(e: any) { _setStatus(e.target.value); _setStringLength(e.target.value.length); } function _setStatusSetting() { setLoading(true); fetch(`${ENDPOINTS.user.settings.statusEdit}?token=${props.token}`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ status: _status, }), }) .then((res) => { if (res.ok) { setLoading(false); props.setStatus(_status); props.setIsOpen(false); } else { new Error("failed to send data"); } }) .catch((err) => { console.log(err); setLoading(false); }); } return ( props.setIsOpen(false)} size={"4xl"} > Изменить статус