Merge pull request #110 from krawieck/instance-more-menu

add more menu
This commit is contained in:
Marcin Wojnarowski 2021-01-16 14:36:37 +01:00 committed by GitHub
commit 9669ba776b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 36 additions and 9 deletions

View File

@ -4,12 +4,14 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:lemmy_api_client/lemmy_api_client.dart'; import 'package:lemmy_api_client/lemmy_api_client.dart';
import 'package:url_launcher/url_launcher.dart' as ul;
import '../hooks/stores.dart'; import '../hooks/stores.dart';
import '../util/goto.dart'; import '../util/goto.dart';
import '../util/more_icon.dart'; import '../util/more_icon.dart';
import '../util/text_color.dart'; import '../util/text_color.dart';
import '../widgets/badge.dart'; import '../widgets/badge.dart';
import '../widgets/bottom_modal.dart';
import '../widgets/fullscreenable_image.dart'; import '../widgets/fullscreenable_image.dart';
import '../widgets/info_table_popup.dart'; import '../widgets/info_table_popup.dart';
import '../widgets/markdown_text.dart'; import '../widgets/markdown_text.dart';
@ -68,15 +70,40 @@ class InstancePage extends HookWidget {
final site = siteSnap.data; final site = siteSnap.data;
void _openMoreMenu(BuildContext c) { void _openMoreMenu(BuildContext c) {
showInfoTablePopup(context, { showModalBottomSheet(
'url': instanceHost, backgroundColor: Colors.transparent,
'creator': '@${site.site.creatorName}', context: context,
'version': site.version, builder: (context) => BottomModal(
'enableDownvotes': site.site.enableDownvotes, child: Column(
'enableNsfw': site.site.enableNsfw, children: [
'published': site.site.published, ListTile(
'updated': site.site.updated, leading: const Icon(Icons.open_in_browser),
}); title: const Text('Open in browser'),
onTap: () async => await ul
.canLaunch('https://${site.site.instanceHost}')
? ul.launch('https://${site.site.instanceHost}')
: Scaffold.of(context).showSnackBar(
const SnackBar(content: Text("can't open in browser"))),
),
ListTile(
leading: const Icon(Icons.info_outline),
title: const Text('Nerd stuff'),
onTap: () {
showInfoTablePopup(context, {
'url': instanceHost,
'creator': '@${site.site.creatorName}',
'version': site.version,
'enableDownvotes': site.site.enableDownvotes,
'enableNsfw': site.site.enableNsfw,
'published': site.site.published,
'updated': site.site.updated,
});
},
),
],
),
),
);
} }
return Scaffold( return Scaffold(