70 lines
2.0 KiB
Dart
70 lines
2.0 KiB
Dart
/// Route path constants for URL patterns
|
|
class RoutePaths {
|
|
RoutePaths._();
|
|
|
|
// Main routes
|
|
static const String home = '/';
|
|
static const String settings = '/settings';
|
|
static const String profile = '/profile';
|
|
static const String about = '/about';
|
|
|
|
// Auth routes
|
|
static const String login = '/auth/login';
|
|
static const String register = '/auth/register';
|
|
static const String forgotPassword = '/auth/forgot-password';
|
|
static const String resetPassword = '/auth/reset-password';
|
|
static const String verifyEmail = '/auth/verify-email';
|
|
|
|
// Onboarding routes
|
|
static const String onboarding = '/onboarding';
|
|
static const String welcome = '/welcome';
|
|
|
|
// Todo routes (keeping existing feature)
|
|
static const String todos = '/todos';
|
|
static const String todoDetails = '/todos/:id';
|
|
static const String addTodo = '/todos/add';
|
|
static const String editTodo = '/todos/:id/edit';
|
|
|
|
// Error routes
|
|
static const String error = '/error';
|
|
static const String notFound = '/404';
|
|
|
|
// Nested settings routes
|
|
static const String settingsGeneral = '/settings/general';
|
|
static const String settingsPrivacy = '/settings/privacy';
|
|
static const String settingsNotifications = '/settings/notifications';
|
|
static const String settingsTheme = '/settings/theme';
|
|
|
|
/// Helper method to build paths with parameters
|
|
static String todoDetailsPath(String id) => '/todos/$id';
|
|
static String editTodoPath(String id) => '/todos/$id/edit';
|
|
|
|
/// Helper method to check if path requires authentication
|
|
static bool requiresAuth(String path) {
|
|
const publicPaths = [
|
|
home,
|
|
login,
|
|
register,
|
|
forgotPassword,
|
|
resetPassword,
|
|
verifyEmail,
|
|
onboarding,
|
|
welcome,
|
|
error,
|
|
notFound,
|
|
];
|
|
return !publicPaths.contains(path);
|
|
}
|
|
|
|
/// Helper method to check if path is auth related
|
|
static bool isAuthPath(String path) {
|
|
const authPaths = [
|
|
login,
|
|
register,
|
|
forgotPassword,
|
|
resetPassword,
|
|
verifyEmail,
|
|
];
|
|
return authPaths.contains(path);
|
|
}
|
|
} |