(squash) init

feat: filters, settings, backups

fix: ts compile errors

feat: new dashboard, webp previews and settings

feat: use webp for pdfs

feat: use webp

fix: analyze resets old data

fix: switch to corsproxy

fix: switch to free cors

fix: max upload limit

fix: currency conversion

feat: transaction export

fix: currency conversion

feat: refactor settings actions

feat: new loader

feat: README + LICENSE

doc: update readme

doc: update readme

doc: update readme

doc: update screenshots

ci: bump prisma
This commit is contained in:
Vasily Zubarev
2025-03-13 00:30:47 +01:00
commit 0b98a2c307
153 changed files with 17271 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
import {
Dialog,
DialogContent,
DialogDescription,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog"
import { getCategories } from "@/data/categories"
import { getCurrencies } from "@/data/currencies"
import { getProjects } from "@/data/projects"
import { getSettings } from "@/data/settings"
import TransactionCreateForm from "./create"
export async function NewTransactionDialog({ children }: { children: React.ReactNode }) {
const categories = await getCategories()
const currencies = await getCurrencies()
const settings = await getSettings()
const projects = await getProjects()
return (
<Dialog>
<DialogTrigger asChild>{children}</DialogTrigger>
<DialogContent className="max-w-xl">
<DialogHeader>
<DialogTitle className="text-2xl font-bold">New Transaction</DialogTitle>
<DialogDescription>Create a new transaction</DialogDescription>
</DialogHeader>
<TransactionCreateForm
categories={categories}
currencies={currencies}
settings={settings}
projects={projects}
/>
</DialogContent>
</Dialog>
)
}