Files
lucide/site/src/pages/icon/[iconName].tsx
Eric Fennis a7e8b3bcb7 Add contributors to icon overlay and add dot (#223)
* add contributers

* Add icon fetcher

* add contributing json

* Fix fetch call

* Add contributers to site

* Add caching for github api

* Fix build

* Move context provider

* Revert packages changes

* Fix mobile layout

* remove react-spring

* remove incorrect type prop
2021-02-12 20:38:47 +01:00

57 lines
1.2 KiB
TypeScript

import { useRouter } from 'next/router'
import IconDetailOverlay from '../../components/IconDetailOverlay'
import { getAllData, getData } from '../../lib/icons';
import IconOverview from '../../components/IconOverview';
import Layout from '../../components/Layout';
import Header from '../../components/Header';
const IconPage = ({ icon, data }) => {
const router = useRouter()
const onClose = () => {
let query = {};
if(router.query.search) {
query = {
search: router.query.search
};
}
router.push({
pathname: '/',
query,
})
}
return (
<Layout>
<IconDetailOverlay
key={icon.name}
icon={icon}
close={onClose}
/>
<Header {...{data}}/>
<IconOverview {...{data}}/>
</Layout>
)
}
export default IconPage
export async function getStaticProps({ params: { iconName } }) {
const data = await getAllData();
const icon = await getData(iconName);
return { props: { icon, data } }
}
export async function getStaticPaths() {
const data = await getAllData();
return {
paths: data.map(({ name: iconName }) => ({
params: { iconName },
})),
fallback: false,
}
}