fix: handle date format

This commit is contained in:
Joel 2025-03-06 16:42:13 +08:00
parent 27f8d5bb8f
commit 6954a1892b
4 changed files with 14 additions and 8 deletions

View File

@ -9,7 +9,6 @@ import cn from '@/utils/classnames'
import type { TriggerProps } from '@/app/components/base/date-and-time-picker/types'
import useTimestamp from '@/hooks/use-timestamp'
import { useTranslation } from 'react-i18next'
import { useAppContext } from '@/context/app-context'
type Props = {
className?: string
@ -22,12 +21,12 @@ const WrappedDatePicker = ({
onChange,
}: Props) => {
const { t } = useTranslation()
const { userProfile: { timezone } } = useAppContext()
// const { userProfile: { timezone } } = useAppContext()
const { formatTime: formatTimestamp } = useTimestamp()
const handleDateChange = useCallback((date?: dayjs.Dayjs) => {
if (date)
onChange(date.valueOf())
onChange(date.unix())
else
onChange(null)
}, [onChange])
@ -43,7 +42,7 @@ const WrappedDatePicker = ({
value ? 'text-text-secondary' : 'text-text-tertiary',
)}
>
{value ? formatTimestamp(dayjs.utc(value).tz(timezone).valueOf() / 1000, t('datasetDocuments.metadata.dateTimeFormat')) : 'Choose a time...'}
{value ? formatTimestamp(value, t('datasetDocuments.metadata.dateTimeFormat')) : t('dataset.metadata.chooseTime')}
</div>
<RiCloseCircleFill
className={cn(
@ -60,11 +59,11 @@ const WrappedDatePicker = ({
/>
</div>
)
}, [className, value, handleDateChange])
}, [className, value, formatTimestamp, t, handleDateChange])
return (
<DatePicker
value={dayjs(value || Date.now())}
value={dayjs(value ? value * 1000 : Date.now())}
onChange={handleDateChange}
onClear={handleDateChange}
renderTrigger={renderTrigger}

View File

@ -2,7 +2,7 @@
import type { FC } from 'react'
import React from 'react'
import { useRouter } from 'next/navigation'
import { type MetadataItemWithValue, isShowManageMetadataLocalStorageKey } from '../types'
import { DataType, type MetadataItemWithValue, isShowManageMetadataLocalStorageKey } from '../types'
import Field from './field'
import InputCombined from '../edit-metadata-batch/input-combined'
import { RiDeleteBinLine, RiQuestionLine } from '@remixicon/react'
@ -11,6 +11,8 @@ import cn from '@/utils/classnames'
import Divider from '@/app/components/base/divider'
import SelectMetadataModal from '../metadata-dataset/select-metadata-modal'
import AddMetadataButton from '../add-metadata-button'
import useTimestamp from '@/hooks/use-timestamp'
import { useTranslation } from 'react-i18next'
type Props = {
dataSetId: string
@ -46,6 +48,9 @@ const InfoGroup: FC<Props> = ({
onAdd,
}) => {
const router = useRouter()
const { t } = useTranslation()
const { formatTime: formatTimestamp } = useTimestamp()
const handleMangeMetadata = () => {
localStorage.setItem(isShowManageMetadataLocalStorageKey, 'true')
router.push(`/datasets/${dataSetId}/documents`)
@ -96,7 +101,7 @@ const InfoGroup: FC<Props> = ({
<RiDeleteBinLine className='size-4' onClick={() => onDelete?.(item)} />
</div>
</div>
) : (<div className='py-1 system-xs-regular text-text-secondary'>{item.value}</div>)}
) : (<div className='py-1 system-xs-regular text-text-secondary'>{(item.value && item.type === DataType.time) ? formatTimestamp((item.value as number), t('datasetDocuments.metadata.dateTimeFormat')) : item.value}</div>)}
</Field>
))}
</div>

View File

@ -171,6 +171,7 @@ const translation = {
metadata: {
metadata: 'Metadata',
addMetadata: 'Add Metadata',
chooseTime: 'Choose a time...',
createMetadata: {
title: 'New Metadata',
back: 'Back',

View File

@ -171,6 +171,7 @@ const translation = {
metadata: {
metadata: '元数据',
addMetadata: '添加元数据',
chooseTime: '选择时间',
createMetadata: {
title: '新建元数据',
back: '返回',