mirror of
https://github.com/Stone-Red-Code/website.git
synced 2026-09-04 23:44:11 +02:00
feat(resources): create intro page for each language
This commit is contained in:
@@ -12,6 +12,7 @@ const ALL_RESOURCES = graphql`
|
||||
edges {
|
||||
node {
|
||||
relativePath
|
||||
relativeDirectory
|
||||
childMarkdownRemark {
|
||||
frontmatter {
|
||||
authors
|
||||
@@ -51,9 +52,29 @@ const Language = memo(({ item }: { item: IFolder; index: number }) => {
|
||||
)
|
||||
})
|
||||
|
||||
export const ResourcesList: FC<HTMLAttributes<HTMLDivElement>> = props => {
|
||||
interface IResourcesList extends HTMLAttributes<HTMLDivElement> {
|
||||
relativeDirectory?: string
|
||||
}
|
||||
|
||||
export const ResourcesList: FC<IResourcesList> = props => {
|
||||
const resources = useStaticQuery<IAllResourcesQuery>(ALL_RESOURCES)
|
||||
const tree = useBuildTree(resources)
|
||||
|
||||
const filteredResources = {
|
||||
...resources,
|
||||
allFile: {
|
||||
...resources.allFile,
|
||||
edges: resources.allFile.edges.filter(({ node }) => {
|
||||
if (!props.relativeDirectory) {
|
||||
return true
|
||||
}
|
||||
|
||||
const [language] = node.relativeDirectory.split("/")
|
||||
return props.relativeDirectory === language
|
||||
}),
|
||||
},
|
||||
}
|
||||
|
||||
const tree = useBuildTree(filteredResources)
|
||||
const sortedTree = tree.sort((a, b) => a.title.localeCompare(b.title))
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user