fix payload name

This commit is contained in:
2026-01-23 11:06:27 +07:00
parent accc4f9714
commit 505b0caeeb
2 changed files with 15 additions and 11 deletions

View File

@@ -1,11 +1,15 @@
import { useQueries } from "@tanstack/react-query"; import { useQueries } from "@tanstack/react-query";
import { getDeviceStatus } from "../../../repositories/device"; import { getDeviceStatus } from "../../../repositories/device";
import { DEVICES_DATA } from "../../../utils/data"; import { DEVICES_DATA } from "../../../utils/data";
import { getMerchant } from "../../../utils/storage"; import { getDevices, getMerchant } from "../../../utils/storage";
export function useDevices() { export function useDevices() {
const dataStorage = getDevices();
const datas = [...DEVICES_DATA, ...dataStorage];
const queries = useQueries({ const queries = useQueries({
queries: DEVICES_DATA.map((device) => ({ queries: datas.map((device) => ({
queryKey: [ queryKey: [
"device-status", "device-status",
device.code, device.code,
@@ -18,7 +22,7 @@ export function useDevices() {
merchantName: merchant, merchantName: merchant,
floorName: device.floorName, floorName: device.floorName,
unitNumber: device.unitNumber, unitNumber: device.unitNumber,
deviceName: device.code, deviceName: device.deviceName,
roomName: device.roomName, roomName: device.roomName,
deviceType: device.deviceType, deviceType: device.deviceType,
commandType: "S", commandType: "S",
@@ -29,7 +33,7 @@ export function useDevices() {
return { return {
...device, ...device,
code: data.data.code, code: data.data.code,
deviceName: device.code, deviceName: device.deviceName,
status: status:
data.data.payload?.toLowerCase().includes("on") || data.data.payload?.toLowerCase().includes("on") ||
data.data.payload?.toLowerCase().includes("lock") || data.data.payload?.toLowerCase().includes("lock") ||
@@ -49,7 +53,7 @@ export function useDevices() {
isLoading: q.isLoading || q.isFetching, isLoading: q.isLoading || q.isFetching,
isError: q.isError, isError: q.isError,
refetch: q.refetch, // 👈 per device refetch: q.refetch, // 👈 per device
key: DEVICES_DATA[index].code, key: datas[index].code,
})) }))
.filter((d) => !d?.isError); .filter((d) => !d?.isError);

View File

@@ -3,18 +3,19 @@ import { Switch } from "../../../components/ui/switch";
import { useNavigate } from "@tanstack/react-router"; import { useNavigate } from "@tanstack/react-router";
import Card from "../../../components/ui/card"; import Card from "../../../components/ui/card";
import { useDevices } from "../hooks/queries"; import { useDevices } from "../hooks/queries";
import { getDevices, getMerchant } from "../../../utils/storage"; import { getMerchant } from "../../../utils/storage";
import { useDeviceCommand } from "../hooks/mutations"; import { useDeviceCommand } from "../hooks/mutations";
export default function Devices() { export default function Devices() {
const navigate = useNavigate(); const navigate = useNavigate();
const dataStorage = getDevices();
const merchant = getMerchant(); const merchant = getMerchant();
const { data, isLoading } = useDevices(); const { data, isLoading } = useDevices();
const { isPending, mutate } = useDeviceCommand(); const { isPending, mutate } = useDeviceCommand();
const onSubmit = (payload: DeviceData, action = "") => { const onSubmit = (payload: DeviceData, action = "") => {
mutate( mutate(
{ {
commandType: "C", commandType: "C",
@@ -46,9 +47,8 @@ export default function Devices() {
{ icon: <Tv size={24} />, label: "device" }, { icon: <Tv size={24} />, label: "device" },
]; ];
const datas = [...data, ...dataStorage];
console.log(data); // console.log(data);
return ( return (
<> <>
@@ -80,7 +80,7 @@ export default function Devices() {
<div className="py-4 px-6"> <div className="py-4 px-6">
<div className="grid grid-cols-2 auto-rows-fr gap-4 grid-flow-dense"> <div className="grid grid-cols-2 auto-rows-fr gap-4 grid-flow-dense">
{!isLoading && {!isLoading &&
datas?.map((item, index) => ( data?.map((item, index) => (
<Card <Card
key={index} key={index}
className={`${ className={`${
@@ -113,7 +113,7 @@ export default function Devices() {
{item?.deviceLabel} {item?.deviceLabel}
</h1> </h1>
<p className="text-xs text-gray-500"> <p className="text-xs text-gray-500">
T{item?.towerNumber}/L{item?.floorName}/R{item?.roomName} {item?.towerNumber}/{item?.floorName}/{item?.roomName}
</p> </p>
{item?.deviceName === "AC" && ( {item?.deviceName === "AC" && (