3 Commits

Author SHA1 Message Date
e69c637dba Fix frontend build dependencies 2026-03-28 22:39:14 +08:00
728cf36e7c Add required peer deps for lobehub icons 2026-03-28 22:32:30 +08:00
346208dc2b Remove OpenClaw page from frontend 2026-03-28 22:24:19 +08:00
7 changed files with 14378 additions and 27 deletions

14362
frontend/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -20,6 +20,7 @@
"@dicebear/collection": "^9.4.2",
"@dicebear/core": "^9.4.2",
"@lobehub/icons": "^5.2.0",
"@lobehub/ui": "^5.6.2",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@radix-ui/react-label": "^2.1.7",
@@ -31,6 +32,7 @@
"@react-three/drei": "^10.7.6",
"@react-three/fiber": "^9.3.0",
"@tailwindcss/vite": "^4.1.13",
"antd": "^6.3.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"framer-motion": "^12.23.13",
@@ -38,6 +40,7 @@
"lucide-react": "^0.544.0",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"react-is": "^19.2.0",
"react-markdown": "^10.1.0",
"recharts": "^3.2.1",
"remark-gfm": "^4.0.1",

View File

@@ -13,7 +13,6 @@ import { useAgentStore } from './store/agentStore';
import { useMarketStore } from './store/marketStore';
import { usePortfolioStore } from './store/portfolioStore';
import { useRuntimeStore } from './store/runtimeStore';
import { useOpenClawStore } from './store/openclawStore';
import { useUIStore } from './store/uiStore';
const EDITABLE_AGENT_WORKSPACE_FILES = [
@@ -139,11 +138,6 @@ export default function LiveTradingApp() {
addSystemMessage,
});
// Make clientRef available to OpenClaw panel via store
useEffect(() => {
useOpenClawStore.getState().setClientRef(clientRef);
}, [clientRef]);
const runtimeControls = useRuntimeControls({
clientRef,
currentTickers: tickers,

View File

@@ -13,7 +13,6 @@ const AgentFeed = lazy(() => import('./AgentFeed'));
const StatisticsView = lazy(() => import('./StatisticsView'));
const StockExplainView = lazy(() => import('./StockExplainView.jsx'));
const TraderView = lazy(() => import('./TraderView.jsx'));
const OpenClawView = lazy(() => import('./OpenClawView.jsx'));
function ViewLoadingFallback({ label = '加载中...' }) {
return (
@@ -137,6 +136,12 @@ export default function AppShell({
const { setIsRuntimeSettingsOpen, setIsWatchlistPanelOpen } = useRuntimeStore();
const { setChartTab, setCurrentView, setIsResizing, setLeftWidth } = useUIStore();
useEffect(() => {
if (currentView === 'openclaw') {
setCurrentView('statistics');
}
}, [currentView, setCurrentView]);
// Resize handler
useEffect(() => {
if (!isResizing) return;
@@ -172,7 +177,7 @@ export default function AppShell({
currentView === 'room' ? 'show-room' :
currentView === 'explain' ? 'show-explain' :
currentView === 'chart' ? 'show-chart' :
currentView === 'statistics' ? 'show-statistics' : 'show-openclaw'}`;
'show-statistics'}`;
return base;
}, [currentView]);
@@ -382,12 +387,6 @@ export default function AppShell({
>
统计
</button>
<button
className={`view-nav-btn ${currentView === 'openclaw' ? 'active' : ''}`}
onClick={() => setCurrentView('openclaw')}
>
OpenClaw
</button>
</div>
<div className={viewClassName}>
@@ -491,13 +490,6 @@ export default function AppShell({
/>
</Suspense>
</div>
{/* OpenClaw View Panel */}
<div className="view-panel">
<Suspense fallback={<ViewLoadingFallback label="加载 OpenClaw 视图..." />}>
<OpenClawView />
</Suspense>
</div>
</div>
</div>
</div>

View File

@@ -9,7 +9,7 @@ const resolveValue = (updater, currentValue) => (
*/
export const useUIStore = create((set) => ({
// Current view
currentView: 'traders', // 'traders' | 'room' | 'explain' | 'chart' | 'statistics' | 'openclaw' | 'runtime'
currentView: 'traders', // 'traders' | 'room' | 'explain' | 'chart' | 'statistics' | 'runtime'
setCurrentView: (currentView) => set((state) => ({ currentView: resolveValue(currentView, state.currentView) })),
// Chart tab

View File

@@ -1098,10 +1098,6 @@ export default function GlobalStyles() {
transform: translateX(-80%);
}
.view-slider-five.show-openclaw {
transform: translateX(-100%);
}
.view-panel {
flex: 0 0 33.333%;
width: 33.333%;

View File

@@ -174,7 +174,11 @@ build_frontend() {
echo ""
echo -e "${CYAN}构建前端...${NC}"
if [ -d "frontend" ] && command -v npm >/dev/null 2>&1; then
(cd frontend && npm install --legacy-peer-deps && npm run build)
if [ -f "frontend/package-lock.json" ]; then
(cd frontend && npm ci && npm run build)
else
(cd frontend && npm install && npm run build)
fi
echo -e "${GREEN}前端构建完成: ${FRONTEND_DIST}${NC}"
else
echo -e "${RED}前端构建失败: 需要 npm 和 frontend 目录${NC}"