last 16-10-2025

This commit is contained in:
mageshwaran committed 2025-10-16 11:27:27 +05:30
commit 5fdfdd9302
146 files changed
+10525

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class AppColors {
bool darkTheme = false;
BaseController baseCtrl = Get.put(BaseController());
AppColors() {
baseCtrl.isDarkModeEnabled.listen((value) {
changeColors();
});
}
void changeColors() {
if (darkTheme == true) {
dark = Colors.white;
} else {
dark = Colors.black;
}
}
static Color dark = Colors.black;
static const Color background = Color(0xFFffffff);
}
class BaseController extends GetxController {
RxBool isDarkModeEnabled = false.obs;
RxInt currentIndex = 0.obs;
String? fbUserId;
RxMap<String, dynamic> filterData = <String, dynamic>{}.obs;
void updateFilterData(Map<String, dynamic> newData) {
filterData.assignAll(newData);
}
Map<String, dynamic> getFilterData() {
return filterData;
}
}
+4
View File
@@ -0,0 +1,4 @@
class AppAssets {
// SVG icons
static const String logo = 'assets/images/wordpresslogo.jpeg';
}
+85
View File
@@ -0,0 +1,85 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:wordpress/providers/api_controller.dart';
import 'package:wordpress/viewmodel/cart_screen.dart';
class CartButtonHelper {
static Future<void> addToCartAndNavigate({
required BuildContext context,
required WidgetRef ref,
required product,
required int quantity,
String? selectedColor,
String? selectedWeight,
}) async {
try {
// Show loading indicator
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Row(
children: [
SizedBox(
width: 20,
height: 20,
child: CircularProgressIndicator(
strokeWidth: 2,
color: Colors.white,
),
),
SizedBox(width: 12),
Text('Adding to cart...'),
],
),
duration: Duration(seconds: 1),
),
);
final cartHelper = ref.read(cartHelperProvider);
int? cartId = ref.read(cartIdProvider);
// Create cart if it doesn't exist
if (cartId == null) {
cartId = await cartHelper.createCart();
ref.read(cartIdProvider.notifier).state = cartId;
}
// Add item to cart with attributes
await cartHelper.addToCart(
productId: product.id ?? 0,
quantity: quantity,
// color: selectedColor,
// size: selectedWeight,
);
if (context.mounted) {
ScaffoldMessenger.of(context).hideCurrentSnackBar();
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text("Added $quantity x ${product.name} to cart"),
backgroundColor: Colors.green[600],
action: SnackBarAction(
label: "View Cart",
textColor: Colors.white,
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const CartScreen()),
);
},
),
),
);
}
} catch (e) {
if (context.mounted) {
ScaffoldMessenger.of(context).hideCurrentSnackBar();
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Error adding to cart: $e'),
backgroundColor: Colors.red,
),
);
}
}
}
}