修改促销、优化页面布局

Change-Id: Iae813b5b6557efa7059fe6d94bc32e96c984e4ea
diff --git a/src/pages/Forum/promotion-part/CreatePromotionDialog.jsx b/src/pages/Forum/promotion-part/CreatePromotionDialog.jsx
new file mode 100644
index 0000000..6dcf236
--- /dev/null
+++ b/src/pages/Forum/promotion-part/CreatePromotionDialog.jsx
@@ -0,0 +1,115 @@
+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;    
\ No newline at end of file