/* Copyright (C) 2025 QuantumNous This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import React, { useRef } from 'react'; import { Modal, Form } from '@douyinfe/semi-ui'; const SearchModal = ({ searchModalVisible, handleSearchConfirm, handleCloseModal, isMobile, isAdminUser, inputs, dataExportDefaultTime, timeOptions, handleInputChange, t, }) => { const formRef = useRef(); const FORM_FIELD_PROPS = { className: 'w-full mb-2 !rounded-lg', }; const createFormField = (Component, props) => ( ); const { start_timestamp, end_timestamp, username } = inputs; return (
{createFormField(Form.DatePicker, { field: 'start_timestamp', label: t('起始时间'), initValue: start_timestamp, value: start_timestamp, type: 'dateTime', name: 'start_timestamp', onChange: (value) => handleInputChange(value, 'start_timestamp'), })} {createFormField(Form.DatePicker, { field: 'end_timestamp', label: t('结束时间'), initValue: end_timestamp, value: end_timestamp, type: 'dateTime', name: 'end_timestamp', onChange: (value) => handleInputChange(value, 'end_timestamp'), })} {createFormField(Form.Select, { field: 'data_export_default_time', label: t('时间粒度'), initValue: dataExportDefaultTime, placeholder: t('时间粒度'), name: 'data_export_default_time', optionList: timeOptions, onChange: (value) => handleInputChange(value, 'data_export_default_time'), })} {isAdminUser && createFormField(Form.Input, { field: 'username', label: t('用户名称'), value: username, placeholder: t('可选值'), name: 'username', onChange: (value) => handleInputChange(value, 'username'), })}
); }; export default SearchModal;