Files
StevenandGitHub 4466ba436b chore(examples): use default prettier for examples/templates (#60530)
## Description
This PR ensures that the default prettier config is used for examples
and templates.

This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).

## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)

## Related

- Fixes #54402
- Closes #54409
2024-01-11 16:01:44 -07:00

72 lines
1.5 KiB
TypeScript

import type {
GetStaticProps,
GetStaticPaths,
InferGetStaticPropsType,
} from "next";
import Link from "next/link";
import { useRouter } from "next/router";
import LocaleSwitcher from "../../components/locale-switcher";
type GspPageProps = InferGetStaticPropsType<typeof getStaticProps>;
export default function GspPage(props: GspPageProps) {
const router = useRouter();
const { defaultLocale, isFallback, query } = router;
if (isFallback) {
return "Loading...";
}
return (
<div>
<h1>getStaticProps page</h1>
<p>Current slug: {query.slug}</p>
<p>Current locale: {props.locale}</p>
<p>Default locale: {defaultLocale}</p>
<p>Configured locales: {JSON.stringify(props.locales)}</p>
<LocaleSwitcher />
<Link href="/gsp">To getStaticProps page</Link>
<br />
<Link href="/gssp">To getServerSideProps page</Link>
<br />
<Link href="/">To index page</Link>
<br />
</div>
);
}
type Props = {
locale?: string;
locales?: string[];
};
export const getStaticProps: GetStaticProps<Props> = async ({
locale,
locales,
}) => {
return {
props: {
locale,
locales,
},
};
};
export const getStaticPaths: GetStaticPaths = ({ locales = [] }) => {
const paths = [];
for (const locale of locales) {
paths.push({ params: { slug: "first" }, locale });
paths.push({ params: { slug: "second" }, locale });
}
return {
paths,
fallback: true,
};
};