🐛 Fix API requesting on watchOS app
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
//
|
//
|
||||||
// ContentView.swift
|
// ContentView.swift
|
||||||
// WatchRunner Watch App
|
// WatchRunner Watch App
|
||||||
@@ -113,10 +112,6 @@ struct SnActivity: Codable, Identifiable {
|
|||||||
let type: String
|
let type: String
|
||||||
let data: ActivityData?
|
let data: ActivityData?
|
||||||
let createdAt: Date
|
let createdAt: Date
|
||||||
|
|
||||||
enum CodingKeys: String, CodingKey {
|
|
||||||
case id, type, data, createdAt
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ActivityData: Codable {
|
enum ActivityData: Codable {
|
||||||
@@ -239,6 +234,7 @@ class NetworkService {
|
|||||||
|
|
||||||
let decoder = JSONDecoder()
|
let decoder = JSONDecoder()
|
||||||
decoder.dateDecodingStrategy = .iso8601
|
decoder.dateDecodingStrategy = .iso8601
|
||||||
|
decoder.keyDecodingStrategy = .convertFromSnakeCase
|
||||||
|
|
||||||
return try decoder.decode([SnActivity].self, from: data)
|
return try decoder.decode([SnActivity].self, from: data)
|
||||||
}
|
}
|
||||||
@@ -269,6 +265,7 @@ class ActivityViewModel: ObservableObject {
|
|||||||
self.activities = fetchedActivities
|
self.activities = fetchedActivities
|
||||||
} catch {
|
} catch {
|
||||||
self.errorMessage = error.localizedDescription
|
self.errorMessage = error.localizedDescription
|
||||||
|
print("[watchOS] fetchActivities failed with error: \(error)")
|
||||||
}
|
}
|
||||||
|
|
||||||
isLoading = false
|
isLoading = false
|
||||||
@@ -291,11 +288,15 @@ struct ActivityListView: View {
|
|||||||
ProgressView()
|
ProgressView()
|
||||||
} else if let errorMessage = viewModel.errorMessage {
|
} else if let errorMessage = viewModel.errorMessage {
|
||||||
VStack {
|
VStack {
|
||||||
Text("Error")
|
Text("Error fetching data")
|
||||||
.font(.headline)
|
.font(.headline)
|
||||||
Text(errorMessage)
|
Text(errorMessage)
|
||||||
.font(.caption)
|
.font(.caption)
|
||||||
|
.lineLimit(nil)
|
||||||
}
|
}
|
||||||
|
.padding()
|
||||||
|
} else if viewModel.activities.isEmpty {
|
||||||
|
Text("No activities found.")
|
||||||
} else {
|
} else {
|
||||||
List(viewModel.activities) { activity in
|
List(viewModel.activities) { activity in
|
||||||
switch activity.type {
|
switch activity.type {
|
||||||
@@ -410,4 +411,4 @@ struct ContentView: View {
|
|||||||
|
|
||||||
#Preview {
|
#Preview {
|
||||||
ContentView()
|
ContentView()
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user