feat(frontend): handler for multiple device calls
This commit is contained in:
parent
6932d6df92
commit
eaedefa05d
80
frontend/src/pages/devices/[...id].js
Normal file
80
frontend/src/pages/devices/[...id].js
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
import Head from 'next/head';
|
||||
import { Box, Stack, Typography, Container, Unstable_Grid2 as Grid,
|
||||
Tab,
|
||||
Tabs,
|
||||
SvgIcon } from '@mui/material';
|
||||
import { Layout as DashboardLayout } from 'src/layouts/dashboard/layout';
|
||||
import { useRouter } from 'next/router';
|
||||
import { DevicesRPC } from 'src/sections/devices/devices-rpc';
|
||||
import { DevicesDiscovery } from 'src/sections/devices/devices-discovery';
|
||||
import EnvelopeIcon from '@heroicons/react/24/outline/EnvelopeIcon';
|
||||
import MagnifyingGlassIcon from '@heroicons/react/24/solid/MagnifyingGlassIcon';
|
||||
import WifiIcon from '@heroicons/react/24/solid/WifiIcon';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
const Page = () => {
|
||||
const router = useRouter()
|
||||
|
||||
const deviceID = router.query.id[0]
|
||||
const section = router.query.id[1]
|
||||
|
||||
const sectionHandler = () => {
|
||||
switch(section){
|
||||
case "msg":
|
||||
return <DevicesRPC/>
|
||||
case "discovery":
|
||||
return <DevicesDiscovery/>
|
||||
default:
|
||||
return <p>Hello World</p>
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(()=>{
|
||||
console.log("deviceid:",deviceID)
|
||||
})
|
||||
|
||||
return(
|
||||
<>
|
||||
<Head>
|
||||
<title>
|
||||
Oktopus | TR-369
|
||||
</title>
|
||||
</Head>
|
||||
<Box
|
||||
component="main"
|
||||
sx={{
|
||||
flexGrow: 1,
|
||||
py: 0,
|
||||
}}
|
||||
>
|
||||
<Container maxWidth="lg" >
|
||||
<Stack spacing={3} >
|
||||
<Box sx={{
|
||||
display:'flex',
|
||||
justifyContent:'center'
|
||||
}}
|
||||
mb={3}>
|
||||
<Tabs value={router.query.id[1]} aria-label="icon label tabs example">
|
||||
<Tab icon={<SvgIcon><WifiIcon/></SvgIcon>} iconPosition={"end"} label="Wi-Fi" />
|
||||
<Tab value={"discovery"} onClick={()=>{router.push(`/devices/${deviceID}/discovery`)}} icon={<SvgIcon><MagnifyingGlassIcon/></SvgIcon>} iconPosition={"end"} label="Discover Parameters" />
|
||||
<Tab value={"msg"} onClick={()=>{router.push(`/devices/${deviceID}/msg`)}} icon={<SvgIcon><EnvelopeIcon/></SvgIcon>} iconPosition={"end"} label="Remote Messages" />
|
||||
</Tabs>
|
||||
</Box>
|
||||
|
||||
{
|
||||
sectionHandler()
|
||||
}
|
||||
</Stack>
|
||||
</Container>
|
||||
</Box>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
Page.getLayout = (page) => (
|
||||
<DashboardLayout>
|
||||
{page}
|
||||
</DashboardLayout>
|
||||
);
|
||||
|
||||
export default Page;
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
import Head from 'next/head';
|
||||
import { Box, Stack, Typography, Container, Unstable_Grid2 as Grid } from '@mui/material';
|
||||
import { Layout as DashboardLayout } from 'src/layouts/dashboard/layout';
|
||||
import { useRouter } from 'next/router';
|
||||
import { DevicesRPC } from 'src/sections/devices/devices-rpc';
|
||||
|
||||
const Page = () => {
|
||||
const router = useRouter()
|
||||
const { id } = router.query
|
||||
|
||||
|
||||
return(
|
||||
<>
|
||||
<Head>
|
||||
<title>
|
||||
Oktopus | TR-369
|
||||
</title>
|
||||
</Head>
|
||||
<Box
|
||||
component="main"
|
||||
sx={{
|
||||
flexGrow: 1,
|
||||
py: 0,
|
||||
}}
|
||||
>
|
||||
<Container maxWidth="lg" >
|
||||
<Stack spacing={3} >
|
||||
<Typography variant="h4">
|
||||
RPC
|
||||
</Typography>
|
||||
{/*<SettingsNotifications />*/}
|
||||
< DevicesRPC />
|
||||
</Stack>
|
||||
</Container>
|
||||
</Box>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
Page.getLayout = (page) => (
|
||||
<DashboardLayout>
|
||||
{page}
|
||||
</DashboardLayout>
|
||||
);
|
||||
|
||||
export default Page;
|
||||
Loading…
Reference in New Issue
Block a user