Refactor to decouple energy, room, and sensor stores

- Remove room and sensor logic from energy store - Update components to
use useRoomStore and useSensorStore directly - Fix sensor/room ID
mismatches and API response handling in room store - Update
AIOptimizationView to use useWebSocketStore for connection status -
Update SensorManagementView to use useRoomStore and useSensorStore
directly
This commit is contained in:
rafaeldpsilva
2025-10-01 12:26:44 +01:00
parent 71d1d82761
commit b9348140b8
8 changed files with 97 additions and 115 deletions

View File

@@ -173,9 +173,9 @@
<script setup lang="ts">
import { ref, computed, onMounted } from 'vue'
import { useEnergyStore } from '@/stores/energy'
import { useRoomStore } from '@/stores/room'
const energyStore = useEnergyStore()
const roomStore = useRoomStore()
// Emit events
const emit = defineEmits<{
@@ -191,7 +191,7 @@ const roomToDelete = ref<string | null>(null)
// Computed properties
const roomsWithStats = computed(() => {
return energyStore.getAllRoomsWithStats()
return roomStore.getAllRoomsWithStats()
})
// Methods
@@ -215,8 +215,8 @@ const addNewRoom = async () => {
errorMessage.value = ''
try {
const success = energyStore.addRoom(newRoomName.value.trim())
const success = roomStore.addRoom(newRoomName.value.trim())
if (success) {
newRoomName.value = ''
// Show success feedback
@@ -242,8 +242,8 @@ const deleteRoom = async () => {
isDeleting.value = roomToDelete.value
try {
const success = energyStore.removeRoom(roomToDelete.value)
const success = roomStore.removeRoom(roomToDelete.value)
if (success) {
console.log(`Room "${roomToDelete.value}" deleted successfully`)
} else {
@@ -258,7 +258,7 @@ const deleteRoom = async () => {
}
const getRoomStats = (roomName: string) => {
return energyStore.getRoomStats(roomName)
return roomStore.getRoomStats(roomName)
}
const getCO2Color = (co2Level: number) => {