Compare commits

..

2 Commits

Author SHA1 Message Date
97664fdb5a Fix: Precaching images 2024-05-31 15:29:35 +03:00
cfa6ef9a67 Fix: index in carousel 2024-05-31 15:28:58 +03:00
2 changed files with 18 additions and 7 deletions

View File

@@ -195,7 +195,7 @@ class _DetailPageState extends State<DetailPage> {
itemBuilder: (context, index, realIdx) { itemBuilder: (context, index, realIdx) {
return Center( return Center(
child: Image.network( child: Image.network(
item!.images[realIdx].url, item!.images[index].url,
width: min( width: min(
550, 550,
MediaQuery.sizeOf(context) MediaQuery.sizeOf(context)

View File

@@ -84,6 +84,11 @@ class _MainPageState extends State<MainPage> {
filteredData = value; filteredData = value;
items = value; items = value;
itemViewCount = min(5, value.length); itemViewCount = min(5, value.length);
WidgetsBinding.instance.addPostFrameCallback((_) {
for (var element in filteredData.sublist(0, itemViewCount)) {
precacheImage(NetworkImage(element.images[0].url), context);
}
});
})); }));
} }
@@ -112,7 +117,12 @@ class _MainPageState extends State<MainPage> {
filteredData = items filteredData = items
.where((element) => (element.title).contains(searchText)) .where((element) => (element.title).contains(searchText))
.toList(); .toList();
itemViewCount = filteredData.length; itemViewCount = min(filteredData.length, itemViewCount);
});
WidgetsBinding.instance.addPostFrameCallback((_) {
for (var element in filteredData.sublist(0, itemViewCount)) {
precacheImage(NetworkImage(element.images[0].url), context);
}
}); });
} }
@@ -215,11 +225,12 @@ class _MainPageState extends State<MainPage> {
shrinkWrap: true, shrinkWrap: true,
gridDelegate: gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount( SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: min( crossAxisCount: min(
(MediaQuery.sizeOf(context).width ~/ 200) (MediaQuery.sizeOf(context).width ~/
.toInt(), 200)
8), .toInt(),
), 8),
childAspectRatio: 1.0),
itemCount: itemViewCount, itemCount: itemViewCount,
itemBuilder: (context, index) { itemBuilder: (context, index) {
final product = filteredData[index]; final product = filteredData[index];