diff --git a/packages/diracx-web-components/src/components/applications/JobMonitor.tsx b/packages/diracx-web-components/src/components/applications/JobMonitor.tsx
index 2bd7930b..3518d5da 100644
--- a/packages/diracx-web-components/src/components/applications/JobMonitor.tsx
+++ b/packages/diracx-web-components/src/components/applications/JobMonitor.tsx
@@ -5,12 +5,17 @@ import ApplicationHeader from "@/components/ui/ApplicationHeader";
/**
* Build the Job Monitor application
+ * @param headerSize - The size of the header, optional
* @returns Job Monitor content
*/
-export default function JobMonitor() {
+export default function JobMonitor({
+ headerSize,
+}: {
+ headerSize?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
+}) {
return (
);
diff --git a/packages/diracx-web-components/src/components/applications/LoginForm.tsx b/packages/diracx-web-components/src/components/applications/LoginForm.tsx
index 02a14743..5ef40512 100644
--- a/packages/diracx-web-components/src/components/applications/LoginForm.tsx
+++ b/packages/diracx-web-components/src/components/applications/LoginForm.tsx
@@ -24,9 +24,14 @@ import { useSearchParamsUtils } from "@/hooks/searchParamsUtils";
/**
* Login form
+ * @param logoURL the URL of the logo, optional
* @returns a form
*/
-export function LoginForm() {
+export function LoginForm({
+ logoURL = "/DIRAC-logo-minimal.png",
+}: {
+ logoURL?: string;
+}) {
const theme = useMUITheme();
const router = useRouter();
const { data, error, isLoading } = useMetadata();
@@ -139,12 +144,7 @@ export function LoginForm() {
paddingBottom: "10%",
}}
>
-
+
{singleVO ? (
-
+
Hello {accessTokenPayload["preferred_username"]}
To start with, select an application in the side bar
diff --git a/packages/diracx-web-components/src/components/layout/Dashboard.tsx b/packages/diracx-web-components/src/components/layout/Dashboard.tsx
index 7a7bff6c..2e665a60 100644
--- a/packages/diracx-web-components/src/components/layout/Dashboard.tsx
+++ b/packages/diracx-web-components/src/components/layout/Dashboard.tsx
@@ -15,13 +15,15 @@ import { useMUITheme } from "@/hooks/theme";
interface DashboardProps {
children: React.ReactNode;
+ drawerWidth?: number;
+ logoURL?: string;
}
/**
* Build a side bar on the left containing the available sections as well as a top bar.
* The side bar is expected to collapse if displayed on a small screen
*
- * @param props - children
+ * @param props - children, drawerWidth, logoURL
* @return an dashboard layout
*/
export default function Dashboard(props: DashboardProps) {
@@ -33,7 +35,7 @@ export default function Dashboard(props: DashboardProps) {
};
/** Drawer width */
- const drawerWidth = 240;
+ const drawerWidth = props.drawerWidth || 240;
return (
@@ -87,12 +89,14 @@ export default function Dashboard(props: DashboardProps) {
mobileOpen={mobileOpen}
width={drawerWidth}
handleDrawerToggle={handleDrawerToggle}
+ logoURL={props.logoURL}
/>
void;
}) {
const [appType, setAppType] = React.useState("");
+ const applicationList = React.useContext(ApplicationsContext)[2];
return (