Skip to content

Commit

Permalink
[ALFMOB-24] Fix indentation on DebugMenuView
Browse files Browse the repository at this point in the history
  • Loading branch information
reisdev committed Nov 22, 2024
1 parent 73f6134 commit efec5d0
Showing 1 changed file with 97 additions and 97 deletions.
194 changes: 97 additions & 97 deletions Alfie/Alfie/Views/DebugMenu/DebugMenuView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,119 +9,119 @@ import SwiftUI
// MARK: - DebugMenuView

struct DebugMenuView: View {
@EnvironmentObject var coordinator: Coordinator
private let serviceProvider: ServiceProviderProtocol
@EnvironmentObject var coordinator: Coordinator
private let serviceProvider: ServiceProviderProtocol

init(serviceProvider: ServiceProviderProtocol) {
self.serviceProvider = serviceProvider
}
init(serviceProvider: ServiceProviderProtocol) {
self.serviceProvider = serviceProvider
}

var body: some View {
NavigationStack {
VStack {
DemoHelper.demoHeader(title: "Debug Menu")
.padding(.vertical, Spacing.space050)
Spacer()
List {
link(for: .catalogue, text: "Catalogue App")
link(for: .deeplinking, text: "Deep Linking")
link(for: .tracking, text: "Analytics")
link(for: .appUpdate, text: "Force & Soft Update")
link(for: .brazeInfo, text: "Braze Push")
#if DEBUG
link(for: .logs, text: "Logs")
link(for: .featureToggle, text: "Feature Toggle")
#endif
link(for: .endpoint, text: "Environment")
}
.listStyle(.plain)
}
.navigationDestination(for: DebugNavigation.self) { destination in
navigateTo(destination)
}
.toolbar {
ToolbarItem(placement: .topBarTrailing) {
ThemedToolbarButton(icon: .close) { coordinator.closeDebugMenu() }
}
ToolbarItem(placement: .principal) {
ThemedToolbarTitle(style: .logo)
}
}
.modifier(ThemedToolbarModifier())
}
}
var body: some View {
NavigationStack {
VStack {
DemoHelper.demoHeader(title: "Debug Menu")
.padding(.vertical, Spacing.space050)
Spacer()
List {
link(for: .catalogue, text: "Catalogue App")
link(for: .deeplinking, text: "Deep Linking")
link(for: .tracking, text: "Analytics")
link(for: .appUpdate, text: "Force & Soft Update")
link(for: .brazeInfo, text: "Braze Push")
#if DEBUG
link(for: .logs, text: "Logs")
link(for: .featureToggle, text: "Feature Toggle")
#endif
link(for: .endpoint, text: "Environment")
}
.listStyle(.plain)
}
.navigationDestination(for: DebugNavigation.self) { destination in
navigateTo(destination)
}
.toolbar {
ToolbarItem(placement: .topBarTrailing) {
ThemedToolbarButton(icon: .close) { coordinator.closeDebugMenu() }
}
ToolbarItem(placement: .principal) {
ThemedToolbarTitle(style: .logo)
}
}
.modifier(ThemedToolbarModifier())
}
}

private func link(for link: DebugNavigation, text: String) -> some View {
NavigationLink(value: link) {
Text.build(theme.font.small.normal(text))
}
}
private func link(for link: DebugNavigation, text: String) -> some View {
NavigationLink(value: link) {
Text.build(theme.font.small.normal(text))
}
}

@ViewBuilder
private func navigateTo(_ destination: DebugNavigation) -> some View {
switch destination {
case .catalogue:
StyleGuideDemoView()
.modifier(ContainerDemoViewModifier(embedInScrollView: false))
@ViewBuilder
private func navigateTo(_ destination: DebugNavigation) -> some View {
switch destination {
case .catalogue:
StyleGuideDemoView()
.modifier(ContainerDemoViewModifier(embedInScrollView: false))

case .deeplinking:
DeepLinkDemoView()
.modifier(ContainerDemoViewModifier(headerTitle: "Deep Linking"))
case .deeplinking:
DeepLinkDemoView()
.modifier(ContainerDemoViewModifier(headerTitle: "Deep Linking"))

case .tracking:
TrackingDemoView(trackedEvents: serviceProvider.trackingService.trackedEvents)
.modifier(ContainerDemoViewModifier(headerTitle: "Analytics"))
case .tracking:
TrackingDemoView(trackedEvents: serviceProvider.trackingService.trackedEvents)
.modifier(ContainerDemoViewModifier(headerTitle: "Analytics"))

case .appUpdate:
AppUpdateDemoView(configurationService: serviceProvider.configurationService)
.modifier(ContainerDemoViewModifier(headerTitle: "Force & Soft Update"))
case .appUpdate:
AppUpdateDemoView(configurationService: serviceProvider.configurationService)
.modifier(ContainerDemoViewModifier(headerTitle: "Force & Soft Update"))

case .brazeInfo:
BrazeDemoView(brazeUserId: BrazeConstants.userID)
.modifier(ContainerDemoViewModifier(headerTitle: "Braze Push"))
case .brazeInfo:
BrazeDemoView(brazeUserId: BrazeConstants.userID)
.modifier(ContainerDemoViewModifier(headerTitle: "Braze Push"))

case .logs:
LogsView()
.modifier(
ContainerDemoViewModifier(headerTitle: "Logs", embedInScrollView: false)
)
case .logs:
LogsView()
.modifier(
ContainerDemoViewModifier(headerTitle: "Logs", embedInScrollView: false)
)

case .endpoint:
EndpointSelectionView(
viewModel: EndpointSelectionViewModel(apiEndpointService: serviceProvider.apiEndpointService)
)
.modifier(
ContainerDemoViewModifier(headerTitle: "Environment", embedInScrollView: false)
)
case .endpoint:
EndpointSelectionView(
viewModel: EndpointSelectionViewModel(apiEndpointService: serviceProvider.apiEndpointService)
)
.modifier(
ContainerDemoViewModifier(headerTitle: "Environment", embedInScrollView: false)
)

case .featureToggle:
FeatureToggleView(
viewModel: FeatureToggleViewModel(
case .featureToggle:
FeatureToggleView(
viewModel: FeatureToggleViewModel(
provider: DebugConfigurationProvider.shared
)
).modifier(
ContainerDemoViewModifier(
headerTitle: LocalizableFeatureToggle.$title,
embedInScrollView: true
)
)
}
}
)
).modifier(
ContainerDemoViewModifier(
headerTitle: LocalizableFeatureToggle.$title,
embedInScrollView: true
)
)
}
}

private enum DebugNavigation: Hashable {
case catalogue
case deeplinking
case tracking
case appUpdate
case brazeInfo
case logs
case endpoint
case featureToggle
}
private enum DebugNavigation: Hashable {
case catalogue
case deeplinking
case tracking
case appUpdate
case brazeInfo
case logs
case endpoint
case featureToggle
}
}

#if DEBUG
#Preview {
DebugMenuView(serviceProvider: MockServiceProvider())
DebugMenuView(serviceProvider: MockServiceProvider())
}
#endif

0 comments on commit efec5d0

Please sign in to comment.