diff --git a/gui/rpk-gui/public/locales/DE/common.json b/gui/rpk-gui/public/locales/deDE/common.json
similarity index 100%
rename from gui/rpk-gui/public/locales/DE/common.json
rename to gui/rpk-gui/public/locales/deDE/common.json
diff --git a/gui/rpk-gui/public/locales/EN/common.json b/gui/rpk-gui/public/locales/enUS/common.json
similarity index 100%
rename from gui/rpk-gui/public/locales/EN/common.json
rename to gui/rpk-gui/public/locales/enUS/common.json
diff --git a/gui/rpk-gui/public/locales/FR/common.json b/gui/rpk-gui/public/locales/frFR/common.json
similarity index 100%
rename from gui/rpk-gui/public/locales/FR/common.json
rename to gui/rpk-gui/public/locales/frFR/common.json
diff --git a/gui/rpk-gui/src/App.tsx b/gui/rpk-gui/src/App.tsx
index 27ec401..f406fd1 100644
--- a/gui/rpk-gui/src/App.tsx
+++ b/gui/rpk-gui/src/App.tsx
@@ -5,7 +5,6 @@ import { RefineSnackbarProvider, useNotificationProvider } from "@refinedev/mui"
import CssBaseline from "@mui/material/CssBaseline";
import GlobalStyles from "@mui/material/GlobalStyles";
-import { ThemeProvider } from "@mui/material/styles";
import HistoryEduIcon from '@mui/icons-material/HistoryEdu';
import routerBindings, {
CatchAllNavigate,
@@ -22,9 +21,9 @@ import { ForgotPassword } from "./components/auth/ForgotPassword";
import { UpdatePassword } from "./components/auth/UpdatePassword";
import { Header } from "./components";
+import { I18nTheme } from "./components/I18nTheme";
import { HubRoutes } from "./pages/hub";
import { FirmRoutes } from "./pages/firm";
-import rpcTheme from "./theme";
function App() {
const { t, i18n } = useTranslation();
@@ -37,43 +36,43 @@ function App() {
return (
-
-
-
-
-
-
- },
- syncWithLocation: true,
- warnWhenUnsavedChanges: true,
- useNewQueryKeys: true,
- disableTelemetry: true,
- reactQuery: {
- clientConfig: {
- defaultOptions: {
- queries: {
- retry: (failureCount, error) => {
- // @ts-ignore
- if (error.statusCode >= 400 && error.statusCode <= 499) {
- return false
- }
- return failureCount < 4
- },
- }
+
+
+
+
+
+ },
+ syncWithLocation: true,
+ warnWhenUnsavedChanges: true,
+ useNewQueryKeys: true,
+ disableTelemetry: true,
+ reactQuery: {
+ clientConfig: {
+ defaultOptions: {
+ queries: {
+ retry: (failureCount, error) => {
+ // @ts-ignore
+ if (error.statusCode >= 400 && error.statusCode <= 499) {
+ return false
+ }
+ return failureCount < 4
+ },
}
}
}
- }}
- >
+ }
+ }}
+ >
+
-
-
-
-
+
+
+
+
);
}
diff --git a/gui/rpk-gui/src/components/I18nTheme.tsx b/gui/rpk-gui/src/components/I18nTheme.tsx
new file mode 100644
index 0000000..c72a983
--- /dev/null
+++ b/gui/rpk-gui/src/components/I18nTheme.tsx
@@ -0,0 +1,20 @@
+import React, { PropsWithChildren } from "react";
+import { useTranslation } from "@refinedev/core";
+import { useTheme } from "@mui/material";
+import * as locales from '@mui/material/locale';
+import { createTheme, ThemeProvider } from "@mui/material/styles";
+
+type SupportedLocales = keyof typeof locales;
+
+export const I18nTheme: React.FC = ({ children }: PropsWithChildren) => {
+ const { getLocale } = useTranslation();
+ const theme = useTheme()
+
+ const themeWithLocale = createTheme(theme, locales[getLocale() as SupportedLocales])
+
+ return (
+
+ { children }
+
+ );
+}
diff --git a/gui/rpk-gui/src/i18n.tsx b/gui/rpk-gui/src/i18n.tsx
index 327204e..fd74295 100644
--- a/gui/rpk-gui/src/i18n.tsx
+++ b/gui/rpk-gui/src/i18n.tsx
@@ -8,14 +8,14 @@ i18n
.use(detector)
.use(initReactI18next)
.init({
- supportedLngs: ["EN", "FR"],
+ supportedLngs: ["enUS", "frFR"],
backend: {
loadPath: "/locales/{{lng}}/{{ns}}.json", // "http/locales/{{lng}}/{{ns}}.json"
},
//saveMissing: true,
ns: ["common"],
defaultNS: "common",
- fallbackLng: ["EN", "FR"],
+ fallbackLng: ["enUS", "frFR"],
});
export default i18n;
diff --git a/gui/rpk-gui/src/pages/firm/base-page/List.tsx b/gui/rpk-gui/src/pages/firm/base-page/List.tsx
index 70a4937..665f004 100644
--- a/gui/rpk-gui/src/pages/firm/base-page/List.tsx
+++ b/gui/rpk-gui/src/pages/firm/base-page/List.tsx
@@ -1,11 +1,11 @@
import { UiSchema } from "@rjsf/utils";
+import { useTranslation } from "@refinedev/core";
import { List as RefineList, useDataGrid } from "@refinedev/mui";
import { DataGrid, GridColDef, GridValidRowModel } from "@mui/x-data-grid";
import { Link, useNavigate } from "react-router"
import React, { useContext } from "react";
import { Button } from "@mui/material";
import { FirmContext } from "../../../contexts/FirmContext";
-import { useTranslation } from "@refinedev/core";
type ListProps = {
resource: string,
@@ -20,7 +20,9 @@ const List = (props: ListProps) => {
const { currentFirm } = useContext(FirmContext);
const resourceBasePath = `firm/${currentFirm.instance}/${currentFirm.firm}`
- const { dataGridProps } = useDataGrid({resource: `${resourceBasePath}/${resource}`});
+ const { dataGridProps } = useDataGrid({
+ resource: `${resourceBasePath}/${resource}`,
+ });
const navigate = useNavigate();
const cols = React.useMemo[]>(
@@ -40,7 +42,9 @@ const List = (props: ListProps) => {
+ onRowClick={handleRowClick}
+ pageSizeOptions={[10, 15, 20, 50, 100]}
+ />
)
}