import { FC } from 'react'; import { Main } from '@/app/ui/Main'; import { authConfig } from "@/app/lib/auth"; import { SignInButton } from '../ui/SignInButton'; import Image from 'next/image'; type Provider = { id: string; name: string; type: string; style: { logo: string; bg: string; text: string; }; }; function getProviders(): Provider[] { const providerKeys: (keyof Provider)[] = ["id", "name", "type", "style"]; return authConfig.providers.map((provider) => getKeyValuesFromObject(provider, providerKeys) ); } function getKeyValuesFromObject(obj: any, keys: (keyof T)[]): T { return keys.reduce((acc, key) => { if (obj[key]) { acc[key] = obj[key]; } return acc; }, {} as T); } const Page:FC = async () => { const providers = await getProviders() return (

Which bills are due? Which are payed? How much are my expenses?

These are the questions this simple and free app will help you with ...

... try it & use it completly free!

{ Object.values(providers).map((provider) => (
)) }

Easy copy of expenditures

All your realestate and utilitys are automatically copied to the next month, so you don't neeed to do it by hand.

Color signals status

Each of trhe utility bills is color coded - at a glance you can see which bill was received and which one is payed.

Boje označavaju status računa

Extraction of 2D bar code

If the attached dokument contains a 2D bar code, it is automatically extracted and shown on the page, so you can scan it without opening the PDF document.

); } export default Page;