Skip to content

Commit 6e6485d

Browse files
committed
fix: use ThemeSupporting generic type for navigation logo
1 parent 53471cb commit 6e6485d

File tree

4 files changed

+17
-15
lines changed

4 files changed

+17
-15
lines changed

src/containers/PageConstructor/__stories__/data.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,19 +145,23 @@
145145
"items": [
146146
{
147147
"text": "Lorem ipsum ",
148-
"url": "https://example.com"
148+
"url": "https://example.com",
149+
"type": "link"
149150
},
150151
{
151152
"text": "Dolor sit amet",
152-
"url": "https://example.com"
153+
"url": "https://example.com",
154+
"type": "link"
153155
},
154156
{
155157
"text": "Consectetur adipiscing",
156-
"url": "https://example.com"
158+
"url": "https://example.com",
159+
"type": "link"
157160
},
158161
{
159162
"text": "Ut enim ad minim ",
160-
"url": "https://example.com"
163+
"url": "https://example.com",
164+
"type": "link"
161165
}
162166
]
163167
},

src/models/navigation.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import {ThemeSupporting} from '../utils';
12
import {ImageProps, ButtonProps} from './constructor-items';
23

34
export enum NavigationItemType {
@@ -50,16 +51,13 @@ export type NavigationItemData =
5051

5152
export type DropdownItemData = Omit<NavigationDropdownItem, 'items'>;
5253

53-
export interface NavigationLogoThemedData {
54+
export interface NavigationLogoData {
5455
icon: ImageProps;
5556
text?: string;
5657
url?: string;
5758
}
5859

59-
export interface NavigationLogoData extends NavigationLogoThemedData {
60-
dark?: NavigationLogoThemedData;
61-
light?: NavigationLogoThemedData;
62-
}
60+
export type ThemedNavigationLogoData = NavigationLogoData & ThemeSupporting<NavigationLogoData>;
6361

6462
export interface HeaderData {
6563
leftItems: NavigationItemModel[];
@@ -83,7 +81,7 @@ export interface FooterData {
8381
}
8482

8583
export interface NavigationData {
86-
logo: NavigationLogoData;
84+
logo: ThemedNavigationLogoData;
8785
header: HeaderData;
8886
footer?: FooterData;
8987
}

src/navigation/components/Header/Header.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, {MouseEvent, useCallback, useState} from 'react';
22

33
import {block} from '../../../utils';
4-
import {HeaderData, NavigationLogoData} from '../../../models';
4+
import {HeaderData, ThemedNavigationLogoData} from '../../../models';
55
import {Col, Grid, Row} from '../../../grid';
66
import OutsideClick from '../../../components/OutsideClick/OutsideClick';
77
import Control from '../../../components/Control/Control';
@@ -19,7 +19,7 @@ const b = block('header');
1919
const ICON_SIZE = 36;
2020

2121
export interface HeaderProps {
22-
logo: NavigationLogoData;
22+
logo: ThemedNavigationLogoData;
2323
data: HeaderData;
2424
}
2525

src/navigation/components/Logo/Logo.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, {useContext} from 'react';
22

33
import {block, getThemedValue} from '../../../utils';
4-
import {NavigationLogoData} from '../../../models';
4+
import {ThemedNavigationLogoData} from '../../../models';
55
import RouterLink from '../../../components/RouterLink/RouterLink';
66
import {getMediaImage} from '../../../components/Media/Image/utils';
77
import {ThemeValueContext} from '../../../context/theme/ThemeValueContext';
@@ -11,9 +11,9 @@ import './Logo.scss';
1111

1212
const b = block('logo');
1313

14-
export interface LogoProps extends NavigationLogoData {
14+
export type LogoProps = ThemedNavigationLogoData & {
1515
className?: string;
16-
}
16+
};
1717

1818
const Logo: React.FC<LogoProps> = (props) => {
1919
const {themeValue: theme} = useContext(ThemeValueContext);

0 commit comments

Comments
 (0)