2023-01-11 02:18:59 +01:00
|
|
|
import { Form, FormRow } from 'react-basics';
|
2023-01-19 00:05:39 +01:00
|
|
|
import TimezoneSetting from 'components/pages/settings/profile/TimezoneSetting';
|
|
|
|
import DateRangeSetting from 'components/pages/settings/profile/DateRangeSetting';
|
|
|
|
import LanguageSetting from 'components/pages/settings/profile/LanguageSetting';
|
2023-01-28 06:53:13 +01:00
|
|
|
import ThemeSetting from 'components/pages/settings/profile/ThemeSetting';
|
2023-03-24 00:33:10 +01:00
|
|
|
import PasswordChangeButton from './PasswordChangeButton';
|
2022-12-27 01:57:59 +01:00
|
|
|
import useUser from 'hooks/useUser';
|
2023-03-22 05:28:36 +01:00
|
|
|
import useMessages from 'hooks/useMessages';
|
2023-03-24 00:33:10 +01:00
|
|
|
import useConfig from 'hooks/useConfig';
|
2023-07-07 08:02:16 +02:00
|
|
|
import { ROLES } from 'lib/constants';
|
2022-12-27 01:57:59 +01:00
|
|
|
|
2023-04-21 17:00:42 +02:00
|
|
|
export function ProfileDetails() {
|
2023-01-11 17:33:43 +01:00
|
|
|
const { user } = useUser();
|
2023-03-22 05:28:36 +01:00
|
|
|
const { formatMessage, labels } = useMessages();
|
2023-03-24 00:33:10 +01:00
|
|
|
const { cloudMode } = useConfig();
|
2022-12-27 01:57:59 +01:00
|
|
|
|
|
|
|
if (!user) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2023-01-11 02:18:59 +01:00
|
|
|
const { username, role } = user;
|
2022-12-27 01:57:59 +01:00
|
|
|
|
2023-07-07 08:02:16 +02:00
|
|
|
const renderRole = value => {
|
|
|
|
if (value === ROLES.user) {
|
|
|
|
return formatMessage(labels.user);
|
|
|
|
}
|
|
|
|
if (value === ROLES.admin) {
|
|
|
|
return formatMessage(labels.admin);
|
|
|
|
}
|
|
|
|
if (value === ROLES.viewOnly) {
|
|
|
|
return formatMessage(labels.viewOnly);
|
|
|
|
}
|
|
|
|
|
|
|
|
return formatMessage(labels.unknown);
|
|
|
|
};
|
|
|
|
|
2022-12-27 01:57:59 +01:00
|
|
|
return (
|
2023-01-11 02:18:59 +01:00
|
|
|
<Form>
|
2023-01-25 16:42:46 +01:00
|
|
|
<FormRow label={formatMessage(labels.username)}>{username}</FormRow>
|
2023-07-07 08:02:16 +02:00
|
|
|
<FormRow label={formatMessage(labels.role)}>{renderRole(role)}</FormRow>
|
2023-03-24 00:33:10 +01:00
|
|
|
{!cloudMode && (
|
|
|
|
<FormRow label={formatMessage(labels.password)}>
|
|
|
|
<PasswordChangeButton />
|
|
|
|
</FormRow>
|
|
|
|
)}
|
2023-01-31 06:44:07 +01:00
|
|
|
<FormRow label={formatMessage(labels.defaultDateRange)}>
|
|
|
|
<DateRangeSetting />
|
|
|
|
</FormRow>
|
2023-01-28 06:53:13 +01:00
|
|
|
<FormRow label={formatMessage(labels.language)}>
|
2023-01-11 02:18:59 +01:00
|
|
|
<LanguageSetting />
|
|
|
|
</FormRow>
|
2023-01-28 06:53:13 +01:00
|
|
|
<FormRow label={formatMessage(labels.timezone)}>
|
2023-01-11 02:18:59 +01:00
|
|
|
<TimezoneSetting />
|
|
|
|
</FormRow>
|
2023-01-25 16:42:46 +01:00
|
|
|
<FormRow label={formatMessage(labels.theme)}>
|
2023-01-11 02:18:59 +01:00
|
|
|
<ThemeSetting />
|
|
|
|
</FormRow>
|
|
|
|
</Form>
|
2022-12-27 01:57:59 +01:00
|
|
|
);
|
|
|
|
}
|
2023-04-21 17:00:42 +02:00
|
|
|
|
|
|
|
export default ProfileDetails;
|