-
-
- App Version:
- {{ diagnostics.appVersion }}
-
-
- Platform:
- {{ diagnostics.platform }}
-
-
- API Level:
- {{ diagnostics.apiLevel }}
-
-
- Timezone:
- {{ diagnostics.timezone }}
-
-
- Last Updated:
- {{ diagnostics.lastUpdated }}
-
-
+
Raw Diagnostics (JSON)
@@ -95,6 +74,7 @@ import { Vue, Component, toNative } from 'vue-facing-decorator'
import { Capacitor } from '@capacitor/core'
import router from '../router'
import StatusCard from '../components/cards/StatusCard.vue'
+import StatusList from '../components/StatusList.vue'
import { createTypedPlugin } from '../lib/typed-plugin'
import { collectDiagnostics, copyDiagnosticsToClipboard, type ComprehensiveDiagnostics } from '../lib/diagnostics-export'
@@ -115,7 +95,8 @@ type Diagnostics = ComprehensiveDiagnostics
@Component({
components: {
- StatusCard
+ StatusCard,
+ StatusList
}
})
class StatusView extends Vue {
@@ -239,6 +220,16 @@ class StatusView extends Vue {
return JSON.stringify(this.diagnostics, null, 2)
}
+ get diagnosticsItems() {
+ return [
+ { label: 'App Version:', value: this.diagnostics.appVersion },
+ { label: 'Platform:', value: this.diagnostics.platform },
+ { label: 'API Level:', value: this.diagnostics.apiLevel },
+ { label: 'Timezone:', value: this.diagnostics.timezone },
+ { label: 'Last Updated:', value: this.diagnostics.lastUpdated }
+ ]
+ }
+
async mounted() {
await this.refreshStatus()
}
@@ -496,33 +487,6 @@ export default toNative(StatusView)
gap: 24px;
}
-.diagnostics-info {
- display: flex;
- flex-direction: column;
- gap: 12px;
-}
-
-.info-item {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 8px 0;
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
-}
-
-.info-item:last-child {
- border-bottom: none;
-}
-
-.info-item .label {
- color: rgba(255, 255, 255, 0.8);
- font-weight: 500;
-}
-
-.info-item .value {
- color: white;
- font-weight: 600;
-}
.diagnostics-json {
min-width: 0;