Skip to content

Commit

Permalink
update badge to new schema
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkVillacampa committed Jan 13, 2025
1 parent 4bfdca7 commit 6c7f787
Show file tree
Hide file tree
Showing 6 changed files with 188 additions and 145 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ struct StackComponentView: View {
shadow: style.shadow,
background: style.backgroundStyle,
uiConfigProvider: self.viewModel.uiConfigProvider)
.badge(style.badge, textComponentViewModel: viewModel.badgeTextViewModel)
.stackBadge(style.badge)
.padding(style.margin)
}

Expand Down Expand Up @@ -456,6 +456,7 @@ fileprivate extension StackComponentViewModel {
try self.init(
component: component,
viewModels: viewModels,
badgeViewModels: [],
uiConfigProvider: .init(uiConfig: PreviewUIConfig.make()),
localizationProvider: localizationProvider
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,37 +25,20 @@ class StackComponentViewModel {
let uiConfigProvider: UIConfigProvider
private let presentedOverrides: PresentedOverrides<PresentedStackPartial>?

let badgeTextViewModel: TextComponentViewModel?
let viewModels: [PaywallComponentViewModel]
let badgeViewModels: [PaywallComponentViewModel]

init(
component: PaywallComponent.StackComponent,
viewModels: [PaywallComponentViewModel],
badgeViewModels: [PaywallComponentViewModel],
uiConfigProvider: UIConfigProvider,
localizationProvider: LocalizationProvider
) throws {
self.component = component
self.viewModels = viewModels
self.uiConfigProvider = uiConfigProvider

if let badge = component.badge {
badgeTextViewModel = try TextComponentViewModel(
localizationProvider: localizationProvider,
component: PaywallComponent.TextComponent(
text: badge.textLid,
fontName: badge.fontName,
fontWeight: badge.fontWeight,
color: badge.color,
padding: badge.padding,
margin: .zero,
fontSize: badge.fontSize,
horizontalAlignment: badge.horizontalAlignment
)
)
} else {
badgeTextViewModel = nil
}

self.badgeViewModels = badgeViewModels
self.presentedOverrides = try self.component.overrides?.toPresentedOverrides { $0 }
}

Expand All @@ -75,6 +58,7 @@ class StackComponentViewModel {

let style = StackComponentStyle(
uiConfigProvider: self.uiConfigProvider,
badgeViewModels: self.badgeViewModels,
visible: partial?.visible ?? true,
dimension: partial?.dimension ?? self.component.dimension,
size: partial?.size ?? self.component.size,
Expand Down Expand Up @@ -134,6 +118,7 @@ struct StackComponentStyle {

init(
uiConfigProvider: UIConfigProvider,
badgeViewModels: [PaywallComponentViewModel],
visible: Bool,
dimension: PaywallComponent.Dimension,
size: PaywallComponent.Size,
Expand All @@ -156,7 +141,9 @@ struct StackComponentStyle {
self.shape = shape?.shape
self.border = border?.border(uiConfigProvider: uiConfigProvider)
self.shadow = shadow?.shadow(uiConfigProvider: uiConfigProvider)
self.badge = badge?.badge(stackShape: self.shape)
self.badge = badge?.badge(stackShape: self.shape,
badgeViewModels: badgeViewModels,
uiConfigProvider: uiConfigProvider)
}

var vstackStrategy: StackStrategy {
Expand Down Expand Up @@ -240,21 +227,16 @@ private extension PaywallComponent.Shadow {
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
private extension PaywallComponent.Badge {

func badge(stackShape: ShapeModifier.Shape?) -> BadgeModifier.BadgeInfo? {
func badge(stackShape: ShapeModifier.Shape?,
badgeViewModels: [PaywallComponentViewModel],
uiConfigProvider: UIConfigProvider) -> BadgeModifier.BadgeInfo? {
BadgeModifier.BadgeInfo(
style: self.style,
alignment: self.alignment,
shape: self.shape.shape,
padding: self.padding,
margin: self.margin,
textLid: self.textLid,
fontName: self.fontName,
fontWeight: self.fontWeight,
fontSize: self.fontSize,
horizontalAlignment: self.horizontalAlignment,
color: self.color,
backgroundColor: self.backgroundColor,
stackShape: stackShape
stack: self.stack,
badgeViewModels: badgeViewModels,
stackShape: stackShape,
uiConfigProvider: uiConfigProvider
)
}

Expand Down
Loading

0 comments on commit 6c7f787

Please sign in to comment.