local s=require(script.Parent.Parent.Packages.Roact)local k=require(script.Parent.Parent.Packages.t)local r=require(script.Parent.Parent.clientConfig)local z=(require(script.Parent.Parent.Libraries.Configuration)).ConfigurationContext local t=require(script.Parent.Parent.enums)local w=require(script.Parent.EmoteBarScreen)local T=require(script.Parent.EmoteWheelBillboard)local d=s.Component:extend("\069\109\111\116\101\086\105\101\119")d.defaultProps={isVisible=true,forceHide=false}d.validateProps=k.strictInterface({forceHide=k.boolean,isVisible=k.boolean;configuration=r.validate})function d.render(k)local r=k.props.configuration.guiType if r==t.GuiType.EmoteBar then return s.createElement(w,{isVisible=k.props.isVisible and not k.props.forceHide})elseif r==t.GuiType.EmoteWheel then return s.createElement(T,{isVisible=k.props.isVisible})end end return z.withConfiguration(d)


local Roact = require(script.Parent.Parent.Packages.Roact)
local t = require(script.Parent.Parent.Packages.t)
local clientConfig = require(script.Parent.Parent.clientConfig)
local ConfigurationContext = require(script.Parent.Parent.Libraries.Configuration).ConfigurationContext
local enums = require(script.Parent.Parent.enums)
local EmoteBarScreen = require(script.Parent.EmoteBarScreen)
local EmoteWheelBillboard = require(script.Parent.EmoteWheelBillboard)

local EmoteView = Roact.Component:extend("EmoteView")

EmoteView.defaultProps = {
	isVisible = true,
	forceHide = false,
}

EmoteView.validateProps = t.strictInterface({
	forceHide = t.boolean,
	isVisible = t.boolean,
	configuration = clientConfig.validate,
})

function EmoteView:render()
	local guiType = self.props.configuration.guiType

	if guiType == enums.GuiType.EmoteBar then
		return Roact.createElement(EmoteBarScreen, {
			isVisible = self.props.isVisible and not self.props.forceHide,
		})
	elseif guiType == enums.GuiType.EmoteWheel then
		return Roact.createElement(EmoteWheelBillboard, {
			isVisible = self.props.isVisible,
		})
	end
end

return ConfigurationContext.withConfiguration(EmoteView)
