diff --git a/apps/rebreak-magic/app/pages/status.vue b/apps/rebreak-magic/app/pages/status.vue index 7c6b19a..7c8add7 100644 --- a/apps/rebreak-magic/app/pages/status.vue +++ b/apps/rebreak-magic/app/pages/status.vue @@ -86,12 +86,11 @@
-

Dieses Gerät ist nicht registriert

-

Füge es hinzu, um den Schutz zu aktivieren.

-
- iPhone / iPad - Diesen Computer -
+

Dieses Gerät ist nicht geschützt

+

Aktiviere den Schutz für das Gerät, auf dem Magic läuft.

+ + Dieses Gerät schützen + @@ -133,29 +132,6 @@ - -
- - iPhone / iPad hinzufügen - - - Diesen Computer schützen - -
, #[serde(rename = "releaseAvailableAt")] pub release_available_at: Option, - #[serde(rename = "cooldownUntil")] + #[serde(default, rename = "cooldownUntil")] pub cooldown_until: Option, + #[serde(default = "default_active_status")] pub status: String, - #[serde(rename = "lastSeenAt")] + #[serde(default, rename = "lastSeenAt")] pub last_seen_at: Option, } +fn default_active_status() -> String { + "active".to_string() +} + #[derive(Debug, Clone, Serialize, Deserialize)] pub struct StatusResponse { pub active: bool, @@ -338,17 +343,19 @@ impl MagicApiClient { response: reqwest::Response, ) -> AppResult { let status = response.status(); + let body = response + .text() + .await + .unwrap_or_else(|_| "".to_string()); if status.is_success() { - response - .json::() - .await - .map_err(|e| AppError::new(format!("Failed to parse response: {}", e))) + serde_json::from_str::(&body).map_err(|e| { + AppError::new(format!( + "Failed to parse response: {} | body={}", + e, body + )) + }) } else { - let text = response - .text() - .await - .unwrap_or_else(|_| "Unknown error".to_string()); - Err(AppError::new(format!("HTTP {}: {}", status, text))) + Err(AppError::new(format!("HTTP {}: {}", status, body))) } } }