From 24ff2c3801132893f4ad72d20f7dc33aca0663e0 Mon Sep 17 00:00:00 2001 From: oluwarantimini <315780257+oluwarantimini@users.noreply.github.com> Date: Thu, 15 Oct 2026 18:30:17 +0100 Subject: [PATCH 1/2] feat(ui): add shared FormField, FieldHint, Input and Select (#302) --- src/components/form-field.tsx | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/components/form-field.tsx diff --git a/src/components/form-field.tsx b/src/components/form-field.tsx new file mode 100644 index 0000000..37f6704 --- /dev/null +++ b/src/components/form-field.tsx @@ -0,0 +1,34 @@ +import type { InputHTMLAttributes, ReactNode, SelectHTMLAttributes } from 'react'; + +/** Shared control styling for dashboard form inputs and selects (#129, #302). */ +export const FIELD_CONTROL_CLASS = 'rounded-md border border-border bg-surface px-3 py-2'; + +/** + * A labelled form field: wraps its control in a - - + diff --git a/src/app/dashboard/page.tsx b/src/app/dashboard/page.tsx index 71b8098..3f72d7c 100644 --- a/src/app/dashboard/page.tsx +++ b/src/app/dashboard/page.tsx @@ -9,6 +9,7 @@ import { INDUSTRIES, INDUSTRY_LABELS, type Organization } from '@/lib/types'; import { FormError } from '@/components/form-error'; import { WalletConnectButton } from '@/components/wallet-connect-button'; import { Button } from '@/components/button'; +import { FieldHint, FormField, Input, Select } from '@/components/form-field'; export default function DashboardPage() { const { user, loading } = useAuth(); @@ -124,18 +125,15 @@ export default function DashboardPage() {

Create an organization

- - - - + +