communityDialog function
- Function callback
Community Dialog @param api: WSLApi
Implementation
void communityDialog(Function callback) {
// Global Key
final GlobalKey<QaListState> qaKey = GlobalKey<QaListState>();
// Get root context by Key
final context = GlobalVariable.infobox.currentContext!;
plausible.event(page: 'open_community_dialog');
showDialog(
context: context,
builder: (BuildContext context) {
return ContentDialog(
content: SizedBox(
height: MediaQuery.of(context).size.height,
child: Column(
children: [
Expanded(
child: QaList(
key: qaKey,
),
),
ClickableUrl(
clickEvent: "community_actions_url_clicked",
url: 'https://github.com/bostrot/wsl-scripts#contribute',
text: 'shareyourquickaction-text'.i18n(),
),
],
),
),
actions: [
Button(
onPressed: () {
Navigator.pop(context);
},
child: Text('cancel-text'.i18n()),
),
Button(
onPressed: () async {
// Download selected
await qaKey.currentState?.download();
try {
// ignore: use_build_context_synchronously
Navigator.pop(context);
} catch (err) {
if (kDebugMode) {
print(err);
}
}
callback();
// Navigator.pop(context);
},
child: Text('download-text'.i18n()),
),
],
);
},
);
}