diff --git a/gui/rpk-gui/src/pages/firm/EntityRoutes.tsx b/gui/rpk-gui/src/pages/firm/EntityRoutes.tsx
new file mode 100644
index 0000000..0415d3f
--- /dev/null
+++ b/gui/rpk-gui/src/pages/firm/EntityRoutes.tsx
@@ -0,0 +1,16 @@
+import { Route, Routes } from "react-router";
+import React, { useContext } from "react";
+import { FirmContext } from "../../contexts/FirmContext";
+import List from "./base-page/List";
+
+export const EntityRoutes = () => {
+ const { currentFirm } = useContext(FirmContext);
+
+ return (
+ <>
+
+ } />
+
+ >
+ );
+}
\ No newline at end of file
diff --git a/gui/rpk-gui/src/pages/firm/base-page/Card.tsx b/gui/rpk-gui/src/pages/firm/base-page/Card.tsx
new file mode 100644
index 0000000..c0d2c01
--- /dev/null
+++ b/gui/rpk-gui/src/pages/firm/base-page/Card.tsx
@@ -0,0 +1,25 @@
+import { CrudForm } from "../../../lib/crud/components/crud-form";
+import { UiSchema } from "@rjsf/utils";
+import { useParams } from "react-router";
+
+type CardProps = {
+ resource: string,
+ schemaName: string,
+ uiSchema?: UiSchema,
+}
+
+const Card = (props: CardProps) => {
+ const { schemaName, resource, uiSchema } = props;
+ const { record_id } = useParams();
+
+ return (
+
+ )
+}
+
+export default Card;
diff --git a/gui/rpk-gui/src/pages/firm/base-page/List.tsx b/gui/rpk-gui/src/pages/firm/base-page/List.tsx
new file mode 100644
index 0000000..cef1ea3
--- /dev/null
+++ b/gui/rpk-gui/src/pages/firm/base-page/List.tsx
@@ -0,0 +1,23 @@
+import { UiSchema } from "@rjsf/utils";
+import { List as RefineList } from "@refinedev/mui";
+import { DataGrid } from "@mui/x-data-grid";
+
+type ListProps = {
+ resource: string,
+ schemaName?: string,
+ uiSchema?: UiSchema,
+}
+
+const List = (props: ListProps) => {
+ const { schemaName, resource, uiSchema } = props;
+
+ return (
+
+
+
+ )
+}
+
+export default List;
diff --git a/gui/rpk-gui/src/pages/firm/base-page/New.tsx b/gui/rpk-gui/src/pages/firm/base-page/New.tsx
new file mode 100644
index 0000000..37de6d3
--- /dev/null
+++ b/gui/rpk-gui/src/pages/firm/base-page/New.tsx
@@ -0,0 +1,22 @@
+import { CrudForm } from "../../../lib/crud/components/crud-form";
+import { UiSchema } from "@rjsf/utils";
+
+type NewProps = {
+ resource: string,
+ schemaName: string,
+ uiSchema?: UiSchema,
+}
+
+const New = (props: NewProps) => {
+ const { schemaName, resource, uiSchema } = props;
+
+ return (
+
+ )
+}
+
+export default New;
diff --git a/gui/rpk-gui/src/pages/firm/index.tsx b/gui/rpk-gui/src/pages/firm/index.tsx
index 4a563b2..27512e7 100644
--- a/gui/rpk-gui/src/pages/firm/index.tsx
+++ b/gui/rpk-gui/src/pages/firm/index.tsx
@@ -5,6 +5,7 @@ import { Header } from "../../components";
import { useOne } from "@refinedev/core";
import { CrudForm } from "../../lib/crud/components/crud-form";
import { IFirm } from "../../interfaces";
+import { EntityRoutes } from "./EntityRoutes";
export const FirmRoutes = () => {
return (
@@ -15,6 +16,7 @@ export const FirmRoutes = () => {
} />
+ } />
} />