start a new React-based UI (#111)

This doesn't do much yet but should provide a better foundation for
improvement than the jQuery UI, as described in the github issue.
This commit is contained in:
Scott Lamb
2021-01-31 21:55:25 -08:00
parent c547a49ac8
commit f281922359
67 changed files with 11454 additions and 8052 deletions

20
ui/src/testutil.tsx Normal file
View File

@@ -0,0 +1,20 @@
// This file is part of Moonfire NVR, a security camera network video recorder.
// Copyright (C) 2021 The Moonfire NVR Authors; see AUTHORS and LICENSE.txt.
// SPDX-License-Identifier: GPL-v3.0-or-later WITH GPL-3.0-linking-exception
import { render } from "@testing-library/react";
import { SnackbarProvider } from "./snackbars";
export function renderWithCtx(
children: React.ReactElement
): Pick<ReturnType<typeof render>, "rerender"> {
function wrapped(children: React.ReactElement): React.ReactElement {
return (
<SnackbarProvider autoHideDuration={5000}>{children}</SnackbarProvider>
);
}
const { rerender } = render(wrapped(children));
return {
rerender: (children: React.ReactElement) => rerender(wrapped(children)),
};
}