big overhaul for server and webui feature matching, things default to disabled and disappear from UI when disabled.

This commit is contained in:
legop3
2026-07-05 14:42:43 -04:00
parent 29bf4cc5d2
commit 40e8adf15a
34 changed files with 592 additions and 211 deletions
@@ -11,8 +11,21 @@ import {
normalizeBinaryPayload,
normalizeKinectStatus,
} from './utils.js';
import { isFeatureEnabled } from '../../lib/features.js';
export default function KinectPanel() {
const enabled = useSessionSelector((state) => isFeatureEnabled(state, 'kinect'));
/*
Kinect is optional local hardware. Keep the feature gate inside the panel so
disabled installs do not need special cases in every Activities layout.
*/
if (!enabled) return null;
return <KinectPanelContent />;
}
function KinectPanelContent() {
const socket = useSocket();
const status = useSessionSelector((state) => normalizeKinectStatus(state.session?.kinect));
const [activeView, setActiveView] = useState('3d');