From 43f7ca700b3fe44819b37a435ece97ab92df683d Mon Sep 17 00:00:00 2001
From: Sebastien Castiel <sebastien@castiel.me>
Date: Sun, 14 Jan 2024 12:47:52 -0500
Subject: Fix client-side error when editing date with keyboard (Closes #43)

---
 src/components/expense-form.tsx | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

(limited to 'src/components/expense-form.tsx')

diff --git a/src/components/expense-form.tsx b/src/components/expense-form.tsx
index c1652ca..cfc749a 100644
--- a/src/components/expense-form.tsx
+++ b/src/components/expense-form.tsx
@@ -165,9 +165,7 @@ export function ExpenseForm({
                     <Input
                       className="date-base"
                       type="date"
-                      value={(field.value ?? new Date())
-                        .toISOString()
-                        .substring(0, 10)}
+                      defaultValue={formatDate(field.value)}
                       onChange={(event) => {
                         return field.onChange(new Date(event.target.value))
                       }}
@@ -552,3 +550,8 @@ export function ExpenseForm({
     </Form>
   )
 }
+
+function formatDate(date?: Date) {
+  if (!date || isNaN(date as any)) date = new Date()
+  return date.toISOString().substring(0, 10)
+}
-- 
cgit v1.3

