local q=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")local Q=q:WaitForChild("\077\111\100\117\108\101\115")local R=require(Q.src.utils.Logger)local j=((game:GetService("\083\116\097\114\116\101\114\080\108\097\121\101\114")):WaitForChild("\083\116\097\114\116\101\114\080\108\097\121\101\114\083\099\114\105\112\116\115")).clientSrc local E=require(j.Components.common.UICorner)local x=require(Q.src.AudioPlayer)local F=require(Q.M)local J=require(Q.Roact)local S=J.createElement local k="\114\098\120\097\115\115\101\116\105\100\058\047\047\051\057\050\054\051\048\053\057\048\052"local i="\114\098\120\097\115\115\101\116\105\100\058\047\047\051\057\050\054\051\048\055\057\055\049"local g={close={Image=k;ImageRectOffset=Vector2.new(284,4);ImageRectSize=Vector2.new(24,24)};inbox={Image=k;ImageRectOffset=Vector2.new(404,484),ImageRectSize=Vector2.new(36,36)},shop={Image=i;ImageRectOffset=Vector2.new(684,44);ImageRectSize=Vector2.new(36,36)}}local function X(q)local Q local R local j=UDim2.new(.5,0,0,50)if q.icon then j=UDim2.new(.7,0,.7,0)R=S("\085\073\065\115\112\101\099\116\082\097\116\105\111\067\111\110\115\116\114\097\105\110\116")Q=S("\073\109\097\103\101\066\117\116\116\111\110",F.extend({Position=UDim2.new(.5,0,.5,0),AnchorPoint=Vector2.new(.5,.5);Size=UDim2.new(0,25,0,25),BackgroundTransparency=1;ZIndex=2,[J.Event.MouseButton1Click]=function()x.playAudio("\083\105\109\112\108\101\095\067\108\105\099\107")q.onClicked()end},g[q.icon]))end return S("\084\101\120\116\066\117\116\116\111\110",F.extend({Font=Enum.Font.SourceSans,Size=j;BackgroundColor3=Color3.fromRGB(124,0,215),TextColor3=Color3.fromRGB(255,255,255),TextSize=26,Text="";[J.Event.MouseButton1Click]=function()x.playAudio("\083\105\109\112\108\101\095\067\108\105\099\107")q.onClicked()end},F.omit(q,"\105\099\111\110","\111\110\067\108\105\099\107\101\100")),{UICorner=S(E),R,Q})end return X
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local Modules = ReplicatedStorage:WaitForChild('Modules')
local logger = require(Modules.src.utils.Logger)
local clientSrc = game:GetService('StarterPlayer'):WaitForChild('StarterPlayerScripts').clientSrc
local UICorner = require(clientSrc.Components.common.UICorner)
local AudioPlayer = require(Modules.src.AudioPlayer)
local M = require(Modules.M)
local Roact = require(Modules.Roact)
local createElement = Roact.createElement

local materialIconsAsset = 'rbxassetid://3926305904'
local materialIconsAsset2 = 'rbxassetid://3926307971'

local MaterialIcons = {
	close = {
		Image = materialIconsAsset,
		ImageRectOffset = Vector2.new(284, 4),
		ImageRectSize = Vector2.new(24, 24),
	},
	inbox = {
		Image = materialIconsAsset,
		ImageRectOffset = Vector2.new(404, 484),
		ImageRectSize = Vector2.new(36, 36),
	},
	shop = {
		Image = materialIconsAsset2,
		ImageRectOffset = Vector2.new(684, 44),
		ImageRectSize = Vector2.new(36, 36),
	},
}

local function RoundButton(props)
	local image
	local aspect

	local size = UDim2.new(0.5, 0, 0, 50)

	if props.icon then
		size = UDim2.new(0.7, 0, 0.7, 0)
		aspect = createElement('UIAspectRatioConstraint')
		image = createElement(
			'ImageButton',
			M.extend(
				{
					Position = UDim2.new(0.5, 0, 0.5, 0),
					AnchorPoint = Vector2.new(0.5, 0.5),
					Size = UDim2.new(0, 25, 0, 25),
					BackgroundTransparency = 1,
					ZIndex = 2,
					[Roact.Event.MouseButton1Click] = function()
						AudioPlayer.playAudio('Simple_Click')
						props.onClicked()
					end,
				},
				MaterialIcons[props.icon]
			)
		)
	end

	return createElement(
		'TextButton',

		M.extend(
			{
				Font = Enum.Font.SourceSans,
				Size = size,
				BackgroundColor3 = Color3.fromRGB(124, 0, 215),
				TextColor3 = Color3.fromRGB(255, 255, 255),
				TextSize = 26,
				Text = '',
				[Roact.Event.MouseButton1Click] = function()
					AudioPlayer.playAudio('Simple_Click')
					props.onClicked()
				end,
			},
			M.omit(props, 'icon', 'onClicked')
		),
		{
			UICorner = createElement(UICorner),
			aspect,
			image,
		}
	)
end

return RoundButton