/**
 * [파일명 규칙 안내]
 * - 이 프로젝트는 src/pages 경로 하위의 컴포넌트를 자동으로 lazy import 하며,
 * - 각 파일은 반드시 PascalCase (대문자 시작)로 작성되어야 합니다.
 *   예: about/Ceo.tsx, performance/History.tsx 등
 * - 단, index.tsx는 예외적으로 허용됩니다.
 *
 * 해당 규칙은 lazyImport.tsx에서 강제 적용되며, 이를 지키지 않으면 라우팅 실패가 발생합니다.
 */


import React from 'react';
import { Routes, Route } from 'react-router-dom';
import Header from '@/components/Header';
import { lazyImport, withSuspense } from '@/utils/lazyImport';
import { renderRoutesFromMenu } from '@/routes/generateRoutes';

const Main = lazyImport('main');
const NotFound = lazyImport('NotFound');

const App = () => {
  return (
    <>
      <Header />
      <Routes>
        <Route path="/" element={withSuspense(Main)} />
        {renderRoutesFromMenu()}
        <Route path="*" element={withSuspense(NotFound)} />
      </Routes>
    </>
  );
};

export default App;
