# frozen_string_literal: true
module Widgets
class Chat < VPanel
def initialize(x, y, width, height)
super
info_height = 4
message_height = 1
history_height = height - info_height - message_height
info_top = 0
history_top = info_height
message_top = info_height + history_height
@info = Info.new x, y + info_top, width, info_height
@history = History.new x, y + history_top, width, history_height
@message = NewMessage.new x, y + message_top, width, message_height
end
def children
[@info, @history, @message]
def trigger(event)
case event
when Events::Panel::Base
@history.trigger event
when Events::Text::Base
@message.trigger event
def focused=(value)
@focused = !!value
@info.focused = focused
@history.focused = focused
@message.focused = focused