-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Description
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@OverRide
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'تطبيقي التجاري',
theme: ThemeData(primarySwatch: Colors.blue),
home: WelcomePage(),
);
}
}
// شاشة البداية
class WelcomePage extends StatelessWidget {
@OverRide
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("شعار التطبيق", style: TextStyle(fontSize: 24)),
SizedBox(height: 20),
ElevatedButton(
child: Text("تسجيل الدخول"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => LoginPage()),
);
},
),
ElevatedButton(
child: Text("تسجيل"),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => RegisterPage()),
);
},
),
],
),
),
);
}
}
// صفحة تسجيل الدخول
class LoginPage extends StatelessWidget {
final emailController = TextEditingController();
final passwordController = TextEditingController();
@OverRide
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("تسجيل الدخول")),
body: Padding(
padding: const EdgeInsets.all(20.0),
child: Column(
children: [
TextField(
controller: emailController,
decoration: InputDecoration(labelText: "البريد / الهاتف"),
),
TextField(
controller: passwordController,
decoration: InputDecoration(labelText: "كلمة المرور"),
obscureText: true,
),
SizedBox(height: 20),
ElevatedButton(
child: Text("دخول"),
onPressed: () {
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => HomePage()),
);
},
)
],
),
),
);
}
}
// صفحة التسجيل (بسيطة كبداية)
class RegisterPage extends StatelessWidget {
@OverRide
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("تسجيل")),
body: Center(child: Text("نموذج تسجيل جديد هنا")),
);
}
}
// الصفحة الرئيسية مع المنتجات
class HomePage extends StatelessWidget {
final List<Map<String, String>> products = [
{"name": "منتج 1", "image": "📦"},
{"name": "منتج 2", "image": "📱"},
{"name": "منتج 3", "image": "👟"},
];
@OverRide
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("المنتجات")),
body: GridView.builder(
padding: EdgeInsets.all(10),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2, // عمودين
crossAxisSpacing: 10,
mainAxisSpacing: 10,
),
itemCount: products.length,
itemBuilder: (context, index) {
return Card(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(products[index]["image"]!, style: TextStyle(fontSize: 40)),
SizedBox(height: 10),
Text(products[index]["name"]!),
ElevatedButton(onPressed: () {}, child: Text("شراء"))
],
),
);
},
),
);
}
}