フォームのバリデーションとニコ連携の画面変更 (#090) #355

マージ済み
みてるぞ が 11 個のコミットを feature/090 から main へマージ 2026-06-05 01:59:46 +09:00
2個のファイルの変更17行の追加4行の削除
コミット 8dc8cdf7f5 の変更だけを表示してゐます - すべてのコミットを表示
+2
ファイルの表示
@@ -31,6 +31,7 @@ const PostOriginalCreatedTimeField: FC<Props> = (
className="mr-2"
disabled={disabled ?? false}
aria-invalid={errors && errors.length > 0}
invalid={errors && errors.length > 0}
value={originalCreatedFrom ?? undefined}
onChange={setOriginalCreatedFrom}
onBlur={ev => {
@@ -65,6 +66,7 @@ const PostOriginalCreatedTimeField: FC<Props> = (
className="mr-2"
disabled={disabled}
aria-invalid={errors && errors.length > 0}
invalid={errors && errors.length > 0}
value={originalCreatedBefore ?? undefined}
onChange={setOriginalCreatedBefore}/>
+15 -4
ファイルの表示
@@ -22,10 +22,11 @@ type Props = Omit<ComponentPropsWithoutRef<'input'>, 'onChange'> & {
value?: string
onChange?: (isoUTC: string | null) => void
className?: string
onBlur?: (ev: FocusEvent<HTMLInputElement>) => void }
onBlur?: (ev: FocusEvent<HTMLInputElement>) => void
invalid?: boolean }
const DateTimeField: FC<Props> = ({ value, onChange, className, onBlur, ...rest }) => {
const DateTimeField: FC<Props> = ({ value, onChange, className, onBlur, invalid, ...rest }) => {
const [local, setLocal] = useState ('')
useEffect (() => {
@@ -35,9 +36,19 @@ const DateTimeField: FC<Props> = ({ value, onChange, className, onBlur, ...rest
return (
<input
{...rest}
className={cn ('border rounded p-2', className)}
className={cn ('border rounded p-2',
(invalid
? ['border-red-500 bg-red-50 text-red-900',
'focus:border-red-500 focus:outline-none',
'focus:ring-2 focus:ring-red-200',
'dark:border-red-500 dark:bg-red-950/30 dark:text-red-100']
: ['border-gray-300',
'focus:border-blue-500 focus:outline-none',
'focus:ring-2 focus:ring-blue-200']),
className)}
type="datetime-local"
value={local}
aria-invalid={invalid}
onChange={ev => {
const v = ev.target.value
setLocal (v)
@@ -46,4 +57,4 @@ const DateTimeField: FC<Props> = ({ value, onChange, className, onBlur, ...rest
onBlur={onBlur}/>)
}
export default DateTimeField
export default DateTimeField