forked from React-Group/interstellar_ai
		
	
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import React, { useState, ForwardedRef } from 'react';
 | 
						|
 | 
						|
interface InputProps {
 | 
						|
  message: string;
 | 
						|
  onSendClick: (message: string) => void;
 | 
						|
  onMicClick: () => void;
 | 
						|
}
 | 
						|
 | 
						|
const InputFrontend = React.forwardRef<HTMLDivElement, InputProps>(
 | 
						|
  ({ message, onSendClick, onMicClick }, ref: ForwardedRef<HTMLDivElement>) => {
 | 
						|
    const [inputValue, setInputValue] = useState('');
 | 
						|
 | 
						|
    const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {
 | 
						|
      setInputValue(e.target.value);
 | 
						|
    };
 | 
						|
 | 
						|
    return (
 | 
						|
      <div className="input" id="inputForm">
 | 
						|
        <input
 | 
						|
          type="text"
 | 
						|
          name="user_message"
 | 
						|
          placeholder="Type your message here..."
 | 
						|
          value={inputValue}
 | 
						|
          onChange={handleInputChange}
 | 
						|
        />
 | 
						|
        <button type="submit" onClick={() => onSendClick(inputValue)}>
 | 
						|
          <img src="/img/send.svg" alt="send" />
 | 
						|
        </button>
 | 
						|
        <button type="submit" onClick={onMicClick}>
 | 
						|
          <img src="/img/microphone.svg" alt="microphone" />
 | 
						|
        </button>
 | 
						|
      </div>
 | 
						|
    );
 | 
						|
  }
 | 
						|
);
 | 
						|
 | 
						|
export default InputFrontend;
 |