mirror of
https://github.com/langgenius/dify.git
synced 2026-05-05 17:18:40 +08:00
Co-authored-by: yyh <yuanyouhuilyz@gmail.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
63 lines
2.0 KiB
TypeScript
63 lines
2.0 KiB
TypeScript
import type { FC } from 'react'
|
|
import type { DatePickerFooterProps } from '../types'
|
|
import { RiTimeLine } from '@remixicon/react'
|
|
import * as React from 'react'
|
|
import { useTranslation } from 'react-i18next'
|
|
import { cn } from '@/utils/classnames'
|
|
import Button from '../../button'
|
|
import { ViewType } from '../types'
|
|
|
|
const Footer: FC<DatePickerFooterProps> = ({
|
|
needTimePicker,
|
|
displayTime,
|
|
view,
|
|
handleClickTimePicker,
|
|
handleSelectCurrentDate,
|
|
handleConfirmDate,
|
|
}) => {
|
|
const { t } = useTranslation()
|
|
|
|
return (
|
|
<div className={cn(
|
|
'flex items-center justify-between border-t-[0.5px] border-divider-regular p-2',
|
|
!needTimePicker && 'justify-end',
|
|
)}
|
|
>
|
|
{/* Time Picker */}
|
|
{needTimePicker && (
|
|
<button
|
|
type="button"
|
|
className="system-xs-medium flex items-center gap-x-[1px] rounded-md border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-1.5
|
|
py-1 text-components-button-secondary-accent-text shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]"
|
|
onClick={handleClickTimePicker}
|
|
>
|
|
<RiTimeLine className="h-3.5 w-3.5" />
|
|
{view === ViewType.date && <span>{displayTime}</span>}
|
|
{view === ViewType.time && <span>{t('operation.pickDate', { ns: 'time' })}</span>}
|
|
</button>
|
|
)}
|
|
<div className="flex items-center gap-x-1">
|
|
{/* Now */}
|
|
<button
|
|
type="button"
|
|
className="system-xs-medium flex items-center justify-center px-1.5 py-1 text-components-button-secondary-accent-text"
|
|
onClick={handleSelectCurrentDate}
|
|
>
|
|
<span className="px-[3px]">{t('operation.now', { ns: 'time' })}</span>
|
|
</button>
|
|
{/* Confirm Button */}
|
|
<Button
|
|
variant="primary"
|
|
size="small"
|
|
className="w-16 px-1.5 py-1"
|
|
onClick={handleConfirmDate}
|
|
>
|
|
{t('operation.ok', { ns: 'time' })}
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export default React.memo(Footer)
|