| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'package:flutter/widgets.dart'; |
| import '../../../gallery_localizations.dart'; |
| import 'product.dart'; |
| |
| class ProductsRepository { |
| static List<Product> loadProducts(Category category) { |
| final List<Product> allProducts = <Product>[ |
| Product( |
| category: categoryAccessories, |
| id: 0, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductVagabondSack, |
| price: 120, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryAccessories, |
| id: 1, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductStellaSunglasses, |
| price: 58, |
| assetAspectRatio: 329 / 247, |
| ), |
| Product( |
| category: categoryAccessories, |
| id: 2, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductWhitneyBelt, |
| price: 35, |
| assetAspectRatio: 329 / 228, |
| ), |
| Product( |
| category: categoryAccessories, |
| id: 3, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductGardenStrand, |
| price: 98, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryAccessories, |
| id: 4, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductStrutEarrings, |
| price: 34, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryAccessories, |
| id: 5, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductVarsitySocks, |
| price: 12, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryAccessories, |
| id: 6, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductWeaveKeyring, |
| price: 16, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryAccessories, |
| id: 7, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductGatsbyHat, |
| price: 40, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryAccessories, |
| id: 8, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductShrugBag, |
| price: 198, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryHome, |
| id: 9, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductGiltDeskTrio, |
| price: 58, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryHome, |
| id: 10, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductCopperWireRack, |
| price: 18, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryHome, |
| id: 11, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductSootheCeramicSet, |
| price: 28, |
| assetAspectRatio: 329 / 247, |
| ), |
| Product( |
| category: categoryHome, |
| id: 12, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductHurrahsTeaSet, |
| price: 34, |
| assetAspectRatio: 329 / 213, |
| ), |
| Product( |
| category: categoryHome, |
| id: 13, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductBlueStoneMug, |
| price: 18, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryHome, |
| id: 14, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductRainwaterTray, |
| price: 27, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryHome, |
| id: 15, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductChambrayNapkins, |
| price: 16, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryHome, |
| id: 16, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductSucculentPlanters, |
| price: 16, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryHome, |
| id: 17, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductQuartetTable, |
| price: 175, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryHome, |
| id: 18, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductKitchenQuattro, |
| price: 129, |
| assetAspectRatio: 329 / 246, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 19, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductClaySweater, |
| price: 48, |
| assetAspectRatio: 329 / 219, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 20, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductSeaTunic, |
| price: 45, |
| assetAspectRatio: 329 / 221, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 21, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductPlasterTunic, |
| price: 38, |
| assetAspectRatio: 220 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 22, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductWhitePinstripeShirt, |
| price: 70, |
| assetAspectRatio: 219 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 23, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductChambrayShirt, |
| price: 70, |
| assetAspectRatio: 329 / 221, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 24, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductSeabreezeSweater, |
| price: 60, |
| assetAspectRatio: 220 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 25, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductGentryJacket, |
| price: 178, |
| assetAspectRatio: 329 / 219, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 26, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductNavyTrousers, |
| price: 74, |
| assetAspectRatio: 220 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 27, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductWalterHenleyWhite, |
| price: 38, |
| assetAspectRatio: 219 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 28, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductSurfAndPerfShirt, |
| price: 48, |
| assetAspectRatio: 329 / 219, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 29, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductGingerScarf, |
| price: 98, |
| assetAspectRatio: 219 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 30, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductRamonaCrossover, |
| price: 68, |
| assetAspectRatio: 220 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 31, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductChambrayShirt, |
| price: 38, |
| assetAspectRatio: 329 / 223, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 32, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductClassicWhiteCollar, |
| price: 58, |
| assetAspectRatio: 221 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 33, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductCeriseScallopTee, |
| price: 42, |
| assetAspectRatio: 329 / 219, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 34, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductShoulderRollsTee, |
| price: 27, |
| assetAspectRatio: 220 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 35, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductGreySlouchTank, |
| price: 24, |
| assetAspectRatio: 222 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 36, |
| isFeatured: false, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductSunshirtDress, |
| price: 58, |
| assetAspectRatio: 219 / 329, |
| ), |
| Product( |
| category: categoryClothing, |
| id: 37, |
| isFeatured: true, |
| name: (BuildContext context) => |
| GalleryLocalizations.of(context)!.shrineProductFineLinesTee, |
| price: 58, |
| assetAspectRatio: 219 / 329, |
| ), |
| ]; |
| if (category == categoryAll) { |
| return allProducts; |
| } else { |
| return allProducts.where((Product p) => p.category == category).toList(); |
| } |
| } |
| } |