// ignore_for_file: library_private_types_in_public_api import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; class RegistrationScreen extends StatefulWidget { static const routeName = 'registrationScreen'; const RegistrationScreen({super.key}); @override _RegistrationScreenState createState() => _RegistrationScreenState(); } class _RegistrationScreenState extends State { final TextEditingController _usernameController = TextEditingController(); final TextEditingController _emailController = TextEditingController(); final TextEditingController _passwordController = TextEditingController(); Future _registerUser() async { const String apiUrl = 'YOUR_API_ENDPOINT'; // Replace with your API endpoint final response = await http.post( Uri.parse(apiUrl), headers: {'Content-Type': 'application/json'}, body: jsonEncode({ 'username': _usernameController.text.trim(), 'email': _emailController.text.trim(), 'password': _passwordController.text.trim(), }), ); if (response.statusCode == 201) { // User registration successful print('User registered successfully'); } else { // Handle registration errors print('Error during registration: ${response.statusCode}'); print('Response body: ${response.body}'); } } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('User Registration'), ), body: Padding( padding: const EdgeInsets.all(16.0), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ TextField( controller: _usernameController, decoration: const InputDecoration(labelText: 'Username'), ), const SizedBox(height: 16.0), TextField( controller: _emailController, decoration: const InputDecoration(labelText: 'Email'), ), const SizedBox(height: 16.0), TextField( controller: _passwordController, decoration: const InputDecoration(labelText: 'Password'), obscureText: true, ), const SizedBox(height: 24.0), ElevatedButton( onPressed: _registerUser, child: const Text('Register'), ), ], ), ), ); } }