import { ApiTokensForm } from "@/components/ajustes/api-tokens-form"; import { DeleteAccountForm } from "@/components/ajustes/delete-account-form"; import { UpdateEmailForm } from "@/components/ajustes/update-email-form"; import { UpdateNameForm } from "@/components/ajustes/update-name-form"; import { UpdatePasswordForm } from "@/components/ajustes/update-password-form"; import { PreferencesForm } from "@/components/ajustes/preferences-form"; import { Card } from "@/components/ui/card"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { auth } from "@/lib/auth/config"; import { db, schema } from "@/lib/db"; import { apiTokens } from "@/db/schema"; import { eq, desc } from "drizzle-orm"; import { headers } from "next/headers"; import { redirect } from "next/navigation"; export default async function Page() { const session = await auth.api.getSession({ headers: await headers(), }); if (!session?.user) { redirect("/"); } const userName = session.user.name || ""; const userEmail = session.user.email || ""; // Detectar método de autenticação (Google OAuth vs E-mail/Senha) const userAccount = await db.query.account.findFirst({ where: eq(schema.account.userId, session.user.id), }); // Buscar preferências do usuário const userPreferencesResult = await db .select({ disableMagnetlines: schema.userPreferences.disableMagnetlines, }) .from(schema.userPreferences) .where(eq(schema.userPreferences.userId, session.user.id)) .limit(1); const userPreferences = userPreferencesResult[0] || null; // Se o providerId for "google", o usuário usa Google OAuth const authProvider = userAccount?.providerId || "credential"; // Buscar tokens de API do usuário const userApiTokens = await db .select({ id: apiTokens.id, name: apiTokens.name, tokenPrefix: apiTokens.tokenPrefix, lastUsedAt: apiTokens.lastUsedAt, lastUsedIp: apiTokens.lastUsedIp, createdAt: apiTokens.createdAt, expiresAt: apiTokens.expiresAt, revokedAt: apiTokens.revokedAt, }) .from(apiTokens) .where(eq(apiTokens.userId, session.user.id)) .orderBy(desc(apiTokens.createdAt)); return (
Preferências Dispositivos Alterar nome Alterar senha Alterar e-mail Deletar conta

Preferências

Personalize sua experiência no Opensheets ajustando as configurações de acordo com suas necessidades.

OpenSheets Companion

Conecte o app Android OpenSheets Companion para capturar automaticamente notificações de transações financeiras e enviá-las para sua caixa de entrada.

Alterar nome

Atualize como seu nome aparece no Opensheets. Esse nome pode ser exibido em diferentes seções do app e em comunicações.

Alterar senha

Defina uma nova senha para sua conta. Guarde-a em local seguro.

Alterar e-mail

Atualize o e-mail associado à sua conta. Você precisará confirmar os links enviados para o novo e também para o e-mail atual (quando aplicável) para concluir a alteração.

Deletar conta

Ao prosseguir, sua conta e todos os dados associados serão excluídos de forma irreversível.

); }