chore: Update dependencies (#1088)

* chore: Update submodules and dependencies

Update the fl_lib and circle_chart submodules to the latest commit

Upgrade the hive_ce_generator dependency from 1.9.2 to 1.11.0

* build: Updated dependency versions

Updated fl_chart to 1.2.0, json_serializable to 6.13.0, and test to 1.29.0

Replaced flutter_secure_storage_macos with flutter_secure_storage_darwin

Removed the animations and screenshot dependencies, which are no longer in use

* chore: Update French i18n
This commit is contained in:
GT610
2026-03-25 11:49:50 +08:00
committed by GitHub
parent c4d528733d
commit fa4ac00ced
36 changed files with 336 additions and 287 deletions

View File

@@ -1685,6 +1685,12 @@ abstract class AppLocalizations {
/// In en, this message translates to: /// In en, this message translates to:
/// **'Delete {name}?'** /// **'Delete {name}?'**
String portForward_deleteConfirmFmt(Object name); String portForward_deleteConfirmFmt(Object name);
/// No description provided for @sponsor.
///
/// In en, this message translates to:
/// **'Sponsor'**
String get sponsor;
} }
class _AppLocalizationsDelegate class _AppLocalizationsDelegate

View File

@@ -916,4 +916,7 @@ class AppLocalizationsDe extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Sponsor';
} }

View File

@@ -907,4 +907,7 @@ class AppLocalizationsEn extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Sponsor';
} }

View File

@@ -918,4 +918,7 @@ class AppLocalizationsEs extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Patrocinador';
} }

View File

@@ -921,4 +921,7 @@ class AppLocalizationsFr extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Soutenir';
} }

View File

@@ -907,4 +907,7 @@ class AppLocalizationsId extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Sponsor';
} }

View File

@@ -913,4 +913,7 @@ class AppLocalizationsIt extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Sponsor';
} }

View File

@@ -877,4 +877,7 @@ class AppLocalizationsJa extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => '赞助';
} }

View File

@@ -876,4 +876,7 @@ class AppLocalizationsKo extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => '후원';
} }

View File

@@ -914,4 +914,7 @@ class AppLocalizationsNl extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Sponsor';
} }

View File

@@ -909,4 +909,7 @@ class AppLocalizationsPt extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Patrocinador';
} }

View File

@@ -913,4 +913,7 @@ class AppLocalizationsRu extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Спонсор';
} }

View File

@@ -908,4 +908,7 @@ class AppLocalizationsTr extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Sponsor';
} }

View File

@@ -913,4 +913,7 @@ class AppLocalizationsUk extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return 'Delete $name?'; return 'Delete $name?';
} }
@override
String get sponsor => 'Спонсор';
} }

View File

@@ -855,6 +855,9 @@ class AppLocalizationsZh extends AppLocalizations {
String portForward_deleteConfirmFmt(Object name) { String portForward_deleteConfirmFmt(Object name) {
return '删除 $name'; return '删除 $name';
} }
@override
String get sponsor => '赞助';
} }
/// The translations for Chinese, as used in Taiwan (`zh_TW`). /// The translations for Chinese, as used in Taiwan (`zh_TW`).
@@ -1682,4 +1685,7 @@ class AppLocalizationsZhTw extends AppLocalizationsZh {
@override @override
String get podmanDockerEmulationDetected => String get podmanDockerEmulationDetected =>
'檢測到 Podman Docker 仿真。請在設定中切換到 Podman。'; '檢測到 Podman Docker 仿真。請在設定中切換到 Podman。';
@override
String get sponsor => '贊助';
} }

View File

@@ -243,5 +243,6 @@
"write": "Schreiben", "write": "Schreiben",
"writeScriptFailTip": "Das Schreiben des Skripts ist fehlgeschlagen, möglicherweise aufgrund fehlender Berechtigungen oder das Verzeichnis existiert nicht.", "writeScriptFailTip": "Das Schreiben des Skripts ist fehlgeschlagen, möglicherweise aufgrund fehlender Berechtigungen oder das Verzeichnis existiert nicht.",
"writeScriptTip": "Nach der Verbindung mit dem Server wird ein Skript in `~/.config/server_box` \n | `/tmp/server_box` geschrieben, um den Systemstatus zu überwachen. Sie können den Skriptinhalt überprüfen.", "writeScriptTip": "Nach der Verbindung mit dem Server wird ein Skript in `~/.config/server_box` \n | `/tmp/server_box` geschrieben, um den Systemstatus zu überwachen. Sie können den Skriptinhalt überprüfen.",
"podmanDockerEmulationDetected": "Podman Docker-Emulation erkannt. Bitte wechseln Sie in den Einstellungen zu Podman." "podmanDockerEmulationDetected": "Podman Docker-Emulation erkannt. Bitte wechseln Sie in den Einstellungen zu Podman.",
"sponsor": "Sponsor"
} }

