feat: Add ability to pre-fill login credentials in demo mode

This commit is contained in:
Maksim Eltyshev
2026-01-25 20:17:13 +01:00
parent ffdb7254b3
commit 3b8ad26169
2 changed files with 26 additions and 5 deletions

View File

@@ -102,11 +102,27 @@ const Content = React.memo(() => {
const [t] = useTranslation();
const wasSubmitting = usePrevious(isSubmitting);
const [data, handleFieldChange, setData] = useForm(() => ({
emailOrUsername: '',
password: '',
...defaultData,
}));
const [data, handleFieldChange, setData] = useForm(() => {
const initialData = {
emailOrUsername: '',
password: '',
...defaultData,
};
if (bootstrap.isDemoMode) {
const params = new URLSearchParams(window.location.hash.slice(1));
Object.keys(initialData).forEach((fieldName) => {
const value = params.get(fieldName);
if (value !== null) {
initialData[fieldName] = value;
}
});
}
return initialData;
});
const message = useMemo(() => createMessage(error), [error]);
const [focusPasswordFieldState, focusPasswordField] = useToggle();

View File

@@ -24,6 +24,7 @@ module.exports = {
oidc: inputs.oidc,
version: sails.config.custom.version,
};
if (inputs.user && inputs.user.role === User.Roles.ADMIN) {
Object.assign(data, {
activeUsersLimit: inputs.internalConfig.activeUsersLimit,
@@ -31,6 +32,10 @@ module.exports = {
});
}
if (sails.config.custom.demoMode) {
data.isDemoMode = true;
}
return data;
},
};