forked from baron/baron-sso
input 레이아웃 , 한글 번역 수정
This commit is contained in:
@@ -432,7 +432,12 @@ class _LoginScreenState extends ConsumerState<LoginScreen>
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: Center(
|
body: LayoutBuilder(
|
||||||
|
builder: (context, constraints) {
|
||||||
|
return SingleChildScrollView(
|
||||||
|
child: ConstrainedBox(
|
||||||
|
constraints: BoxConstraints(minHeight: constraints.maxHeight),
|
||||||
|
child: Center(
|
||||||
child: Container(
|
child: Container(
|
||||||
constraints: const BoxConstraints(maxWidth: 400),
|
constraints: const BoxConstraints(maxWidth: 400),
|
||||||
padding: const EdgeInsets.all(24),
|
padding: const EdgeInsets.all(24),
|
||||||
@@ -453,9 +458,9 @@ class _LoginScreenState extends ConsumerState<LoginScreen>
|
|||||||
TabBar(
|
TabBar(
|
||||||
controller: _tabController,
|
controller: _tabController,
|
||||||
tabs: const [
|
tabs: const [
|
||||||
Tab(text: "Email"),
|
Tab(text: "이메일"),
|
||||||
Tab(text: "Phone (SMS)"),
|
Tab(text: "전화번호"),
|
||||||
Tab(text: "QR"),
|
Tab(text: "QR 코드"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(height: 24),
|
const SizedBox(height: 24),
|
||||||
@@ -466,12 +471,14 @@ class _LoginScreenState extends ConsumerState<LoginScreen>
|
|||||||
controller: _tabController,
|
controller: _tabController,
|
||||||
children: [
|
children: [
|
||||||
// Email Form
|
// Email Form
|
||||||
Column(
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(top: 16.0),
|
||||||
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
TextField(
|
TextField(
|
||||||
controller: _emailController,
|
controller: _emailController,
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
labelText: "Email",
|
labelText: "이메일",
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
prefixIcon: Icon(Icons.email_outlined),
|
prefixIcon: Icon(Icons.email_outlined),
|
||||||
),
|
),
|
||||||
@@ -481,7 +488,7 @@ class _LoginScreenState extends ConsumerState<LoginScreen>
|
|||||||
controller: _passwordController,
|
controller: _passwordController,
|
||||||
obscureText: true,
|
obscureText: true,
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
labelText: "Password (Optional)",
|
labelText: "비밀번호 (선택)",
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
prefixIcon: Icon(Icons.lock_outline),
|
prefixIcon: Icon(Icons.lock_outline),
|
||||||
),
|
),
|
||||||
@@ -492,18 +499,21 @@ class _LoginScreenState extends ConsumerState<LoginScreen>
|
|||||||
style: FilledButton.styleFrom(
|
style: FilledButton.styleFrom(
|
||||||
minimumSize: const Size.fromHeight(50),
|
minimumSize: const Size.fromHeight(50),
|
||||||
),
|
),
|
||||||
child: const Text("Sign In / Send Link"),
|
child: const Text("로그인 / 링크 전송"),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
),
|
||||||
|
|
||||||
// Phone Form
|
// Phone Form
|
||||||
Column(
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(top: 16.0),
|
||||||
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
TextField(
|
TextField(
|
||||||
controller: _phoneController,
|
controller: _phoneController,
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
labelText: "Phone Number",
|
labelText: "휴대폰 번호",
|
||||||
hintText: "010-1234-5678",
|
hintText: "010-1234-5678",
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
prefixIcon: Icon(Icons.phone_android),
|
prefixIcon: Icon(Icons.phone_android),
|
||||||
@@ -515,16 +525,17 @@ class _LoginScreenState extends ConsumerState<LoginScreen>
|
|||||||
style: FilledButton.styleFrom(
|
style: FilledButton.styleFrom(
|
||||||
minimumSize: const Size.fromHeight(50),
|
minimumSize: const Size.fromHeight(50),
|
||||||
),
|
),
|
||||||
child: const Text("Send Login Link"),
|
child: const Text("로그인 링크 전송"),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
const Text(
|
const Text(
|
||||||
"We will send a login link to your phone via SMS.",
|
"입력하신 번호로 로그인 링크를 문자로 보내드립니다.",
|
||||||
style: TextStyle(color: Colors.grey, fontSize: 12),
|
style: TextStyle(color: Colors.grey, fontSize: 12),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
),
|
||||||
|
|
||||||
// QR Login View
|
// QR Login View
|
||||||
Column(
|
Column(
|
||||||
@@ -550,8 +561,8 @@ class _LoginScreenState extends ConsumerState<LoginScreen>
|
|||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
Text(
|
Text(
|
||||||
_qrRemainingSeconds > 0
|
_qrRemainingSeconds > 0
|
||||||
? "Remaining Time: ${_formatTime(_qrRemainingSeconds)}"
|
? "남은 시간: ${_formatTime(_qrRemainingSeconds)}"
|
||||||
: "QR Code Expired",
|
: "QR 코드 만료됨",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: _qrRemainingSeconds > 30 ? Colors.blue : Colors.red,
|
color: _qrRemainingSeconds > 30 ? Colors.blue : Colors.red,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
@@ -559,17 +570,17 @@ class _LoginScreenState extends ConsumerState<LoginScreen>
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
const Text(
|
const Text(
|
||||||
"Scan with your mobile app",
|
"모바일 앱으로 스캔하세요",
|
||||||
style: TextStyle(color: Colors.grey, fontSize: 12),
|
style: TextStyle(color: Colors.grey, fontSize: 12),
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: _startQrFlow,
|
onPressed: _startQrFlow,
|
||||||
child: const Text("Refresh QR")
|
child: const Text("QR 코드 새로고침")
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
const Text("Failed to load QR code."),
|
const Text("QR 코드를 불러오지 못했습니다."),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -579,6 +590,10 @@ class _LoginScreenState extends ConsumerState<LoginScreen>
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user