View File

@@ -262,5 +262,6 @@
"portForward_localPort": "Local Port", "portForward_localPort": "Local Port",
"portForward_remoteHost": "Remote Host", "portForward_remoteHost": "Remote Host",
"portForward_remotePort": "Remote Port", "portForward_remotePort": "Remote Port",
"portForward_deleteConfirmFmt": "Delete {name}?" "portForward_deleteConfirmFmt": "Delete {name}?",
"sponsor": "Sponsor"
} }

View File

@@ -243,5 +243,6 @@
"write": "Escribir", "write": "Escribir",
"writeScriptFailTip": "La escritura en el script falló, posiblemente por falta de permisos o porque el directorio no existe.", "writeScriptFailTip": "La escritura en el script falló, posiblemente por falta de permisos o porque el directorio no existe.",
"writeScriptTip": "Después de conectarse al servidor, se escribirá un script en `~/.config/server_box` \n | `/tmp/server_box` para monitorear el estado del sistema. Puedes revisar el contenido del script.", "writeScriptTip": "Después de conectarse al servidor, se escribirá un script en `~/.config/server_box` \n | `/tmp/server_box` para monitorear el estado del sistema. Puedes revisar el contenido del script.",
"podmanDockerEmulationDetected": "Detectada emulación de Podman Docker. Por favor, cambie a Podman en la configuración." "podmanDockerEmulationDetected": "Detectada emulación de Podman Docker. Por favor, cambie a Podman en la configuración.",
"sponsor": "Patrocinador"
} }

View File

@@ -243,5 +243,6 @@
"write": "Écrire", "write": "Écrire",
"writeScriptFailTip": "Échec de l'écriture dans le script, probablement en raison d'un manque de permissions ou que le répertoire n'existe pas.", "writeScriptFailTip": "Échec de l'écriture dans le script, probablement en raison d'un manque de permissions ou que le répertoire n'existe pas.",
"writeScriptTip": "Après la connexion au serveur, un script sera écrit dans `~/.config/server_box` \n | `/tmp/server_box` pour surveiller l'état du système. Vous pouvez examiner le contenu du script.", "writeScriptTip": "Après la connexion au serveur, un script sera écrit dans `~/.config/server_box` \n | `/tmp/server_box` pour surveiller l'état du système. Vous pouvez examiner le contenu du script.",
"podmanDockerEmulationDetected": "Émulation Podman Docker détectée. Veuillez passer à Podman dans les paramètres." "podmanDockerEmulationDetected": "Émulation Podman Docker détectée. Veuillez passer à Podman dans les paramètres.",
"sponsor": "Soutenir"
} }

View File

@@ -243,5 +243,6 @@
"write": "Tulis", "write": "Tulis",
"writeScriptFailTip": "Penulisan ke skrip gagal, mungkin karena tidak ada izin atau direktori tidak ada.", "writeScriptFailTip": "Penulisan ke skrip gagal, mungkin karena tidak ada izin atau direktori tidak ada.",
"writeScriptTip": "Setelah terhubung ke server, sebuah skrip akan ditulis ke `~/.config/server_box` \n | `/tmp/server_box` untuk memantau status sistem. Anda dapat meninjau konten skrip tersebut.", "writeScriptTip": "Setelah terhubung ke server, sebuah skrip akan ditulis ke `~/.config/server_box` \n | `/tmp/server_box` untuk memantau status sistem. Anda dapat meninjau konten skrip tersebut.",
"podmanDockerEmulationDetected": "Emulasi Podman Docker terdeteksi. Silakan beralih ke Podman di pengaturan." "podmanDockerEmulationDetected": "Emulasi Podman Docker terdeteksi. Silakan beralih ke Podman di pengaturan.",
"sponsor": "Sponsor"
} }

View File

