diff --git a/.env b/.env
new file mode 100644
index 0000000..bf240e3
--- /dev/null
+++ b/.env
@@ -0,0 +1,23 @@
+#NEXT
+NEXT_PUBLIC_SITE_URL=http://localhost:3000
+
+#APPWRITE
+NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
+NEXT_PUBLIC_APPWRITE_PROJECT=66b990e9002a422561f2
+APPWRITE_DATABASE_ID=66b991f300286bd0255f
+APPWRITE_USER_COLLECTION_ID=66b992040004b1d8de79
+APPWRITE_BANK_COLLECTION_ID=66b9924e0035cfae025a
+APPWRITE_TRANSACTION_COLLECTION_ID=66b99230002710ddd1e8
+NEXT_APPWRITE_KEY=9288e2db04879a9f3ce5555c7420955a97dc7e39030b30902c3432f02f2387444f970b919eec9db436b1f5f2fa0274abc4f145edc4b61b2acb0d863bac6b23e99f7a7f974ab972287aba97972cf86c6e6b8136f83437f558ffd686ea4425fd85fa52e277aa49e1bc4d402db10e83230f16e4f197fbbae720bef75442f968fb77
+#PLAID
+PLAID_CLIENT_ID=
+PLAID_SECRET=
+PLAID_ENV=
+PLAID_PRODUCTS=
+PLAID_COUNTRY_CODES=
+
+#DWOLLA
+DWOLLA_KEY=
+DWOLLA_SECRET=
+DWOLLA_BASE_URL=
+DWOLLA_ENV=
\ No newline at end of file
diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..59b0c0e
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,25 @@
+#NEXT
+NEXT_PUBLIC_SITE_URL=http://localhost:3000
+
+#APPWRITE
+NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
+NEXT_PUBLIC_APPWRITE_PROJECT=
+APPWRITE_DATABASE_ID=
+APPWRITE_USER_COLLECTION_ID=
+APPWRITE_ITEM_COLLECTION_ID=
+APPWRITE_BANK_COLLECTION_ID=
+APPWRITE_TRANSACTION_COLLECTION_ID=
+NEXT_APPWRITE_KEY=
+
+#PLAID
+PLAID_CLIENT_ID=
+PLAID_SECRET=
+PLAID_ENV=
+PLAID_PRODUCTS=
+PLAID_COUNTRY_CODES=
+
+#DWOLLA
+DWOLLA_KEY=
+DWOLLA_SECRET=
+DWOLLA_BASE_URL=
+DWOLLA_ENV=
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index fd3dbb5..1dd45b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,3 +34,6 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts
+
+# Sentry Config File
+.env.sentry-build-plugin
diff --git a/app/(auth)/layout.tsx b/app/(auth)/layout.tsx
index 847cd93..1c5de96 100644
--- a/app/(auth)/layout.tsx
+++ b/app/(auth)/layout.tsx
@@ -1,7 +1,23 @@
+import Image from "next/image";
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
- return
+ {user + ? "Link your account to get started" + : "Please enter your details"} +
+ +{formatAmount(account.currentBalance)}
diff --git a/components/CustomInput.tsx b/components/CustomInput.tsx new file mode 100644 index 0000000..f58a827 --- /dev/null +++ b/components/CustomInput.tsx @@ -0,0 +1,42 @@ +import { FormControl, FormField, FormLabel, FormMessage } from "./ui/form"; +import { Input } from "./ui/input"; + +import { Control, FieldPath } from "react-hook-form"; +import { z } from "zod"; +import { authFormSchema } from "@/lib/utils"; + +const formSchema = authFormSchema("sign-up"); + +interface CustomInput { + control: Control{user.email}
+ {body} +
+ ) +}) +FormMessage.displayName = "FormMessage" + +export { + useFormField, + Form, + FormItem, + FormLabel, + FormControl, + FormDescription, + FormMessage, + FormField, +} diff --git a/components/ui/input.tsx b/components/ui/input.tsx new file mode 100644 index 0000000..677d05f --- /dev/null +++ b/components/ui/input.tsx @@ -0,0 +1,25 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +export interface InputProps + extends React.InputHTMLAttributes