diff --git a/src/app/user/page.tsx b/src/app/user/page.tsx
index 5d36dc4..d534cd5 100644
--- a/src/app/user/page.tsx
+++ b/src/app/user/page.tsx
@@ -329,7 +329,7 @@
         },
         {
             template: () => (
-                <Button label="编辑悬赏" onClick={() => router.push(`/user/manage/resources/`)} />
+                <Button label="编辑悬赏" />
             )
         }
     ];
@@ -495,8 +495,6 @@
                 setSelectedGameplay([]);
                 // 重置资源封面
                 setResourcePictureUrl('');
-                // 可以刷新资源列表
-                // fetchResourceList();
             }
         } catch (error) {
             console.error('资源上传失败:', error);
@@ -611,10 +609,6 @@
                     </div>
                 </TabPanel>
 
-                {/*<TabPanel header="发布">*/}
-
-                {/*</TabPanel>*/}
-
                 <TabPanel header="帖子">
                     {/*我的帖子*/}
                     <div className="homepage-item">
@@ -863,7 +857,6 @@
                                         }));
                                         setIngredient(e.value);
                                     }}
-                                    // onChange={(e: RadioButtonChangeEvent) => setIngredient(e.value)}
                                     checked={ingredient === 'modPack'}
                                 />
                                 <label htmlFor="ingredient2" className="ml-2">整合包</label>
@@ -883,7 +876,6 @@
                                         }));
                                         setIngredient(e.value);
                                     }}
-                                    // onChange={(e: RadioButtonChangeEvent) => setIngredient(e.value)}
                                     checked={ingredient === 'mod'}
                                 />
                                 <label htmlFor="ingredient3" className="ml-2">模组</label>
@@ -903,7 +895,6 @@
                                         }));
                                         setIngredient(e.value);
                                     }}
-                                    // onChange={(e: RadioButtonChangeEvent) => setIngredient(e.value)}
                                     checked={ingredient === 'map'}
                                 />
                                 <label htmlFor="ingredient4" className="ml-2">地图</label>
@@ -932,7 +923,6 @@
                             display="chip"
                             optionLabel="name"
                             placeholder="请选择资源标签"
-                            // maxSelectedLabels={3}
                             className="w-full md:w-20rem"
                         />
                     </div>
@@ -964,12 +954,6 @@
                             auto
                             accept="image/*"
                             chooseLabel="上传资源封面"
-
-                            // accept="image/*"
-                            // maxFileSize={10000000000}
-                            // chooseLabel="选择资源封面"
-                            // className="w-full"
-                            // onUpload={onUpload}
                         />
                     </div>
                 </div>
@@ -990,25 +974,9 @@
                 }
             >
                 <div className="dialog-form">
-                    <span>
+                    <span style={{marginBottom: "10px"}}>
                         确认是否删除该悬赏?
                     </span>
-                    {/*<div className="form-field">*/}
-                    {/*    <div className="form-field-header">*/}
-                    {/*        <label htmlFor="name">密码</label>*/}
-                    {/*    </div>*/}
-                    {/*    <Password*/}
-                    {/*        id="passwrod"*/}
-                    {/*        value={deleteResourceFormData.password}*/}
-                    {/*        onChange={(e) => setDeleteResourceFormData(prev => ({*/}
-                    {/*            ...prev,*/}
-                    {/*            password: e.target.value*/}
-                    {/*        }))}*/}
-                    {/*        placeholder="请输入密码"*/}
-                    {/*        className="w-full"*/}
-                    {/*        toggleMask*/}
-                    {/*    />*/}
-                    {/*</div>*/}
                 </div>
             </Dialog>
 
