40 lines
1.1 KiB
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,
|
|
);
|
|
}
|
|
}
|