added about dialog

This commit is contained in:
Fabian Freund
2024-05-17 14:06:59 +02:00
parent 416fee9d77
commit 2d2b1a72b3
12 changed files with 178 additions and 1 deletions
@@ -0,0 +1,9 @@
import 'package:package_info_plus/package_info_plus.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'package_info_repository.g.dart';
@Riverpod(keepAlive: true)
Future<PackageInfo> packageInfo(PackageInfoRef ref) {
return PackageInfo.fromPlatform();
}
@@ -0,0 +1,24 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'package_info_repository.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
String _$packageInfoHash() => r'f7bd90882137aac7a9f28e9d10eae6efeee8c9d0';
/// See also [packageInfo].
@ProviderFor(packageInfo)
final packageInfoProvider = FutureProvider<PackageInfo>.internal(
packageInfo,
name: r'packageInfoProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$packageInfoHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef PackageInfoRef = FutureProviderRef<PackageInfo>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
@@ -0,0 +1,27 @@
import 'package:bang_navigator/features/about/data/repositories/package_info_repository.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
class AboutDialogScreen extends HookConsumerWidget {
const AboutDialogScreen();
@override
Widget build(BuildContext context, WidgetRef ref) {
final packageInfo = ref.watch(
packageInfoProvider.select(
//During startup we make sure
(value) => value.value!,
),
);
return AboutDialog(
applicationIcon: SizedBox.square(
dimension: IconTheme.of(context).size,
child: Image.asset('assets/icon/icon.png'),
),
applicationName: packageInfo.appName,
applicationVersion: packageInfo.version,
applicationLegalese: 'Copyright © Fabian Freund, 2024',
);
}
}