import { FC } from 'react'; import { Main } from '@/app/ui/Main'; import { authConfig } from "@/app/lib/auth"; import { SignInButton } from '../ui/SignInButton'; 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 (

Što je pristiglo? Što je plaćeno? Koliki su mi troškovi?

To su pitanja na koje ova jednostavna i besplatna aplikacija daje odgovore ...

... isprobajte je i koristite potpuno besplatno!

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

Automatsko prenošenje stavaka u idući mjesec

Sve vaše nekretnine i popis računa se automatski prenosi u novi mjesec ... što znači da ne morate svaki puta sve kreirati iz početka!

Boja označava status računa

Jednim pogledom možete vidjeti na koji račun je zakačen PDF dokument i koji od računa je plaćen...

Prikat 2D koda za plaćanje

Ako PDF dokument sadrži 2D kod uz plaćanje, on će automatski biti prikazan na stranici računa. Tako ga možete skenirati bez da otvarate PDF dokument...

); } export default Page;