import * as React from "react"; import { Box, Typography, Button, Container, Grid, Paper, alpha } from "@mui/material"; import { useTheme } from "@mui/material/styles"; import { useNavigate } from "react-router-dom"; import ReceiptLongIcon from "@mui/icons-material/ReceiptLong"; import SyncIcon from "@mui/icons-material/Sync"; import AccountBalanceWalletIcon from "@mui/icons-material/AccountBalanceWallet"; import AccountCircleIcon from "@mui/icons-material/AccountCircle"; import ArrowForwardIcon from "@mui/icons-material/ArrowForward"; import { useAuth } from "../react-auth"; interface FeatureCardProps { icon: React.ReactNode; title: string; description: string; path: string; } function FeatureCard({ icon, title, description, path }: FeatureCardProps) { const navigate = useNavigate(); const theme = useTheme(); return ( navigate(path)} sx={{ p: 3, borderRadius: 3, border: "1px solid", borderColor: "divider", cursor: "pointer", height: "100%", display: "flex", flexDirection: "column", transition: "border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease", "&:hover": { borderColor: "transparent", transform: "translateY(-2px)", boxShadow: `0 8px 24px ${alpha(theme.palette.common.black, theme.palette.mode === "dark" ? 0.35 : 0.08)}`, "& .feature-arrow": { opacity: 1, transform: "translateX(0)", }, }, }} > {icon} {title} {description} Open ); } export default function Home() { const navigate = useNavigate(); const { currentUser } = useAuth(); const features = [ { icon: , title: "Expenses", description: "Browse every transaction imported from your accounts — grouped by month, with entity, account, tags, and amount at a glance.", path: "/expenses", }, { icon: , title: "Fetch Requests", description: "Upload bank statements or configure email ingestion to auto-import transactions. Track pipeline status from pending through to completion.", path: "/fetch-requests", }, { icon: , title: "Accounts & Entities", description: "Manage your accounts, expenses, tags, and payors through the OpenAPI-driven admin panel with full CRUD and server-side filters.", path: "/admin", }, { icon: , title: "Profile", description: "View and edit your user profile — username, email, and account preferences — from the profile page.", path: "/profile/me", }, ]; return ( Khata · Financial Ledger Your intelligent, extensible financial ledger. Import transactions from bank statements, enrich them with entity and tag intelligence, and stay on top of your cashflow — all in one place. {features.map((f) => ( ))} ); }