Files
superport/lib/screens/login/login_screen.dart

40 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:superport/screens/login/controllers/login_controller.dart';
import 'package:superport/screens/login/widgets/login_view.dart';
/// 로그인 화면 진입점 (상태/로직은 controller, UI는 LoginView 위젯에 위임)
class LoginScreen extends StatefulWidget {
const LoginScreen({super.key});
@override
State<LoginScreen> createState() => _LoginScreenState();
}
class _LoginScreenState extends State<LoginScreen> {
late final LoginController _controller;
@override
void initState() {
super.initState();
// 로그인 컨트롤러 초기화 (필요시 DI 적용)
_controller = LoginController();
}
// 로그인 성공 시 콜백 (예: overview로 이동)
void _onLoginSuccess() {
// 로그인 성공 시 모든 이전 라우트를 제거하고 홈으로 이동
Navigator.of(context).pushNamedAndRemoveUntil(
'/home',
(route) => false,
);
}
@override
Widget build(BuildContext context) {
return LoginView(
controller: _controller,
onLoginSuccess: _onLoginSuccess,
);
}
}