mirror of
https://github.com/DefectingCat/DefectingCat.github.io
synced 2025-07-15 16:51:37 +00:00
Add gists pages ISR
Add octokit error catch
This commit is contained in:
@ -2,7 +2,7 @@ import { Octokit } from 'octokit';
|
||||
import { GistsFile } from 'types';
|
||||
|
||||
const password = process.env.NEXT_PUBLIC_GITHUB_API;
|
||||
const host = process.env.NEXT_PUBLIC_GISTS_HOST ?? 'http://api.github.com';
|
||||
const host = process.env.NEXT_PUBLIC_GISTS_HOST ?? 'https://api.github.com';
|
||||
const octokit = new Octokit({
|
||||
auth: password,
|
||||
baseUrl: host,
|
||||
@ -76,7 +76,11 @@ export const getGists = async (page = 1, perPage = 10) => {
|
||||
Object.keys(g.files).map(async (f) => {
|
||||
const url = g.files[f].raw_url;
|
||||
if (!url) return;
|
||||
g.files[f].content = await fetch(url).then((res) => res.text());
|
||||
try {
|
||||
g.files[f].content = await fetch(url).then((res) => res.text());
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
})
|
||||
);
|
||||
})
|
||||
|
@ -4,8 +4,8 @@ import MainLayout from 'layouts/common/main-layout';
|
||||
import { GetGists, getGists, GetUser, getUser } from 'lib/fetcher';
|
||||
import { GetStaticPaths, GetStaticProps, InferGetStaticPropsType } from 'next';
|
||||
import dynamic from 'next/dynamic';
|
||||
import { ParsedUrlQuery } from 'querystring';
|
||||
import { ReactElement, Suspense } from 'react';
|
||||
import { useRouter } from 'next/router';
|
||||
|
||||
const UserInfo = dynamic(() => import('components/gists/user-info'), {
|
||||
suspense: true,
|
||||
@ -26,6 +26,12 @@ const Gists = ({
|
||||
next,
|
||||
total,
|
||||
}: InferGetStaticPropsType<typeof getStaticProps>) => {
|
||||
const router = useRouter();
|
||||
|
||||
if (router.isFallback) {
|
||||
return <>Loading...</>;
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<main className="max-w-5xl px-4 mx-auto lg:px-0">
|
||||
@ -55,27 +61,27 @@ const Gists = ({
|
||||
};
|
||||
|
||||
export const getStaticPaths: GetStaticPaths = async () => {
|
||||
const result = await getGists();
|
||||
const next = Number(result?.pageSize.next);
|
||||
const last = Number(result?.pageSize.last);
|
||||
const paths: (
|
||||
| string
|
||||
| {
|
||||
params: ParsedUrlQuery;
|
||||
locale?: string | undefined;
|
||||
}
|
||||
)[] = [];
|
||||
for (let i = next; i <= last; i++) {
|
||||
paths.push({
|
||||
params: {
|
||||
p: i.toString(),
|
||||
},
|
||||
});
|
||||
}
|
||||
// const result = await getGists();
|
||||
// const next = Number(result?.pageSize.next);
|
||||
// const last = Number(result?.pageSize.last);
|
||||
// const paths: (
|
||||
// | string
|
||||
// | {
|
||||
// params: ParsedUrlQuery;
|
||||
// locale?: string | undefined;
|
||||
// }
|
||||
// )[] = [];
|
||||
// for (let i = next; i <= last; i++) {
|
||||
// paths.push({
|
||||
// params: {
|
||||
// p: i.toString(),
|
||||
// },
|
||||
// });
|
||||
// }
|
||||
|
||||
return {
|
||||
paths,
|
||||
fallback: false,
|
||||
paths: [],
|
||||
fallback: true,
|
||||
};
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user