import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../providers/auth_provider.dart'; import '../../screens/auth/login_screen.dart'; import '../common/loading_indicator.dart'; class ProtectedWidget extends StatelessWidget { final Widget child; final Widget? loadingWidget; const ProtectedWidget({ super.key, required this.child, this.loadingWidget, }); @override Widget build(BuildContext context) { final authProvider = Provider.of(context); if (authProvider.isLoading) { return loadingWidget ?? const LoadingIndicator(); } if (!authProvider.isAuthenticated) { return LoginScreen( onSuccess: () { // 登录成功后的回调 }, ); } return child; } }