if (startPrice != 0) {
if (filterQuery == null) {
filterQuery = offerReference.where(OFFER_PRICE, isGreaterThanOrEqualTo: startPrice);
} else {
filterQuery = filterQuery.where(OFFER_PRICE, isGreaterThanOrEqualTo: startPrice);
}
}
if (endPrice != 0) {
if (filterQuery == null) {
filterQuery = offerReference.where(OFFER_PRICE, isLessThanOrEqualTo: endPrice);
} else {
filterQuery = filterQuery.where(OFFER_PRICE, isLessThanOrEqualTo: endPrice);
}
}
if (selectedOfferCategory != null) {
if (filterQuery == null)
filterQuery = offerReference.where(OFFEER_CATEGORY, isEqualTo: selectedOfferCategory.text);
else
filterQuery = filterQuery.where(OFFEER_CATEGORY, isEqualTo: selectedOfferCategory.text);
}
return new StreamBuilder<QuerySnapshot>(
stream: filterQuery != null ? filterQuery.snapshots() : offerReference.snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) return new Center(child: new CircularProgressIndicator());
if (snapshot.data.documents.length == 0) return new Center(child: new Text('No data available', style: new TextStyle(fontSize: 20.0,fontFamily: "SnackerComic",color: Colors.black),),);
return new StaggeredGridView.count(
physics: new BouncingScrollPhysics(),
crossAxisCount: MediaQuery.of(context).orientation == Orientation.portrait ? 2 : 3,
children: buildGrid(snapshot.data.documents),
staggeredTiles: generateRandomTiles(snapshot.data.documents.length),
);
},
);