diff --git a/changelog/unreleased/enhancement-load-idp-logo-from-theme.md b/changelog/unreleased/enhancement-load-idp-logo-from-theme.md
new file mode 100644
index 000000000..9294e3d4b
--- /dev/null
+++ b/changelog/unreleased/enhancement-load-idp-logo-from-theme.md
@@ -0,0 +1,6 @@
+Enhancement: Load IDP logo from theme
+
+We now load the IDP logo from the theme file.
+
+https://github.com/owncloud/ocis/pull/10274
+https://github.com/owncloud/web/issues/11603
diff --git a/services/idp/src/App.jsx b/services/idp/src/App.jsx
index 672be4deb..50cc7b55e 100644
--- a/services/idp/src/App.jsx
+++ b/services/idp/src/App.jsx
@@ -1,31 +1,64 @@
-import React, { ReactElement, Suspense, lazy } from 'react';
+import React, { ReactElement, Suspense, lazy, useState, useEffect } from 'react';
import PropTypes from 'prop-types';
import { MuiThemeProvider } from '@material-ui/core/styles';
-import { defaultTheme as theme } from 'kpop/es/theme';
+import { defaultTheme } from 'kpop/es/theme';
import 'kpop/static/css/base.css';
import 'kpop/static/css/scrollbar.css';
import Spinner from './components/Spinner';
import * as version from './version';
+import { InfiniteScaleContext } from './infiniteScaleContext';
const LazyMain = lazy(() => import(/* webpackChunkName: "identifier-main" */ './Main'));
console.info(`Kopano Identifier build version: ${version.build}`); // eslint-disable-line no-console
const App = ({ bgImg }): ReactElement => {
+ const [theme, setTheme] = useState(null);
+ const [config, setConfig] = useState(null);
+ const [loading, setLoading] = useState(true);
+
+ useEffect(() => {
+ const fetchData = async () => {
+ try {
+ const configResponse = await fetch('/config.json');
+ const configData = await configResponse.json();
+ setConfig(configData);
+
+ const themeResponse = await fetch(configData.theme);
+ const themeData = await themeResponse.json();
+ setTheme(themeData);
+ } catch (error) {
+ console.error('Error fetching config/theme data:', error);
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ fetchData();
+ }, []);
+
+
+ if (loading) {
+ return