@@ -248,5 +248,6 @@
"writeScriptFailTip": "Scrittura dello script fallita, forse a causa di mancanza di permessi o la directory non esiste.", "writeScriptFailTip": "Scrittura dello script fallita, forse a causa di mancanza di permessi o la directory non esiste.",
"writeScriptTip": "Dopo essersi connessi al server, uno script verrà scritto in `~/.config/server_box` \n | `/tmp/server_box` per monitorare lo stato del sistema. Puoi rivedere il contenuto dello script.", "writeScriptTip": "Dopo essersi connessi al server, uno script verrà scritto in `~/.config/server_box` \n | `/tmp/server_box` per monitorare lo stato del sistema. Puoi rivedere il contenuto dello script.",
"menuGitHubRepository": "Repository GitHub", "menuGitHubRepository": "Repository GitHub",
"podmanDockerEmulationDetected": "Rilevata emulazione Docker Podman. Passa a Podman nelle impostazioni." "podmanDockerEmulationDetected": "Rilevata emulazione Docker Podman. Passa a Podman nelle impostazioni.",
"sponsor": "Sponsor"
} }

View File

@@ -243,5 +243,6 @@
"write": "書き込み", "write": "書き込み",
"writeScriptFailTip": "スクリプトの書き込みに失敗しました。権限がないかディレクトリが存在しない可能性があります。", "writeScriptFailTip": "スクリプトの書き込みに失敗しました。権限がないかディレクトリが存在しない可能性があります。",
"writeScriptTip": "サーバーへの接続後、システムステータスを監視するスクリプトが `~/.config/server_box` \n | `/tmp/server_box` に書き込まれます。スクリプトの内容を確認できます。", "writeScriptTip": "サーバーへの接続後、システムステータスを監視するスクリプトが `~/.config/server_box` \n | `/tmp/server_box` に書き込まれます。スクリプトの内容を確認できます。",
"podmanDockerEmulationDetected": "Podman Docker エミュレーションが検出されました。設定で Podman に切り替えてください。" "podmanDockerEmulationDetected": "Podman Docker エミュレーションが検出されました。設定で Podman に切り替えてください。",
"sponsor": "赞助"
} }

View File

@@ -248,5 +248,6 @@
"writeScriptFailTip": "스크립트 작성에 실패했습니다. 권한이 부족하거나 디렉토리가 존재하지 않을 수 있습니다.", "writeScriptFailTip": "스크립트 작성에 실패했습니다. 권한이 부족하거나 디렉토리가 존재하지 않을 수 있습니다.",
"writeScriptTip": "서버 연결 후 시스템 상태를 모니터링하기 위한 스크립트가 `~/.config/server_box` \n | `/tmp/server_box`에 작성됩니다. 스크립트 내용을 확인할 수 있습니다.", "writeScriptTip": "서버 연결 후 시스템 상태를 모니터링하기 위한 스크립트가 `~/.config/server_box` \n | `/tmp/server_box`에 작성됩니다. 스크립트 내용을 확인할 수 있습니다.",
"menuGitHubRepository": "GitHub 저장소", "menuGitHubRepository": "GitHub 저장소",
"podmanDockerEmulationDetected": "Podman Docker 에뮬레이션이 감지되었습니다. 설정에서 Podman으로 전환해 주세요." "podmanDockerEmulationDetected": "Podman Docker 에뮬레이션이 감지되었습니다. 설정에서 Podman으로 전환해 주세요.",
"sponsor": "후원"
} }

View File

@@ -243,5 +243,6 @@
"write": "Schrijven", "write": "Schrijven",
"writeScriptFailTip": "Het schrijven naar het script is mislukt, mogelijk door gebrek aan rechten of omdat de map niet bestaat.", "writeScriptFailTip": "Het schrijven naar het script is mislukt, mogelijk door gebrek aan rechten of omdat de map niet bestaat.",
"writeScriptTip": "Na het verbinden met de server wordt een script geschreven naar `~/.config/server_box` \n | `/tmp/server_box` om de systeemstatus te monitoren. U kunt de inhoud van het script controleren.", "writeScriptTip": "Na het verbinden met de server wordt een script geschreven naar `~/.config/server_box` \n | `/tmp/server_box` om de systeemstatus te monitoren. U kunt de inhoud van het script controleren.",
"podmanDockerEmulationDetected": "Podman Docker-emulatie gedetecteerd. Schakel over naar Podman in de instellingen." "podmanDockerEmulationDetected": "Podman Docker-emulatie gedetecteerd. Schakel over naar Podman in de instellingen.",
"sponsor": "Sponsor"
} }

View File

