Commit 8ef0807c authored by Max Alekseenko's avatar Max Alekseenko

move favorite icon to separate file

parent 0b447d5d
...@@ -7,8 +7,8 @@ import type { MarketplaceAppPreview } from 'types/client/marketplace'; ...@@ -7,8 +7,8 @@ import type { MarketplaceAppPreview } from 'types/client/marketplace';
import useIsMobile from 'lib/hooks/useIsMobile'; import useIsMobile from 'lib/hooks/useIsMobile';
import * as mixpanel from 'lib/mixpanel/index'; import * as mixpanel from 'lib/mixpanel/index';
import IconSvg from 'ui/shared/IconSvg';
import FavoriteIcon from '../FavoriteIcon';
import MarketplaceAppIntegrationIcon from '../MarketplaceAppIntegrationIcon'; import MarketplaceAppIntegrationIcon from '../MarketplaceAppIntegrationIcon';
import FeaturedAppMobile from './FeaturedAppMobile'; import FeaturedAppMobile from './FeaturedAppMobile';
...@@ -32,7 +32,6 @@ const FeaturedApp = ({ ...@@ -32,7 +32,6 @@ const FeaturedApp = ({
const categoriesLabel = categories.join(', '); const categoriesLabel = categories.join(', ');
const backgroundColor = useColorModeValue('purple.50', 'whiteAlpha.100'); const backgroundColor = useColorModeValue('purple.50', 'whiteAlpha.100');
const heartFilledColor = useColorModeValue('blue.700', 'gray.400');
const handleInfoClick = useCallback((event: MouseEvent) => { const handleInfoClick = useCallback((event: MouseEvent) => {
event.preventDefault(); event.preventDefault();
...@@ -136,13 +135,7 @@ const FeaturedApp = ({ ...@@ -136,13 +135,7 @@ const FeaturedApp = ({
w={ 9 } w={ 9 }
h={ 8 } h={ 8 }
onClick={ handleFavoriteClick } onClick={ handleFavoriteClick }
icon={ ( icon={ <FavoriteIcon isFavorite={ isFavorite }/> }
<IconSvg
name={ isFavorite ? 'heart_filled' : 'heart_outline' }
color={ isFavorite ? heartFilledColor : 'gray.400' }
boxSize={ 5 }
/>
) }
/> />
) } ) }
</Flex> </Flex>
......
...@@ -4,8 +4,7 @@ import React from 'react'; ...@@ -4,8 +4,7 @@ import React from 'react';
import type { MarketplaceAppPreview } from 'types/client/marketplace'; import type { MarketplaceAppPreview } from 'types/client/marketplace';
import IconSvg from 'ui/shared/IconSvg'; import FavoriteIcon from '../FavoriteIcon';
import MarketplaceAppCardLink from '../MarketplaceAppCardLink'; import MarketplaceAppCardLink from '../MarketplaceAppCardLink';
import MarketplaceAppIntegrationIcon from '../MarketplaceAppIntegrationIcon'; import MarketplaceAppIntegrationIcon from '../MarketplaceAppIntegrationIcon';
...@@ -36,7 +35,6 @@ const FeaturedAppMobile = ({ ...@@ -36,7 +35,6 @@ const FeaturedAppMobile = ({
const categoriesLabel = categories.join(', '); const categoriesLabel = categories.join(', ');
const logoUrl = useColorModeValue(logo, logoDarkMode || logo); const logoUrl = useColorModeValue(logo, logoDarkMode || logo);
const heartFilledColor = useColorModeValue('blue.700', 'gray.400');
return ( return (
<LinkBox <LinkBox
...@@ -145,13 +143,7 @@ const FeaturedAppMobile = ({ ...@@ -145,13 +143,7 @@ const FeaturedAppMobile = ({
w={ 9 } w={ 9 }
h={ 8 } h={ 8 }
onClick={ onFavoriteClick } onClick={ onFavoriteClick }
icon={ ( icon={ <FavoriteIcon isFavorite={ isFavorite }/> }
<IconSvg
name={ isFavorite ? 'heart_filled' : 'heart_outline' }
color={ isFavorite ? heartFilledColor : 'gray.400' }
boxSize={ 5 }
/>
) }
/> />
) } ) }
</Flex> </Flex>
......
import { useColorModeValue } from '@chakra-ui/react';
import React from 'react';
import IconSvg from 'ui/shared/IconSvg';
type Props = {
isFavorite: boolean;
color?: string;
}
const FavoriteIcon = ({ isFavorite, color }: Props) => {
const heartFilledColor = useColorModeValue('blue.700', 'gray.400');
const defaultColor = isFavorite ? heartFilledColor : 'gray.400';
return (
<IconSvg
name={ isFavorite ? 'heart_filled' : 'heart_outline' }
color={ color || defaultColor }
boxSize={ 5 }
/>
);
};
export default FavoriteIcon;
...@@ -5,9 +5,9 @@ import React, { useCallback } from 'react'; ...@@ -5,9 +5,9 @@ import React, { useCallback } from 'react';
import type { MarketplaceAppWithSecurityReport, ContractListTypes, AppRating } from 'types/client/marketplace'; import type { MarketplaceAppWithSecurityReport, ContractListTypes, AppRating } from 'types/client/marketplace';
import useIsMobile from 'lib/hooks/useIsMobile'; import useIsMobile from 'lib/hooks/useIsMobile';
import IconSvg from 'ui/shared/IconSvg';
import AppSecurityReport from './AppSecurityReport'; import AppSecurityReport from './AppSecurityReport';
import FavoriteIcon from './FavoriteIcon';
import MarketplaceAppCardLink from './MarketplaceAppCardLink'; import MarketplaceAppCardLink from './MarketplaceAppCardLink';
import MarketplaceAppIntegrationIcon from './MarketplaceAppIntegrationIcon'; import MarketplaceAppIntegrationIcon from './MarketplaceAppIntegrationIcon';
import Rating from './Rating/Rating'; import Rating from './Rating/Rating';
...@@ -56,8 +56,6 @@ const MarketplaceAppCard = ({ ...@@ -56,8 +56,6 @@ const MarketplaceAppCard = ({
const isMobile = useIsMobile(); const isMobile = useIsMobile();
const categoriesLabel = categories.join(', '); const categoriesLabel = categories.join(', ');
const heartFilledColor = useColorModeValue('blue.700', 'gray.400');
const handleInfoClick = useCallback((event: MouseEvent) => { const handleInfoClick = useCallback((event: MouseEvent) => {
event.preventDefault(); event.preventDefault();
onInfoClick(id); onInfoClick(id);
...@@ -189,13 +187,7 @@ const MarketplaceAppCard = ({ ...@@ -189,13 +187,7 @@ const MarketplaceAppCard = ({
w={{ base: 6, md: '30px' }} w={{ base: 6, md: '30px' }}
h={{ base: 6, md: '30px' }} h={{ base: 6, md: '30px' }}
onClick={ handleFavoriteClick } onClick={ handleFavoriteClick }
icon={ ( icon={ <FavoriteIcon isFavorite={ isFavorite }/> }
<IconSvg
name={ isFavorite ? 'heart_filled' : 'heart_outline' }
color={ isFavorite ? heartFilledColor : 'gray.400' }
boxSize={ 5 }
/>
) }
/> />
</Flex> </Flex>
</Flex> </Flex>
......
...@@ -15,6 +15,7 @@ import type { IconName } from 'ui/shared/IconSvg'; ...@@ -15,6 +15,7 @@ import type { IconName } from 'ui/shared/IconSvg';
import IconSvg from 'ui/shared/IconSvg'; import IconSvg from 'ui/shared/IconSvg';
import AppSecurityReport from './AppSecurityReport'; import AppSecurityReport from './AppSecurityReport';
import FavoriteIcon from './FavoriteIcon';
import MarketplaceAppModalLink from './MarketplaceAppModalLink'; import MarketplaceAppModalLink from './MarketplaceAppModalLink';
import Rating from './Rating/Rating'; import Rating from './Rating/Rating';
import type { RateFunction } from './Rating/useRatings'; import type { RateFunction } from './Rating/useRatings';
...@@ -206,13 +207,7 @@ const MarketplaceAppModal = ({ ...@@ -206,13 +207,7 @@ const MarketplaceAppModal = ({
w={ 9 } w={ 9 }
h={ 8 } h={ 8 }
onClick={ handleFavoriteClick } onClick={ handleFavoriteClick }
icon={ ( icon={ <FavoriteIcon isFavorite={ isFavorite } color={ useColorModeValue('blue.700', 'gray.400') }/> }
<IconSvg
name={ isFavorite ? 'heart_filled' : 'heart_outline' }
color={ useColorModeValue('blue.700', 'gray.400') }
boxSize={ 5 }
/>
) }
/> />
</Flex> </Flex>
</Flex> </Flex>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment