-
404
-
Oops! Page not found
-
- Return to Home
-
+
+
+
404
+
Página não encontrada
+
+ A página que você está procurando não existe ou foi movida para outro lugar.
+
+
);
diff --git a/src/types/financialTypes.ts b/src/types/financialTypes.ts
new file mode 100644
index 0000000..69f8f94
--- /dev/null
+++ b/src/types/financialTypes.ts
@@ -0,0 +1,39 @@
+
+export interface Transaction {
+ id: string;
+ user: string;
+ created_at: string;
+ valor: number;
+ quando: string;
+ detalhes: string;
+ estabelecimento: string;
+ tipo: 'entrada' | 'saida';
+ categoria: string;
+}
+
+export interface TransactionSummary {
+ totalReceitas: number;
+ totalDespesas: number;
+ saldo: number;
+}
+
+export interface CategorySummary {
+ categoria: string;
+ valor: number;
+ percentage: number;
+ color: string;
+}
+
+export interface MonthlyData {
+ month: string;
+ receitas: number;
+ despesas: number;
+}
+
+export interface TransactionFilters {
+ search: string;
+ startDate: Date | null;
+ endDate: Date | null;
+ tipo: string;
+ categoria: string;
+}
diff --git a/tailwind.config.ts b/tailwind.config.ts
index 8706086..c023174 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -1,3 +1,4 @@
+
import type { Config } from "tailwindcss";
export default {
@@ -61,6 +62,16 @@ export default {
'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
border: 'hsl(var(--sidebar-border))',
ring: 'hsl(var(--sidebar-ring))'
+ },
+ // Financial dashboard specific colors
+ finance: {
+ 'blue': '#1D4ED8',
+ 'light-blue': '#60A5FA',
+ 'green': '#10B981',
+ 'light-green': '#34D399',
+ 'red': '#EF4444',
+ 'yellow': '#F59E0B',
+ 'purple': '#8B5CF6'
}
},
borderRadius: {
@@ -84,11 +95,27 @@ export default {
to: {
height: '0'
}
+ },
+ 'fade-in': {
+ '0%': {
+ opacity: '0',
+ transform: 'translateY(10px)'
+ },
+ '100%': {
+ opacity: '1',
+ transform: 'translateY(0)'
+ }
+ },
+ 'pulse-gentle': {
+ '0%, 100%': { opacity: '1' },
+ '50%': { opacity: '0.8' }
}
},
animation: {
'accordion-down': 'accordion-down 0.2s ease-out',
- 'accordion-up': 'accordion-up 0.2s ease-out'
+ 'accordion-up': 'accordion-up 0.2s ease-out',
+ 'fade-in': 'fade-in 0.5s ease-out',
+ 'pulse-gentle': 'pulse-gentle 2s infinite'
}
}
},