@@ -243,5 +243,6 @@
"write": "Escrita", "write": "Escrita",
"writeScriptFailTip": "Falha ao escrever no script, possivelmente devido à falta de permissões ou o diretório não existe.", "writeScriptFailTip": "Falha ao escrever no script, possivelmente devido à falta de permissões ou o diretório não existe.",
"writeScriptTip": "Após conectar ao servidor, um script será escrito em `~/.config/server_box` \n | `/tmp/server_box` para monitorar o status do sistema. Você pode revisar o conteúdo do script.", "writeScriptTip": "Após conectar ao servidor, um script será escrito em `~/.config/server_box` \n | `/tmp/server_box` para monitorar o status do sistema. Você pode revisar o conteúdo do script.",
"podmanDockerEmulationDetected": "Emulação Podman Docker detectada. Por favor, alterne para Podman nas configurações." "podmanDockerEmulationDetected": "Emulação Podman Docker detectada. Por favor, alterne para Podman nas configurações.",
"sponsor": "Patrocinador"
} }

View File

@@ -243,5 +243,6 @@
"write": "Запись", "write": "Запись",
"writeScriptFailTip": "Запись скрипта не удалась, возможно, из-за отсутствия прав или потому что, директории не существует.", "writeScriptFailTip": "Запись скрипта не удалась, возможно, из-за отсутствия прав или потому что, директории не существует.",
"writeScriptTip": "После подключения к серверу скрипт будет записан в `~/.config/server_box` \n | `/tmp/server_box` для мониторинга состояния системы. Вы можете проверить содержимое скрипта.", "writeScriptTip": "После подключения к серверу скрипт будет записан в `~/.config/server_box` \n | `/tmp/server_box` для мониторинга состояния системы. Вы можете проверить содержимое скрипта.",
"podmanDockerEmulationDetected": "Обнаружена эмуляция Podman Docker. Пожалуйста, переключитесь на Podman в настройках." "podmanDockerEmulationDetected": "Обнаружена эмуляция Podman Docker. Пожалуйста, переключитесь на Podman в настройках.",
"sponsor": "Спонсор"
} }

View File

@@ -243,5 +243,6 @@
"write": "Yaz", "write": "Yaz",
"writeScriptFailTip": "Betik yazma başarısız oldu, muhtemelen izin eksikliği veya dizin mevcut değil.", "writeScriptFailTip": "Betik yazma başarısız oldu, muhtemelen izin eksikliği veya dizin mevcut değil.",
"writeScriptTip": "Sunucuya bağlandıktan sonra, sistem durumunu izlemek için `~/.config/server_box` \n | `/tmp/server_box` dizinine bir betik yazılacak. Betik içeriğini inceleyebilirsiniz.", "writeScriptTip": "Sunucuya bağlandıktan sonra, sistem durumunu izlemek için `~/.config/server_box` \n | `/tmp/server_box` dizinine bir betik yazılacak. Betik içeriğini inceleyebilirsiniz.",
"podmanDockerEmulationDetected": "Podman Docker emülasyonu tespit edildi. Lütfen ayarlarda Podman'a geçin." "podmanDockerEmulationDetected": "Podman Docker emülasyonu tespit edildi. Lütfen ayarlarda Podman'a geçin.",
"sponsor": "Sponsor"
} }

View File

@@ -244,5 +244,6 @@
"write": "Записати", "write": "Записати",
"writeScriptFailTip": "Запис у скрипт не вдався, можливо, через брак дозволів або каталог не існує.", "writeScriptFailTip": "Запис у скрипт не вдався, можливо, через брак дозволів або каталог не існує.",
"writeScriptTip": "Після підключення до сервера скрипт буде записано у `~/.config/server_box` \n | `/tmp/server_box` для моніторингу стану системи. Ви можете переглянути вміст скрипта.", "writeScriptTip": "Після підключення до сервера скрипт буде записано у `~/.config/server_box` \n | `/tmp/server_box` для моніторингу стану системи. Ви можете переглянути вміст скрипта.",
"podmanDockerEmulationDetected": "Виявлено емуляцію Podman Docker. Будь ласка, переключіться на Podman у налаштуваннях." "podmanDockerEmulationDetected": "Виявлено емуляцію Podman Docker. Будь ласка, переключіться на Podman у налаштуваннях.",
"sponsor": "Спонсор"
} }

View File

@@ -259,5 +259,6 @@
"portForward_localPort": "本地端口", "portForward_localPort": "本地端口",
"portForward_remoteHost": "远端主机", "portForward_remoteHost": "远端主机",
"portForward_remotePort": "远端端口", "portForward_remotePort": "远端端口",
"portForward_deleteConfirmFmt": "删除 {name}" "portForward_deleteConfirmFmt": "删除 {name}",
"sponsor": "赞助"
} }

