local k=require(script.Parent.Parent.Packages.Roact)local f=require(script.Parent.Parent.Packages.t)local u=require(script.Parent.Parent.clientConfig)local Z=(require(script.Parent.Parent.Libraries.Configuration)).ConfigurationContext local W=require(script.Parent.Parent.enums)local w=require(script.Parent.EmoteBarScreen)local Y=require(script.Parent.EmoteWheelBillboard)local a=k.Component:extend("\069\109\111\116\101\086\105\101\119")a.defaultProps={isVisible=true;forceHide=false}a.validateProps=f.strictInterface({forceHide=f.boolean,isVisible=f.boolean;configuration=u.validate})function a.render(f)local u=f.props.configuration.guiType if u==W.GuiType.EmoteBar then return k.createElement(w,{isVisible=f.props.isVisible and not f.props.forceHide})elseif u==W.GuiType.EmoteWheel then return k.createElement(Y,{isVisible=f.props.isVisible})end end return Z.withConfiguration(a)
--[[
    Chooses between the different GuiTypes that the emotes can be displayed in
]]

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)
