Compare commits

..

No commits in common. "9f8f2a233bc8f868a0283585ae4fcdc1408c95d3" and "807f8200b1ebaf4369d41e9506a51f01f0e42086" have entirely different histories.

5 changed files with 90 additions and 81 deletions

View file

@ -96,58 +96,60 @@
<FormLabel>Description *</FormLabel> <FormLabel>Description *</FormLabel>
<FormControl> <FormControl>
<Textarea <Textarea
placeholder="A detailed description of the income source, and what it was for (event/project/etc)..." placeholder="e.g., Workshop fee, Donation, Service revenue"
v-bind="componentField" v-bind="componentField"
rows="3" rows="3"
/> />
</FormControl> </FormControl>
<FormDescription>Describe the source of this income</FormDescription>
<FormMessage /> <FormMessage />
</FormItem> </FormItem>
</FormField> </FormField>
<div class="grid grid-cols-2 gap-4"> <FormField v-slot="{ componentField }" name="amount">
<FormField v-slot="{ componentField }" name="amount"> <FormItem>
<FormItem> <FormLabel>Amount *</FormLabel>
<FormLabel>Amount *</FormLabel> <FormControl>
<FormControl> <Input
<Input type="number"
type="number" placeholder="0.00"
placeholder="0.00" v-bind="componentField"
v-bind="componentField" min="0.01"
min="0.01" step="0.01"
step="0.01" />
/> </FormControl>
</FormControl> <FormDescription>Amount in selected currency</FormDescription>
<FormMessage /> <FormMessage />
</FormItem> </FormItem>
</FormField> </FormField>
<FormField v-slot="{ componentField }" name="currency"> <FormField v-slot="{ componentField }" name="currency">
<FormItem> <FormItem>
<FormLabel>Currency *</FormLabel> <FormLabel>Currency *</FormLabel>
<Select v-bind="componentField"> <Select v-bind="componentField">
<FormControl> <FormControl>
<SelectTrigger class="w-full"> <SelectTrigger>
<SelectValue placeholder="Select currency" /> <SelectValue placeholder="Select currency" />
</SelectTrigger> </SelectTrigger>
</FormControl> </FormControl>
<SelectContent> <SelectContent>
<SelectItem v-for="currency in availableCurrencies" :key="currency" :value="currency"> <SelectItem v-for="currency in availableCurrencies" :key="currency" :value="currency">
{{ currency }} {{ currency }}
</SelectItem> </SelectItem>
</SelectContent> </SelectContent>
</Select> </Select>
<FormMessage /> <FormDescription>Currency for this income</FormDescription>
</FormItem> <FormMessage />
</FormField> </FormItem>
</div> </FormField>
<FormField v-slot="{ componentField }" name="reference"> <FormField v-slot="{ componentField }" name="reference">
<FormItem> <FormItem>
<FormLabel>Reference (optional)</FormLabel> <FormLabel>Reference</FormLabel>
<FormControl> <FormControl>
<Input placeholder="e.g., Invoice #123, Receipt #456" v-bind="componentField" /> <Input placeholder="e.g., Invoice #123, Receipt #456" v-bind="componentField" />
</FormControl> </FormControl>
<FormDescription>Optional reference number or note</FormDescription>
<FormMessage /> <FormMessage />
</FormItem> </FormItem>
</FormField> </FormField>
@ -199,6 +201,7 @@ import { Textarea } from '@/components/ui/textarea'
import { Badge } from '@/components/ui/badge' import { Badge } from '@/components/ui/badge'
import { import {
FormControl, FormControl,
FormDescription,
FormField, FormField,
FormItem, FormItem,
FormLabel, FormLabel,

View file

@ -202,7 +202,7 @@ const messages: LocaleMessages = {
income: { income: {
title: 'Add Income', title: 'Add Income',
description: 'Submit income for the organization', description: 'Submit income for the organization',
selectAccount: 'Select the revenue account. Use the "Other" account if you\'re not sure.', selectAccount: 'Select the revenue account',
submitIncome: 'Submit Income', submitIncome: 'Submit Income',
notAvailable: 'Income submission is not yet available. This feature is coming soon.', notAvailable: 'Income submission is not yet available. This feature is coming soon.',
}, },

View file

@ -202,7 +202,7 @@ const messages: LocaleMessages = {
income: { income: {
title: 'A\u00f1adir ingreso', title: 'A\u00f1adir ingreso',
description: 'Enviar un ingreso para la organizaci\u00f3n', description: 'Enviar un ingreso para la organizaci\u00f3n',
selectAccount: 'Seleccionar la cuenta de ingresos. Use la cuenta "Other" si no está seguro.', selectAccount: 'Seleccionar la cuenta de ingresos',
submitIncome: 'Enviar ingreso', submitIncome: 'Enviar ingreso',
notAvailable: 'El registro de ingresos a\u00fan no est\u00e1 disponible. Esta funci\u00f3n llegar\u00e1 pronto.', notAvailable: 'El registro de ingresos a\u00fan no est\u00e1 disponible. Esta funci\u00f3n llegar\u00e1 pronto.',
}, },

View file

@ -202,7 +202,7 @@ const messages: LocaleMessages = {
income: { income: {
title: 'Ajouter un revenu', title: 'Ajouter un revenu',
description: 'Soumettre un revenu pour l\u2019organisation', description: 'Soumettre un revenu pour l\u2019organisation',
selectAccount: 'S\u00e9lectionner le compte de revenus. Utilisez le compte "Other" si vous n\'\u00eates pas s\u00fbr.', selectAccount: 'S\u00e9lectionner le compte de revenus',
submitIncome: 'Soumettre le revenu', submitIncome: 'Soumettre le revenu',
notAvailable: 'La saisie de revenus n\u2019est pas encore disponible. Cette fonctionnalit\u00e9 arrive bient\u00f4t.', notAvailable: 'La saisie de revenus n\u2019est pas encore disponible. Cette fonctionnalit\u00e9 arrive bient\u00f4t.',
}, },

View file

@ -113,60 +113,66 @@
</FormItem> </FormItem>
</FormField> </FormField>
<!-- Amount + Currency --> <!-- Amount -->
<div class="grid grid-cols-2 gap-4"> <FormField v-slot="{ componentField }" name="amount">
<!-- Amount --> <FormItem>
<FormField v-slot="{ componentField }" name="amount"> <FormLabel>Amount *</FormLabel>
<FormItem> <FormControl>
<FormLabel>Amount *</FormLabel> <Input
<FormControl> type="number"
<Input placeholder="0.00"
type="number" v-bind="componentField"
placeholder="0.00" min="0.01"
v-bind="componentField" step="0.01"
min="0.01" />
step="0.01" </FormControl>
/> <FormDescription>
</FormControl> Amount in selected currency
<FormMessage /> </FormDescription>
</FormItem> <FormMessage />
</FormField> </FormItem>
</FormField>
<!-- Currency --> <!-- Currency -->
<FormField v-slot="{ componentField }" name="currency"> <FormField v-slot="{ componentField }" name="currency">
<FormItem> <FormItem>
<FormLabel>Currency *</FormLabel> <FormLabel>Currency *</FormLabel>
<Select v-bind="componentField"> <Select v-bind="componentField">
<FormControl> <FormControl>
<SelectTrigger class="w-full"> <SelectTrigger>
<SelectValue placeholder="Select currency" /> <SelectValue placeholder="Select currency" />
</SelectTrigger> </SelectTrigger>
</FormControl> </FormControl>
<SelectContent> <SelectContent>
<SelectItem <SelectItem
v-for="currency in availableCurrencies" v-for="currency in availableCurrencies"
:key="currency" :key="currency"
:value="currency" :value="currency"
> >
{{ currency }} {{ currency }}
</SelectItem> </SelectItem>
</SelectContent> </SelectContent>
</Select> </Select>
<FormMessage /> <FormDescription>
</FormItem> Currency for this expense
</FormField> </FormDescription>
</div> <FormMessage />
</FormItem>
</FormField>
<!-- Reference (optional) --> <!-- Reference (optional) -->
<FormField v-slot="{ componentField }" name="reference"> <FormField v-slot="{ componentField }" name="reference">
<FormItem> <FormItem>
<FormLabel>Reference (optional)</FormLabel> <FormLabel>Reference</FormLabel>
<FormControl> <FormControl>
<Input <Input
placeholder="e.g., Invoice #123, Receipt #456" placeholder="e.g., Invoice #123, Receipt #456"
v-bind="componentField" v-bind="componentField"
/> />
</FormControl> </FormControl>
<FormDescription>
Optional reference number or note
</FormDescription>
<FormMessage /> <FormMessage />
</FormItem> </FormItem>
</FormField> </FormField>