mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
## 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
46 lines
945 B
TypeScript
46 lines
945 B
TypeScript
import { useEffect } from "react";
|
|
import { useRouter } from "next/router";
|
|
import Link from "next/link";
|
|
import { gql, useQuery } from "@apollo/client";
|
|
|
|
const ViewerQuery = gql`
|
|
query ViewerQuery {
|
|
viewer {
|
|
id
|
|
email
|
|
}
|
|
}
|
|
`;
|
|
|
|
const Index = () => {
|
|
const router = useRouter();
|
|
const { data, loading, error } = useQuery(ViewerQuery);
|
|
const viewer = data?.viewer;
|
|
const shouldRedirect = !(loading || error || viewer);
|
|
|
|
useEffect(() => {
|
|
if (shouldRedirect) {
|
|
router.push("/signin");
|
|
}
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
}, [shouldRedirect]);
|
|
|
|
if (error) {
|
|
return <p>{error.message}</p>;
|
|
}
|
|
|
|
if (viewer) {
|
|
return (
|
|
<div>
|
|
You're signed in as {viewer.email}. Go to{" "}
|
|
<Link href="/about">about</Link> page or{" "}
|
|
<Link href="/signout">signout</Link>.
|
|
</div>
|
|
);
|
|
}
|
|
|
|
return <p>Loading...</p>;
|
|
};
|
|
|
|
export default Index;
|