aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/expense-form.tsx
diff options
context:
space:
mode:
authorAnkit Bahl <ankit2bahl@gmail.com>2024-01-09 05:08:17 -0800
committerGitHub <noreply@github.com>2024-01-09 08:08:17 -0500
commit6bd3299331265ea2a0c800e3c3199ad4e32ce8de (patch)
tree09632dd9b4ce5fc6cd9a7e39d7b21a70deb2862c /src/components/expense-form.tsx
parenta942369193002218b3c0f154d8efe34b33c3b121 (diff)
Add activeUser for default payer per group (#16)
* Add activeUser for default payer per group * Prettier, change labels, use useEffect --------- Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
Diffstat (limited to 'src/components/expense-form.tsx')
-rw-r--r--src/components/expense-form.tsx12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/components/expense-form.tsx b/src/components/expense-form.tsx
index dff6867..d14d72e 100644
--- a/src/components/expense-form.tsx
+++ b/src/components/expense-form.tsx
@@ -51,6 +51,15 @@ export type Props = {
export function ExpenseForm({ group, expense, onSubmit, onDelete }: Props) {
const isCreate = expense === undefined
const searchParams = useSearchParams()
+ const getSelectedPayer = (field?: { value: string }) => {
+ if (isCreate && typeof window !== 'undefined') {
+ const activeUser = localStorage.getItem(`${group.id}-activeUser`)
+ if (activeUser && activeUser !== 'None') {
+ return activeUser
+ }
+ }
+ return field?.value
+ }
const form = useForm<ExpenseFormValues>({
resolver: zodResolver(expenseFormSchema),
defaultValues: expense
@@ -87,6 +96,7 @@ export function ExpenseForm({ group, expense, onSubmit, onDelete }: Props) {
expenseDate: new Date(),
amount: 0,
paidFor: [],
+ paidBy: getSelectedPayer(),
isReimbursement: false,
splitMode: 'EVENLY',
},
@@ -199,7 +209,7 @@ export function ExpenseForm({ group, expense, onSubmit, onDelete }: Props) {
<FormLabel>Paid by</FormLabel>
<Select
onValueChange={field.onChange}
- defaultValue={field.value}
+ defaultValue={getSelectedPayer(field)}
>
<SelectTrigger>
<SelectValue placeholder="Select a participant" />