- 자동 로그인 구현: 앱 시작 시 토큰 확인 후 적절한 화면으로 라우팅 - AuthInterceptor 개선: AuthService와 통합하여 토큰 관리 일원화 - 로그아웃 기능 개선: AuthService를 사용한 API 로그아웃 처리 - 대시보드 API 연동: MockDataService에서 실제 API로 완전 전환 - Dashboard DTO 모델 생성 (OverviewStats, RecentActivity 등) - DashboardRemoteDataSource 및 DashboardService 구현 - OverviewController를 ChangeNotifier 패턴으로 개선 - OverviewScreenRedesign에 Provider 패턴 적용 - API 통합 진행 상황 문서 업데이트
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_redesign.dart';
|
|
|
|
/// 로그인 화면 진입점 (상태/로직은 controller, UI는 LoginView 위젯에 위임)
|
|
class LoginScreen extends StatefulWidget {
|
|
const LoginScreen({Key? key}) : super(key: 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 LoginViewRedesign(
|
|
controller: _controller,
|
|
onLoginSuccess: _onLoginSuccess,
|
|
);
|
|
}
|
|
}
|