Add offline meal journal and secure sync

This commit is contained in:
Hamza-Ayed
2026-10-04 02:13:23 +03:00
parent d892e3d981
commit 27fc2d5eb1
12 changed files with 936 additions and 23 deletions
+14 -5
View File
@@ -6,6 +6,7 @@ import '../screens/history_screen.dart';
import '../services/sync_service.dart';
import '../services/auth_service.dart';
import 'training_screens.dart';
import 'meal_journal_screen.dart';
import '../utils/formatters.dart';
import 'phone_login_screen.dart';
@@ -167,8 +168,9 @@ class HomeScreen extends StatelessWidget {
const _HabitCard(
icon: Icons.restaurant_outlined,
title: 'وجبتك القادمة',
detail: 'سجّلها يدويًا الآن؛ تحليل الصور قيد الإعداد.',
tag: 'تغذية'),
detail: 'سجّلها يدويًا أو صحّح تقديرك.',
tag: 'تغذية',
onTap: _openMealJournal),
const SizedBox(height: 9),
const _HabitCard(
icon: Icons.water_drop_outlined,
@@ -349,11 +351,16 @@ class _HabitCard extends StatelessWidget {
{required this.icon,
required this.title,
required this.detail,
required this.tag});
required this.tag,
this.onTap});
final IconData icon;
final String title, detail, tag;
final VoidCallback? onTap;
@override
Widget build(BuildContext context) => Container(
Widget build(BuildContext context) => GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: onTap,
child: Container(
padding: const EdgeInsets.all(14),
decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(15)),
@@ -383,5 +390,7 @@ class _HabitCard extends StatelessWidget {
style: const TextStyle(
color: _green, fontSize: 10, fontWeight: FontWeight.w600)),
]),
);
));
}
void _openMealJournal() => Get.to(() => const MealJournalScreen());