set for correctly on labels

This commit is contained in:
Thomas Ruoff
2020-10-31 00:15:48 +01:00
parent 87b38e6d30
commit aa2c9a9cab
4 changed files with 22 additions and 7 deletions

View File

@@ -7,11 +7,18 @@ interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
} }
export default function Input(props: InputProps) { export default function Input(props: InputProps) {
const { label, required, type = 'text', ...rest } = props const { label, name, required, type = 'text', ...rest } = props
return ( return (
<InputWrapper label={label} required={required}> <InputWrapper label={label} name={name} required={required}>
<input type={type} required={required} className="input-text" {...rest} /> <input
type={type}
required={required}
className="input-text"
id={name}
name={name}
{...rest}
/>
</InputWrapper> </InputWrapper>
) )
} }

View File

@@ -3,16 +3,17 @@ import Required from './required'
export default function Input(props: { export default function Input(props: {
label: string label: string
name: string
required: boolean required: boolean
children: React.ReactNode children: React.ReactNode
}) { }) {
const { label, required, children } = props const { label, name, required, children } = props
return ( return (
<> <>
<div className="fsw"> <div className="fsw">
<div className="fs"> <div className="fs">
<label className="flabel"> <label className="flabel" htmlFor={name}>
{label} {required && <Required />} {label} {required && <Required />}
</label> </label>
{children} {children}

View File

@@ -2,11 +2,13 @@ import React from 'react'
export default function Select({ export default function Select({
label, label,
name,
value, value,
onChange, onChange,
children, children,
}: { }: {
label: string label: string
name: string
value: string value: string
onChange: (e: React.ChangeEvent<HTMLSelectElement>) => void onChange: (e: React.ChangeEvent<HTMLSelectElement>) => void
children: React.ReactNode children: React.ReactNode
@@ -14,11 +16,14 @@ export default function Select({
return ( return (
<div className="fsw"> <div className="fsw">
<div className="fs"> <div className="fs">
<label className="flabel">{label}</label> <label className="flabel" htmlFor={name}>
{label}
</label>
<div className="relative"> <div className="relative">
<select <select
className="block appearance-none w-full bg-gray-200 border border-gray-200 text-gray-700 py-3 px-4 pr-8 rounded leading-tight focus:outline-none focus:bg-white focus:border-gray-500" className="block appearance-none w-full bg-gray-200 border border-gray-200 text-gray-700 py-3 px-4 pr-8 rounded leading-tight focus:outline-none focus:bg-white focus:border-gray-500"
id="rate" id={name}
name={name}
value={value} value={value}
onChange={onChange} onChange={onChange}
> >

View File

@@ -217,6 +217,7 @@ export default function BillPage({
<Input label="Gefahren" name="milage" readOnly value={milage} /> <Input label="Gefahren" name="milage" readOnly value={milage} />
<Select <Select
label="Rate" label="Rate"
name="tarif"
value={tarif} value={tarif}
onChange={(e) => setTarif(e.target.value as MILAGE_TARIFS)} onChange={(e) => setTarif(e.target.value as MILAGE_TARIFS)}
> >
@@ -287,6 +288,7 @@ export default function BillPage({
</div> </div>
<Select <Select
label="Status" label="Status"
name={status}
value={status} value={status}
onChange={(e) => setStatus(e.target.value as BILL_STATUS)} onChange={(e) => setStatus(e.target.value as BILL_STATUS)}
> >