changelogDialog function
- dynamic prefs,
- dynamic currentVersion,
- dynamic body
Info Dialog @param prefs: SharedPreferences @param currentVersion: String
Implementation
changelogDialog(prefs, currentVersion, body) {
plausible.event(page: 'changelog');
// Get root context by Key
final context = GlobalVariable.infobox.currentContext!;
showDialog(
context: context,
builder: (context) {
return ContentDialog(
constraints: const BoxConstraints(maxHeight: 500.0, maxWidth: 500.0),
title: Text('🚀 ${'changelog-text'.i18n()} $currentVersion'),
content: Markdown(
onTapLink: (text, href, title) {
if (href == null) return;
launchUrlString(href);
},
shrinkWrap: true,
data: body,
extensionSet: md.ExtensionSet(
md.ExtensionSet.gitHubFlavored.blockSyntaxes,
[
md.EmojiSyntax(),
...md.ExtensionSet.gitHubFlavored.inlineSyntaxes
],
),
),
actions: [
Button(
style: ButtonStyle(
backgroundColor: ButtonState.all(Colors.blue),
foregroundColor: ButtonState.all(Colors.white),
),
onPressed: () {
Navigator.pop(context);
},
child: Text('ok-text'.i18n())),
],
);
},
);
}