tony.cheng
2026-02-04 a6be73d4391080bf012825bcdd95645e0a89bdcb
web-app/src/App.js
@@ -1,5 +1,9 @@
import React, { useState } from 'react';
import { Spin } from 'antd';
import './App.css';
// Context
import { CaseDataProvider, useCaseData } from './contexts/CaseDataContext';
// 调解看板组件
import TopSection from './components/dashboard/TopSection';
@@ -18,8 +22,16 @@
import SimilarCaseContent from './components/tools/SimilarCaseContent';
function App() {
  return (
    <CaseDataProvider>
      <AppContent />
    </CaseDataProvider>
  );
}
function AppContent() {
  const [activeModal, setActiveModal] = useState(null);
  const [currentStep, setCurrentStep] = useState(1);
  const { loading } = useCaseData();
  // 工具配置
  const toolConfig = {
@@ -60,6 +72,7 @@
  };
  return (
    <Spin spinning={loading} tip="加载案件数据中...">
    <div className="app">
      {/* Font Awesome CDN */}
      <link
@@ -75,7 +88,7 @@
        {/* A区域:左侧主要内容 */}
        <div className="area-a">
          {/* AI调解进度 */}
          <MediationProgress currentStep={currentStep} />
            <MediationProgress />
          {/* 选项卡容器 */}
          <TabContainer />
@@ -86,7 +99,7 @@
      </section>
      {/* 底部悬浮控制看板 */}
      <FloatingControlPanel currentStep={currentStep} elapsedTime="25分钟" />
        <FloatingControlPanel />
      {/* 工具弹窗 */}
      {activeModal && toolConfig[activeModal] && (
@@ -100,6 +113,7 @@
        </ToolModal>
      )}
    </div>
    </Spin>
  );
}