import { createBrowserRouter } from "react-router";
import Home from "./feature/Home";
import AuthLayout from "./feature/auth/AuthLayout";
import Login from "./feature/auth/Login";
import Register from "./feature/auth/Register";
import AppLayout from "./AppLayout";
import Forget from "./feature/auth/Forget";
export default createBrowserRouter([{
    Component: AppLayout,
    children: [
      {
        path: "/",
        Component: Home,
      },
      {
          Component: AuthLayout,
          children: [
            { path: "login", Component: Login },
            { path: "register", Component: Register },
            { path: "forget", Component: Forget },
          ],
      }, 
    ]
}]);
  