オリジナルの投稿日時 Safari でのバグ修正(#129) (#265)
Merge branch 'main' into feature/129 #129 Co-authored-by: miteruzo <miteruzo@naver.com> Reviewed-on: #265
This commit was merged in pull request #265.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import DateTimeField from '@/components/common/DateTimeField'
|
import DateTimeField from '@/components/common/DateTimeField'
|
||||||
import Label from '@/components/common/Label'
|
import Label from '@/components/common/Label'
|
||||||
|
import { Button } from '@/components/ui/button'
|
||||||
|
|
||||||
import type { FC } from 'react'
|
import type { FC } from 'react'
|
||||||
|
|
||||||
@@ -16,34 +17,52 @@ export default (({ originalCreatedFrom,
|
|||||||
setOriginalCreatedBefore }: Props) => (
|
setOriginalCreatedBefore }: Props) => (
|
||||||
<div>
|
<div>
|
||||||
<Label>オリジナルの作成日時</Label>
|
<Label>オリジナルの作成日時</Label>
|
||||||
<div className="my-1">
|
<div className="my-1 flex">
|
||||||
<DateTimeField
|
<div className="w-80">
|
||||||
className="mr-2"
|
<DateTimeField
|
||||||
value={originalCreatedFrom ?? undefined}
|
className="mr-2"
|
||||||
onChange={setOriginalCreatedFrom}
|
value={originalCreatedFrom ?? undefined}
|
||||||
onBlur={ev => {
|
onChange={setOriginalCreatedFrom}
|
||||||
const v = ev.target.value
|
onBlur={ev => {
|
||||||
if (!(v))
|
const v = ev.target.value
|
||||||
return
|
if (!(v))
|
||||||
const d = new Date (v)
|
return
|
||||||
if (d.getSeconds () === 0)
|
|
||||||
{
|
const d = new Date (v)
|
||||||
if (d.getMinutes () === 0 && d.getHours () === 0)
|
if (d.getMinutes () === 0 && d.getHours () === 0)
|
||||||
d.setDate (d.getDate () + 1)
|
d.setDate (d.getDate () + 1)
|
||||||
else
|
else
|
||||||
d.setMinutes (d.getMinutes () + 1)
|
d.setMinutes (d.getMinutes () + 1)
|
||||||
}
|
setOriginalCreatedBefore (d.toISOString ())
|
||||||
else
|
}}/>
|
||||||
d.setSeconds (d.getSeconds () + 1)
|
以降
|
||||||
setOriginalCreatedBefore (d.toISOString ())
|
</div>
|
||||||
}}/>
|
<div>
|
||||||
以降
|
<Button
|
||||||
|
className="bg-gray-600 text-white rounded"
|
||||||
|
onClick={() => {
|
||||||
|
setOriginalCreatedFrom (null)
|
||||||
|
}}>
|
||||||
|
リセット
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="my-1">
|
<div className="my-1 flex">
|
||||||
<DateTimeField
|
<div className="w-80">
|
||||||
className="mr-2"
|
<DateTimeField
|
||||||
value={originalCreatedBefore ?? undefined}
|
className="mr-2"
|
||||||
onChange={setOriginalCreatedBefore}/>
|
value={originalCreatedBefore ?? undefined}
|
||||||
より前
|
onChange={setOriginalCreatedBefore}/>
|
||||||
|
より前
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Button
|
||||||
|
className="bg-gray-600 text-white rounded"
|
||||||
|
onClick={() => {
|
||||||
|
setOriginalCreatedBefore (null)
|
||||||
|
}}>
|
||||||
|
リセット
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>)) satisfies FC<Props>
|
</div>)) satisfies FC<Props>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { cn } from '@/lib/utils'
|
|||||||
import type { FC, FocusEvent } from 'react'
|
import type { FC, FocusEvent } from 'react'
|
||||||
|
|
||||||
|
|
||||||
const pad = (n: number) => n.toString ().padStart (2, '0')
|
const pad = (n: number): string => n.toString ().padStart (2, '0')
|
||||||
|
|
||||||
|
|
||||||
const toDateTimeLocalValue = (d: Date) => {
|
const toDateTimeLocalValue = (d: Date) => {
|
||||||
@@ -14,8 +14,7 @@ const toDateTimeLocalValue = (d: Date) => {
|
|||||||
const day = pad (d.getDate ())
|
const day = pad (d.getDate ())
|
||||||
const h = pad (d.getHours ())
|
const h = pad (d.getHours ())
|
||||||
const min = pad (d.getMinutes ())
|
const min = pad (d.getMinutes ())
|
||||||
const s = pad (d.getSeconds ())
|
return `${ y }-${ m }-${ day }T${ h }:${ min }:00`
|
||||||
return `${ y }-${ m }-${ day }T${ h }:${ min }:${ s }`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -37,7 +36,6 @@ export default (({ value, onChange, className, onBlur }: Props) => {
|
|||||||
<input
|
<input
|
||||||
className={cn ('border rounded p-2', className)}
|
className={cn ('border rounded p-2', className)}
|
||||||
type="datetime-local"
|
type="datetime-local"
|
||||||
step={1}
|
|
||||||
value={local}
|
value={local}
|
||||||
onChange={ev => {
|
onChange={ev => {
|
||||||
const v = ev.target.value
|
const v = ev.target.value
|
||||||
|
|||||||
Reference in New Issue
Block a user