|
1 | | -import React, { useCallback, useContext, useEffect, useMemo } from "react"; |
| 1 | +import React, { |
| 2 | + useCallback, |
| 3 | + useContext, |
| 4 | + useEffect, |
| 5 | + useMemo, |
| 6 | + useState, |
| 7 | +} from "react"; |
2 | 8 | import cn from "classnames"; |
3 | 9 | import { useNavigate, useParams } from "react-router-dom"; |
4 | 10 | import { Context, FormattedMessage } from "@oursky/react-messageformat"; |
@@ -44,6 +50,7 @@ import { AccountValidPeriodForm } from "./UserDetailsAccountStatus"; |
44 | 50 | import WidgetTitle from "../../WidgetTitle"; |
45 | 51 | import WidgetDescription from "../../WidgetDescription"; |
46 | 52 | import { useSystemConfig } from "../../context/SystemConfigContext"; |
| 53 | +import FoldableDiv from "../../FoldableDiv"; |
47 | 54 |
|
48 | 55 | enum PasswordCreationType { |
49 | 56 | ManualEntry = "manual_entry", |
@@ -250,6 +257,8 @@ const AddUserContent: React.VFC<AddUserContentProps> = function AddUserContent( |
250 | 257 | } = props; |
251 | 258 | const { renderToString } = useContext(Context); |
252 | 259 |
|
| 260 | + const [advancedFolded, setAdvancedFolded] = useState(true); |
| 261 | + |
253 | 262 | const { themes } = useSystemConfig(); |
254 | 263 |
|
255 | 264 | const { |
@@ -614,32 +623,34 @@ const AddUserContent: React.VFC<AddUserContentProps> = function AddUserContent( |
614 | 623 | } |
615 | 624 | /> |
616 | 625 | </div> |
617 | | - <div |
618 | | - className={cn( |
619 | | - styles.widget, |
620 | | - styles.accountValidPeriodSection |
621 | | - )} |
| 626 | + <FoldableDiv |
| 627 | + className={cn(styles.widget)} |
| 628 | + label={<FormattedMessage id="AdduserScreen.advanced" />} |
| 629 | + folded={advancedFolded} |
| 630 | + setFolded={setAdvancedFolded} |
622 | 631 | > |
623 | | - <WidgetTitle> |
624 | | - <FormattedMessage id="AddUserScreen.valid-period.title" /> |
625 | | - </WidgetTitle> |
626 | | - <WidgetDescription |
627 | | - styles={{ |
628 | | - root: { |
629 | | - color: themes.main.semanticColors.bodySubtext, |
630 | | - }, |
631 | | - }} |
632 | | - > |
633 | | - <FormattedMessage id="AddUserScreen.valid-period.description" /> |
634 | | - </WidgetDescription> |
635 | | - <AccountValidPeriodForm |
636 | | - className={styles.accountValidPeriodForm} |
637 | | - accountValidFrom={state.accountValidFrom} |
638 | | - accountValidUntil={state.accountValidUntil} |
639 | | - onPickAccountValidFrom={onPickAccountValidFrom} |
640 | | - onPickAccountValidUntil={onPickAccountValidUntil} |
641 | | - /> |
642 | | - </div> |
| 632 | + <div className={styles.accountValidPeriodSection}> |
| 633 | + <WidgetTitle> |
| 634 | + <FormattedMessage id="AddUserScreen.valid-period.title" /> |
| 635 | + </WidgetTitle> |
| 636 | + <WidgetDescription |
| 637 | + styles={{ |
| 638 | + root: { |
| 639 | + color: themes.main.semanticColors.bodySubtext, |
| 640 | + }, |
| 641 | + }} |
| 642 | + > |
| 643 | + <FormattedMessage id="AddUserScreen.valid-period.description" /> |
| 644 | + </WidgetDescription> |
| 645 | + <AccountValidPeriodForm |
| 646 | + className={styles.accountValidPeriodForm} |
| 647 | + accountValidFrom={state.accountValidFrom} |
| 648 | + accountValidUntil={state.accountValidUntil} |
| 649 | + onPickAccountValidFrom={onPickAccountValidFrom} |
| 650 | + onPickAccountValidUntil={onPickAccountValidUntil} |
| 651 | + /> |
| 652 | + </div> |
| 653 | + </FoldableDiv> |
643 | 654 | </> |
644 | 655 | ) : null} |
645 | 656 | </> |
|
0 commit comments