add gs
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
local CorePackages = game:GetService("CorePackages")
|
||||
|
||||
local Roact = require(CorePackages.Roact)
|
||||
|
||||
local PromptState = require(script.Parent.Parent.Parent.PromptState)
|
||||
|
||||
local NumberLocalizer = require(script.Parent.Parent.Connection.NumberLocalizer)
|
||||
|
||||
local AutoResizeList = require(script.Parent.AutoResizeList)
|
||||
|
||||
local withLayoutValues = require(script.Parent.Parent.Connection.withLayoutValues)
|
||||
|
||||
local connectToStore = require(script.Parent.Parent.Parent.connectToStore)
|
||||
|
||||
local function Price(props)
|
||||
return withLayoutValues(function(values)
|
||||
local layoutOrder = props.layoutOrder
|
||||
local showPrice = props.showPrice
|
||||
local price = props.price
|
||||
|
||||
return showPrice and Roact.createElement(AutoResizeList, {
|
||||
layoutOrder = layoutOrder,
|
||||
horizontalAlignment = Enum.HorizontalAlignment.Left,
|
||||
verticalAlignment = Enum.VerticalAlignment.Center,
|
||||
fillDirection = Enum.FillDirection.Horizontal,
|
||||
}, {
|
||||
RobuxIconContainer = Roact.createElement("Frame", {
|
||||
BorderSizePixel = 0,
|
||||
BackgroundTransparency = 1,
|
||||
Size = values.Size.RobuxIconContainerFrame,
|
||||
LayoutOrder = 1,
|
||||
}, {
|
||||
RobuxIcon = Roact.createElement("ImageLabel", {
|
||||
Size = values.Size.RobuxIcon,
|
||||
BackgroundTransparency = 1,
|
||||
BorderSizePixel = 0,
|
||||
AnchorPoint = Vector2.new(0, 0.5),
|
||||
Position = UDim2.new(0, 0, 0.5, 0),
|
||||
Image = values.Image.RobuxIcon.Path,
|
||||
}),
|
||||
}),
|
||||
PriceTextLabel = Roact.createElement(NumberLocalizer, {
|
||||
number = price,
|
||||
render = function(localizedNumber)
|
||||
return Roact.createElement("TextLabel", {
|
||||
Text = localizedNumber,
|
||||
LayoutOrder = 2,
|
||||
Size = values.Size.PriceTextLabel,
|
||||
BackgroundTransparency = 1,
|
||||
BorderSizePixel = 0,
|
||||
TextColor3 = Color3.fromRGB(2, 183, 87),
|
||||
Font = Enum.Font.SourceSansBold,
|
||||
TextSize = values.TextSize.Default,
|
||||
TextXAlignment = Enum.TextXAlignment.Left,
|
||||
TextScaled = true,
|
||||
TextWrapped = true,
|
||||
}, {
|
||||
TextSizeConstraint = Roact.createElement("UITextSizeConstraint", {
|
||||
MaxTextSize = values.TextSize.Default,
|
||||
})
|
||||
})
|
||||
end,
|
||||
})
|
||||
})
|
||||
end)
|
||||
end
|
||||
|
||||
local function mapStateToProps(state)
|
||||
local promptState = state.promptState
|
||||
local canPurchase = promptState ~= PromptState.CannotPurchase
|
||||
and promptState ~= PromptState.Error
|
||||
local free = state.productInfo.price == 0
|
||||
|
||||
return {
|
||||
showPrice = canPurchase and not free,
|
||||
price = state.productInfo.price,
|
||||
}
|
||||
end
|
||||
|
||||
Price = connectToStore(
|
||||
mapStateToProps
|
||||
)(Price)
|
||||
|
||||
return Price
|
||||
Reference in New Issue
Block a user