import React from "react" import { Main } from '../ui/ui' import { Grid, Row, Col } from 'react-flexbox-grid' import { graphql } from 'gatsby' import { useFlexSearch } from 'react-use-flexsearch' import { useLocation } from '@reach/router' import * as queryString from 'query-string' import toFrontmatter from '../helpers/toFrontmatter' import useCategoriesQuery from '../hooks/useCategoriesQuery' import SEO from '../components/SEO/SEO' import Layout from '../components/Layout/Layout' import Articles from '../components/Articles/Articles' import Categories from '../components/Articles/Categories/Categories' import CategoryItem from '../components/Articles/Categories/CategoryItem' import Search from '../components/Articles/Search/Search' import Offers from '../components/Offers/Offers' import Newsletter from '../components/Newsletter/Newsletter' import SearchIcon from '../images/search-icon.svg' const ArticlesPage = ({ data: { allMarkdownRemark: edges, localSearchPages }, }) => { const { categories } = useCategoriesQuery() const { search, pathname } = useLocation() const [query, setQuery] = React.useState(queryString.parse(search).search || '') const results = useFlexSearch( query, localSearchPages.index, JSON.parse(localSearchPages.store) ) return (

Статьи

{categories.map(({ node }, i) => )}
{query ? results.length === 0 ?

  Ничего не найдено

: null : null}
{query ? results.length > 0 ? : null : }
) } export const query = graphql` { allMarkdownRemark(filter: {frontmatter: {templateKey: {eq: "article"}}}) { edges { node { frontmatter { slug title image { childImageSharp { fluid { ...GatsbyImageSharpFluid } } } category tags description } } } } localSearchPages { index store } } ` export default ArticlesPage