diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx
index 2027880..2480ff2 100644
--- a/frontend/src/app/page.tsx
+++ b/frontend/src/app/page.tsx
@@ -9,6 +9,26 @@ import { useTask } from "@/contexts/TaskContext";
import AccountSettingsDropdown from "@/components/AccountSettingsDropdown";
import VideoPreviewModal from "@/components/VideoPreviewModal";
import ScriptExtractionModal from "@/components/ScriptExtractionModal";
+import {
+ Upload,
+ RefreshCw,
+ Eye,
+ Trash2,
+ FileText,
+ Sparkles,
+ Loader2,
+ Volume2,
+ Mic,
+ Play,
+ Pause,
+ Pencil,
+ Check,
+ X,
+ Square,
+ Rocket,
+ Download,
+ Send,
+} from "lucide-react";
const API_BASE = typeof window === 'undefined'
? (process.env.NEXT_PUBLIC_API_BASE_URL || 'http://localhost:8006')
@@ -1143,18 +1163,20 @@ export default function Home() {
/>
@@ -1183,7 +1205,7 @@ export default function Home() {
onClick={() => setUploadError(null)}
className="text-red-300 hover:text-white"
>
- ✕
+
)}
@@ -1237,7 +1259,7 @@ export default function Home() {
className="p-1 text-gray-500 hover:text-white opacity-0 group-hover:opacity-100 transition-opacity"
title="预览视频"
>
- 👁️
+
@@ -1267,7 +1289,8 @@ export default function Home() {
onClick={() => setExtractModalOpen(true)}
className="px-2 py-1 text-xs rounded transition-all whitespace-nowrap bg-purple-600 hover:bg-purple-700 text-white flex items-center gap-1"
>
- 📜 文案提取助手
+
+ 文案提取助手
@@ -1301,9 +1334,10 @@ export default function Home() {
@@ -1490,21 +1524,23 @@ export default function Home() {
@@ -1549,18 +1585,20 @@ export default function Home() {
/>
@@ -1574,7 +1612,9 @@ export default function Home() {
{uploadRefError && (
❌ {uploadRefError}
-
+
)}
@@ -1612,8 +1652,12 @@ export default function Home() {
if (e.key === 'Escape') cancelEditing(e as any);
}}
/>
-
-
+
+
) : (
<>
@@ -1625,14 +1669,18 @@ export default function Home() {
className="text-gray-400 hover:text-purple-400 text-xs"
title="试听"
>
- {playingAudioId === audio.id ? '⏸️' : '▶️'}
+ {playingAudioId === audio.id ? (
+
+ ) : (
+
+ )}
@@ -1662,16 +1710,18 @@ export default function Home() {
{!isRecording ? (
) : (
)}
{isRecording && (
@@ -1727,9 +1777,10 @@ export default function Home() {
@@ -1908,13 +1966,15 @@ export default function Home() {
download
className="mt-4 w-full py-3 rounded-xl bg-green-600 hover:bg-green-700 text-white font-medium flex items-center justify-center gap-2 transition-colors"
>
- ⬇️ 下载视频
+
+ 下载视频
- 📤 发布到社交平台
+
+ 发布到社交平台
>
)}
@@ -1928,9 +1988,10 @@ export default function Home() {
{generatedVideos.length === 0 ? (
@@ -1972,7 +2033,7 @@ export default function Home() {
className="p-1 text-gray-500 hover:text-red-400 opacity-0 group-hover:opacity-100 transition-opacity"
title="删除视频"
>
- 🗑️
+
))}
diff --git a/frontend/src/app/publish/page.tsx b/frontend/src/app/publish/page.tsx
index 1a5b7ec..27e0dc0 100644
--- a/frontend/src/app/publish/page.tsx
+++ b/frontend/src/app/publish/page.tsx
@@ -1,11 +1,19 @@
"use client";
-import { useState, useEffect } from "react";
-import useSWR from 'swr';
-import Link from "next/link";
+import { useState, useEffect } from "react";
+import useSWR from 'swr';
+import Link from "next/link";
import api from "@/lib/axios";
import { useAuth } from "@/contexts/AuthContext";
import AccountSettingsDropdown from "@/components/AccountSettingsDropdown";
+import {
+ ArrowLeft,
+ RotateCcw,
+ LogOut,
+ QrCode,
+ Rocket,
+ Clock,
+} from "lucide-react";
// SWR fetcher 使用 axios(自动处理 401/403)
const fetcher = (url: string) => api.get(url).then((res) => res.data);
@@ -312,12 +320,13 @@ export default function PublishPage() {
IPAgent
-
- 返回创作
-
+
+
+ 返回创作
+
发布管理
@@ -362,26 +371,29 @@ export default function PublishPage() {
{account.logged_in ? (
<>
-
-
+
+
>
) : (
-
+
)}
@@ -487,32 +499,40 @@ export default function PublishPage() {
{/* 立即发布 - 占 3/4 */}
-
+
{/* 定时发布 - 占 1/4 */}
-
+
{/* 定时发布时间选择器 */}