Skip to content

Instantly share code, notes, and snippets.

View ShivamGoyal1899's full-sized avatar
🎖️
finishing the todo list, one task at a time.

Shivam Goyal ShivamGoyal1899

🎖️
finishing the todo list, one task at a time.
View GitHub Profile
class _ShoppingCartTabState extends State<ShoppingCartTab> {
String name; // ADD FROM HERE
String email;
String location;
String pin;
DateTime dateTime = DateTime.now();
Widget _buildNameField() {
return CupertinoTextField(
prefix: const Icon(
import 'package:flutter/cupertino.dart';
import 'package:flutter/widgets.dart';
import 'styles.dart';
class SearchBar extends StatelessWidget {
const SearchBar({
@required this.controller,
@required this.focusNode,
});
class _SearchTabState extends State<SearchTab> {
TextEditingController _controller;
FocusNode _focusNode;
String _terms = '';
@override
void initState() {
super.initState();
_controller = TextEditingController()..addListener(_onTextChanged);
_focusNode = FocusNode();
class _SearchTabState extends State<SearchTab> {
// ...
@override
Widget build(BuildContext context) {
final model = Provider.of<AppStateModel>(context);
final results = model.search(_terms);
return DecoratedBox(
decoration: const BoxDecoration(
import 'package:flutter/cupertino.dart'
import 'package:provider/provider.dart'
import 'model/app_state_model.dart'
import 'product_row_item.dart'
import 'search_bar.dart'
import 'styles.dart'
class ProductListTab extends StatelessWidget {
@override
Widget build(BuildContext context) {
return CupertinoPageScaffold(
child: Consumer<AppStateModel>(
builder: (context, child, model) {
final products = model.getProducts();
return CustomScrollView(
semanticChildCount: products.length,
slivers: <Widget>[
class ProductListTab extends StatelessWidget {
@override
Widget build(BuildContext context) {
return CupertinoPageScaffold(
child: Consumer<AppStateModel>(
builder: (context, child, model) {
final products = model.getProducts(); // NEW
return CustomScrollView(
semanticChildCount: products.length, // NEW
slivers: <Widget>[
import 'package:flutter/cupertino.dart';
import 'package:provider/provider.dart';
import 'model/app_state_model.dart';
import 'model/product.dart';
import 'styles.dart';
class ProductRowItem extends StatelessWidget {
const ProductRowItem({
this.index,
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart'; // NEW
import 'app.dart';
import 'model/app_state_model.dart'; // NEW
void main() {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
import 'package:flutter/foundation.dart' as foundation;
import 'product.dart';
import 'products_repository.dart';
double _salesTaxRate = 0.06;
double _shippingCostPerItem = 7;
class AppStateModel extends foundation.ChangeNotifier {
// All the available products.