mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 02:51:46 +00:00
Remove a seção "Veja o que você pode fazer" com o componente ScreenshotTabs, as 14 imagens preview-*.webp, o link #telas do nav e o export pwaCompatList sem uso. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
288 lines
7.2 KiB
TypeScript
288 lines
7.2 KiB
TypeScript
import {
|
|
RiBankCard2Line,
|
|
RiBarChartBoxLine,
|
|
RiCalendarLine,
|
|
RiCheckLine,
|
|
RiCodeSSlashLine,
|
|
RiDatabase2Line,
|
|
RiDeviceLine,
|
|
RiDownloadCloudLine,
|
|
RiErrorWarningLine,
|
|
RiEyeOffLine,
|
|
RiFileTextLine,
|
|
RiFlashlightLine,
|
|
RiGitBranchLine,
|
|
RiLayoutGridLine,
|
|
RiLineChartLine,
|
|
RiLockLine,
|
|
RiNotification3Line,
|
|
RiPercentLine,
|
|
RiPieChartLine,
|
|
RiRobot2Line,
|
|
RiShieldCheckLine,
|
|
RiSmartphoneLine,
|
|
RiStarLine,
|
|
RiTeamLine,
|
|
RiTimeLine,
|
|
RiWalletLine,
|
|
} from "@remixicon/react";
|
|
import type { ComponentType } from "react";
|
|
|
|
export type FeatureItem = {
|
|
icon: ComponentType<{ className?: string; style?: React.CSSProperties }>;
|
|
title: string;
|
|
description: string;
|
|
colorVar: string;
|
|
};
|
|
|
|
export const navLinks = [
|
|
{ href: "#funcionalidades", label: "Funcionalidades" },
|
|
{ href: "#mobile", label: "Mobile" },
|
|
{ href: "#stack", label: "Stack" },
|
|
{ href: "#como-usar", label: "Como usar" },
|
|
{ href: "#para-quem-e", label: "Para quem é" },
|
|
] as const;
|
|
|
|
export const mainFeatures: FeatureItem[] = [
|
|
{
|
|
icon: RiWalletLine,
|
|
title: "Contas e transações",
|
|
description:
|
|
"Contas bancárias, cartões e dinheiro em um só lugar, se organize como preferir.",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
{
|
|
icon: RiPercentLine,
|
|
title: "Parcelamentos avançados",
|
|
description:
|
|
"Controle compras parceladas e antecipe parcelas com cálculo automático de desconto.",
|
|
colorVar: "var(--data-4)",
|
|
},
|
|
{
|
|
icon: RiRobot2Line,
|
|
title: "Insights com IA",
|
|
description:
|
|
"Análises por IA com insights sobre padrões de gastos e recomendações personalizadas.",
|
|
colorVar: "var(--data-6)",
|
|
},
|
|
{
|
|
icon: RiBarChartBoxLine,
|
|
title: "Relatórios e gráficos",
|
|
description:
|
|
"20+ widgets interativos, relatórios por categoria e exportação em PDF e Excel.",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
{
|
|
icon: RiBankCard2Line,
|
|
title: "Faturas de cartão",
|
|
description:
|
|
"Acompanhe faturas por período, limites e vencimentos de cada cartão.",
|
|
colorVar: "var(--data-1)",
|
|
},
|
|
{
|
|
icon: RiTeamLine,
|
|
title: "Gestão colaborativa",
|
|
description:
|
|
"Compartilhe acesso com permissões granulares (admin/viewer) e notificações por e-mail.",
|
|
colorVar: "var(--data-3)",
|
|
},
|
|
];
|
|
|
|
export const extraFeatures: FeatureItem[] = [
|
|
{
|
|
icon: RiPieChartLine,
|
|
title: "Categorias e orçamentos",
|
|
description:
|
|
"Categorias personalizadas com orçamentos mensais e indicadores visuais de progresso.",
|
|
colorVar: "var(--data-6)",
|
|
},
|
|
{
|
|
icon: RiFileTextLine,
|
|
title: "Anotações e tarefas",
|
|
description:
|
|
"Notas de texto e listas de tarefas com checkboxes e arquivamento.",
|
|
colorVar: "var(--data-6)",
|
|
},
|
|
{
|
|
icon: RiCalendarLine,
|
|
title: "Calendário financeiro",
|
|
description:
|
|
"Visualize transações em calendário mensal para não perder prazos.",
|
|
colorVar: "var(--data-2)",
|
|
},
|
|
{
|
|
icon: RiDownloadCloudLine,
|
|
title: "Importação em massa",
|
|
description: "Importe múltiplos lançamentos de uma só vez.",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
{
|
|
icon: RiEyeOffLine,
|
|
title: "Modo privacidade",
|
|
description:
|
|
"Oculte valores com um clique. Tema dark/light e calculadora integrada.",
|
|
colorVar: "var(--data-4)",
|
|
},
|
|
{
|
|
icon: RiFlashlightLine,
|
|
title: "Performance otimizada",
|
|
description: "Interface rápida e otimizada para uso diário.",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
];
|
|
|
|
export const companionBanks = [
|
|
{ name: "Nubank", logo: "/logos/nubank.png" },
|
|
{ name: "Itaú", logo: "/logos/itau.png" },
|
|
{ name: "Inter", logo: "/logos/intermedium.png" },
|
|
{ name: "Mercado Pago", logo: "/logos/mercadopagocartao.png" },
|
|
];
|
|
|
|
export const pwaHighlights: FeatureItem[] = [
|
|
{
|
|
icon: RiSmartphoneLine,
|
|
title: "Instale direto da web",
|
|
description: "Adicione à tela inicial e abra como app, sem loja.",
|
|
colorVar: "var(--data-3)",
|
|
},
|
|
{
|
|
icon: RiLayoutGridLine,
|
|
title: "Acesso rápido ao que importa",
|
|
description: "Dashboard, inbox e lançamentos a um toque.",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
{
|
|
icon: RiFlashlightLine,
|
|
title: "Experiência mobile mais direta",
|
|
description: "Modo standalone com navegação limpa e fluida.",
|
|
colorVar: "var(--data-4)",
|
|
},
|
|
];
|
|
|
|
export const companionSteps: FeatureItem[] = [
|
|
{
|
|
icon: RiNotification3Line,
|
|
title: "Notificação bancária chega",
|
|
description: "O Companion intercepta automaticamente",
|
|
colorVar: "var(--data-1)",
|
|
},
|
|
{
|
|
icon: RiSmartphoneLine,
|
|
title: "Dados extraídos e enviados",
|
|
description: "Valor, descrição e banco são identificados",
|
|
colorVar: "var(--data-4)",
|
|
},
|
|
{
|
|
icon: RiCheckLine,
|
|
title: "Revise e confirme no OpenMonetis",
|
|
description: "Pré-lançamentos ficam na inbox para sua aprovação",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
];
|
|
|
|
export const stackItems = [
|
|
{
|
|
icon: RiCodeSSlashLine,
|
|
title: "Frontend",
|
|
subtitle: "Next.js, TypeScript, Tailwind CSS, shadcn/ui",
|
|
description: "Interface moderna e responsiva com React 19 e App Router",
|
|
colorVar: "var(--data-3)",
|
|
},
|
|
{
|
|
icon: RiDatabase2Line,
|
|
title: "Backend",
|
|
subtitle: "PostgreSQL, Drizzle ORM, Better Auth",
|
|
description: "Banco relacional robusto com type-safe ORM",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
{
|
|
icon: RiShieldCheckLine,
|
|
title: "Segurança",
|
|
subtitle: "Better Auth com OAuth (Google) e autenticação por email",
|
|
description: "Sessões seguras e proteção de rotas por middleware",
|
|
colorVar: "var(--data-1)",
|
|
},
|
|
{
|
|
icon: RiDeviceLine,
|
|
title: "Deploy",
|
|
subtitle:
|
|
"Docker com multi-stage build, health checks e volumes persistentes",
|
|
description: "Fácil de rodar localmente ou em qualquer servidor",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
];
|
|
|
|
export const whoIsItForItems: FeatureItem[] = [
|
|
{
|
|
icon: RiTimeLine,
|
|
title: "Tem disciplina de registrar gastos",
|
|
description:
|
|
"Não se importa em dedicar alguns minutos por dia ou semana para manter tudo atualizado",
|
|
colorVar: "var(--data-4)",
|
|
},
|
|
{
|
|
icon: RiLockLine,
|
|
title: "Quer controle total sobre seus dados",
|
|
description:
|
|
"Prefere hospedar seus próprios dados ao invés de depender de serviços terceiros",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
{
|
|
icon: RiLineChartLine,
|
|
title: "Gosta de entender exatamente onde o dinheiro vai",
|
|
description:
|
|
"Quer visualizar padrões de gastos e tomar decisões informadas",
|
|
colorVar: "var(--data-3)",
|
|
},
|
|
{
|
|
icon: RiTimeLine,
|
|
title: "Não é plug and play",
|
|
description:
|
|
"Você vai precisar configurar as coisas, conectar suas contas e ajustar o sistema para o seu jeito de usar.",
|
|
colorVar: "var(--data-4)",
|
|
},
|
|
{
|
|
icon: RiShieldCheckLine,
|
|
title: "Não é para qualquer um",
|
|
description:
|
|
"Não é uma empresa, não é um SaaS, não é uma plataforma. É um projeto pessoal.",
|
|
colorVar: "var(--data-1)",
|
|
},
|
|
{
|
|
icon: RiErrorWarningLine,
|
|
title: "Não sou responsável por nada",
|
|
description:
|
|
"Não sou responsável por nada que aconteça com você ou com seus dados.",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
];
|
|
|
|
export function getMetricsItems(stars: number, forks: number) {
|
|
return [
|
|
{
|
|
icon: RiLayoutGridLine,
|
|
value: "20+",
|
|
label: "Widgets no dashboard",
|
|
colorVar: "var(--data-5)",
|
|
},
|
|
{
|
|
icon: RiShieldCheckLine,
|
|
value: "100%",
|
|
label: "Self-hosted",
|
|
colorVar: "var(--data-1)",
|
|
},
|
|
{
|
|
icon: RiStarLine,
|
|
value: `${stars}`,
|
|
label: "Stars no GitHub",
|
|
colorVar: "var(--data-4)",
|
|
},
|
|
{
|
|
icon: RiGitBranchLine,
|
|
value: `${forks}`,
|
|
label: "Forks no GitHub",
|
|
colorVar: "var(--data-3)",
|
|
},
|
|
];
|
|
}
|