Advertisement
Hevernooo

delegates

Nov 20th, 2024
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 48.96 KB | None | 0 0
  1. import 'package:flutter/material.dart';
  2. import 'categories/ferns/all.dart';
  3. import 'categories/fruits/all.dart';
  4. import 'categories/orhids/all.dart';
  5. import 'categories/climbing/all.dart';
  6. import 'categories/palms/all.dart';
  7. import 'categories/bonsai/all.dart';
  8. import 'categories/flowering/all.dart';
  9.  
  10. class CustomSearchDelegateFerns extends SearchDelegate {
  11.  
  12.   @override
  13.   List<Widget> buildActions(BuildContext context) {
  14.     return [
  15.       IconButton(
  16.           onPressed: (){
  17.             query = '';
  18.           },
  19.           icon: const Icon(Icons.clear))
  20.     ];
  21.   }
  22.  
  23.   @override
  24.   Widget buildLeading(BuildContext context) {
  25.     return IconButton(
  26.         onPressed: (){
  27.           close(context, null);
  28.         },
  29.         icon: const Icon(Icons.arrow_back)
  30.     );
  31.   }
  32.  
  33.   List<String> searchTermsName = [
  34.     'Адиантум венерин волос',
  35.     'Адиантум хвостатый',
  36.     'Адиантум стоповидный',
  37.     'Птерис критский',
  38.     'Птерис мечевидный',
  39.     'Блехнум',
  40.     'Нефролепис сердцелистный',
  41.     'Нефролепис мечевидный',
  42.     'Нефролепис возвышенный',
  43.     'Асплениум гнездовой',
  44.     'Асплениум луковиценосный',
  45.     'Асплениум двуформенный',
  46.     'Циртомиум серповидный',
  47.     'Даваллия канарская',
  48.     'Даваллия рассечённая',
  49.   ];
  50.  
  51.   List<String> searchTermsImage = [
  52.     'https://cdn.botanichka.ru/wp-content/uploads/2009/11/Adiantum-capillus-veneris-3-1-210x210.jpg',
  53.     'https://i.pinimg.com/736x/68/9d/bb/689dbbc3500b965a0e4add738a2990ad.jpg',
  54.     'https://i.pinimg.com/736x/bb/35/b6/bb35b645ad0bb170d46e23ce5471d063.jpg',
  55.     'https://cdn.100sp.ru/pictures/351388381',
  56.     'https://i.etsystatic.com/20406392/r/il/a18300/2509424111/il_794xN.2509424111_fif3.jpg',
  57.     'https://cdn.botanichka.ru/wp-content/uploads/2017/09/Blechnum-03-640x800.jpg',
  58.     'https://cdn.botanichka.ru/wp-content/uploads/2010/04/Nephrolepis_cordifolia_03-640x825.jpg',
  59.     'https://cdn.botanichka.ru/wp-content/uploads/2010/04/Nephrolepis_biserrata_1-640x853.jpg',
  60.     'https://cdn.botanichka.ru/wp-content/uploads/2010/04/Nephrolepis_exaltata_01-640x853.jpg',
  61.     'https://i.pinimg.com/564x/c0/a8/17/c0a8178fe01b66f687df4cfd1e1c8371.jpg',
  62.     'https://bloom-story.ru/wa-data/public/shop/products/04/27/2704/images/6536/6536.750.jpg',
  63.     'https://www.gardentags.com/profile/elicia/images/327842/750/asplenium-dimorphum-x-difforme.jpeg',
  64.     'https://cvetpodokonnik.ru/wa-data/public/shop/products/96/07/796/images/2302/2302.970.jpg',
  65.     'https://klau.club/uploads/posts/2023-03/thumbs/1677622360_klau-club-p-davana-rastenie-krasivo-23.png',
  66.     'https://i5.walmartimages.com/asr/db453a16-9cba-482c-acf7-95d28963df2b_1.a26702021d8199000def5af913252372.jpeg',
  67.   ];
  68.  
  69.   List<String> searchTermsSubName = [
  70.     'Adiantum capillus-veneris',
  71.     'Adiantum caudatum',
  72.     'Adiantum pedatum',
  73.     'Pteris cretica',
  74.     'Pteris ensiformis',
  75.     'Blechnum spicant',
  76.     'Nephrolepis cordifolia',
  77.     'Nephrolepis biserrata',
  78.     'Nephrolepis exaltata',
  79.     'Asplenium nidus',
  80.     'Asplenium bulbiferum',
  81.     'Asplenium dimorphum',
  82.     'Cyrtomium falcatum',
  83.     'Davallia canariensis',
  84.     'Davallia dissecta',
  85.   ];
  86.  
  87.   @override
  88.   Widget buildResults(BuildContext context) {
  89.     List<String> matchQueryName = [];
  90.     List<String> matchQueryImage = [];
  91.     List<String> matchQuerySubName = [];
  92.     int i = 0;
  93.     for (var fruit in searchTermsName) {
  94.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  95.         matchQueryName.add(fruit);
  96.         matchQueryImage.add(searchTermsImage[i]);
  97.         matchQuerySubName.add(searchTermsSubName[i]);
  98.       }
  99.       i++;
  100.     }
  101.     int z = 0;
  102.     for (var fruit in searchTermsSubName) {
  103.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  104.         matchQueryName.add(searchTermsName[z]);
  105.         matchQueryImage.add(searchTermsImage[z]);
  106.         matchQuerySubName.add(searchTermsSubName[z]);
  107.       }
  108.       z++;
  109.     }
  110.     return ListView.builder(
  111.         itemCount: matchQueryName.length,
  112.         itemBuilder: (context, index){
  113.           var name = matchQueryName[index];
  114.           var image = matchQueryImage[index];
  115.           var subName = matchQuerySubName[index];
  116.           return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  117.         }
  118.     );
  119.   }
  120.  
  121.   @override
  122.   Widget buildSuggestions(BuildContext context) {
  123.     List<String> matchQueryName = [];
  124.     List<String> matchQueryImage = [];
  125.     List<String> matchQuerySubName = [];
  126.     int i = 0;
  127.     for (var fruit in searchTermsName) {
  128.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  129.         matchQueryName.add(fruit);
  130.         matchQueryImage.add(searchTermsImage[i]);
  131.         matchQuerySubName.add(searchTermsSubName[i]);
  132.       }
  133.       i++;
  134.     }
  135.     int z = 0;
  136.     for (var fruit in searchTermsSubName) {
  137.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  138.         matchQueryName.add(searchTermsName[z]);
  139.         matchQueryImage.add(searchTermsImage[z]);
  140.         matchQuerySubName.add(searchTermsSubName[z]);
  141.       }
  142.       z++;
  143.     }
  144.     return ListView.builder(
  145.       itemBuilder: (context, index){
  146.         var name = matchQueryName[index];
  147.         var image = matchQueryImage[index];
  148.         var subName = matchQuerySubName[index];
  149.         return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  150.       },
  151.       itemCount: query == '' ? matchQueryName.length ~/ 2 : matchQueryName.length,
  152.     );
  153.   }
  154. }
  155.  
  156. class CustomSearchDelegateClimbing extends SearchDelegate {
  157.  
  158.   @override
  159.   List<Widget> buildActions(BuildContext context) {
  160.     return [
  161.       IconButton(
  162.           onPressed: (){
  163.             query = '';
  164.           },
  165.           icon: const Icon(Icons.clear))
  166.     ];
  167.   }
  168.  
  169.   @override
  170.   Widget buildLeading(BuildContext context) {
  171.     return IconButton(
  172.         onPressed: (){
  173.           close(context, null);
  174.         },
  175.         icon: const Icon(Icons.arrow_back)
  176.     );
  177.   }
  178.  
  179.   List<String> searchTermsName = [
  180.     'Эпипремнум золотистый',
  181.     'Филодендрон лазящий',
  182.     'Плющ обыкновенный',
  183.     'Хойя карноза',
  184.     'Ипомея пурпурная',
  185.     'Клеродендрум Томпсона',
  186.     'Пассифлора голубая',
  187.     'Пассифлора инкарната',
  188.   ];
  189.  
  190.   List<String> searchTermsImage = [
  191.     'https://i.pinimg.com/736x/65/93/1c/65931c1b68d481adc57f6f405ce36b2a.jpg',
  192.     'https://azbyka.ru/garden/wp-content/uploads/2022/12/filodendron-plyushhevidnyj-e1671210895739-768x768.jpg',
  193.     'https://www.castorama.ru/upload/iblock/0b0/e7vz50bf9dfldzjxbmczsd5avuwfo3pu/1001435545_1.jpg',
  194.     'https://cdn1.ozone.ru/s3/multimedia-m/6693403810.jpg',
  195.     'https://spkorzina.ru/files/674/674da4db97aebc7236cd6ef3386fd5a2.jpg',
  196.     'https://flowwill.ru/wp-content/uploads/c/d/f/cdf3ad8710f3ca82a55f8fa03e1cf85e.jpeg',
  197.     'https://s.leroymerlin.kz/upload/catalogue/product_images/d/3/original/18621041_tmp.jpg',
  198.     'https://i.pinimg.com/736x/ff/ce/e6/ffcee64255b0cc89e1fb576d9f1541ab.jpg',
  199.   ];
  200.  
  201.   List<String> searchTermsSubName = [
  202.     'Epipremnum aureum',
  203.     'Philodendron hederaceum',
  204.     'Hedera helix',
  205.     'Hoya carnosa',
  206.     'Ipomoea purpurea',
  207.     'Clerodendrum thomsoniae',
  208.     'Passiflora caerulea',
  209.     'Passiflora incarnata',
  210.   ];
  211.  
  212.   @override
  213.   Widget buildResults(BuildContext context) {
  214.     List<String> matchQueryName = [];
  215.     List<String> matchQueryImage = [];
  216.     List<String> matchQuerySubName = [];
  217.     int i = 0;
  218.     for (var fruit in searchTermsName) {
  219.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  220.         matchQueryName.add(fruit);
  221.         matchQueryImage.add(searchTermsImage[i]);
  222.         matchQuerySubName.add(searchTermsSubName[i]);
  223.       }
  224.       i++;
  225.     }
  226.     int z = 0;
  227.     for (var fruit in searchTermsSubName) {
  228.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  229.         matchQueryName.add(searchTermsName[z]);
  230.         matchQueryImage.add(searchTermsImage[z]);
  231.         matchQuerySubName.add(searchTermsSubName[z]);
  232.       }
  233.       z++;
  234.     }
  235.     return ListView.builder(
  236.         itemCount: matchQueryName.length,
  237.         itemBuilder: (context, index){
  238.           var name = matchQueryName[index];
  239.           var image = matchQueryImage[index];
  240.           var subName = matchQuerySubName[index];
  241.           return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  242.         }
  243.     );
  244.   }
  245.  
  246.   @override
  247.   Widget buildSuggestions(BuildContext context) {
  248.     List<String> matchQueryName = [];
  249.     List<String> matchQueryImage = [];
  250.     List<String> matchQuerySubName = [];
  251.     int i = 0;
  252.     for (var fruit in searchTermsName) {
  253.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  254.         matchQueryName.add(fruit);
  255.         matchQueryImage.add(searchTermsImage[i]);
  256.         matchQuerySubName.add(searchTermsSubName[i]);
  257.       }
  258.       i++;
  259.     }
  260.     int z = 0;
  261.     for (var fruit in searchTermsSubName) {
  262.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  263.         matchQueryName.add(searchTermsName[z]);
  264.         matchQueryImage.add(searchTermsImage[z]);
  265.         matchQuerySubName.add(searchTermsSubName[z]);
  266.       }
  267.       z++;
  268.     }
  269.     return ListView.builder(
  270.       itemBuilder: (context, index){
  271.         var name = matchQueryName[index];
  272.         var image = matchQueryImage[index];
  273.         var subName = matchQuerySubName[index];
  274.         return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  275.       },
  276.       itemCount: query == '' ? matchQueryName.length ~/ 2 : matchQueryName.length,
  277.     );
  278.   }
  279. }
  280.  
  281. class CustomSearchDelegateFruits extends SearchDelegate {
  282.  
  283.   @override
  284.   List<Widget> buildActions(BuildContext context) {
  285.     return [
  286.       IconButton(
  287.           onPressed: (){
  288.             query = '';
  289.           },
  290.           icon: const Icon(Icons.clear))
  291.     ];
  292.   }
  293.  
  294.   @override
  295.   Widget buildLeading(BuildContext context) {
  296.     return IconButton(
  297.         onPressed: (){
  298.           close(context, null);
  299.         },
  300.         icon: const Icon(Icons.arrow_back)
  301.     );
  302.   }
  303.  
  304.   List<String> searchTermsName = [
  305.     'Померанец',
  306.     'Лайм',
  307.     'Лимон',
  308.     'Мандарин',
  309.     'Банан райский',
  310.     'Гранат обыкновенный',
  311.     'Олива европейская',
  312.     'Абрикос обыкновенный',
  313.     'Авокадо',
  314.     'Физалис обыкновенный'
  315.   ];
  316.  
  317.   List<String> searchTermsImage = [
  318.     'https://www.lgbotanicals.com/assets/images/bitter-orange-736.jpg',
  319.     'https://i.pinimg.com/736x/9e/f4/33/9ef433614acaf3d92b4cbef10c93dd1a--citrus-trees-lime-trees.jpg',
  320.     'https://i.pinimg.com/736x/82/db/0a/82db0aab262156c2b2c20e381e1fecc5.jpg',
  321.     'https://botanikfidancilik.com/uploads/urunresim/111/thumb/wmurcott-mandalina-f182a2.jpg',
  322.     'https://upload.wikimedia.org/wikipedia/commons/2/2f/Starr_060916-8899_Musa_sp..jpg',
  323.     'https://kozalavka.ru/a/kozadereza/files/import/iiko_img_0d9422e0-b778-4ca4-baba-91a09aa888f4_08a210b4-1c18-443a-87e9-1b55b20d061c.jpg',
  324.     'https://img.goodfon.ru/original/2048x2048/c/eb/derevo-zelen-olivki-listya.jpg',
  325.     'https://priroda.club/uploads/posts/2023-12/1703194343_priroda-club-p-abrikos-zherdel-instagram-1.jpg',
  326.     'https://vlavke.ru/b1/c/7049.680x680.jpg',
  327.     'https://storage.ufamama.ru/images/cache/rowimages/Sliza_ostatok_physalis_alkekengi___fizalis_obiknovenniy_1-fs.jpg',
  328.   ];
  329.  
  330.   List<String> searchTermsSubName = [
  331.     'Citrus aurantium',
  332.     'Citrus aurantiifolia',
  333.     'Citrus limon',
  334.     'Citrus reticulata',
  335.     'Musa paradisiaca',
  336.     'Punica granatum',
  337.     'Olea europaea',
  338.     'Prunus armeniaca',
  339.     'Persea americana',
  340.     'Physalis alkekengi',
  341.   ];
  342.  
  343.   @override
  344.   Widget buildResults(BuildContext context) {
  345.     List<String> matchQueryName = [];
  346.     List<String> matchQueryImage = [];
  347.     List<String> matchQuerySubName = [];
  348.     int i = 0;
  349.     for (var fruit in searchTermsName) {
  350.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  351.         matchQueryName.add(fruit);
  352.         matchQueryImage.add(searchTermsImage[i]);
  353.         matchQuerySubName.add(searchTermsSubName[i]);
  354.       }
  355.       i++;
  356.     }
  357.     int z = 0;
  358.     for (var fruit in searchTermsSubName) {
  359.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  360.         matchQueryName.add(searchTermsName[z]);
  361.         matchQueryImage.add(searchTermsImage[z]);
  362.         matchQuerySubName.add(searchTermsSubName[z]);
  363.       }
  364.       z++;
  365.     }
  366.     return ListView.builder(
  367.         itemCount: matchQueryName.length,
  368.         itemBuilder: (context, index){
  369.           var name = matchQueryName[index];
  370.           var image = matchQueryImage[index];
  371.           var subName = matchQuerySubName[index];
  372.           return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  373.         }
  374.     );
  375.   }
  376.  
  377.   @override
  378.   Widget buildSuggestions(BuildContext context) {
  379.     List<String> matchQueryName = [];
  380.     List<String> matchQueryImage = [];
  381.     List<String> matchQuerySubName = [];
  382.     int i = 0;
  383.     for (var fruit in searchTermsName) {
  384.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  385.         matchQueryName.add(fruit);
  386.         matchQueryImage.add(searchTermsImage[i]);
  387.         matchQuerySubName.add(searchTermsSubName[i]);
  388.       }
  389.       i++;
  390.     }
  391.     int z = 0;
  392.     for (var fruit in searchTermsSubName) {
  393.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  394.         matchQueryName.add(searchTermsName[z]);
  395.         matchQueryImage.add(searchTermsImage[z]);
  396.         matchQuerySubName.add(searchTermsSubName[z]);
  397.       }
  398.       z++;
  399.     }
  400.     return ListView.builder(
  401.       itemBuilder: (context, index){
  402.         var name = matchQueryName[index];
  403.         var image = matchQueryImage[index];
  404.         var subName = matchQuerySubName[index];
  405.         return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  406.       },
  407.       itemCount: query == '' ? matchQueryName.length ~/ 2 : matchQueryName.length,
  408.     );
  409.   }
  410. }
  411.  
  412. class CustomSearchDelegateOrhids extends SearchDelegate {
  413.  
  414.   @override
  415.   List<Widget> buildActions(BuildContext context) {
  416.     return [
  417.       IconButton(
  418.           onPressed: (){
  419.             query = '';
  420.           },
  421.           icon: const Icon(Icons.clear))
  422.     ];
  423.   }
  424.  
  425.   @override
  426.   Widget buildLeading(BuildContext context) {
  427.     return IconButton(
  428.         onPressed: (){
  429.           close(context, null);
  430.         },
  431.         icon: const Icon(Icons.arrow_back)
  432.     );
  433.   }
  434.  
  435.   List<String> searchTermsName = [
  436.     'Фаленопсис Золотой Император',
  437.     'Фаленопсис Голден Бьюти',
  438.     'Фаленопсис Шиллера',
  439.     'Фаленопсис Линдени',
  440.     'Мильтония',
  441.     'Ванда голубая',
  442.     'Ванда трёхцветная',
  443.     'Ванда сандериана',
  444.     'Дендробиум благородный',
  445.     'Дендробиум монилоформе',
  446.     'Дендробиум фаленопсис',
  447.     'Дендробиум Париша',
  448.     'Дендробиум первоцветный',
  449.     'Дендробиум густоцветный',
  450.     'Дендробиум Линдли',
  451.     'Цимбидиум мечелистный',
  452.     'Цимбидиум Лоу',
  453.   ];
  454.  
  455.   List<String> searchTermsImage = [
  456.     'https://orhorai.ru/userfiles/menu/3-s81mwuw.jpg',
  457.     'https://luckygreen.ru/wa-data/public/shop/products/08/67/6708/images/16518/16518.750x0.jpg',
  458.     'https://i.pinimg.com/736x/fd/e0/a0/fde0a0a0f10ed09259922deed79b2d0a.jpg',
  459.     'https://www.orchidejos.lt/catalog/180603102249_Orchidejos.jpg',
  460.     'https://i.pinimg.com/736x/8b/76/f1/8b76f15565ec5f395f172de89359a06e.jpg',
  461.     'https://i.pinimg.com/originals/c1/b2/16/c1b21687b03be44ca2792c2cf0d52f22.jpg',
  462.     'https://plantplus.ru/wp-content/uploads/2021/12/Vanda-trjohcvetnaya.jpg',
  463.     'https://static.baza.farpost.ru/v/1502785644978_bulletin',
  464.     'https://avatars.dzeninfra.ru/get-zen_doc/3524431/pub_5ef9bf3e38b2f61a37ede0f5_5ef9bf56353d916ecd55b16c/scale_1200',
  465.     'https://i.pinimg.com/736x/c9/da/4c/c9da4cb7a12a4700b23aa988ec5565c9--exterior-dendrobium-orchids.jpg',
  466.     'https://orhideya20.ru/wp-content/uploads/2020/12/post-507949-0-27276900-1483515686_copy_800x776.jpg',
  467.     'https://i.pinimg.com/736x/a7/43/bc/a743bcdedf800534d966fec0c11f0575.jpg',
  468.     'https://passiflora.ru/image_display.php?image=c5w5z5j4c4z5i5s4y5n2q4k5n4p4p5d4h4h4v5h5h4o5c4o4n22484v2z3s5x594',
  469.     'https://i.pinimg.com/736x/2d/71/be/2d71be2fc6b07dcd9970ead349600cea.jpg',
  470.     'https://i.pinimg.com/736x/d0/3f/6e/d03f6efbc353e7b3eb5bd48c285dbebd--hoa-lan-mystique.jpg',
  471.     'https://chto-posadit.ru/wp-content/uploads/TSimbidium-mechelistnyy-Cymbidium-ensifolium-foto.jpg',
  472.     'https://www.picturethisai.com/image-handle/website_cmsname/image/1080/153756273005821957.jpeg?x-oss-process=image/format,webp',
  473.   ];
  474.  
  475.   List<String> searchTermsSubName = [
  476.     'Phalaenopsis Golden Emperor',
  477.     'Phalaenopsis Golden beauty',
  478.     'Phalaenopsis schilleriana',
  479.     'Phalaenopsis lindenii',
  480.     'Miltonia',
  481.     'Vanda coerulea',
  482.     'Vanda tricolor',
  483.     'Vanda sanderiana',
  484.     'Dendrobium nobile',
  485.     'Dendrobium moniliforme',
  486.     'Dendrobium phalaenopsis',
  487.     'Dendrobium parishii',
  488.     'Dendrobium primulinum',
  489.     'Dendrobium densiflorum',
  490.     'Dendrobium lindleyi',
  491.     'Cymbidium ensifolium',
  492.     'Cymbidium lowianum',
  493.   ];
  494.  
  495.   @override
  496.   Widget buildResults(BuildContext context) {
  497.     List<String> matchQueryName = [];
  498.     List<String> matchQueryImage = [];
  499.     List<String> matchQuerySubName = [];
  500.     int i = 0;
  501.     for (var fruit in searchTermsName) {
  502.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  503.         matchQueryName.add(fruit);
  504.         matchQueryImage.add(searchTermsImage[i]);
  505.         matchQuerySubName.add(searchTermsSubName[i]);
  506.       }
  507.       i++;
  508.     }
  509.     int z = 0;
  510.     for (var fruit in searchTermsSubName) {
  511.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  512.         matchQueryName.add(searchTermsName[z]);
  513.         matchQueryImage.add(searchTermsImage[z]);
  514.         matchQuerySubName.add(searchTermsSubName[z]);
  515.       }
  516.       z++;
  517.     }
  518.     return ListView.builder(
  519.         itemCount: matchQueryName.length,
  520.         itemBuilder: (context, index){
  521.           var name = matchQueryName[index];
  522.           var image = matchQueryImage[index];
  523.           var subName = matchQuerySubName[index];
  524.           return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  525.         }
  526.     );
  527.   }
  528.  
  529.   @override
  530.   Widget buildSuggestions(BuildContext context) {
  531.     List<String> matchQueryName = [];
  532.     List<String> matchQueryImage = [];
  533.     List<String> matchQuerySubName = [];
  534.     int i = 0;
  535.     for (var fruit in searchTermsName) {
  536.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  537.         matchQueryName.add(fruit);
  538.         matchQueryImage.add(searchTermsImage[i]);
  539.         matchQuerySubName.add(searchTermsSubName[i]);
  540.       }
  541.       i++;
  542.     }
  543.     int z = 0;
  544.     for (var fruit in searchTermsSubName) {
  545.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  546.         matchQueryName.add(searchTermsName[z]);
  547.         matchQueryImage.add(searchTermsImage[z]);
  548.         matchQuerySubName.add(searchTermsSubName[z]);
  549.       }
  550.       z++;
  551.     }
  552.     return ListView.builder(
  553.       itemBuilder: (context, index){
  554.         var name = matchQueryName[index];
  555.         var image = matchQueryImage[index];
  556.         var subName = matchQuerySubName[index];
  557.         return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  558.       },
  559.       itemCount: query == '' ? matchQueryName.length ~/ 2 : matchQueryName.length,
  560.     );
  561.   }
  562. }
  563.  
  564. class CustomSearchDelegatePalmTrees extends SearchDelegate {
  565.  
  566.   @override
  567.   List<Widget> buildActions(BuildContext context) {
  568.     return [
  569.       IconButton(
  570.           onPressed: (){
  571.             query = '';
  572.           },
  573.           icon: const Icon(Icons.clear))
  574.     ];
  575.   }
  576.  
  577.   @override
  578.   Widget buildLeading(BuildContext context) {
  579.     return IconButton(
  580.         onPressed: (){
  581.           close(context, null);
  582.         },
  583.         icon: const Icon(Icons.arrow_back)
  584.     );
  585.   }
  586.  
  587.   List<String> searchTermsName = [
  588.     'Хвост пони',
  589.     'Хамедорея изящная',
  590.     'Саговая пальма',
  591.     'Хамедорея Сейфризи',
  592.     'Арека катеху',
  593.     'Ливистона китайская',
  594.   ];
  595.  
  596.   List<String> searchTermsImage = [
  597.     'https://www.ikea.com/ca/en/images/products/beaucarnea-recurvata-potted-plant-elephants-foot__0121090_pe277872_s5.jpg',
  598.     'https://topplant.ru/assets/images/products/2263/khamedoreya-izyashchnaya-elegans-4chelbu21.jpg',
  599.     'https://fikus-market.ru/upload/iblock/941/ws5u3o3xjo19ce4wbhk3j82fe51sbq10.jpg',
  600.     'https://pandp.ru/image/cache/catalog/pandp/nieuwkoop/potplants/hires/7/oop-europe-com-images-4CHSEBU33-800x800.png',
  601.     'https://flowwill.ru/wp-content/uploads/d/2/1/d21ae1ea807634f1e6a4c8679ec80f24.jpeg',
  602.     'https://i.etsystatic.com/9817393/r/il/789dc4/1495425571/il_794xN.1495425571_d5ru.jpg',
  603.   ];
  604.  
  605.   List<String> searchTermsSubName = [
  606.     'Beaucarnea recurvata',
  607.     'Chamaedorea elegans',
  608.     'Cycas revoluta',
  609.     'Chamaedorea seifrizii',
  610.     'Areca catechu',
  611.     'Livistona chinensis',
  612.   ];
  613.  
  614.   @override
  615.   Widget buildResults(BuildContext context) {
  616.     List<String> matchQueryName = [];
  617.     List<String> matchQueryImage = [];
  618.     List<String> matchQuerySubName = [];
  619.     int i = 0;
  620.     for (var fruit in searchTermsName) {
  621.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  622.         matchQueryName.add(fruit);
  623.         matchQueryImage.add(searchTermsImage[i]);
  624.         matchQuerySubName.add(searchTermsSubName[i]);
  625.       }
  626.       i++;
  627.     }
  628.     int z = 0;
  629.     for (var fruit in searchTermsSubName) {
  630.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  631.         matchQueryName.add(searchTermsName[z]);
  632.         matchQueryImage.add(searchTermsImage[z]);
  633.         matchQuerySubName.add(searchTermsSubName[z]);
  634.       }
  635.       z++;
  636.     }
  637.     return ListView.builder(
  638.         itemCount: matchQueryName.length,
  639.         itemBuilder: (context, index){
  640.           var name = matchQueryName[index];
  641.           var image = matchQueryImage[index];
  642.           var subName = matchQuerySubName[index];
  643.           return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  644.         }
  645.     );
  646.   }
  647.  
  648.   @override
  649.   Widget buildSuggestions(BuildContext context) {
  650.     List<String> matchQueryName = [];
  651.     List<String> matchQueryImage = [];
  652.     List<String> matchQuerySubName = [];
  653.     int i = 0;
  654.     for (var fruit in searchTermsName) {
  655.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  656.         matchQueryName.add(fruit);
  657.         matchQueryImage.add(searchTermsImage[i]);
  658.         matchQuerySubName.add(searchTermsSubName[i]);
  659.       }
  660.       i++;
  661.     }
  662.     int z = 0;
  663.     for (var fruit in searchTermsSubName) {
  664.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  665.         matchQueryName.add(searchTermsName[z]);
  666.         matchQueryImage.add(searchTermsImage[z]);
  667.         matchQuerySubName.add(searchTermsSubName[z]);
  668.       }
  669.       z++;
  670.     }
  671.     return ListView.builder(
  672.       itemBuilder: (context, index){
  673.         var name = matchQueryName[index];
  674.         var image = matchQueryImage[index];
  675.         var subName = matchQuerySubName[index];
  676.         return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  677.       },
  678.       itemCount: query == '' ? matchQueryName.length ~/ 2 : matchQueryName.length,
  679.     );
  680.   }
  681. }
  682.  
  683. class CustomSearchDelegateFlowering extends SearchDelegate {
  684.  
  685.   @override
  686.   List<Widget> buildActions(BuildContext context) {
  687.     return [
  688.       IconButton(
  689.           onPressed: (){
  690.             query = '';
  691.           },
  692.           icon: const Icon(Icons.clear))
  693.     ];
  694.   }
  695.  
  696.   @override
  697.   Widget buildLeading(BuildContext context) {
  698.     return IconButton(
  699.         onPressed: (){
  700.           close(context, null);
  701.         },
  702.         icon: const Icon(Icons.arrow_back)
  703.     );
  704.   }
  705.  
  706.   List<String> searchTermsName = [
  707.     'Узамбарская фиалка',
  708.     'Антуриум Шерцера',
  709.     'Бегония клубневая',
  710.     'Пентас ланцетный',
  711.     'Гиппеаструм',
  712.     'Абутилон',
  713.     'Рододендрон',
  714.     'Мандевилла Сандера',
  715.     'Акалифа',
  716.     'Фаленопсис Золотой Император',
  717.     'Фаленопсис Голден Бьюти',
  718.     'Фаленопсис Шиллера',
  719.     'Фаленопсис Линдени',
  720.   ];
  721.  
  722.   List<String> searchTermsImage = [
  723.     'https://i.pinimg.com/736x/f7/27/5c/f7275c72bfa5f3e8fa1118c0dcfdaaaa.jpg',
  724.     'https://cdn0.youla.io/files/images/780_780/63/58/63583fe06d867359372021a7-1.jpg',
  725.     'https://www.plantarium.ru/dat/plants/2/232/174232_4d358b3a.jpg',
  726.     'https://www.outsidepride.com/images/products/detail/gardenflower/pentaspink2.jpg',
  727.     'https://cdn0.youla.io/files/images/780_780/63/01/630102d541399215aa5c8bce-1.jpg',
  728.     'https://www.kipogeorgiki.gr/image/cache/data/FytKallopistika/AboutPictum/11.-Abutilon-pictum-or-striatum-1500x1500.jpg',
  729.     'https://c.pxhere.com/photos/97/a1/rhododendron_flowers_inflorescence_red_heather_green_ericaceae_bush-1089563.jpg!d',
  730.     'https://i.pinimg.com/736x/a6/39/7b/a6397b391bcd2fec39c22e02ad46d12c.jpg',
  731.     'https://www.thompson-morgan.com/product_images/100/acal.jpg',
  732.     'https://orhorai.ru/userfiles/menu/3-s81mwuw.jpg',
  733.     'https://luckygreen.ru/wa-data/public/shop/products/08/67/6708/images/16518/16518.750x0.jpg',
  734.     'https://i.pinimg.com/736x/fd/e0/a0/fde0a0a0f10ed09259922deed79b2d0a.jpg',
  735.     'https://www.orchidejos.lt/catalog/180603102249_Orchidejos.jpg'
  736.   ];
  737.  
  738.   List<String> searchTermsSubName = [
  739.     'Saintpaulia ionantha',
  740.     'Anthurium scherzerianum',
  741.     'Begonia tuberhybrida',
  742.     'Pentas lanceolata',
  743.     'Hippeastrum',
  744.     'Abutilon',
  745.     'Rhododendron',
  746.     'Mandevilla sanderi',
  747.     'Acalypha',
  748.     'Phalaenopsis "Golden Emperor"',
  749.     'Phalaenopsis "Golden beauty"',
  750.     'Phalaenopsis schilleriana',
  751.     'Phalaenopsis lindenii'
  752.   ];
  753.  
  754.   @override
  755.   Widget buildResults(BuildContext context) {
  756.     List<String> matchQueryName = [];
  757.     List<String> matchQueryImage = [];
  758.     List<String> matchQuerySubName = [];
  759.     int i = 0;
  760.     for (var fruit in searchTermsName) {
  761.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  762.         matchQueryName.add(fruit);
  763.         matchQueryImage.add(searchTermsImage[i]);
  764.         matchQuerySubName.add(searchTermsSubName[i]);
  765.       }
  766.       i++;
  767.     }
  768.     int z = 0;
  769.     for (var fruit in searchTermsSubName) {
  770.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  771.         matchQueryName.add(searchTermsName[z]);
  772.         matchQueryImage.add(searchTermsImage[z]);
  773.         matchQuerySubName.add(searchTermsSubName[z]);
  774.       }
  775.       z++;
  776.     }
  777.     return ListView.builder(
  778.         itemCount: matchQueryName.length,
  779.         itemBuilder: (context, index){
  780.           var name = matchQueryName[index];
  781.           var image = matchQueryImage[index];
  782.           var subName = matchQuerySubName[index];
  783.           return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  784.         }
  785.     );
  786.   }
  787.  
  788.   @override
  789.   Widget buildSuggestions(BuildContext context) {
  790.     List<String> matchQueryName = [];
  791.     List<String> matchQueryImage = [];
  792.     List<String> matchQuerySubName = [];
  793.     int i = 0;
  794.     for (var fruit in searchTermsName) {
  795.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  796.         matchQueryName.add(fruit);
  797.         matchQueryImage.add(searchTermsImage[i]);
  798.         matchQuerySubName.add(searchTermsSubName[i]);
  799.       }
  800.       i++;
  801.     }
  802.     int z = 0;
  803.     for (var fruit in searchTermsSubName) {
  804.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  805.         matchQueryName.add(searchTermsName[z]);
  806.         matchQueryImage.add(searchTermsImage[z]);
  807.         matchQuerySubName.add(searchTermsSubName[z]);
  808.       }
  809.       z++;
  810.     }
  811.     return ListView.builder(
  812.       itemBuilder: (context, index){
  813.         var name = matchQueryName[index];
  814.         var image = matchQueryImage[index];
  815.         var subName = matchQuerySubName[index];
  816.         return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  817.       },
  818.       itemCount: query == '' ? matchQueryName.length ~/ 2 : matchQueryName.length,
  819.     );
  820.   }
  821. }
  822.  
  823. class CustomSearchDelegateBonsai extends SearchDelegate {
  824.  
  825.   @override
  826.   List<Widget> buildActions(BuildContext context) {
  827.     return [
  828.       IconButton(
  829.           onPressed: (){
  830.             query = '';
  831.           },
  832.           icon: const Icon(Icons.clear))
  833.     ];
  834.   }
  835.  
  836.   @override
  837.   Widget buildLeading(BuildContext context) {
  838.     return IconButton(
  839.         onPressed: (){
  840.           close(context, null);
  841.         },
  842.         icon: const Icon(Icons.arrow_back)
  843.     );
  844.   }
  845.  
  846.   List<String> searchTermsName = [
  847.     'Зантоксилум',
  848.     'Олива европейская',
  849.     'Фикус микрокарпа',
  850.     'Эреция мелколистная',
  851.     'Бересклет японский',
  852.     'Сизигиум метельчатый',
  853.   ];
  854.  
  855.   List<String> searchTermsImage = [
  856.     'https://static.tildacdn.com/tild3964-3635-4030-b230-376364343336/345.jpg',
  857.     'https://img.goodfon.ru/original/2048x2048/c/eb/derevo-zelen-olivki-listya.jpg',
  858.     'https://moitsvery.ru/wp-content/uploads/2022/09/fikus-mikrokarpa-15.jpeg',
  859.     'https://www.picturethisai.com/image-handle/website_cmsname/image/1080/219467305502408704.jpeg?x-oss-process=image/format,webp',
  860.     'https://shop.plantship.ru/wp-content/uploads/2023/07/euonymus-japonicus-microphyllus.jpg',
  861.     'https://www.monaconatureencyclopedia.com/wp-content/uploads/2008/08/jpg_Il_Syzygium_paniculatum_e_un_sempreverde_australiano_con_frutti_commestibili_e_decorativi_c_Giuseppe_Mazza.jpg',
  862.   ];
  863.  
  864.   List<String> searchTermsSubName = [
  865.     'Zanthoxylum',
  866.     'Olea europaea',
  867.     'Ficus Microcarpa',
  868.     'Ehretia microphylla',
  869.     'Euonymus japonicus',
  870.     'Syzygium paniculatum',
  871.   ];
  872.  
  873.   @override
  874.   Widget buildResults(BuildContext context) {
  875.     List<String> matchQueryName = [];
  876.     List<String> matchQueryImage = [];
  877.     List<String> matchQuerySubName = [];
  878.     int i = 0;
  879.     for (var fruit in searchTermsName) {
  880.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  881.         matchQueryName.add(fruit);
  882.         matchQueryImage.add(searchTermsImage[i]);
  883.         matchQuerySubName.add(searchTermsSubName[i]);
  884.       }
  885.       i++;
  886.     }
  887.     int z = 0;
  888.     for (var fruit in searchTermsSubName) {
  889.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  890.         matchQueryName.add(searchTermsName[z]);
  891.         matchQueryImage.add(searchTermsImage[z]);
  892.         matchQuerySubName.add(searchTermsSubName[z]);
  893.       }
  894.       z++;
  895.     }
  896.     return ListView.builder(
  897.         itemCount: matchQueryName.length,
  898.         itemBuilder: (context, index){
  899.           var name = matchQueryName[index];
  900.           var image = matchQueryImage[index];
  901.           var subName = matchQuerySubName[index];
  902.           return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  903.         }
  904.     );
  905.   }
  906.  
  907.   @override
  908.   Widget buildSuggestions(BuildContext context) {
  909.     List<String> matchQueryName = [];
  910.     List<String> matchQueryImage = [];
  911.     List<String> matchQuerySubName = [];
  912.     int i = 0;
  913.     for (var fruit in searchTermsName) {
  914.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  915.         matchQueryName.add(fruit);
  916.         matchQueryImage.add(searchTermsImage[i]);
  917.         matchQuerySubName.add(searchTermsSubName[i]);
  918.       }
  919.       i++;
  920.     }
  921.     int z = 0;
  922.     for (var fruit in searchTermsSubName) {
  923.       if (fruit.toLowerCase().contains(query.toLowerCase())){
  924.         matchQueryName.add(searchTermsName[z]);
  925.         matchQueryImage.add(searchTermsImage[z]);
  926.         matchQuerySubName.add(searchTermsSubName[z]);
  927.       }
  928.       z++;
  929.     }
  930.     return ListView.builder(
  931.       itemBuilder: (context, index){
  932.         var name = matchQueryName[index];
  933.         var image = matchQueryImage[index];
  934.         var subName = matchQuerySubName[index];
  935.         return elements(ElementName: name, ElementSubName: subName, ElementImage: image);
  936.       },
  937.       itemCount: query == '' ? matchQueryName.length ~/ 2 : matchQueryName.length,
  938.     );
  939.   }
  940. }
  941.  
  942. class element extends StatelessWidget {
  943.   final String ElementImage;
  944.   final String ElementName;
  945.   final String ElementSubName;
  946.  
  947.   const element({super.key, required this.ElementImage, required this.ElementName, required this.ElementSubName});
  948.  
  949.   @override
  950.   Widget build(BuildContext context) {
  951.     return InkWell(
  952.         onTap: (){
  953.           if (ElementName == 'Сизигиум метельчатый') {
  954.             Navigator.push(context,
  955.                 MaterialPageRoute(builder: (context) => syzygiumPaniculatum()));
  956.           };
  957.           if (ElementName == 'Адиантум венерин волос') {
  958.             Navigator.push(context,
  959.                 MaterialPageRoute(builder: (context) => adiantumCapillusVeneris()));
  960.           };
  961.           if (ElementName == 'Адиантум хвостатый') {
  962.             Navigator.push(context,
  963.                 MaterialPageRoute(builder: (context) => adiantumCaudatum()));
  964.           };
  965.           if (ElementName == 'Адиантум стоповидный') {
  966.             Navigator.push(context,
  967.                 MaterialPageRoute(builder: (context) => adiantumPedatum()));
  968.           };
  969.           if (ElementName == 'Птерис критский') {
  970.             Navigator.push(context,
  971.                 MaterialPageRoute(builder: (context) => pterisCretica()));
  972.           };
  973.           if (ElementName == 'Птерис мечевидный') {
  974.             Navigator.push(context,
  975.                 MaterialPageRoute(builder: (context) => pterisEchinatus()));
  976.           };
  977.           if (ElementName == 'Блехнум') {
  978.             Navigator.push(context,
  979.                 MaterialPageRoute(builder: (context) => blechnum()));
  980.           };
  981.           if (ElementName == 'Нефролепис сердцелистный') {
  982.             Navigator.push(context,
  983.                 MaterialPageRoute(builder: (context) => nephrolepisExaltata()));
  984.           };
  985.           if (ElementName == 'Нефролепис мечевидный') {
  986.             Navigator.push(context,
  987.                 MaterialPageRoute(builder: (context) => nephrolepisCordifolia()));
  988.           };
  989.           if (ElementName == 'Нефролепис возвышенный') {
  990.             Navigator.push(context,
  991.                 MaterialPageRoute(builder: (context) => nephrolepisSuperior()));
  992.           };
  993.           if (ElementName == 'Асплениум гнездовой') {
  994.             Navigator.push(context,
  995.                 MaterialPageRoute(builder: (context) => aspleniumNidus()));
  996.           };
  997.           if (ElementName == 'Асплениум луковиценосный') {
  998.             Navigator.push(context,
  999.                 MaterialPageRoute(builder: (context) => aspleniumBulbiferum()));
  1000.           };
  1001.           if (ElementName == 'Асплениум живородящий') {
  1002.             Navigator.push(context,
  1003.                 MaterialPageRoute(builder: (context) => aspleniumViviparum()));
  1004.           };
  1005.           if (ElementName == 'Асплениум двуформенный') {
  1006.             Navigator.push(context,
  1007.                 MaterialPageRoute(builder: (context) => aspleniumDualiforme()));
  1008.           };
  1009.           if (ElementName == 'Циртомиум серповидный') {
  1010.             Navigator.push(context,
  1011.                 MaterialPageRoute(builder: (context) => cyrtomiumFalcatum()));
  1012.           };
  1013.           if (ElementName == 'Даваллия канарская') {
  1014.             Navigator.push(context,
  1015.                 MaterialPageRoute(builder: (context) => davalliaCanariensis()));
  1016.           };
  1017.           if (ElementName == 'Даваллия рассечённая') {
  1018.             Navigator.push(context,
  1019.                 MaterialPageRoute(builder: (context) => davalliaDivaricata()));
  1020.           };
  1021.           if (ElementName == 'Померанец') {
  1022.             Navigator.push(context,
  1023.                 MaterialPageRoute(builder: (context) => citrusAurantium()));
  1024.           };
  1025.           if (ElementName == 'Лайм') {
  1026.             Navigator.push(context,
  1027.                 MaterialPageRoute(builder: (context) => citrusAurantiifolia()));
  1028.           };
  1029.           if (ElementName == 'Лимон') {
  1030.             Navigator.push(context,
  1031.                 MaterialPageRoute(builder: (context) => citrusLimon()));
  1032.           };
  1033.           if (ElementName == 'Мандарин') {
  1034.             Navigator.push(context,
  1035.                 MaterialPageRoute(builder: (context) => citrusReticulata()));
  1036.           };
  1037.           if (ElementName == 'Банан райский') {
  1038.             Navigator.push(context,
  1039.                 MaterialPageRoute(builder: (context) => musaParadisiaca()));
  1040.           };
  1041.           if (ElementName == 'Гранат обыкновенный') {
  1042.             Navigator.push(context,
  1043.                 MaterialPageRoute(builder: (context) => punicaGranatum()));
  1044.           };
  1045.           if (ElementName == 'Олива европейская') {
  1046.             Navigator.push(context,
  1047.                 MaterialPageRoute(builder: (context) => oleaEuropaea()));
  1048.           };
  1049.           if (ElementName == 'Абрикос обыкновенный') {
  1050.             Navigator.push(context,
  1051.                 MaterialPageRoute(builder: (context) => prunusArmeniaca()));
  1052.           };
  1053.           if (ElementName == 'Авокадо') {
  1054.             Navigator.push(context,
  1055.                 MaterialPageRoute(builder: (context) => perseaAmericana()));
  1056.           };
  1057.           if (ElementName == 'Физалис обыкновенный') {
  1058.             Navigator.push(context,
  1059.                 MaterialPageRoute(builder: (context) => physalisPeruviana()));
  1060.           };
  1061.           if (ElementName == 'Фаленопсис Золотой Император') {
  1062.             Navigator.push(context, MaterialPageRoute(builder: (context) => phalaenopsisGoldenEmperor()));
  1063.           };
  1064.           if (ElementName == 'Фаленопсис Голден Бьюти') {
  1065.             Navigator.push(context, MaterialPageRoute(builder: (context) => phalaenopsisGoldenBeauty()));
  1066.           };
  1067.           if (ElementName == 'Фаленопсис Шиллера') {
  1068.             Navigator.push(context, MaterialPageRoute(builder: (context) => phalaenopsisSchilleriana()));
  1069.           };
  1070.           if (ElementName == 'Фаленопсис Линдени') {
  1071.             Navigator.push(context, MaterialPageRoute(builder: (context) => phalaenopsisLindenii()));
  1072.           };
  1073.           if (ElementName == 'Мильтония') {
  1074.             Navigator.push(context, MaterialPageRoute(builder: (context) => miltonia()));
  1075.           };
  1076.           if (ElementName == 'Ванда голубая') {
  1077.             Navigator.push(context, MaterialPageRoute(builder: (context) => vandaCoerulea()));
  1078.           };
  1079.           if (ElementName == 'Ванда трёхцветная') {
  1080.             Navigator.push(context, MaterialPageRoute(builder: (context) => vandaTricolor()));
  1081.           };
  1082.           if (ElementName == 'Ванда сандериана') {
  1083.             Navigator.push(context, MaterialPageRoute(builder: (context) => vandaSanderiana()));
  1084.           };
  1085.           if (ElementName == 'Дендробиум благородный') {
  1086.             Navigator.push(context, MaterialPageRoute(builder: (context) => dendrobiumNobile()));
  1087.           };
  1088.           if (ElementName == 'Дендробиум монилоформе') {
  1089.             Navigator.push(context, MaterialPageRoute(builder: (context) => dendrobiumMoniliforme()));
  1090.           };
  1091.           if (ElementName == 'Дендробиум фаленопсис') {
  1092.             Navigator.push(context, MaterialPageRoute(builder: (context) => dendrobiumPhalaenopsis()));
  1093.           };
  1094.           if (ElementName == 'Дендробиум Париша') {
  1095.             Navigator.push(context, MaterialPageRoute(builder: (context) => dendrobiumParishii()));
  1096.           };
  1097.           if (ElementName == 'Дендробиум первоцветный') {
  1098.             Navigator.push(context, MaterialPageRoute(builder: (context) => dendrobiumPrimulinum()));
  1099.           };
  1100.           if (ElementName == 'Дендробиум густоцветный') {
  1101.             Navigator.push(context, MaterialPageRoute(builder: (context) => dendrobiumDensiflorum()));
  1102.           };
  1103.           if (ElementName == 'Дендробиум Линдли') {
  1104.             Navigator.push(context, MaterialPageRoute(builder: (context) => dendrobiumLindleyi()));
  1105.           };
  1106.           if (ElementName == 'Цимбидиум мечелистный') {
  1107.             Navigator.push(context, MaterialPageRoute(builder: (context) => cymbidiumEnsifolium()));
  1108.           };
  1109.           if (ElementName == 'Цимбидиум Лоу') {
  1110.             Navigator.push(context, MaterialPageRoute(builder: (context) => cymbidiumLowianum()));
  1111.           };
  1112.           if (ElementName == 'Эпипремнум золотистый') {
  1113.             Navigator.push(context, MaterialPageRoute(builder: (context) => epipremnumAureum()));
  1114.           };
  1115.           if (ElementName == 'Филодендрон лазящий') {
  1116.             Navigator.push(context, MaterialPageRoute(builder: (context) => philodendronHederaceum()));
  1117.           };
  1118.           if (ElementName == 'Плющ обыкновенный') {
  1119.             Navigator.push(context, MaterialPageRoute(builder: (context) => hederaHelix()));
  1120.           };
  1121.           if (ElementName == 'Хойя карноза') {
  1122.             Navigator.push(context, MaterialPageRoute(builder: (context) => hoyaCarnosa()));
  1123.           };
  1124.           if (ElementName == 'Ипомея пурпурная') {
  1125.             Navigator.push(context, MaterialPageRoute(builder: (context) => ipomoeaPurpurea()));
  1126.           };
  1127.           if (ElementName == 'Клеродендрум Томпсона') {
  1128.             Navigator.push(context, MaterialPageRoute(builder: (context) => clerodendrumThomsoniae()));
  1129.           };
  1130.           if (ElementName == 'Пассифлора голубая') {
  1131.             Navigator.push(context, MaterialPageRoute(builder: (context) => passifloraCaerulea()));
  1132.           };
  1133.           if (ElementName == 'Пассифлора инкарната') {
  1134.             Navigator.push(context, MaterialPageRoute(builder: (context) => passifloraIncarnata()));
  1135.           };
  1136.           if (ElementName == 'Хвост пони') {
  1137.             Navigator.push(context, MaterialPageRoute(builder: (context) => beaucarneaRecurvata()));
  1138.           };
  1139.           if (ElementName == 'Хамедорея изящная') {
  1140.             Navigator.push(context, MaterialPageRoute(builder: (context) => chamaedoreaElegans()));
  1141.           };
  1142.           if (ElementName == 'Саговая пальма') {
  1143.             Navigator.push(context, MaterialPageRoute(builder: (context) => cycasRevoluta()));
  1144.           };
  1145.           if (ElementName == 'Хамедорея Сейфризи') {
  1146.             Navigator.push(context, MaterialPageRoute(builder: (context) => chamaedoreaSeifrizii()));
  1147.           };
  1148.           if (ElementName == 'Арека катеху') {
  1149.             Navigator.push(context, MaterialPageRoute(builder: (context) => arecaCatechu()));
  1150.           };
  1151.           if (ElementName == 'Ливистона китайская') {
  1152.             Navigator.push(context, MaterialPageRoute(builder: (context) => livistonaChinensis()));
  1153.           };
  1154.           if (ElementName == 'Узамбарская фиалка') {
  1155.             Navigator.push(context, MaterialPageRoute(builder: (context) => saintpauliaIonantha()));
  1156.           };
  1157.           if (ElementName == 'Антуриум Шерцера') {
  1158.             Navigator.push(context, MaterialPageRoute(builder: (context) => anthuriumScherzerianum()));
  1159.           };
  1160.           if (ElementName == 'Бегония клубневая') {
  1161.             Navigator.push(context, MaterialPageRoute(builder: (context) => begoniaTuberhybrida()));
  1162.           };
  1163.           if (ElementName == 'Пентас ланцетный') {
  1164.             Navigator.push(context, MaterialPageRoute(builder: (context) => pentasLanceolata()));
  1165.           };
  1166.           if (ElementName == 'Гиппеаструм') {
  1167.             Navigator.push(context, MaterialPageRoute(builder: (context) => hippeastrum()));
  1168.           };
  1169.           if (ElementName == 'Абутилон') {
  1170.             Navigator.push(context, MaterialPageRoute(builder: (context) => abutilon()));
  1171.           };
  1172.           if (ElementName == 'Рододендрон') {
  1173.             Navigator.push(context, MaterialPageRoute(builder: (context) => rhododendron()));
  1174.           };
  1175.           if (ElementName == 'Мандевилла Сандера') {
  1176.             Navigator.push(context, MaterialPageRoute(builder: (context) => mandevillaSanderi()));
  1177.           };
  1178.           if (ElementName == 'Акалифа') {
  1179.             Navigator.push(context, MaterialPageRoute(builder: (context) => acalypha()));
  1180.           };
  1181.           if (ElementName == 'Зантоксилум') {
  1182.             Navigator.push(context, MaterialPageRoute(builder: (context) => zanthoxylum()));
  1183.           };
  1184.           if (ElementName == 'Фикус микрокарпа') {
  1185.             Navigator.push(context, MaterialPageRoute(builder: (context) => ficusMicrocarpa()));
  1186.           };
  1187.           if (ElementName == 'Эреция мелколистная') {
  1188.             Navigator.push(context, MaterialPageRoute(builder: (context) => ehretiaMicrophylla()));
  1189.           };
  1190.           if (ElementName == 'Бересклет японский') {
  1191.             Navigator.push(context, MaterialPageRoute(builder: (context) => euonymusJaponicus()));
  1192.           };
  1193.           if (ElementName == 'Сигизиум метельчатый') {
  1194.             Navigator.push(context, MaterialPageRoute(builder: (context) => syzygiumPaniculatum()));
  1195.           };
  1196.  
  1197.         },
  1198.         child: Container(
  1199.           color: Colors.white,
  1200.           width: double.infinity,
  1201.           height: MediaQuery.of(context).size.width * 0.23 + 20,
  1202.           child: Row(
  1203.             mainAxisAlignment: MainAxisAlignment.start,
  1204.             children: [
  1205.               const Padding(padding: EdgeInsets.only(left: 10)),
  1206.               Column(
  1207.                 mainAxisAlignment: MainAxisAlignment.center,
  1208.                 crossAxisAlignment: CrossAxisAlignment.center,
  1209.                 children: [
  1210.                   Container(
  1211.                     width: MediaQuery.of(context).size.width * 0.23,
  1212.                     height: MediaQuery.of(context).size.width * 0.23,
  1213.                     child: kartinka(ElementImage: ElementImage),
  1214.                   )
  1215.                 ],
  1216.               ),
  1217.               const Padding(padding: EdgeInsets.only(left: 10)),
  1218.               Flexible(
  1219.                 child: Container(
  1220.                   width: MediaQuery.of(context).size.width * 0.62,
  1221.                   child: Column(
  1222.                     mainAxisAlignment: MainAxisAlignment.center,
  1223.                     crossAxisAlignment: CrossAxisAlignment.start,
  1224.                     children: [
  1225.                       Text(ElementName, style: const TextStyle(fontSize: 18)),
  1226.                       Text(ElementSubName, style: const TextStyle(color: Colors.grey, fontSize: 16),)
  1227.                     ],
  1228.                   ),
  1229.                 ),
  1230.               ),
  1231.               const Column(
  1232.                 mainAxisAlignment: MainAxisAlignment.center,
  1233.                 children: [
  1234.                   Icon(Icons.chevron_right)
  1235.                 ],
  1236.               )
  1237.             ],
  1238.           ),
  1239.         )
  1240.     );
  1241.   }
  1242. }
  1243.  
  1244. class elements extends StatelessWidget {
  1245.   final String ElementImage;
  1246.   final String ElementName;
  1247.   final String ElementSubName;
  1248.   const elements({super.key, required this.ElementName, required this.ElementSubName, required this.ElementImage,});
  1249.  
  1250.   @override
  1251.   Widget build(BuildContext context) {
  1252.     return Column(
  1253.       children: [
  1254.         element(ElementImage: ElementImage, ElementName: ElementName, ElementSubName: ElementSubName,),
  1255.         Container(width: MediaQuery.of(context).size.width * 0.8, height: 1, color: Colors.grey[300],),
  1256.       ],
  1257.     );
  1258.   }
  1259. }
  1260.  
  1261. class kartinka extends StatelessWidget {
  1262.   final String ElementImage;
  1263.   const kartinka({super.key, required this.ElementImage});
  1264.  
  1265.   @override
  1266.   Widget build(BuildContext context) {
  1267.     return ClipRRect(
  1268.         borderRadius: BorderRadius.circular(16),
  1269.         child: SizedBox.fromSize(
  1270.             size: const Size.fromRadius(16),
  1271.             child: ElementImage[0] != 'h' ? Image.asset(ElementImage, fit: BoxFit.fitWidth) : Image.network(ElementImage, fit: BoxFit.fitWidth)
  1272.         )
  1273.     );
  1274.   }
  1275. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement