Create user interface for my app

using UnityEngine;
using UnityEngine.UI;

public class StylishButton : MonoBehaviour
{
    public Button button;
    public Text buttonText;
    private Color normalColor;
    private Color hoverColor;

    public void Initialize(string text, Color color, UnityEngine.Events.UnityAction onClick)
    {
        buttonText.text = text;
        normalColor = color;
        hoverColor = color * new Color(1f, 1f, 1f, 0.8f);
        button.onClick.AddListener(onClick);
        button.GetComponent<Image>().color = normalColor;
        button.onClick.AddListener(OnHover);
    }

    private void OnHover()
    {
        button.GetComponent<Image>().color = hoverColor;
    }

    private void OnMouseExit()
    {
        button.GetComponent<Image>().color = normalColor;
    }
}

public class MainComponent : MonoBehaviour
{
    public GameObject loginPanel;
    public GameObject chatPanel;
    public InputField usernameInput;
    public InputField passwordInput;
    public InputField messageInput;
    public Text currentTimeText;
    public Text onlineStatusText;
    public GameObject messagePrefab;
    public Transform messageContent;
    private bool isLoggedIn = false;
    private string[] messages;

    void Start()
    {
        UpdateCurrentTime();
        InvokeRepeating("UpdateCurrentTime", 1f, 1f);
    }

    void UpdateCurrentTime()
    {
        currentTimeText.text = System.DateTime.Now.ToString("HH:mm:ss");
        onlineStatusText.text = Application.internetReachability == NetworkReachability.NotReachable ? "OFFLINE" : "ONLINE";
    }

    public void HandleLogin()
    {
        if (usernameInput.text == "240866" && passwordInput.text == "15081987")
        {
            isLoggedIn = true;
            chatPanel.SetActive(true);
            loginPanel.SetActive(false);
        }
    }

    public void HandleSendMessage()
    {
        if (!string.IsNullOrEmpty(messageInput.text))
        {
            InstantiateMessage(messageInput.text, "user");
            messageInput.text = "";
            // Handle AI response here
        }
    }

    private void InstantiateMessage(string content, string role)
    {
        GameObject message = Instantiate(messagePrefab, messageContent);
        Message messageScript = message.GetComponent<Message>();
        messageScript.SetMessage(content, role);
    }

    public void ClearChat()
    {
        foreach (Transform child in messageContent)
        {
            Destroy(child.gameObject);
        }
    }

    public void HandleLogout()
    {
        isLoggedIn = false;
        chatPanel.SetActive(false);
        loginPanel.SetActive(true);
        ClearChat();
    }
}

// Message Class
public class Message : MonoBehaviour
{
    public Text messageText;
    public Text roleText;

    public void SetMessage(string content, string role)
    {
        messageText.text = content;
        roleText.text = role;
    }
}