import { h, Fragment } from 'preact';
import LinkedLogo from './components/LinkedLogo';
import { Match } from 'preact-router/match';
import { memo } from 'preact/compat';
import { ENV } from './env';
import useSWR from 'swr';
import NavigationDrawer, { Destination, Separator } from './components/NavigationDrawer';
export default function Sidebar() {
const { data: config } = useSWR('config');
if (!config) {
return null;
}
const { cameras, birdseye } = config;
return (
}>
{({ matches }) =>
matches ? (
{Object.entries(cameras)
.filter(([cam, conf]) => conf.gui.show)
.sort(([aCam, aConf], [bCam, bConf]) => aConf.gui.order === bConf.gui.order ? 0 : (aConf.gui.order > bConf.gui.order ? 1 : -1))
.map(([camera]) => (
))}
) : null
}
{({ matches }) =>
matches ? (
{Object.entries(cameras)
.filter(([cam, conf]) => conf.gui.show)
.sort(([aCam, aConf], [bCam, bConf]) => aConf.gui.order === bConf.gui.order ? 0 : (aConf.gui.order > bConf.gui.order ? 1 : -1))
.map(([camera, conf]) => {
if (conf.record.enabled) {
return (
);
}
return null;
})}
) : null
}
{birdseye?.enabled ? : null}
{ENV !== 'production' ? (
) : null}
);
}
const Header = memo(() => {
return (
);
});