Skip to content

Commit 0667120

Browse files
committed
WIP: PR Comments
1 parent 33b1a14 commit 0667120

File tree

1 file changed

+19
-25
lines changed

1 file changed

+19
-25
lines changed

packages/main/src/components/Page/index.tsx

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Event, StyleClassHelper } from '@ui5/webcomponents-react-base';
22
import React, { forwardRef, ReactElement, ReactNode, Ref, useCallback, useMemo } from 'react';
33
import { createUseStyles } from 'react-jss';
44
import { CommonProps } from '../../interfaces/CommonProps';
5+
import { JSSTheme } from '../../interfaces/JSSTheme';
56
import { Bar } from '../../lib/Bar';
67
import { Button } from '../../lib/Button';
78
import { ButtonDesign } from '../../lib/ButtonDesign';
@@ -23,7 +24,7 @@ export interface PagePropTypes extends CommonProps {
2324
children: ReactElement<any> | Array<ReactElement<any>> | ReactNode;
2425
}
2526

26-
const useStyles = createUseStyles<string>(styles, {
27+
const useStyles = createUseStyles<JSSTheme, keyof ReturnType<typeof styles>>(styles, {
2728
name: 'Page'
2829
});
2930

@@ -55,26 +56,24 @@ const Page = forwardRef((props: PagePropTypes, ref: Ref<HTMLDivElement>) => {
5556
[onNavButtonPress]
5657
);
5758

58-
const renderBackButton = useMemo(
59-
() => () => {
60-
if (showBackButton) {
61-
return (
62-
<Button icon="navigation-left-arrow" design={ButtonDesign.Transparent} onClick={handleNavBackButtonPress} />
63-
);
64-
}
65-
return null;
66-
},
67-
[showBackButton]
68-
);
59+
const renderBackButton = useCallback(() => {
60+
if (showBackButton) {
61+
return (
62+
<Button icon="navigation-left-arrow" design={ButtonDesign.Transparent} onClick={handleNavBackButtonPress} />
63+
);
64+
}
65+
return null;
66+
}, [showBackButton]);
6967

70-
const renderTitle = useMemo(() => () => <Title level={TitleLevel.H5}>{title}</Title>, [title]);
68+
const renderTitle = useCallback(() => <Title level={TitleLevel.H5}>{title}</Title>, [title]);
7169

72-
const renderHeader = useMemo(
73-
() => () => {
74-
return <Bar renderContentLeft={renderBackButton} renderContentMiddle={renderTitle} />;
75-
},
76-
[renderTitle, renderBackButton]
77-
);
70+
const header = useMemo(() => {
71+
if (renderCustomHeader) {
72+
return renderCustomHeader();
73+
}
74+
75+
return <Bar renderContentLeft={renderBackButton} renderContentMiddle={renderTitle} />;
76+
}, [renderCustomHeader, renderTitle, renderBackButton]);
7877

7978
const pageContainer = StyleClassHelper.of(classes.pageContainer);
8079
const headerClasses = StyleClassHelper.of(classes.pageHeader, classes.baseBar);
@@ -96,12 +95,7 @@ const Page = forwardRef((props: PagePropTypes, ref: Ref<HTMLDivElement>) => {
9695

9796
return (
9897
<div ref={ref} className={pageContainer.valueOf()} style={style} title={tooltip} slot={slot}>
99-
{showHeader && (
100-
<header className={headerClasses.valueOf()}>
101-
{renderCustomHeader && renderCustomHeader()}
102-
{!renderCustomHeader && renderHeader()}
103-
</header>
104-
)}
98+
{showHeader && <header className={headerClasses.valueOf()}>{header}</header>}
10599
<section className={classes.contentSection}>{children}</section>
106100
{showFooter && <footer className={footerClasses.valueOf()}>{renderCustomFooter && renderCustomFooter()}</footer>}
107101
</div>

0 commit comments

Comments
 (0)