import './App.css'
import All from '@/examples/all'
import CancelRequest from './examples/cancel-request'
import Get from './examples/get'
import Interceptors from './examples/interceptors'
import Post from './examples/post'
import TransformResponse from './examples/transform-response'
import Upload from './examples/upload'
import { Link } from 'react-router-dom'
import { Routes, Route, Outlet } from 'react-router'

const routeConfigs = [
  {
    path: 'all',
    Element: All,
  },
  {
    path: 'cancel-request',
    Element: CancelRequest,
  },
  {
    path: 'interceptors',
    Element: Interceptors,
  },
  {
    path: 'get',
    Element: Get,
  },
  {
    path: 'post',
    Element: Post,
  },
  {
    path: 'transform-response',
    Element: TransformResponse,
  },
  {
    path: 'upload',
    Element: Upload,
  },
]
function Layout() {
  debugger
  return (
    <>
     <p>主页面</p>
      <ul>
        {
          routeConfigs.map(({ path }) => {
            if (path === '*') return null
            return (
              <li key={path}>
                <Link to={`/${path}`}>{path}</Link>
              </li>
            )
          })
        }
      </ul>
      <hr />
      <Outlet />
    </>
  )
}
function App() {
  debugger
  return (
    <Routes>
      {/* 注意,这里不是LayoutRoute,因为LayoutRoute只允许element和children,而这里有path */}
      <Route path='/' element={<Layout />}>
        {
          routeConfigs.map(({ path, Element }) => <Route key={path} path={`${path}${path === '*' ? '': '/*'}`} element={<Element />} />)
        }
      </Route>
    </Routes>
  )
}

export default App