View File

@@ -251,5 +251,6 @@
"write": "寫入", "write": "寫入",
"writeScriptFailTip": "寫入腳本失敗,可能是沒有權限/目錄不存在等。", "writeScriptFailTip": "寫入腳本失敗,可能是沒有權限/目錄不存在等。",
"writeScriptTip": "連線到伺服器後,將會在 `~/.config/server_box` \n | `/tmp/server_box` 中寫入一個腳本來監測系統狀態。你可以審查腳本內容。", "writeScriptTip": "連線到伺服器後,將會在 `~/.config/server_box` \n | `/tmp/server_box` 中寫入一個腳本來監測系統狀態。你可以審查腳本內容。",
"podmanDockerEmulationDetected": "檢測到 Podman Docker 仿真。請在設定中切換到 Podman。" "podmanDockerEmulationDetected": "檢測到 Podman Docker 仿真。請在設定中切換到 Podman。",
"sponsor": "贊助"
} }

View File

@@ -1,5 +1,7 @@
part of 'entry.dart'; part of 'entry.dart';
const _sponsorUrl = 'https://cdn.lpkt.cn/donate';
final class _AppAboutPage extends StatefulWidget { final class _AppAboutPage extends StatefulWidget {
const _AppAboutPage(); const _AppAboutPage();
@@ -40,6 +42,11 @@ final class _AppAboutPageState extends State<_AppAboutPage> with AutomaticKeepAl
text: libL10n.license, text: libL10n.license,
onTap: () => showLicensePage(context: context), onTap: () => showLicensePage(context: context),
), ),
Btn.elevated(
icon: const Icon(MingCute.heart_fill),
text: l10n.sponsor,
onTap: () => _sponsorUrl.launchUrl(),
),
].joinWith(UIs.width13), ].joinWith(UIs.width13),
), ),
), ),

View File

@@ -7,7 +7,7 @@ import Foundation
import dynamic_color import dynamic_color
import file_picker import file_picker
import flutter_secure_storage_macos import flutter_secure_storage_darwin
import icloud_storage import icloud_storage
import local_auth_darwin import local_auth_darwin
import package_info_plus import package_info_plus
@@ -21,7 +21,7 @@ import window_manager
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
DynamicColorPlugin.register(with: registry.registrar(forPlugin: "DynamicColorPlugin")) DynamicColorPlugin.register(with: registry.registrar(forPlugin: "DynamicColorPlugin"))
FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin")) FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin"))
FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) FlutterSecureStorageDarwinPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageDarwinPlugin"))
IcloudStoragePlugin.register(with: registry.registrar(forPlugin: "IcloudStoragePlugin")) IcloudStoragePlugin.register(with: registry.registrar(forPlugin: "IcloudStoragePlugin"))
LocalAuthPlugin.register(with: registry.registrar(forPlugin: "LocalAuthPlugin")) LocalAuthPlugin.register(with: registry.registrar(forPlugin: "LocalAuthPlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@ dependencies:
flutter_riverpod: ^3.3.1 flutter_riverpod: ^3.3.1
flutter_highlight: ^0.7.0 flutter_highlight: ^0.7.0
flutter_displaymode: ^0.7.0 flutter_displaymode: ^0.7.0
fl_chart: ^1.0.0 fl_chart: ^1.2.0
freezed_annotation: ^3.0.0 freezed_annotation: ^3.0.0
get_it: ^9.0.5 get_it: ^9.0.5
highlight: ^0.7.0 highlight: ^0.7.0
@@ -59,13 +59,13 @@ dependencies:
dev_dependencies: dev_dependencies:
analyzer: ^9.0.0 analyzer: ^9.0.0
flutter_native_splash: ^2.1.6 flutter_native_splash: ^2.1.6
hive_ce_generator: ^1.9.2 hive_ce_generator: ^1.11.0
build_runner: ^2.4.15 build_runner: ^2.4.15
flutter_lints: ^6.0.0 flutter_lints: ^6.0.0
json_serializable: ^6.8.0 json_serializable: ^6.13.0
freezed: ^3.0.0 freezed: ^3.0.0
riverpod_generator: ^4.0.3 riverpod_generator: ^4.0.3
test: ^1.24.0 test: ^1.29.0
flutter_test: flutter_test:
sdk: flutter sdk: flutter
# riverpod_reg: # riverpod_reg: