diff --git a/src/components/corner/corner.module.css b/src/components/corner/corner.module.css
new file mode 100644
index 0000000..8b51c33
--- /dev/null
+++ b/src/components/corner/corner.module.css
@@ -0,0 +1,49 @@
+.container {
+  display: flex;
+  flex-direction: column; /* 纵向排列 */
+  align-items: stretch;
+  justify-content: flex-start;
+  padding: 20px;
+  border-radius: 10px;
+  background-color: var(--card-bg);
+  width: 100%;
+  height: 100%;
+  box-sizing: border-box;
+  overflow: hidden;
+}
+
+.uploadButton {
+  padding: 10px 20px;
+  font-size: 14px;
+  background-color: var(--primary-color);
+  color: var(--text-color);
+  border: none;
+  border-radius: 5px;
+  cursor: pointer;
+  margin-bottom: 20px;
+}
+
+.uploadButton:hover {
+  background-color: var(--primary-hover);
+}
+
+.filterItem {
+  display: flex;
+  flex-direction: column;
+  margin-bottom: 15px;
+  color: var(--text-color);
+}
+
+.filterItem label {
+  margin-bottom: 5px;
+  font-size: 14px;
+}
+
+.filterItem select,
+.filterItem input {
+  padding: 6px 10px;
+  border-radius: 4px;
+  border: 1px solid #ccc;
+  background-color: var(--light-color);
+  color: var(--text-color);
+}
diff --git a/src/components/corner/corner.tsx b/src/components/corner/corner.tsx
new file mode 100644
index 0000000..71dd772
--- /dev/null
+++ b/src/components/corner/corner.tsx
@@ -0,0 +1,48 @@
+// src/components/BottomRightUpload.tsx
+import React from 'react';
+import styles from './corner.module.css';
+import { useNavigate } from 'react-router';
+
+const BottomRightUpload: React.FC = () => {
+  const navigate = useNavigate();
+
+  const handleUploadClick = () => {
+    navigate('/postDetails', { state: { isNewPost: true } });
+  };
+
+  return (
+    <div className={styles.container}>
+      <button className={styles.uploadButton} onClick={handleUploadClick}>
+        发布种子
+      </button>
+
+      <div className={styles.filterItem}>
+        <label htmlFor="category">分区：</label>
+        <select id="category">
+          <option value="all">全部</option>
+          <option value="video">视频</option>
+          <option value="music">音乐</option>
+          <option value="game">游戏</option>
+          <option value="software">软件</option>
+        </select>
+      </div>
+
+      <div className={styles.filterItem}>
+        <label htmlFor="rating">评分：</label>
+        <select id="rating">
+          <option value="all">全部</option>
+          <option value="high">高评分</option>
+          <option value="medium">中评分</option>
+          <option value="low">低评分</option>
+        </select>
+      </div>
+
+      <div className={styles.filterItem}>
+        <label htmlFor="tag">标签：</label>
+        <input type="text" id="tag" placeholder="输入标签关键词" />
+      </div>
+    </div>
+  );
+};
+
+export default BottomRightUpload;
diff --git a/src/components/selfStatus/selfStatus.tsx b/src/components/selfStatus/selfStatus.tsx
index c7ea79d..fb25c75 100644
--- a/src/components/selfStatus/selfStatus.tsx
+++ b/src/components/selfStatus/selfStatus.tsx
@@ -45,7 +45,11 @@
             <div className={style.right}>
                 <div className={style.info}>
                     <p className={style.userName}>{userName}</p>
-                    <p className={style.role}>用户组: {role && role.trim().length? role:'N/A'}</p>
+                    <p 
+                    className={style.role}
+                    onClick={() => nav('/homepage')}
+                    style={{ cursor: 'pointer', textDecoration: 'underline' }}>
+                        用户组: {role && role.trim().length? role:'N/A'}</p>
                     <p className={style.uploadTraffic}>上传量: {uploadTraffic ? uploadTraffic : 0}</p>
                     <p className={style.downloadTraffic}>下载量: {downloadTraffic ? downloadTraffic : 0}</p>
 
diff --git a/src/components/upload/upload.module.css b/src/components/upload/upload.module.css
deleted file mode 100644
index 2fb6278..0000000
--- a/src/components/upload/upload.module.css
+++ /dev/null
@@ -1,39 +0,0 @@
-.uploadContainer {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  border: 2px dashed #1890ff;
-  padding: 40px;
-  border-radius: 8px;
-  background-color: #f0f5ff;
-  transition: border-color 0.3s;
-}
-
-.uploadContainer:hover {
-  border-color: #40a9ff;
-}
-
-.uploadLabel {
-  font-size: 16px;
-  margin-bottom: 10px;
-  color: #333;
-}
-
-.uploadInput {
-  display: none;
-}
-
-.uploadButton {
-  padding: 8px 16px;
-  background-color: #1890ff;
-  color: white;
-  border: none;
-  border-radius: 4px;
-  cursor: pointer;
-  font-size: 14px;
-}
-
-.uploadButton:hover {
-  background-color: #40a9ff;
-}
diff --git a/src/components/upload/upload.tsx b/src/components/upload/upload.tsx
deleted file mode 100644
index 708e9d1..0000000
--- a/src/components/upload/upload.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-// src/component/upload/upload.tsx
-import React, { useState } from 'react'
-import './upload.css'
-
-const UploadComponent: React.FC = () => {
-  const [selectedFile, setSelectedFile] = useState<File | null>(null)
-
-  const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {
-    if (e.target.files && e.target.files.length > 0) {
-      setSelectedFile(e.target.files[0])
-    }
-  }
-
-  const handleUpload = () => {
-    if (selectedFile) {
-      console.log('上传文件：', selectedFile)
-      // 此处可以添加实际上传逻辑
-    }
-  }
-
-  return (
-    <div className="uploadContainer">
-      <label className="uploadLabel" htmlFor="upload-input">请选择文件上传：</label>
-      <input
-        type="file"
-        id="upload-input"
-        className="uploadInput"
-        data-testid="upload-input"
-        onChange={handleFileChange}
-      />
-      <label htmlFor="upload-input">
-        <div
-          className="uploadButton"
-          data-testid="upload-button"
-          onClick={handleUpload}
-        >
-          点击上传
-        </div>
-      </label>
-    </div>
-  )
-}
-
-export default UploadComponent
