Nav apraksta

DashboardModels.swift 2.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 JobListing: Hashable, Codable {
  12. let title: String
  13. let description: String
  14. let url: String?
  15. }
  16. struct DashboardData {
  17. let subtitle: String
  18. let sidebarItems: [SidebarItem]
  19. let jobListings: [JobListing]
  20. }
  21. protocol DashboardDataProviding {
  22. func loadDashboardData() -> DashboardData
  23. }
  24. final class MockDashboardDataProvider: DashboardDataProviding {
  25. func loadDashboardData() -> DashboardData {
  26. DashboardData(
  27. subtitle: L("Find your perfect job with the power of AI."),
  28. sidebarItems: [
  29. SidebarItem(title: L("Home"), systemImage: "house.fill", badge: nil),
  30. SidebarItem(title: L("Saved Jobs"), systemImage: "heart", badge: nil),
  31. SidebarItem(title: L("CV Maker"), systemImage: "doc.text", badge: nil),
  32. SidebarItem(title: L("Profile"), systemImage: "person", badge: nil),
  33. SidebarItem(title: L("Settings"), systemImage: "gearshape", badge: nil)
  34. ],
  35. jobListings: [
  36. JobListing(
  37. title: "Senior iOS Engineer",
  38. description: "Build polished native software in Swift and SwiftUI. Remote-friendly team, strong product focus, and mentorship for mid-level engineers.",
  39. url: "https://www.indeed.com/jobs?q=Senior+iOS+Engineer"
  40. ),
  41. JobListing(
  42. title: "Product Designer",
  43. description: "Own end-to-end UX for job seeker flows—from discovery to apply. Figma systems, accessibility, and close collaboration with engineering.",
  44. url: "https://www.indeed.com/jobs?q=Product+Designer"
  45. ),
  46. JobListing(
  47. title: "Machine Learning Engineer",
  48. description: "Improve search and recommendations using large-scale data. Python, PyTorch, and production software for ML pipelines; research-to-ship mindset.",
  49. url: "https://www.indeed.com/jobs?q=Machine+Learning+Engineer"
  50. ),
  51. JobListing(
  52. title: "Technical Recruiter",
  53. description: "Partner with hiring managers to grow engineering teams. Full-cycle recruiting, inclusive sourcing, and a high-trust candidate experience.",
  54. url: "https://www.indeed.com/jobs?q=Technical+Recruiter"
  55. ),
  56. JobListing(
  57. title: "Customer Success Manager",
  58. description: "Help employers get the most from their hiring tools. Onboarding, training, and proactive check-ins with a metrics-driven playbook.",
  59. url: "https://www.indeed.com/jobs?q=Customer+Success+Manager"
  60. )
  61. ]
  62. )
  63. }
  64. }