summaryrefslogtreecommitdiff
path: root/lib/screens/signup_screen.dart
diff options
context:
space:
mode:
authorBoredGuy <osome3717@gmail.com>2026-05-09 19:59:04 -0700
committerBoredGuy <osome3717@gmail.com>2026-05-09 19:59:04 -0700
commit67427aec40ba094f1e7f3ee77eab09df73d752f1 (patch)
treeb1cbaff8f809f5b003977279b93a6bae262e5b0b /lib/screens/signup_screen.dart
Initial CommitHEADmaster
Diffstat (limited to 'lib/screens/signup_screen.dart')
-rw-r--r--lib/screens/signup_screen.dart89
1 files changed, 89 insertions, 0 deletions
diff --git a/lib/screens/signup_screen.dart b/lib/screens/signup_screen.dart
new file mode 100644
index 0000000..1a0511d
--- /dev/null
+++ b/lib/screens/signup_screen.dart
@@ -0,0 +1,89 @@
+import 'package:flutter/material.dart';
+import 'chat_list_screen.dart';
+
+class SignupScreen extends StatefulWidget {
+ const SignupScreen({super.key});
+
+ @override
+ State<SignupScreen> createState() => _SignupScreenState();
+}
+
+class _SignupScreenState extends State<SignupScreen> {
+ final _nameController = TextEditingController();
+ final _emailController = TextEditingController();
+ final _passwordController = TextEditingController();
+
+ void _signup() {
+ Navigator.pushAndRemoveUntil(
+ context,
+ MaterialPageRoute(builder: (context) => const ChatListScreen()),
+ (route) => false,
+ );
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ title: const Text('Sign Up'),
+ backgroundColor: Colors.transparent,
+ elevation: 0,
+ ),
+ body: Center(
+ child: SingleChildScrollView(
+ padding: const EdgeInsets.all(24.0),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ crossAxisAlignment: CrossAxisAlignment.stretch,
+ children: [
+ const Icon(
+ Icons.chat_bubble_outline,
+ size: 80,
+ color: Color(0xFF2AABEE),
+ ),
+ const SizedBox(height: 32),
+ TextField(
+ controller: _nameController,
+ decoration: const InputDecoration(
+ labelText: 'Full Name',
+ border: OutlineInputBorder(),
+ prefixIcon: Icon(Icons.person),
+ ),
+ ),
+ const SizedBox(height: 16),
+ TextField(
+ controller: _emailController,
+ keyboardType: TextInputType.emailAddress,
+ decoration: const InputDecoration(
+ labelText: 'Email',
+ border: OutlineInputBorder(),
+ prefixIcon: Icon(Icons.email),
+ ),
+ ),
+ const SizedBox(height: 16),
+ TextField(
+ controller: _passwordController,
+ obscureText: true,
+ decoration: const InputDecoration(
+ labelText: 'Password',
+ border: OutlineInputBorder(),
+ prefixIcon: Icon(Icons.lock),
+ ),
+ ),
+ const SizedBox(height: 24),
+ ElevatedButton(
+ onPressed: _signup,
+ style: ElevatedButton.styleFrom(
+ backgroundColor: const Color(0xFF2AABEE),
+ foregroundColor: Colors.white,
+ padding: const EdgeInsets.symmetric(vertical: 16),
+ ),
+ child: const Text('Sign Up', style: TextStyle(fontSize: 16)),
+ ),
+ ],
+ ),
+ ),
+ ),
+ );
+ }
+}