import NextAuth from "next-auth"; import { JWT } from "next-auth/jwt"; import Gitea, { GiteaProfile } from "@/lib/providers/gitea"; declare module "next-auth" { interface User extends GiteaProfile {} } declare module "next-auth/jwt" { interface JWT { language?: string; } } export const { handlers, signIn, signOut, auth } = NextAuth({ providers: [ Gitea({ clientId: process.env.AUTH_GITEA_ID, clientSecret: process.env.AUTH_GITEA_SECRET, enterprise: { baseUrl: process.env.AUTH_GITEA_URL, }, }), ], secret: process.env.AUTH_SECRET, callbacks: { jwt({ token, user }) { if (user) { token.language = user.language; } return token; }, session({ session, token }) { session.user.language = token.language; return session; }, }, debug: process.env.NODE_ENV === "development", });