Spaces:
Running
Running
File size: 998 Bytes
e9b63e6 8fba2a6 e9b63e6 951c0af e9b63e6 8fba2a6 3637bbd e9b63e6 951c0af 8fba2a6 e9b63e6 951c0af e9b63e6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import { useNavigate } from "react-router-dom";
import React, { useState } from "react";
import styles from "./SideBarChatButton.module.css";
import Text from "../../Text/Text";
interface ChatButtonProps {
title: string;
chatId: string;
}
function SideBarChatButton(props: Readonly<ChatButtonProps>) {
const navigate = useNavigate();
const [isActive, setIsActive] = useState(false);
const handleClick = () => {
navigate(`/chats/id=${props.chatId}`);
};
const handleMouseDown = () => {
setIsActive(true);
};
const handleMouseUp = () => {
setIsActive(false);
};
const handleMouseLeave = () => {
setIsActive(false);
};
return (
<button
className={styles.chatButton}
onClick={handleClick}
onMouseDown={handleMouseDown}
onMouseUp={handleMouseUp}
onMouseLeave={handleMouseLeave}
>
<Text colorVariant={isActive ? "button" : "primary"}>{props.title}</Text>
</button>
);
}
export default SideBarChatButton;
|