commit
9669ba776b
|
@ -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(
|
||||||
|
|
Loading…
Reference in New Issue