feat(v1.5.0): customização de fontes e correção de cores em tendências

Adiciona sistema de customização de fontes por usuário via CSS custom
properties, com preview ao vivo e persistência no banco. Corrige lógica
de cores invertida na tabela de receitas em tendências.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Felipe Coutinho
2026-02-15 21:35:00 +00:00
parent 4b442a907a
commit 2362a70b9d
25 changed files with 2779 additions and 70 deletions

33
lib/preferences/fonts.ts Normal file
View File

@@ -0,0 +1,33 @@
import { eq } from "drizzle-orm";
import { cache } from "react";
import { db, schema } from "@/lib/db";
export type FontPreferences = {
systemFont: string;
moneyFont: string;
};
const DEFAULT_FONT_PREFS: FontPreferences = {
systemFont: "ai-sans",
moneyFont: "ai-sans",
};
export const fetchUserFontPreferences = cache(
async (userId: string): Promise<FontPreferences> => {
const result = await db
.select({
systemFont: schema.preferenciasUsuario.systemFont,
moneyFont: schema.preferenciasUsuario.moneyFont,
})
.from(schema.preferenciasUsuario)
.where(eq(schema.preferenciasUsuario.userId, userId))
.limit(1);
if (!result[0]) return DEFAULT_FONT_PREFS;
return {
systemFont: result[0].systemFont,
moneyFont: result[0].moneyFont,
};
},
);