import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'unstated';
import { I18nextProvider } from 'react-i18next';
import { i18nFactory } from './util/i18n';
import AppContainer from '~/client/services/AppContainer';
import InstallerForm from '../components/InstallerForm';
import LoginForm from '../components/LoginForm';
import PasswordResetRequestForm from '../components/PasswordResetRequestForm';
import PasswordResetExecutionForm from '../components/PasswordResetExecutionForm';
const i18n = i18nFactory();
// render InstallerForm
const installerFormElem = document.getElementById('installer-form');
if (installerFormElem) {
const userName = installerFormElem.dataset.userName;
const name = installerFormElem.dataset.name;
const email = installerFormElem.dataset.email;
const csrf = installerFormElem.dataset.csrf;
ReactDOM.render(
,
installerFormElem,
);
}
// render loginForm
const loginFormElem = document.getElementById('login-form');
if (loginFormElem) {
const appContainer = new AppContainer();
appContainer.initApp();
const username = loginFormElem.dataset.username;
const name = loginFormElem.dataset.name;
const email = loginFormElem.dataset.email;
const isRegistrationEnabled = loginFormElem.dataset.isRegistrationEnabled === 'true';
const registrationMode = loginFormElem.dataset.registrationMode;
const isPasswordResetEnabled = loginFormElem.dataset.isPasswordResetEnabled === 'true';
let registrationWhiteList = loginFormElem.dataset.registrationWhiteList;
registrationWhiteList = registrationWhiteList.length > 0
? registrationWhiteList = loginFormElem.dataset.registrationWhiteList.split(',')
: registrationWhiteList = [];
const isLocalStrategySetup = loginFormElem.dataset.isLocalStrategySetup === 'true';
const isLdapStrategySetup = loginFormElem.dataset.isLdapStrategySetup === 'true';
const objOfIsExternalAuthEnableds = {
google: loginFormElem.dataset.isGoogleAuthEnabled === 'true',
github: loginFormElem.dataset.isGithubAuthEnabled === 'true',
facebook: loginFormElem.dataset.isFacebookAuthEnabled === 'true',
twitter: loginFormElem.dataset.isTwitterAuthEnabled === 'true',
saml: loginFormElem.dataset.isSamlAuthEnabled === 'true',
oidc: loginFormElem.dataset.isOidcAuthEnabled === 'true',
basic: loginFormElem.dataset.isBasicAuthEnabled === 'true',
};
ReactDOM.render(
,
loginFormElem,
);
}
// render PasswordResetRequestForm
const passwordResetRequestFormElem = document.getElementById('password-reset-request-form');
const appContainer = new AppContainer();
appContainer.initApp();
if (passwordResetRequestFormElem) {
ReactDOM.render(
,
passwordResetRequestFormElem,
);
}
// render PasswordResetExecutionForm
const passwordResetExecutionFormElem = document.getElementById('password-reset-execution-form');
if (passwordResetExecutionFormElem) {
ReactDOM.render(
,
passwordResetExecutionFormElem,
);
}