blob: 6dcf2363e13d0fadc93370cd1518d20a86ac0ad4 [file] [log] [blame]
import React from 'react';
const CreatePromotionDialog = ({
showCreateDialog,
formData,
handleInputChange,
closeCreateDialog,
handleCreatePromotion,
fetchPromoColdTorrents,
showPromoColdTable,
coldTorrents,
handlePromoTorrentSelection
}) => {
return (
showCreateDialog && (
<div className="dialog-overlay">
<div className="dialog">
<h3>创建冷门资源促销</h3>
<div className="form-item">
<label>促销名称:</label>
<input
type="text"
name="name"
value={formData.name}
onChange={handleInputChange}
placeholder="请输入促销名称"
/>
</div>
<div className="form-item">
<label>开始时间:</label>
<input
type="datetime-local"
name="startTime"
value={formData.startTime}
onChange={handleInputChange}
/>
</div>
<div className="form-item">
<label>结束时间:</label>
<input
type="datetime-local"
name="endTime"
value={formData.endTime}
onChange={handleInputChange}
/>
</div>
<div className="form-item">
<label>折扣百分比:</label>
<input
type="number"
name="discountPercentage"
value={formData.discountPercentage}
onChange={handleInputChange}
placeholder="正数表示上传加成,负数表示下载折扣"
step="0.1"
/>
</div>
<div className="form-item">
<label>适用种子:</label>
<button
className="cold-btn small"
onClick={fetchPromoColdTorrents}
>
选择冷门资源 <span>(点击加载列表)</span>
</button>
{showPromoColdTable && (
<div className="torrent-table-container">
<table className="torrent-selection-table">
<thead>
<tr>
<th>选择</th>
<th>序号</th>
<th>资源名称</th>
<th>资源ID</th>
<th>分类</th>
<th>下载用户数</th>
<th>浏览次数</th>
</tr>
</thead>
<tbody>
{coldTorrents.map((torrent, index) => (
<tr key={torrent.id}>
<td>
<input
type="checkbox"
checked={formData.applicableTorrentIds.includes(torrent.id)}
onChange={(e) => handlePromoTorrentSelection(torrent.id, e.target.checked)}
/>
</td>
<td>{index + 1}</td>
<td>{torrent.title}</td>
<td>{torrent.id}</td>
<td>{torrent.category || '未分类'}</td>
<td>{torrent.leechers || 0}</td>
<td>{torrent.views || 0}</td>
</tr>
))}
</tbody>
</table>
</div>
)}
</div>
<div className="dialog-buttons">
<button onClick={handleCreatePromotion}>确定</button>
<button onClick={closeCreateDialog}>取消</button>
</div>
</div>
</div>
)
);
};
export default CreatePromotionDialog;