import 'package:go_router/go_router.dart';
import 'package:syncrow_web/pages/access_management/view/access_management.dart';
import 'package:syncrow_web/pages/analytics/modules/analytics/views/analytics_page.dart';
import 'package:syncrow_web/pages/auth/view/login_page.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/view/device_managment_page.dart';
import 'package:syncrow_web/pages/home/view/home_page.dart';
import 'package:syncrow_web/pages/roles_and_permission/view/roles_and_permission_page.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/view/spaces_management_page.dart';
import 'package:syncrow_web/pages/visitor_password/view/visitor_password_dialog.dart';
import 'package:syncrow_web/utils/constants/routes_const.dart';

class AppRoutes {
  static List<GoRoute> getRoutes() {
    return [
      GoRoute(
        path: RoutesConst.auth,
        builder: (context, state) => const LoginPage(),
      ),
      GoRoute(
        path: RoutesConst.home,
        builder: (context, state) => const HomePage(),
      ),
      GoRoute(
        path: RoutesConst.visitorPassword,
        builder: (context, state) => const VisitorPasswordDialog(),
      ),
      GoRoute(
        path: RoutesConst.accessManagementPage,
        builder: (context, state) => const AccessManagementPage(),
      ),
      GoRoute(
        path: RoutesConst.deviceManagementPage,
        builder: (context, state) => const DeviceManagementPage(),
      ),
      GoRoute(
          path: RoutesConst.spacesManagementPage,
          builder: (context, state) => const SpaceManagementPage()),
      GoRoute(
          path: RoutesConst.rolesAndPermissions,
          builder: (context, state) => const RolesAndPermissionPage()),
      GoRoute(
        path: RoutesConst.analytics,
        name: 'analytics',
        builder: (context, state) => const AnalyticsPage(),
      ),
    ];
  }
}
