Skip to content

Commit 92a1d62

Browse files
committed
Fixes brave/brave-browser#9247 - Cleans up widget menu position/padding
1 parent 003bc05 commit 92a1d62

File tree

4 files changed

+37
-5
lines changed

4 files changed

+37
-5
lines changed

components/brave_new_tab_ui/components/default/widget/index.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export interface WidgetProps {
1919
hideMenu?: boolean
2020
isForeground?: boolean
2121
lightWidget?: boolean
22+
paddingType: 'none' | 'right' | 'default'
2223
onLearnMore?: () => void
2324
onDisconnect?: () => void
2425
onRefreshData?: () => void
@@ -57,6 +58,7 @@ const createWidget = <P extends object>(WrappedComponent: React.ComponentType<P>
5758
hideMenu,
5859
isForeground,
5960
lightWidget,
61+
paddingType,
6062
onLearnMore,
6163
onDisconnect,
6264
onRefreshData
@@ -73,6 +75,7 @@ const createWidget = <P extends object>(WrappedComponent: React.ComponentType<P>
7375
isCryptoTab={isCryptoTab}
7476
widgetMenuPersist={widgetMenuPersist}
7577
preventFocus={preventFocus}
78+
paddingType={paddingType}
7679
>
7780
<WrappedComponent {...this.props as P}/>
7881
</StyledWidget>
@@ -90,6 +93,7 @@ const createWidget = <P extends object>(WrappedComponent: React.ComponentType<P>
9093
persistWidget={this.persistWidget}
9194
unpersistWidget={this.unpersistWidget}
9295
lightWidget={lightWidget}
96+
paddingType={paddingType}
9397
/>
9498
}
9599
</StyledWidgetContainer>

components/brave_new_tab_ui/components/default/widget/styles.ts

+20-4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,18 @@ interface WidgetContainerProps extends WidgetPositionProps {
1212
textDirection: string
1313
}
1414

15+
const getWidgetPadding = (type: string) => {
16+
switch (type) {
17+
case 'none':
18+
return '0px'
19+
case 'right':
20+
return '24px 56px 24px 24px'
21+
case 'default':
22+
default:
23+
return '24px'
24+
}
25+
}
26+
1527
export const StyledWidgetContainer = styled<WidgetContainerProps, 'div'>('div')`
1628
display: inline-flex;
1729
/* For debug: */
@@ -23,9 +35,9 @@ export const StyledWidgetContainer = styled<WidgetContainerProps, 'div'>('div')`
2335
position: relative;
2436
`
2537

26-
export const StyledWidgetMenuContainer = styled<{}, 'div'>('div')`
38+
export const StyledWidgetMenuContainer = styled<WidgetPaddingProps, 'div'>('div')`
2739
position: absolute;
28-
top: 5px;
40+
top: ${({ paddingType }) => paddingType === 'right' ? 15 : 5}px;
2941
right: 5px;
3042
`
3143

@@ -37,8 +49,12 @@ interface WidgetVisibilityProps {
3749
isForeground?: boolean
3850
}
3951

40-
export const StyledWidget = styled<WidgetVisibilityProps, 'div'>('div')`
41-
padding: ${p => p.isCrypto ? 0 : 24}px;
52+
interface WidgetPaddingProps {
53+
paddingType: 'none' | 'right' | 'default'
54+
}
55+
56+
export const StyledWidget = styled<WidgetVisibilityProps & WidgetPaddingProps, 'div'>('div')`
57+
padding: ${({ paddingType }) => getWidgetPadding(paddingType)};
4258
max-width: 100%;
4359
min-width: ${p => p.isCrypto ? '284px' : 'initial'};
4460
position: relative;

components/brave_new_tab_ui/components/default/widget/widgetMenu.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ interface Props {
2727
onDisconnect?: () => void
2828
onRefreshData?: () => void
2929
lightWidget?: boolean
30+
paddingType: 'none' | 'right' | 'default'
3031
}
3132

3233
interface State {
@@ -89,6 +90,7 @@ export default class WidgetMenu extends React.PureComponent<Props, State> {
8990
widgetTitle,
9091
isForeground,
9192
lightWidget,
93+
paddingType,
9294
onLearnMore,
9395
onDisconnect,
9496
onRefreshData
@@ -97,7 +99,7 @@ export default class WidgetMenu extends React.PureComponent<Props, State> {
9799
const hideString = widgetTitle ? `${getLocale('hide')} ${widgetTitle}` : getLocale('hide')
98100

99101
return (
100-
<StyledWidgetMenuContainer innerRef={this.settingsMenuRef}>
102+
<StyledWidgetMenuContainer innerRef={this.settingsMenuRef} paddingType={paddingType}>
101103
<StyledEllipsis widgetMenuPersist={widgetMenuPersist} isForeground={isForeground}>
102104
<IconButton isClickMenu={true} onClick={this.toggleMenu}>
103105
<EllipsisIcon lightWidget={lightWidget} />

components/brave_new_tab_ui/containers/newTab/index.tsx

+10
Original file line numberDiff line numberDiff line change
@@ -744,6 +744,7 @@ class NewTabPage extends React.Component<Props, State> {
744744
{shouldShowAddCard &&
745745
<AddCard
746746
isCrypto={true}
747+
paddingType={'none'}
747748
menuPosition={'left'}
748749
widgetTitle={getLocale('addCardWidgetTitle')}
749750
textDirection={textDirection}
@@ -780,6 +781,7 @@ class NewTabPage extends React.Component<Props, State> {
780781
onLearnMore={this.learnMoreRewards}
781782
menuPosition={'left'}
782783
isCrypto={true}
784+
paddingType={'none'}
783785
isCryptoTab={!showContent}
784786
isForeground={showContent}
785787
stackPosition={position}
@@ -813,6 +815,7 @@ class NewTabPage extends React.Component<Props, State> {
813815
return (
814816
<Together
815817
isCrypto={true}
818+
paddingType={'none'}
816819
menuPosition={'left'}
817820
widgetTitle={getLocale('togetherWidgetTitle')}
818821
isForeground={showContent}
@@ -844,6 +847,7 @@ class NewTabPage extends React.Component<Props, State> {
844847
{...menuActions}
845848
{...binanceState}
846849
isCrypto={true}
850+
paddingType={'none'}
847851
isCryptoTab={!showContent}
848852
menuPosition={'left'}
849853
widgetTitle={'Binance'}
@@ -893,6 +897,7 @@ class NewTabPage extends React.Component<Props, State> {
893897
{...geminiState}
894898
{...menuActions}
895899
isCrypto={true}
900+
paddingType={'none'}
896901
isCryptoTab={!showContent}
897902
menuPosition={'left'}
898903
widgetTitle={'Gemini'}
@@ -928,6 +933,7 @@ class NewTabPage extends React.Component<Props, State> {
928933
return(
929934
<BitcoinDotCom
930935
isCrypto={true}
936+
paddingType={'none'}
931937
isCryptoTab={!showContent}
932938
menuPosition={'left'}
933939
widgetTitle={'Bitcoin.com'}
@@ -987,6 +993,7 @@ class NewTabPage extends React.Component<Props, State> {
987993
{newTabData.showStats &&
988994
<Page.GridItemStats>
989995
<Stats
996+
paddingType={'right'}
990997
widgetTitle={getLocale('statsTitle')}
991998
textDirection={newTabData.textDirection}
992999
stats={newTabData.stats}
@@ -998,6 +1005,7 @@ class NewTabPage extends React.Component<Props, State> {
9981005
{newTabData.showClock &&
9991006
<Page.GridItemClock>
10001007
<Clock
1008+
paddingType={'right'}
10011009
widgetTitle={getLocale('clockTitle')}
10021010
textDirection={newTabData.textDirection}
10031011
hideWidget={this.toggleShowClock}
@@ -1013,6 +1021,7 @@ class NewTabPage extends React.Component<Props, State> {
10131021
<Page.GridItemTopSites>
10141022
<TopSitesGrid
10151023
actions={actions}
1024+
paddingType={'right'}
10161025
widgetTitle={getLocale('topSitesTitle')}
10171026
gridSites={gridSitesData.gridSites}
10181027
menuPosition={'right'}
@@ -1038,6 +1047,7 @@ class NewTabPage extends React.Component<Props, State> {
10381047
<Page.GridItemBrandedLogo>
10391048
<BrandedWallpaperLogo
10401049
menuPosition={'right'}
1050+
paddingType={'default'}
10411051
textDirection={newTabData.textDirection}
10421052
data={newTabData.brandedWallpaperData.logo}
10431053
/>

0 commit comments

Comments
 (0)