feat: Make licenses work better
This commit is contained in:
parent
286f705c41
commit
037fab6409
@ -21,7 +21,9 @@
|
|||||||
},
|
},
|
||||||
"about": {
|
"about": {
|
||||||
"title": "About",
|
"title": "About",
|
||||||
"source": "Source code"
|
"source": "Source code",
|
||||||
|
"license": "License",
|
||||||
|
"close": "Clsoe"
|
||||||
},
|
},
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"addNewItem": "Add new item"
|
"addNewItem": "Add new item"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2,6 +2,7 @@ import 'package:anitrack/i18n/strings.g.dart';
|
|||||||
import 'package:anitrack/licenses.g.dart';
|
import 'package:anitrack/licenses.g.dart';
|
||||||
import 'package:anitrack/src/ui/constants.dart';
|
import 'package:anitrack/src/ui/constants.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
class AboutPage extends StatelessWidget {
|
class AboutPage extends StatelessWidget {
|
||||||
@ -35,14 +36,49 @@ class AboutPage extends StatelessWidget {
|
|||||||
'AniTrack',
|
'AniTrack',
|
||||||
style: Theme.of(context).textTheme.titleLarge,
|
style: Theme.of(context).textTheme.titleLarge,
|
||||||
),
|
),
|
||||||
ElevatedButton(
|
Row(
|
||||||
onPressed: () async {
|
mainAxisSize: MainAxisSize.min,
|
||||||
await launchUrl(
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
Uri.parse('https://codeberg.org/PapaTutuWawa/anitrack'),
|
children: [
|
||||||
mode: LaunchMode.externalApplication,
|
Padding(
|
||||||
);
|
padding: const EdgeInsets.symmetric(horizontal: 4),
|
||||||
},
|
child: ElevatedButton(
|
||||||
child: Text(t.about.source),
|
onPressed: () async {
|
||||||
|
await launchUrl(
|
||||||
|
Uri.parse(
|
||||||
|
'https://codeberg.org/PapaTutuWawa/anitrack',
|
||||||
|
),
|
||||||
|
mode: LaunchMode.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
child: Text(t.about.source),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 4),
|
||||||
|
child: ElevatedButton(
|
||||||
|
onPressed: () async {
|
||||||
|
final licenseText = await rootBundle.loadString(
|
||||||
|
'LICENSE',
|
||||||
|
);
|
||||||
|
await showDialog<void>(
|
||||||
|
context: context,
|
||||||
|
builder: (context) {
|
||||||
|
return SimpleDialog(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
child: Text(licenseText),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
child: Text(t.about.license),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -54,12 +90,32 @@ class AboutPage extends StatelessWidget {
|
|||||||
|
|
||||||
return ListTile(
|
return ListTile(
|
||||||
title: Text(dep.name),
|
title: Text(dep.name),
|
||||||
onTap: () async {
|
onTap: () {
|
||||||
if (dep.repository == null) return;
|
showDialog<void>(
|
||||||
|
context: context,
|
||||||
await launchUrl(
|
builder: (context) => AlertDialog(
|
||||||
Uri.parse(dep.repository!),
|
content: SingleChildScrollView(
|
||||||
mode: LaunchMode.externalApplication,
|
child: Text(dep.license ?? ''),
|
||||||
|
),
|
||||||
|
actions: [
|
||||||
|
TextButton(
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
child: Text(t.about.close),
|
||||||
|
),
|
||||||
|
if (dep.repository != null)
|
||||||
|
TextButton(
|
||||||
|
onPressed: () async {
|
||||||
|
await launchUrl(
|
||||||
|
Uri.parse(dep.repository!),
|
||||||
|
mode: LaunchMode.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
child: Text(t.about.source),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
@ -46,6 +46,8 @@ dev_dependencies:
|
|||||||
|
|
||||||
flutter:
|
flutter:
|
||||||
uses-material-design: true
|
uses-material-design: true
|
||||||
|
assets:
|
||||||
|
- LICENSE
|
||||||
|
|
||||||
flutter_icons:
|
flutter_icons:
|
||||||
android: "launcher_icon"
|
android: "launcher_icon"
|
||||||
|
Loading…
Reference in New Issue
Block a user