Showing
25 changed files
with
106 additions
and
12 deletions
1 | +## [4.5.0] - Big Update | ||
2 | +To have a context-free, page-agnostic snackbar, we used OverlayRoute to display a partial route. | ||
3 | +However this had several problems: | ||
4 | + | ||
5 | +1: There was no possibility to close the page without closing the snackbar | ||
6 | +2: Get.back() could cause problems with tests of Get.isSnackbarOpen not being properly invoked | ||
7 | +3: Sometimes when using iOS popGesture with an open snackbar, some visual inconsistency might appear. | ||
8 | +4: When going to another route, the snackbar was not displayed on the new page, and if the user clicked on the new route as soon as he received a Snackbar, he could not read it. | ||
9 | + | ||
10 | +We remade the Snackbar from scratch, having its Api based on Overlay, and now opening a Snackbar won't be tied to a route, you can normally navigate routes while a Snackbar is shown at the top (or bottom), and even the PopGesture of the iOS is not influenced by it. | ||
11 | + | ||
12 | +Using Get.back() is handy, it's a small command, which closes routes, dialogs, snackbars, bottomsheets, etc, however Getx 5 will prioritize code safety, and splitting will reduce the check code as well. Currently we have to check if a snackbar is open, to close the snackbar and prevent the app from going back a page, all this boilerplate code will be removed, at the cost of having what it closes in front of Get.back command. | ||
13 | + | ||
14 | +For backwards compatibility, Get.back() still works for closing routes and overlays, however two new commands have been added: Get.closeCurrentSnackbar() and Get.closeAllSnackbars(). | ||
15 | +Maybe we will have a clearer api in GetX 5, and maybe Get.back() will continue to do everything like it does today. The community will be consulted about the desired api. However version 5 will definitely have commands like: Get.closeCurrentSnackbar, Get.closeCurrentDialog etc. There is also the possibility to close a specific snackbar using the return of Get.snackbar, which will no longer return a void, and now return a SnackbarController. | ||
16 | + | ||
17 | +Snackbars now also have a Queue, and no longer stack one on top of the other, preventing viewing. GetX now has flexible, customizable, route-independent, and completely stable Snackbars. | ||
18 | + | ||
19 | +Fixed bugs where the snackbar showed an error in debug mode for a fraction of a second. We found that Flutter has a bug with blur below 0.001, so we set the minimum overlayBlur value to this value if it is ==true. | ||
20 | + | ||
21 | +Errors with internationalization were also fixed, where if you are in UK, and the app had the en_US language, you didn't have American English by default. Now, if the country code is not present, it will automatically fetch the language code before fetching a fallbackLanguage. | ||
22 | + | ||
23 | +Update locale also now returns a Future, allowing you to perform an action only when the language has already changed (@MHosssam) | ||
24 | + | ||
25 | +We are very happy to announce that GetX is now documented in Japanese as well, thanks to (@toshi-kuji) | ||
26 | + | ||
27 | +GetX has always been focused on transparency. You can tell what's going on with your app just by reading the logs on the console. However, these logs shouldn't appear in production, so it now only appears in debug mode (@maxzod) | ||
28 | + | ||
29 | +@maxzod has also started translating the docs into Arabic, we hope the documentation will be complete soon. | ||
30 | + | ||
31 | +Some remaining package logs have been moved to Get.log (@gairick-saha) | ||
32 | + | ||
33 | +RxList.removeWhere received performance optimizations (@zuvola) | ||
34 | + | ||
35 | +Optimizations in GetConnect and added the ability to modify all request items in GetConnect (@rodrigorahman) | ||
36 | + | ||
37 | +The current route could be inconsistent if a dialog were opened after a transition, fixed by @xiangzy1 | ||
38 | + | ||
39 | +Fixed try/catch case missed in socket_notifier (@ShookLyngs) | ||
40 | + | ||
41 | +Also we had fixes in the docs: @DeathGun3344 @pinguluk | ||
42 | + | ||
43 | +GetX also surpassed the incredible mark of more than 7000 likes, being the most liked package in all pub.dev, went from 99% to 100% popularity, and has more than 5.3k stars on github. Documentation is now available in 12 languages, and we're happy for all the engagement from your community. | ||
44 | + | ||
45 | +This update is a preparation update for version 5, which will be released later this year. | ||
46 | + | ||
47 | +Breaking and Depreciation: | ||
48 | +GetBar is now deprecated, use GetSnackbar instead. | ||
49 | +dismissDirection now gets a DismissDirection, making the Snackbar more customizable. | ||
50 | + | ||
51 | + | ||
52 | + | ||
53 | + | ||
54 | + | ||
1 | ## [4.3.8] | 55 | ## [4.3.8] |
2 | - Fix nav2 toNamed remove the route | 56 | - Fix nav2 toNamed remove the route |
3 | 57 |
1 |  | 1 |  |
2 | 2 | ||
3 | [](https://pub.dev/packages/get) | 3 | [](https://pub.dev/packages/get) |
4 | +[](https://pub.dev/packages/sentry/score) | ||
4 | [](https://pub.dev/packages/get/score) | 5 | [](https://pub.dev/packages/get/score) |
6 | +[](https://pub.dev/packages/get/score) | ||
5 |  | 7 |  |
6 | [](https://pub.dev/packages/effective_dart) | 8 | [](https://pub.dev/packages/effective_dart) |
7 | [](https://discord.com/invite/9Hpt99N) | 9 | [](https://discord.com/invite/9Hpt99N) |
@@ -3,6 +3,9 @@ | @@ -3,6 +3,9 @@ | ||
3 | *Idiomas: Español (este archivo), [Vietnamita](README-vi.md), [Indonesio](README.id-ID.md), [Urdu](README.ur-PK.md), [Lengua china](README.zh-cn.md), [Inglés](README.md), [Portugués de Brasil](README.pt-br.md), [Ruso](README.ru.md), [Polaco](README.pl.md), [Coreano](README.ko-kr.md), [Francés](README-fr.md).* | 3 | *Idiomas: Español (este archivo), [Vietnamita](README-vi.md), [Indonesio](README.id-ID.md), [Urdu](README.ur-PK.md), [Lengua china](README.zh-cn.md), [Inglés](README.md), [Portugués de Brasil](README.pt-br.md), [Ruso](README.ru.md), [Polaco](README.pl.md), [Coreano](README.ko-kr.md), [Francés](README-fr.md).* |
4 | 4 | ||
5 | [](https://pub.dev/packages/get) | 5 | [](https://pub.dev/packages/get) |
6 | +[](https://pub.dev/packages/sentry/score) | ||
7 | +[](https://pub.dev/packages/get/score) | ||
8 | +[](https://pub.dev/packages/get/score) | ||
6 |  | 9 |  |
7 | [](https://pub.dev/packages/effective_dart) | 10 | [](https://pub.dev/packages/effective_dart) |
8 | [](https://discord.com/invite/9Hpt99N) | 11 | [](https://discord.com/invite/9Hpt99N) |
@@ -3,7 +3,9 @@ | @@ -3,7 +3,9 @@ | ||
3 | **Langues: Français (Ce fichier), [Anglais](README.md), [Vietnamien](README-vi.md), [Indonésien](README.id-ID.md), [Urdu](README.ur-PK.md), [Chinois](README.zh-cn.md), [Portuguais du Brésil](README.pt-br.md), [Espagnol](README-es.md), [Russe](README.ru.md), [Polonais](README.pl.md), [Koréen](README.ko-kr.md).** | 3 | **Langues: Français (Ce fichier), [Anglais](README.md), [Vietnamien](README-vi.md), [Indonésien](README.id-ID.md), [Urdu](README.ur-PK.md), [Chinois](README.zh-cn.md), [Portuguais du Brésil](README.pt-br.md), [Espagnol](README-es.md), [Russe](README.ru.md), [Polonais](README.pl.md), [Koréen](README.ko-kr.md).** |
4 | 4 | ||
5 | [](https://pub.dev/packages/get) | 5 | [](https://pub.dev/packages/get) |
6 | +[](https://pub.dev/packages/sentry/score) | ||
6 | [](https://pub.dev/packages/get/score) | 7 | [](https://pub.dev/packages/get/score) |
8 | +[](https://pub.dev/packages/get/score) | ||
7 |  | 9 |  |
8 | [](https://pub.dev/packages/effective_dart) | 10 | [](https://pub.dev/packages/effective_dart) |
9 | [](https://discord.com/invite/9Hpt99N) | 11 | [](https://discord.com/invite/9Hpt99N) |
@@ -3,7 +3,9 @@ | @@ -3,7 +3,9 @@ | ||
3 | **Ngôn ngữ: Tiếng Việt (file này), [English](README.md), [Indonesian](README.id-ID.md), [Urdu](README.ur-PK.md), [Chinese](README.zh-cn.md), [Brazilian Portuguese](README.pt-br.md), [Spanish](README-es.md), [Russian](README.ru.md), [Polish](README.pl.md), [Korean](README.ko-kr.md), [French](README-fr.md).** | 3 | **Ngôn ngữ: Tiếng Việt (file này), [English](README.md), [Indonesian](README.id-ID.md), [Urdu](README.ur-PK.md), [Chinese](README.zh-cn.md), [Brazilian Portuguese](README.pt-br.md), [Spanish](README-es.md), [Russian](README.ru.md), [Polish](README.pl.md), [Korean](README.ko-kr.md), [French](README-fr.md).** |
4 | 4 | ||
5 | [](https://pub.dev/packages/get) | 5 | [](https://pub.dev/packages/get) |
6 | +[](https://pub.dev/packages/sentry/score) | ||
6 | [](https://pub.dev/packages/get/score) | 7 | [](https://pub.dev/packages/get/score) |
8 | +[](https://pub.dev/packages/get/score) | ||
7 |  | 9 |  |
8 | [](https://pub.dev/packages/effective_dart) | 10 | [](https://pub.dev/packages/effective_dart) |
9 | [](https://discord.com/invite/9Hpt99N) | 11 | [](https://discord.com/invite/9Hpt99N) |
@@ -3,7 +3,9 @@ | @@ -3,7 +3,9 @@ | ||
3 | **Bahasa: Indonesia (file ini), [Inggris](README.md), [Orang Vietnam](README-vi.md), [Urdu](README.ur-PK.md), [China](README.zh-cn.md), [Portugis (Brazil)](README.pt-br.md), [Spanyol](README-es.md), [Russia](README.ru.md), [Polandia](README.pl.md), [Korea](README.ko-kr.md), [French](README-fr.md)** | 3 | **Bahasa: Indonesia (file ini), [Inggris](README.md), [Orang Vietnam](README-vi.md), [Urdu](README.ur-PK.md), [China](README.zh-cn.md), [Portugis (Brazil)](README.pt-br.md), [Spanyol](README-es.md), [Russia](README.ru.md), [Polandia](README.pl.md), [Korea](README.ko-kr.md), [French](README-fr.md)** |
4 | 4 | ||
5 | [](https://pub.dev/packages/get) | 5 | [](https://pub.dev/packages/get) |
6 | +[](https://pub.dev/packages/sentry/score) | ||
6 | [](https://pub.dev/packages/get/score) | 7 | [](https://pub.dev/packages/get/score) |
8 | +[](https://pub.dev/packages/get/score) | ||
7 |  | 9 |  |
8 | [](https://pub.dev/packages/effective_dart) | 10 | [](https://pub.dev/packages/effective_dart) |
9 | [](https://discord.com/invite/9Hpt99N) | 11 | [](https://discord.com/invite/9Hpt99N) |
1 |  | 1 |  |
2 | 2 | ||
3 | [](https://pub.dev/packages/get) | 3 | [](https://pub.dev/packages/get) |
4 | +[](https://pub.dev/packages/sentry/score) | ||
4 | [](https://pub.dev/packages/get/score) | 5 | [](https://pub.dev/packages/get/score) |
6 | +[](https://pub.dev/packages/get/score) | ||
5 |  | 7 |  |
6 | [](https://pub.dev/packages/effective_dart) | 8 | [](https://pub.dev/packages/effective_dart) |
7 | [](https://discord.com/invite/9Hpt99N) | 9 | [](https://discord.com/invite/9Hpt99N) |
1 |  | 1 |  |
2 | 2 | ||
3 | [](https://pub.dev/packages/get) | 3 | [](https://pub.dev/packages/get) |
4 | +[](https://pub.dev/packages/sentry/score) | ||
4 | [](https://pub.dev/packages/get/score) | 5 | [](https://pub.dev/packages/get/score) |
6 | +[](https://pub.dev/packages/get/score) | ||
5 |  | 7 |  |
6 | [](https://pub.dev/packages/effective_dart) | 8 | [](https://pub.dev/packages/effective_dart) |
7 | [](https://discord.com/invite/9Hpt99N) | 9 | [](https://discord.com/invite/9Hpt99N) |
1 |  | 1 |  |
2 | 2 | ||
3 | [](https://pub.dev/packages/get) | 3 | [](https://pub.dev/packages/get) |
4 | +[](https://pub.dev/packages/sentry/score) | ||
4 | [](https://pub.dev/packages/get/score) | 5 | [](https://pub.dev/packages/get/score) |
6 | +[](https://pub.dev/packages/get/score) | ||
5 |  | 7 |  |
6 | [](https://pub.dev/packages/effective_dart) | 8 | [](https://pub.dev/packages/effective_dart) |
7 | [](https://discord.com/invite/9Hpt99N) | 9 | [](https://discord.com/invite/9Hpt99N) |
@@ -3,6 +3,9 @@ | @@ -3,6 +3,9 @@ | ||
3 | *Languages: [English](README.md), [Wietnamski](README-vi.md), [Indonezyjski](README.id-ID.md), [Urdu](README.ur-PK.md), [Język chiński](README.zh-cn.md), [Brazilian Portuguese](README.pt-br.md), [Spanish](README-es.md), [Russian](README.ru.md), Polish (Jesteś tu), [Koreański](README.ko-kr.md), [French](README-fr.md)* | 3 | *Languages: [English](README.md), [Wietnamski](README-vi.md), [Indonezyjski](README.id-ID.md), [Urdu](README.ur-PK.md), [Język chiński](README.zh-cn.md), [Brazilian Portuguese](README.pt-br.md), [Spanish](README-es.md), [Russian](README.ru.md), Polish (Jesteś tu), [Koreański](README.ko-kr.md), [French](README-fr.md)* |
4 | 4 | ||
5 | [](https://pub.dev/packages/get) | 5 | [](https://pub.dev/packages/get) |
6 | +[](https://pub.dev/packages/sentry/score) | ||
7 | +[](https://pub.dev/packages/get/score) | ||
8 | +[](https://pub.dev/packages/get/score) | ||
6 |  | 9 |  |
7 | [](https://pub.dev/packages/effective_dart) | 10 | [](https://pub.dev/packages/effective_dart) |
8 | [](https://discord.com/invite/9Hpt99N) | 11 | [](https://discord.com/invite/9Hpt99N) |
@@ -3,7 +3,9 @@ | @@ -3,7 +3,9 @@ | ||
3 | **Idiomas: [Inglês](README.md), [Vietnamita](README-vi.md), [Indonésia](README.id-ID.md), [Urdu](README.ur-PK.md), [Chinês](README.zh-cn.md), Português (este arquivo), [Espanhol](README-es.md), [Russo](README.ru.md), [Polonês](README.pl.md), [Coreano](README.ko-kr.md), [Francês](README-fr.md)** | 3 | **Idiomas: [Inglês](README.md), [Vietnamita](README-vi.md), [Indonésia](README.id-ID.md), [Urdu](README.ur-PK.md), [Chinês](README.zh-cn.md), Português (este arquivo), [Espanhol](README-es.md), [Russo](README.ru.md), [Polonês](README.pl.md), [Coreano](README.ko-kr.md), [Francês](README-fr.md)** |
4 | 4 | ||
5 | [](https://pub.dev/packages/get) | 5 | [](https://pub.dev/packages/get) |
6 | +[](https://pub.dev/packages/sentry/score) | ||
6 | [](https://pub.dev/packages/get/score) | 7 | [](https://pub.dev/packages/get/score) |
8 | +[](https://pub.dev/packages/get/score) | ||
7 |  | 9 |  |
8 | [](https://pub.dev/packages/effective_dart) | 10 | [](https://pub.dev/packages/effective_dart) |
9 | [](https://discord.com/invite/9Hpt99N) | 11 | [](https://discord.com/invite/9Hpt99N) |
@@ -3,6 +3,9 @@ | @@ -3,6 +3,9 @@ | ||
3 | _Языки: Русский (этот файл), [вьетнамский](README-vi.md), [индонезийский](README.id-ID.md), [урду](README.ur-PK.md), [Английский](README.md), [Китайский](README.zh-cn.md), [Бразильский Португальский](README.pt-br.md), [Испанский](README-es.md), [Польский](README.pl.md), [Kорейский](README.ko-kr.md), [French](README-fr.md)._ | 3 | _Языки: Русский (этот файл), [вьетнамский](README-vi.md), [индонезийский](README.id-ID.md), [урду](README.ur-PK.md), [Английский](README.md), [Китайский](README.zh-cn.md), [Бразильский Португальский](README.pt-br.md), [Испанский](README-es.md), [Польский](README.pl.md), [Kорейский](README.ko-kr.md), [French](README-fr.md)._ |
4 | 4 | ||
5 | [](https://pub.dev/packages/get) | 5 | [](https://pub.dev/packages/get) |
6 | +[](https://pub.dev/packages/sentry/score) | ||
7 | +[](https://pub.dev/packages/get/score) | ||
8 | +[](https://pub.dev/packages/get/score) | ||
6 |  | 9 |  |
7 | [](https://pub.dev/packages/effective_dart) | 10 | [](https://pub.dev/packages/effective_dart) |
8 | [](https://discord.com/invite/9Hpt99N) | 11 | [](https://discord.com/invite/9Hpt99N) |
@@ -3,7 +3,9 @@ | @@ -3,7 +3,9 @@ | ||
3 | **🌎 اردو ( Selected ✔) [| انگریزی |](README.md) [| ویتنامی |](README-vi.md) [| انڈونیشی |](README.id-ID.md) [چینی |](README.zh-cn.md) [برازیلی پرتگالی |](README.pt-br.md) [ہسپانوی |](README-es.md) [روسی |](README.ru.md) [پولش |](README.pl.md) [کورین |](README.ko-kr.md), [French](README-fr.md)** | 3 | **🌎 اردو ( Selected ✔) [| انگریزی |](README.md) [| ویتنامی |](README-vi.md) [| انڈونیشی |](README.id-ID.md) [چینی |](README.zh-cn.md) [برازیلی پرتگالی |](README.pt-br.md) [ہسپانوی |](README-es.md) [روسی |](README.ru.md) [پولش |](README.pl.md) [کورین |](README.ko-kr.md), [French](README-fr.md)** |
4 | 4 | ||
5 | [](https://pub.dev/packages/get) | 5 | [](https://pub.dev/packages/get) |
6 | +[](https://pub.dev/packages/sentry/score) | ||
6 | [](https://pub.dev/packages/get/score) | 7 | [](https://pub.dev/packages/get/score) |
8 | +[](https://pub.dev/packages/get/score) | ||
7 |  | 9 |  |
8 | [](https://pub.dev/packages/effective_dart) | 10 | [](https://pub.dev/packages/effective_dart) |
9 | [](https://discord.com/invite/9Hpt99N) | 11 | [](https://discord.com/invite/9Hpt99N) |
@@ -3,6 +3,9 @@ | @@ -3,6 +3,9 @@ | ||
3 | _语言: 中文, [英文](README.md), [越南文](README-vi.md), [印度尼西亚](README.id-ID.md), [乌尔都语](README.ur-PK.md), [巴西葡萄牙语](README.pt-br.md), [俄语](README.ru.md), [西班牙语](README-es.md), [波兰语](README.pl.md), [韩国语](README.ko-kr.md), [法语](README-fr.md), [French](README-fr.md)._ | 3 | _语言: 中文, [英文](README.md), [越南文](README-vi.md), [印度尼西亚](README.id-ID.md), [乌尔都语](README.ur-PK.md), [巴西葡萄牙语](README.pt-br.md), [俄语](README.ru.md), [西班牙语](README-es.md), [波兰语](README.pl.md), [韩国语](README.ko-kr.md), [法语](README-fr.md), [French](README-fr.md)._ |
4 | 4 | ||
5 | [](https://pub.dev/packages/get) | 5 | [](https://pub.dev/packages/get) |
6 | +[](https://pub.dev/packages/sentry/score) | ||
7 | +[](https://pub.dev/packages/get/score) | ||
8 | +[](https://pub.dev/packages/get/score) | ||
6 |  | 9 |  |
7 | [](https://pub.dev/packages/effective_dart) | 10 | [](https://pub.dev/packages/effective_dart) |
8 | [](https://discord.com/invite/9Hpt99N) | 11 | [](https://discord.com/invite/9Hpt99N) |
1 | import 'package:flutter/material.dart'; | 1 | import 'package:flutter/material.dart'; |
2 | import 'package:get/get.dart'; | 2 | import 'package:get/get.dart'; |
3 | 3 | ||
4 | -import 'en_US.dart'; | ||
5 | -import 'pt_BR.dart'; | 4 | +import 'en_us.dart'; |
5 | +import 'pt_br.dart'; | ||
6 | 6 | ||
7 | class TranslationService extends Translations { | 7 | class TranslationService extends Translations { |
8 | static Locale? get locale => Get.deviceLocale; | 8 | static Locale? get locale => Get.deviceLocale; |
1 | +// ignore_for_file: non_constant_identifier_names | ||
2 | + | ||
1 | part of 'app_pages.dart'; | 3 | part of 'app_pages.dart'; |
2 | // DO NOT EDIT. This is code generated via package:get_cli/get_cli.dart | 4 | // DO NOT EDIT. This is code generated via package:get_cli/get_cli.dart |
3 | 5 | ||
4 | abstract class Routes { | 6 | abstract class Routes { |
5 | - Routes._(); | ||
6 | - | ||
7 | static const HOME = _Paths.HOME; | 7 | static const HOME = _Paths.HOME; |
8 | - static const PROFILE = _Paths.HOME + _Paths.PROFILE; | ||
9 | 8 | ||
9 | + static const PROFILE = _Paths.HOME + _Paths.PROFILE; | ||
10 | static const SETTINGS = _Paths.SETTINGS; | 10 | static const SETTINGS = _Paths.SETTINGS; |
11 | 11 | ||
12 | static const PRODUCTS = _Paths.HOME + _Paths.PRODUCTS; | 12 | static const PRODUCTS = _Paths.HOME + _Paths.PRODUCTS; |
13 | - static String PRODUCT_DETAILS(String productId) => '$PRODUCTS/$productId'; | 13 | + |
14 | static const LOGIN = _Paths.LOGIN; | 14 | static const LOGIN = _Paths.LOGIN; |
15 | + static const DASHBOARD = _Paths.HOME + _Paths.DASHBOARD; | ||
16 | + Routes._(); | ||
15 | static String LOGIN_THEN(String afterSuccessfulLogin) => | 17 | static String LOGIN_THEN(String afterSuccessfulLogin) => |
16 | '$LOGIN?then=${Uri.encodeQueryComponent(afterSuccessfulLogin)}'; | 18 | '$LOGIN?then=${Uri.encodeQueryComponent(afterSuccessfulLogin)}'; |
17 | - static const DASHBOARD = _Paths.HOME + _Paths.DASHBOARD; | 19 | + static String PRODUCT_DETAILS(String productId) => '$PRODUCTS/$productId'; |
18 | } | 20 | } |
19 | 21 | ||
20 | abstract class _Paths { | 22 | abstract class _Paths { |
@@ -92,6 +92,7 @@ class BaseWebSocket { | @@ -92,6 +92,7 @@ class BaseWebSocket { | ||
92 | socketNotifier!.addMessages(fn); | 92 | socketNotifier!.addMessages(fn); |
93 | } | 93 | } |
94 | 94 | ||
95 | + // ignore: use_setters_to_change_properties | ||
95 | void onOpen(OpenSocket fn) { | 96 | void onOpen(OpenSocket fn) { |
96 | socketNotifier!.open = fn; | 97 | socketNotifier!.open = fn; |
97 | } | 98 | } |
@@ -84,6 +84,7 @@ class BaseWebSocket { | @@ -84,6 +84,7 @@ class BaseWebSocket { | ||
84 | socketNotifier!.addMessages(fn); | 84 | socketNotifier!.addMessages(fn); |
85 | } | 85 | } |
86 | 86 | ||
87 | + // ignore: use_setters_to_change_properties | ||
87 | void onOpen(OpenSocket fn) { | 88 | void onOpen(OpenSocket fn) { |
88 | socketNotifier!.open = fn; | 89 | socketNotifier!.open = fn; |
89 | } | 90 | } |
1 | import 'dart:ui' as ui; | 1 | import 'dart:ui' as ui; |
2 | 2 | ||
3 | -import 'package:flutter/cupertino.dart'; | ||
4 | import 'package:flutter/material.dart'; | 3 | import 'package:flutter/material.dart'; |
5 | import 'package:flutter/scheduler.dart'; | 4 | import 'package:flutter/scheduler.dart'; |
6 | 5 | ||
@@ -521,7 +520,6 @@ extension GetNavigation on GetInterface { | @@ -521,7 +520,6 @@ extension GetNavigation on GetInterface { | ||
521 | routeName ??= "/${page.runtimeType}"; | 520 | routeName ??= "/${page.runtimeType}"; |
522 | routeName = _cleanRouteName(routeName); | 521 | routeName = _cleanRouteName(routeName); |
523 | if (preventDuplicates && routeName == currentRoute) { | 522 | if (preventDuplicates && routeName == currentRoute) { |
524 | - CupertinoPageRoute ds; | ||
525 | return null; | 523 | return null; |
526 | } | 524 | } |
527 | return global(id).currentState?.push<T>( | 525 | return global(id).currentState?.push<T>( |
1 | name: get | 1 | name: get |
2 | description: Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX. | 2 | description: Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX. |
3 | -version: 4.3.8 | 3 | +version: 4.5.0 |
4 | homepage: https://github.com/jonataslaw/getx | 4 | homepage: https://github.com/jonataslaw/getx |
5 | 5 | ||
6 | environment: | 6 | environment: |
@@ -480,7 +480,6 @@ void main() { | @@ -480,7 +480,6 @@ void main() { | ||
480 | 480 | ||
481 | expect(find.byType(FirstScreen), findsOneWidget); | 481 | expect(find.byType(FirstScreen), findsOneWidget); |
482 | }); | 482 | }); |
483 | - | ||
484 | } | 483 | } |
485 | 484 | ||
486 | class FirstScreen extends StatelessWidget { | 485 | class FirstScreen extends StatelessWidget { |
@@ -39,7 +39,8 @@ void main() { | @@ -39,7 +39,8 @@ void main() { | ||
39 | await gesture.up(); | 39 | await gesture.up(); |
40 | await tester.pump(); | 40 | await tester.pump(); |
41 | expect( | 41 | expect( |
42 | - // The 'route' route has been dragged to the right, halfway across the screen | 42 | + // The 'route' route has been dragged to the right, halfway across |
43 | + // the screen | ||
43 | tester.getTopLeft(find.ancestor( | 44 | tester.getTopLeft(find.ancestor( |
44 | of: find.text('route'), | 45 | of: find.text('route'), |
45 | matching: find.byType(CupertinoPageScaffold))), | 46 | matching: find.byType(CupertinoPageScaffold))), |
@@ -15,6 +15,7 @@ void main() { | @@ -15,6 +15,7 @@ void main() { | ||
15 | 'title', | 15 | 'title', |
16 | "message", | 16 | "message", |
17 | duration: Duration(seconds: 1), | 17 | duration: Duration(seconds: 1), |
18 | + mainButton: TextButton(onPressed: () {}, child: Text('button')), | ||
18 | isDismissible: false, | 19 | isDismissible: false, |
19 | ); | 20 | ); |
20 | }, | 21 | }, |
@@ -114,6 +115,9 @@ void main() { | @@ -114,6 +115,9 @@ void main() { | ||
114 | onTap: () { | 115 | onTap: () { |
115 | getBar = GetSnackBar( | 116 | getBar = GetSnackBar( |
116 | message: 'bar1', | 117 | message: 'bar1', |
118 | + icon: Icon(Icons.alarm), | ||
119 | + mainButton: | ||
120 | + TextButton(onPressed: () {}, child: Text('button')), | ||
117 | duration: const Duration(seconds: 2), | 121 | duration: const Duration(seconds: 2), |
118 | isDismissible: true, | 122 | isDismissible: true, |
119 | dismissDirection: dismissDirection, | 123 | dismissDirection: dismissDirection, |
-
Please register or login to post a comment