fix(website): client-side rendering fallback

This commit is contained in:
iCrawl
2023-04-13 23:29:26 +02:00
parent 88cab1a0ec
commit e4c5f794b0
14 changed files with 41 additions and 41 deletions

View File

@@ -6,7 +6,7 @@ import { connect } from '@planetscale/database';
const sql = connect({
async fetch(input, init) {
return fetch(input, { ...init, next: { revalidate: 3_600 } });
return fetch(input, { ...init, cache: undefined, next: { revalidate: 3_600 } });
},
url: process.env.DATABASE_URL!,
});

View File

@@ -29,22 +29,20 @@ import type { ItemRouteParams } from '~/util/fetchMember';
import { fetchMember } from '~/util/fetchMember';
import { findMember } from '~/util/model';
async function fetchHeadMember({ package: packageName, version, item }: ItemRouteParams): Promise<ApiItem | undefined> {
async function fetchHeadMember({ package: packageName, version, item }: ItemRouteParams) {
const modelJSON = await fetchModelJSON(packageName, version);
const model = addPackageToModel(new ApiModel(), modelJSON);
const pkg = model.tryGetPackageByName(packageName);
const entry = pkg?.entryPoints[0];
if (!entry) {
return undefined;
}
const [memberName] = decodeURIComponent(item).split(OVERLOAD_SEPARATOR);
return findMember(model, packageName, memberName);
}
function resolveMemberSearchParams(packageName: string, member: ApiItem): URLSearchParams {
function resolveMemberSearchParams(packageName: string, member: ApiItem) {
const params = new URLSearchParams({
pkg: packageName,
kind: member?.kind,
@@ -82,7 +80,7 @@ function resolveMemberSearchParams(packageName: string, member: ApiItem): URLSea
}
export async function generateMetadata({ params }: { params: ItemRouteParams }) {
const member = (await fetchHeadMember(params))!;
const member = await fetchHeadMember(params);
const name = `discord.js${member?.displayName ? ` | ${member.displayName}` : ''}`;
const ogTitle = `${params.package ?? 'discord.js'}${member?.displayName ? ` | ${member.displayName}` : ''}`;
const url = new URL('https://discordjs.dev/api/dynamic-open-graph.png');