import React, { useState } from 'react'; | |
import './App.css'; | |
import './PublishPage.css'; | |
const PublishPage = () => { | |
const [formData, setFormData] = useState({ | |
type: '', | |
torrentFile: '', | |
title: '', | |
subtitle: '' | |
}); | |
const handleChange = (e) => { | |
const { name, value } = e.target; | |
setFormData({ ...formData, [name]: value }); | |
}; | |
const handleFileChange = (e) => { | |
const file = e.target.files[0]; | |
if (file && file.name.split('.').pop() !== 'torrent') { | |
alert('仅能上传.torrent类型文件'); | |
e.target.value = null; // Clear the input | |
} else { | |
setFormData({ ...formData, torrentFile: file }); | |
} | |
}; | |
const handleSubmit = (e) => { | |
e.preventDefault(); | |
console.log('Form Data Submitted:', formData); | |
}; | |
return ( | |
<div className="publish-page"> | |
<h1 className="page-title">发布种子</h1> | |
<form onSubmit={handleSubmit} className="publish-form"> | |
<div className="form-row"> | |
<label htmlFor="type">类型</label> | |
<select name="type" id="type" value={formData.type} onChange={handleChange} required> | |
<option value="">请选择类型</option> | |
<option value="电影">电影</option> | |
<option value="剧集">剧集</option> | |
<option value="音乐">音乐</option> | |
<option value="动漫">动漫</option> | |
<option value="游戏">游戏</option> | |
<option value="体育">体育</option> | |
<option value="资料">资料</option> | |
</select> | |
</div> | |
<div className="form-row"> | |
<label htmlFor="torrentFile">种子文件</label> | |
<input | |
type="file" | |
id="torrentFile" | |
name="torrentFile" | |
onChange={handleFileChange} | |
required | |
/> | |
<span style={{ fontSize: '12px', color: '#666' }}>需上传.torrent类型文件</span> | |
</div> | |
<div className="form-row"> | |
<label htmlFor="title">标题</label> | |
<input | |
type="text" | |
id="title" | |
name="title" | |
value={formData.title} | |
onChange={handleChange} | |
required | |
/> | |
</div> | |
<div className="form-row"> | |
<label htmlFor="subtitle">种子简介</label> | |
<input | |
type="text" | |
id="subtitle" | |
name="subtitle" | |
value={formData.subtitle} | |
onChange={handleChange} | |
/> | |
</div> | |
<div className="form-row submit-row"> | |
<button type="submit" className="submit-button">提交</button> | |
</div> | |
</form> | |
</div> | |
); | |
}; | |
export default PublishPage; |