Solian/lib/screens/about.dart

76 lines
2.4 KiB
Dart
Raw Normal View History

2024-06-08 05:28:49 +00:00
import 'package:flutter/material.dart';
2024-08-01 15:51:03 +00:00
import 'package:flutter_animate/flutter_animate.dart';
2024-06-08 05:28:49 +00:00
import 'package:package_info_plus/package_info_plus.dart';
import 'package:url_launcher/url_launcher_string.dart';
class AboutScreen extends StatelessWidget {
const AboutScreen({super.key});
@override
Widget build(BuildContext context) {
const denseButtonStyle =
ButtonStyle(visualDensity: VisualDensity(vertical: -4));
return Material(
color: Theme.of(context).colorScheme.surface,
2024-06-27 06:56:09 +00:00
child: SizedBox(
width: double.infinity,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
2024-08-01 15:51:03 +00:00
Image.asset('assets/logo.png', width: 64, height: 64)
.animate(onPlay: (c) => c.repeat())
.rotate(duration: 1000.ms),
2024-06-27 06:56:09 +00:00
Text(
'Solian',
style: Theme.of(context).textTheme.headlineMedium,
),
const Text(
'The Solar Network',
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16),
),
const SizedBox(height: 8),
FutureBuilder(
future: PackageInfo.fromPlatform(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return const SizedBox();
}
2024-06-08 05:28:49 +00:00
2024-06-27 06:56:09 +00:00
return Text(
'v${snapshot.data!.version} · ${snapshot.data!.buildNumber}',
style: const TextStyle(fontFamily: 'monospace'),
);
},
),
Text('Copyright © ${DateTime.now().year} Solsynth LLC'),
const SizedBox(height: 16),
TextButton(
style: denseButtonStyle,
child: const Text('More Information'),
onPressed: () {
launchUrlString('https://solsynth.dev/products/solar-network');
},
),
TextButton(
style: denseButtonStyle,
onPressed: () {
launchUrlString('https://solsynth.dev');
},
child: const Text('Official Website'),
),
const SizedBox(height: 16),
const Text(
'Open-sourced under AGPLv3',
style: TextStyle(
fontWeight: FontWeight.w300,
fontSize: 12,
),
2024-06-08 05:28:49 +00:00
),
2024-06-27 06:56:09 +00:00
],
),
2024-06-08 05:28:49 +00:00
),
);
}
}