Chats.tsx 1,26 ko
Newer Older
import { useEffect, useState } from "react";
import style from "./Chats.module.css";
Quentin Vauthier's avatar
Quentin Vauthier a validé
type ChatsProps = {
    statusCatsInside: number,
    sendMessage: (message: string) => void,
    setIgnoreNextToast: (ignore: boolean) => void
}

export default function Chats({catsInside, sendMessage, setIgnoreNextToast} : ChatsProps) {

    const [catsChar, setCatsChar] = useState('`');

    useEffect(() => {
Quentin Vauthier's avatar
Quentin Vauthier a validé
        const interval = setInterval(() => {
            setCatsChar(catsChar === '`' ? '^' : '`');
        }, 500);
        return () => clearInterval(interval);
    }, [catsChar]);
            <h2>Chats dans la maison</h2>
            <div className={style.catsContainer}>
Quentin Vauthier's avatar
Quentin Vauthier a validé
                <button className={style.arrow} onClick={() => {
                    sendMessage('catEntered')
                    setIgnoreNextToast(true)
                }}></button>
                <p className={style.cats}>{catsInside === 0 ? "0" : `${catsChar} `.repeat(catsInside)}</p>
                <button className={style.arrow} onClick={() => {
                    if(catsInside > 0) {
                        sendMessage('catLeft')
                        setIgnoreNextToast(true)
                    }
                }}></button>