mirror of
https://github.com/foss42/apidash.git
synced 2025-12-02 10:49:49 +08:00
36 lines
1.3 KiB
Dart
36 lines
1.3 KiB
Dart
import '../../features/chat/view/pages/dashbot_chat_page.dart';
|
|
|
|
import '../constants/constants.dart';
|
|
import 'dashbot_routes.dart';
|
|
import '../common/pages/dashbot_default_page.dart';
|
|
import '../../features/home/view/pages/dashbot_home_page.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
Route<dynamic>? generateRoute(RouteSettings settings) {
|
|
switch (settings.name) {
|
|
case (DashbotRoutes.dashbotHome):
|
|
return MaterialPageRoute(
|
|
settings: const RouteSettings(name: DashbotRoutes.dashbotHome),
|
|
builder: (context) => DashbotHomePage(),
|
|
);
|
|
case (DashbotRoutes.dashbotDefault):
|
|
return MaterialPageRoute(
|
|
settings: const RouteSettings(name: DashbotRoutes.dashbotDefault),
|
|
builder: (context) => DashbotDefaultPage(),
|
|
);
|
|
case (DashbotRoutes.dashbotChat):
|
|
final arg = settings.arguments;
|
|
ChatMessageType? initialTask;
|
|
if (arg is ChatMessageType) initialTask = arg;
|
|
return MaterialPageRoute(
|
|
settings: const RouteSettings(name: DashbotRoutes.dashbotChat),
|
|
builder: (context) => ChatScreen(initialTask: initialTask),
|
|
);
|
|
default:
|
|
return MaterialPageRoute(
|
|
settings: const RouteSettings(name: DashbotRoutes.dashbotDefault),
|
|
builder: (context) => DashbotDefaultPage(),
|
|
);
|
|
}
|
|
}
|