Sin descripción

DashboardModels.swift 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //
  2. // DashboardModels.swift
  3. // App for Indeed
  4. //
  5. import Foundation
  6. struct SidebarItem {
  7. let title: String
  8. let systemImage: String
  9. let badge: String?
  10. }
  11. struct DashboardData {
  12. let greetingName: String
  13. let subtitle: String
  14. let sidebarItems: [SidebarItem]
  15. let profileInsightsTitle: String
  16. let profileInsightsBody: String
  17. }
  18. protocol DashboardDataProviding {
  19. func loadDashboardData() -> DashboardData
  20. }
  21. final class MockDashboardDataProvider: DashboardDataProviding {
  22. func loadDashboardData() -> DashboardData {
  23. DashboardData(
  24. greetingName: "Olivia",
  25. subtitle: "Find your perfect job with the power of AI.",
  26. sidebarItems: [
  27. SidebarItem(title: "Overview", systemImage: "house.fill", badge: nil),
  28. SidebarItem(title: "Saved Jobs", systemImage: "heart", badge: nil),
  29. SidebarItem(title: "Interviews", systemImage: "list.bullet", badge: nil),
  30. SidebarItem(title: "Profile", systemImage: "person", badge: nil),
  31. SidebarItem(title: "Settings", systemImage: "gearshape", badge: nil)
  32. ],
  33. profileInsightsTitle: "AI insights",
  34. profileInsightsBody: "Saved jobs and interviews at a glance."
  35. )
  36. }
  37. }