diff --git a/src/entities/trendingSearchesChips/index.tsx b/src/entities/trendingSearchesChips/index.tsx index e0ba416..1b2e745 100644 --- a/src/entities/trendingSearchesChips/index.tsx +++ b/src/entities/trendingSearchesChips/index.tsx @@ -1,20 +1,27 @@ import React from 'react'; import Chip from '@shared/ui/chip'; - import { getColor } from './lib/colors'; import { Base } from './ui/styled'; type Props = { searches: string[]; + onClick: (searchValue: string) => void; }; -const TrendingSearchesChips = ({ searches }: Props) => { +const TrendingSearchesChips = ({ searches, onClick }: Props) => { + const handleChipClick = (e: React.MouseEvent) => { + const target = e.target as HTMLElement; + const textToSearch = target.innerText.replaceAll('#', ''); + + onClick(textToSearch); + }; + return ( - {searches.map((search, index) => ( - + {searches.map(search => ( + ))} ); diff --git a/src/features/searchGifs/ui/styled.ts b/src/features/searchGifs/ui/styled.ts index 8df0271..22abaea 100644 --- a/src/features/searchGifs/ui/styled.ts +++ b/src/features/searchGifs/ui/styled.ts @@ -3,7 +3,7 @@ import styled from 'styled-components'; import { Link } from 'react-router-dom'; export const Wrapper = styled.div` - padding: 5em; + padding: 0 5em 5em 5em; display: flex; height: 100%; flex-direction: column; diff --git a/src/features/trendingSearches/index.tsx b/src/features/trendingSearches/index.tsx index fa4b4b4..8fe056e 100644 --- a/src/features/trendingSearches/index.tsx +++ b/src/features/trendingSearches/index.tsx @@ -2,10 +2,12 @@ import React, { useEffect } from 'react'; import { useStore } from 'effector-react'; import { $trendingSearches, getTrendingSearchesFx } from './model'; +// TODO: probably not good thing to import from one feature to another? +import { searchGifsFx } from '../searchGifs/model'; import TrendingSearchesChips from '@entities/trendingSearchesChips'; -import { Base } from './ui/styled'; +import { Base, Heading } from './ui/styled'; const TrendingSearches = () => { const trendingSearchesList = useStore($trendingSearches); @@ -14,9 +16,16 @@ const TrendingSearches = () => { getTrendingSearchesFx(); }, []); + const handleTrendingClick = (searchValue: string) => { + searchGifsFx({ query: searchValue }); + }; + return ( - {trendingSearchesList.length && } + Trending right now + {trendingSearchesList.length && ( + + )} ); }; diff --git a/src/features/trendingSearches/ui/styled.ts b/src/features/trendingSearches/ui/styled.ts index 5ff7d37..1aedefb 100644 --- a/src/features/trendingSearches/ui/styled.ts +++ b/src/features/trendingSearches/ui/styled.ts @@ -1,3 +1,7 @@ import styled from 'styled-components'; export const Base = styled.div``; + +export const Heading = styled.h5` + text-align: center; +`; diff --git a/src/pages/main/ui/styled.ts b/src/pages/main/ui/styled.ts index e2b3760..04d4f35 100644 --- a/src/pages/main/ui/styled.ts +++ b/src/pages/main/ui/styled.ts @@ -2,5 +2,5 @@ import styled from 'styled-components'; export const Base = styled.div` display: flex; - padding: 1em; + padding: 5em 1em 1em 1em; `;