Jonny Borges

bump to 4.5.0

  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 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/get.png) 1 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/get.png)
2 2
3 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 3 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  4 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
4 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score) 5 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  6 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
5 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 7 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
6 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 8 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
7 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 9 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](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 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 5 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  6 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
  7 +[![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  8 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
6 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 9 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
7 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 10 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
8 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 11 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](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 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 5 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  6 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
6 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score) 7 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  8 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
7 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 9 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
8 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 10 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
9 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 11 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](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 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 5 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  6 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
6 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score) 7 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  8 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
7 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 9 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
8 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 10 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
9 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 11 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](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 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 5 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  6 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
6 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score) 7 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  8 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
7 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 9 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
8 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 10 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
9 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 11 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N)
1 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/get.png) 1 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/get.png)
2 2
3 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 3 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  4 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
4 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score) 5 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  6 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
5 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 7 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
6 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 8 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
7 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 9 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N)
1 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/get.png) 1 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/get.png)
2 2
3 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 3 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  4 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
4 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score) 5 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  6 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
5 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 7 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
6 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 8 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
7 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 9 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N)
1 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/get.png) 1 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/get.png)
2 2
3 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 3 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  4 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
4 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score) 5 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  6 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
5 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 7 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
6 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 8 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
7 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 9 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](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 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 5 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  6 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
  7 +[![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  8 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
6 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 9 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
7 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 10 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
8 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 11 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](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 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 5 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  6 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
6 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score) 7 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  8 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
7 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 9 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
8 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 10 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
9 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 11 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](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 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 5 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  6 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
  7 +[![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  8 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
6 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 9 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
7 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 10 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
8 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 11 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](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 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 5 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  6 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
6 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score) 7 [![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  8 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
7 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 9 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
8 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 10 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
9 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 11 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](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 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get) 5 [![pub package](https://img.shields.io/pub/v/get.svg?label=get&color=blue)](https://pub.dev/packages/get)
  6 +[![popularity](https://badges.bar/get/popularity)](https://pub.dev/packages/sentry/score)
  7 +[![likes](https://badges.bar/get/likes)](https://pub.dev/packages/get/score)
  8 +[![pub points](https://badges.bar/get/pub%20points)](https://pub.dev/packages/get/score)
6 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg) 9 ![building](https://github.com/jonataslaw/get/workflows/build/badge.svg)
7 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart) 10 [![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
8 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N) 11 [![Discord Shield](https://img.shields.io/discord/722900883784073290.svg?logo=discord)](https://discord.com/invite/9Hpt99N)
  1 +// ignore_for_file: file_names
  2 +
1 const Map<String, String> en_US = { 3 const Map<String, String> en_US = {
2 'covid': 'Corona Virus', 4 'covid': 'Corona Virus',
3 'total_confirmed': 'Total Confirmed', 5 'total_confirmed': 'Total Confirmed',
  1 +// ignore_for_file: file_names
  2 +
1 const Map<String, String> pt_BR = { 3 const Map<String, String> pt_BR = {
2 'covid': 'Corona Vírus', 4 'covid': 'Corona Vírus',
3 'total_confirmed': 'Total confirmado', 5 'total_confirmed': 'Total confirmado',
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,