Route.swift 831 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. //
  2. // Route.swift
  3. // SUIExamples
  4. //
  5. // Created by Pavel Yurchenko on 27.11.2024.
  6. //
  7. import CoordinatorSUI
  8. import SwiftUI
  9. enum Route: Hashable {
  10. case main
  11. case products
  12. case product(id: Int)
  13. case cart
  14. case feedback
  15. }
  16. extension Coordinator {
  17. @ViewBuilder
  18. func buildDestination(_ route: Route) -> some View {
  19. switch route {
  20. case .main:
  21. MainBuilder().build(with: .init(onProducts: { [weak self] in
  22. self?.currentRouter.push(Route.products)
  23. }))
  24. case .products:
  25. ProductsBuilder().build(with: .init())
  26. case .product:
  27. MainBuilder().build(with: .init())
  28. case .cart:
  29. MainBuilder().build(with: .init())
  30. case .feedback:
  31. MainBuilder().build(with: .init())
  32. }
  33. }
  34. }