Skip to content

Commit

Permalink
fix to low cost
Browse files Browse the repository at this point in the history
  • Loading branch information
auguzsto committed Jul 28, 2023
1 parent 238c744 commit 07aa82a
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 7 deletions.
8 changes: 6 additions & 2 deletions lib/src/shared/controllers/cart_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ class CartController extends GetxController {
RxBool isLoading = false.obs;

Future<void> add(List<String> idItem) async {
await cartRepository.add(idItem);
await cartRepository.add(idItem).then(
(value) => cartRepository.client.post(table: 'event'),
);
}

Stream<List> getByLikeStream(UserModel userModel) async* {
Expand All @@ -22,6 +24,8 @@ class CartController extends GetxController {
}

Future<void> delete(String id) async {
await cartRepository.delete(id);
await cartRepository
.delete(id)
.then((value) => cartRepository.client.post(table: 'event'));
}
}
11 changes: 10 additions & 1 deletion lib/src/views/client/cart/cart_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,23 @@ import 'package:pizzaria/src/shared/models/user_model.dart';
import 'package:pizzaria/src/shared/services/util_service.dart';
import 'package:pizzaria/src/shared/themes/colors/color_schemes.g.dart';

class CartScreen extends StatelessWidget {
class CartScreen extends StatefulWidget {
CartScreen({super.key});

@override
State<CartScreen> createState() => _CartScreenState();
}

class _CartScreenState extends State<CartScreen> {
//Generate list items in cart.
final List items = [];

final List cart = [];

final cartController = CartController();

final orderController = OrderController();

final utilService = UtilService();

@override
Expand Down Expand Up @@ -68,6 +76,7 @@ class CartScreen extends StatelessWidget {
IconButton(
onPressed: () async {
await cartController.delete(cartModel.id!);
setState(() {});
},
icon: Icon(
Icons.delete,
Expand Down
2 changes: 1 addition & 1 deletion lib/src/views/client/home/home_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import 'package:pizzaria/src/views/client/user/comon_user_details_screen.dart';
import 'package:pizzaria/src/widgets/appbar_custom.dart';

class HomeScreen extends StatefulWidget {
HomeScreen({super.key});
const HomeScreen({super.key});

@override
State<HomeScreen> createState() => _HomeScreenState();
Expand Down
44 changes: 41 additions & 3 deletions lib/src/widgets/appbar_custom.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pizzaria/src/shared/constants/app.dart';
import 'package:pizzaria/src/shared/controllers/cart_controller.dart';
import 'package:pizzaria/src/shared/models/user_model.dart';
import 'package:pizzaria/src/shared/themes/colors/color_schemes.g.dart';
import 'package:pizzaria/src/views/auth/signin_screen.dart';
import 'package:pizzaria/src/views/client/cart/cart_screen.dart';
import 'package:stomp_dart_client/stomp.dart';
import 'package:stomp_dart_client/stomp_config.dart';
import 'package:stomp_dart_client/stomp_frame.dart';

class AppBarCustom extends StatefulWidget {
const AppBarCustom({super.key});
Expand Down Expand Up @@ -64,10 +68,37 @@ class Avatar extends StatelessWidget {
}

//Cart
class Cart extends StatelessWidget {
class Cart extends StatefulWidget {
Cart({super.key});

@override
State<Cart> createState() => _CartState();
}

class _CartState extends State<Cart> {
final cartController = CartController();
late StompClient stompClient;

void onConnect(StompClient stompClient, StompFrame stompFrame) {
stompClient.subscribe(
destination: "/topic/message",
callback: (frame) => setState(() {}),
);
}

@override
void initState() {
super.initState();

stompClient = StompClient(
config: StompConfig.SockJS(
url: "${AppConstants.baseUrl}/ws-message",
onConnect: (stompFrame) => onConnect(stompClient, stompFrame),
),
);

stompClient.activate();
}

@override
Widget build(BuildContext context) {
Expand All @@ -90,8 +121,8 @@ class Cart extends StatelessWidget {
Positioned(
child: CircleAvatar(
radius: 11,
child: StreamBuilder(
stream: cartController.getByLikeStream(userModel),
child: FutureBuilder(
future: cartController.getByUserId(userModel),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return const Center(
Expand All @@ -112,6 +143,13 @@ class Cart extends StatelessWidget {
size: 32,
);
}

@override
void dispose() {
stompClient.deactivate();

super.dispose();
}
}

Future showScreenLogin(BuildContext context) {
Expand Down

0 comments on commit 07aa82a

Please sign in to comment.