mirror of
https://github.com/BradNut/awesome-uses
synced 2025-09-08 17:40:31 +00:00
52 lines
1,003 B
JavaScript
52 lines
1,003 B
JavaScript
import React, { createContext, useState } from 'react';
|
|
import { useStaticQuery, graphql } from 'gatsby';
|
|
|
|
const FilterContext = createContext();
|
|
|
|
const FilterProvider = function({ children }) {
|
|
const [currentTag, setCurrentTag] = useState('all');
|
|
|
|
const { allTag, allCountry, allDevice } = useStaticQuery(graphql`
|
|
query FilterQuery {
|
|
allTag {
|
|
nodes {
|
|
name
|
|
count
|
|
}
|
|
}
|
|
allCountry {
|
|
nodes {
|
|
count
|
|
emoji
|
|
name
|
|
}
|
|
}
|
|
allDevice {
|
|
nodes {
|
|
count
|
|
name
|
|
}
|
|
}
|
|
}
|
|
`);
|
|
return (
|
|
<FilterContext.Provider
|
|
value={{
|
|
tags: allTag.nodes,
|
|
countries: allCountry.nodes,
|
|
devices: allDevice.nodes,
|
|
currentTag,
|
|
setCurrentTag,
|
|
}}
|
|
>
|
|
{children}
|
|
</FilterContext.Provider>
|
|
);
|
|
};
|
|
|
|
FilterProvider.propTypes = {
|
|
children: React.Children,
|
|
};
|
|
|
|
export default FilterContext;
|
|
export { FilterProvider };
|