XeNote/pages/index.js

56 lines
1.7 KiB
JavaScript

import Head from "next/head";
import {useRouter} from 'next/router'
import {useEffect, useRef} from "react";
import Layout, {siteTitle} from "../components/layout";
import {getSinglePost, getGraphData} from "../lib/post";
import {Network} from "../components/graph";
export default function Home({content, graphdata, filenames, ...props}) {
//console.log("Index Page Props: ", content /* backlinks, filenames*/)
const ref = useRef(null);
const router = useRouter()
const routeQuery = router.query.id
const routeHandler = (r) => router.push(r)
useEffect(() => {
if (ref && ref.current) {
const G = Network({
el: ref.current,
graphdata,
current: "index",
routeQuery,
routeHandler,
allNodes: false // If true then shows every markdown file as node
})
}
}, [])
return (
<Layout home>
<Head>
<link rel="preconnect" href="https://fonts.googleapis.com"/>
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin/>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800;900&display=swap"
rel="stylesheet"/>
</Head>
<section>
<div dangerouslySetInnerHTML={{__html: content.data}}/>
</section>
</Layout>
);
}
export function getStaticProps() {
const contentData = getSinglePost("index");
const graphdata = getGraphData();
return {
props: {
content: contentData,
graphdata: graphdata,
},
};
}