import 'package:flutter/material.dart'; import 'main.dart'; class LoginScreen extends StatelessWidget { final TextEditingController _idController = TextEditingController(); final TextEditingController _pwController = TextEditingController(); LoginScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: const Color(0xFF1E1E1E), body: Padding( padding: const EdgeInsets.all(24.0), child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ const Icon(Icons.polymer, size: 80, color: Colors.white), const SizedBox(height: 20), const Text( 'METAQLAB' '', textAlign: TextAlign.center, style: TextStyle( color: Colors.white, fontSize: 24, fontWeight: FontWeight.bold, letterSpacing: 1.2, ), ), const SizedBox(height: 60), _buildTextField('User ID', Icons.person, controller: _idController), const SizedBox(height: 16), _buildTextField('Password', Icons.lock, isObscure: true, controller: _pwController), const SizedBox(height: 40), ElevatedButton( onPressed: () { String inputId = _idController.text; String inputPw = _pwController.text; if (inputId == 'user' && inputPw == '1234') { print('로그인 성공!'); Navigator.pushReplacement( context, MaterialPageRoute(builder: (context) => const HomeScreen()), ); } else { print('로그인 실패'); ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('아이디 또는 비밀번호가 틀렸습니다.'), backgroundColor: Colors.redAccent, duration: Duration(seconds: 2), ), ); } }, style: ElevatedButton.styleFrom( backgroundColor: Colors.white, foregroundColor: Colors.black, padding: const EdgeInsets.symmetric(vertical: 16), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), ), child: const Text( 'LOGIN', style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), ), ), const SizedBox(height: 20), TextButton( onPressed: () {}, child: const Text('Forgot Password?', style: TextStyle(color: Colors.grey)), ), ], ), ), ); } Widget _buildTextField(String hint, IconData icon, {bool isObscure = false, required TextEditingController controller}) { return TextField( controller: controller, obscureText: isObscure, style: const TextStyle(color: Colors.white), decoration: InputDecoration( prefixIcon: Icon(icon, color: Colors.grey), hintText: hint, hintStyle: const TextStyle(color: Colors.grey), filled: true, fillColor: const Color(0xFF2C2C2E), border: OutlineInputBorder( borderRadius: BorderRadius.circular(12), borderSide: BorderSide.none, ), ), ); } }