diff --git a/next.config.js b/next.config.js index 9bfe4a0..75a2f29 100644 --- a/next.config.js +++ b/next.config.js @@ -1,10 +1,15 @@ +import nextBundleAnalyzer from "@next/bundle-analyzer"; + /** - * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially useful - * for Docker builds. + * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation */ await import("./src/env.js"); /** @type {import("next").NextConfig} */ const config = {}; -export default config; +const withBundleAnalyzer = nextBundleAnalyzer({ + enabled: process.env.ANALYZE === "true", +}); + +export default withBundleAnalyzer(config); diff --git a/package.json b/package.json index d6c0172..c92c53a 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "type": "module", "scripts": { "build": "next build", + "build:with-analyzer": "ANALYZE=true yarn build", "db:push": "prisma db push", "db:studio": "prisma studio", "dev": "next dev", @@ -17,6 +18,7 @@ "dependencies": { "@auth/prisma-adapter": "^1.4.0", "@hookform/resolvers": "^3.3.4", + "@next/bundle-analyzer": "^14.2.3", "@prisma/client": "^5.14.0", "@radix-ui/react-avatar": "^1.0.4", "@radix-ui/react-checkbox": "^1.0.4", @@ -28,6 +30,7 @@ "@radix-ui/react-slot": "^1.0.2", "@t3-oss/env-nextjs": "^0.10.1", "@tanstack/react-query": "^5.25.0", + "@tanstack/react-query-devtools": "^5.40.1", "@tanstack/react-table": "^8.17.3", "@trpc/client": "next", "@trpc/react-query": "next", diff --git a/src/app/providers.tsx b/src/app/_components/providers.tsx similarity index 100% rename from src/app/providers.tsx rename to src/app/_components/providers.tsx diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index c07cd8f..2a4249d 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -1,5 +1,16 @@ +import { type Metadata } from "next"; import Image from "next/image"; +export const metadata: Metadata = { + title: "Sobre", + description: + "O SOS Pet é um sistema dedicado a conectar animais resgatados de enchentes com abrigos temporários disponíveis. Acreditamos que, em momentos de crise, cada vida é importante, e é nossa missão ajudar a garantir que animais em situação de risco encontrem um local seguro e acolhedor enquanto aguardam seu retorno ao lar ou um novo começo.", + keywords: "Sobre, SOS Pet, animais, abrigos", +}; + +export const dynamic = "force-static"; +export const revalidate = 60 * 60 * 24; // Revalidate almost once a day + export default function About() { return (
@@ -61,8 +72,11 @@ export default function About() { transformar um momento de crise em uma oportunidade para fazer a diferença na vida de um animal. Juntos, podemos salvar vidas e construir um futuro mais seguro para nossos amigos de quatro patas. - Além disso, esse projeto tem o código fonte aberto e disponível para colaboração: - https://github.com/emiliosheinz/sos-pet + Além disso, esse projeto tem o código fonte aberto e disponível para + colaboração: + + https://github.com/emiliosheinz/sos-pet +

diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 823a3f6..b82bcdf 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -3,8 +3,9 @@ import "~/styles/globals.css"; import { Inter } from "next/font/google"; import { TRPCReactProvider } from "~/trpc/react"; import { Analytics } from "@vercel/analytics/react"; +import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; -import Providers from "./providers"; +import Providers from "./_components/providers"; import { getServerAuthSession } from "~/server/auth"; import { Toaster } from "~/components/ui/sonner"; import { Footer } from "~/components/footer"; @@ -70,7 +71,7 @@ export default async function RootLayout({ const session = await getServerAuthSession(); return ( - + @@ -78,6 +79,7 @@ export default async function RootLayout({
{children}