Refactor HomeView to use websocketStore instead of energyStore

This commit is contained in:
rafaeldpsilva
2025-09-30 17:59:45 +01:00
parent 64bb6b508a
commit 71d1d82761

View File

@@ -19,14 +19,14 @@
<MetricCard title="Current Energy" :content="currentEnergyValue" details="kWh" /> <MetricCard title="Current Energy" :content="currentEnergyValue" details="kWh" />
<MetricCard <MetricCard
title="Connection Status" title="Connection Status"
:content="energyStore.isConnected ? 'Connected' : 'Disconnected'" :content="websocketStore.isConnected ? 'Connected' : 'Disconnected'"
/> />
<MetricCard title="Average Usage" :content="averageEnergyUsage" details="kWh" /> <MetricCard title="Average Usage" :content="averageEnergyUsage" details="kWh" />
<GraphMetricCard <GraphMetricCard
title="Real-time Energy" title="Real-time Energy"
:content="currentEnergyValue" :content="currentEnergyValue"
details="kWh" details="kWh"
:trend-data="energyStore.timeSeriesData.datasets[0].data.slice(-8)" :trend-data="websocketStore.timeSeriesData.datasets[0].data.slice(-8)"
trend-direction="neutral" trend-direction="neutral"
/> />
<GraphMetricCard <GraphMetricCard
@@ -68,32 +68,32 @@ import AirQualityCard from '@/components/cards/AirQualityCard.vue'
import { useEnergyStore } from '@/stores/energy' import { useEnergyStore } from '@/stores/energy'
import { useSettingsStore } from '@/stores/settings' import { useSettingsStore } from '@/stores/settings'
import { computed, onMounted, onUnmounted } from 'vue' import { computed, onMounted, onUnmounted } from 'vue'
import { useWebSocketStore } from '@/stores/websocket'
const energyStore = useEnergyStore() const energyStore = useEnergyStore()
const websocketStore = useWebSocketStore()
const settingsStore = useSettingsStore() const settingsStore = useSettingsStore()
const currentEnergyValue = computed(() => { const currentEnergyValue = computed(() => {
return energyStore.latestMessage?.value?.toFixed(2) || '0.00' return websocketStore.latestMessage?.energy?.value.toFixed(2) || '0.00'
}) })
const averageEnergyUsage = computed(() => { const averageEnergyUsage = computed(() => {
const data = energyStore.timeSeriesData.datasets[0].data const data = websocketStore.timeSeriesData.datasets[0].data
if (data.length === 0) return '0.00' if (data.length === 0) return '0.00'
const sum = data.reduce((acc, val) => acc + val, 0) const sum = data.reduce((acc, val) => acc + val, 0)
return (sum / data.length).toFixed(2) return (sum / data.length).toFixed(2)
}) })
onMounted(() => { onMounted(() => {
// Initialize settings
settingsStore.initialize() settingsStore.initialize()
// Auto-connect based on settings
if (settingsStore.settings.autoConnect) { if (settingsStore.settings.autoConnect) {
energyStore.connect(settingsStore.settings.websocketUrl) websocketStore.connect(settingsStore.settings.websocketUrl)
} }
}) })
onUnmounted(() => { onUnmounted(() => {
energyStore.disconnect() websocketStore.disconnect()
}) })
</script> </script>