diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart index 00315e79..00f7ba6c 100644 --- a/lib/pages/landing/landing_page.dart +++ b/lib/pages/landing/landing_page.dart @@ -33,6 +33,7 @@ import 'package:diplomaticquarterapp/uitl/push-notification-handler.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/bottom_navigation/bottom_nav_bar.dart'; import 'package:diplomaticquarterapp/widgets/buttons/floatingActionButton.dart'; +import 'package:diplomaticquarterapp/widgets/dialogs/selection-dailog.dart'; import 'package:diplomaticquarterapp/widgets/drawer/app_drawer_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/not_auh_page.dart'; @@ -451,6 +452,13 @@ class _LandingPageState extends State with WidgetsBindingObserver { dummyCall() async { + + final server = await SelectionDialog( + context, + title: "Select Server", + items: ["https://livecareturn.hmg.com", "https://104.197.179.1:8086"] + ).show(); + final json = { "callerID": "s1", "PatientID": "s2", @@ -478,7 +486,7 @@ class _LandingPageState extends State with WidgetsBindingObserver { "videoUrl": "video", "picture": "video", "is_call": "true", - "server": "https://livecareturn.hmg.com", + "server": server, }; IncomingCallData incomingCallData = IncomingCallData.fromJson(json); diff --git a/lib/widgets/dialogs/selection-dailog.dart b/lib/widgets/dialogs/selection-dailog.dart index a1f4c66d..f3dfe083 100644 --- a/lib/widgets/dialogs/selection-dailog.dart +++ b/lib/widgets/dialogs/selection-dailog.dart @@ -1,14 +1,22 @@ +import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class SelectionDialog extends StatefulWidget{ + final String title; + final List items; + BuildContext context; + + SelectionDialog(this.context,{@required this.title, @required this.items}); + @override State createState() => SelectionDialogState(); - String title; - List items; - show({@required String title, @required List items}){ - this.title = title; + + Future show() async{ + return showDialog(context: context, builder: (ctx){ + return this; + }); } } @@ -16,11 +24,14 @@ class SelectionDialogState extends State{ @override Widget build(BuildContext context) { - return Column( + return Scaffold( + backgroundColor: Colors.transparent, + body: Column( crossAxisAlignment: CrossAxisAlignment.stretch, mainAxisAlignment: MainAxisAlignment.center, children: [ Container( + margin: EdgeInsets.all(20), decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(15)), child: Column( children: [ @@ -32,6 +43,7 @@ class SelectionDialogState extends State{ Container(height: 0.5, color: Colors.grey,), ListView.separated( + shrinkWrap: true, padding: EdgeInsets.all(10), itemCount: widget.items.length, itemBuilder: (ctx,idx) => item(idx), @@ -40,16 +52,20 @@ class SelectionDialogState extends State{ ), ) ], + ) ); } Widget item(int idx){ var model = widget.items[idx]; - return Container( - padding: EdgeInsets.all(10), - height: 20, - color: Colors.blue, - child: Text(model.toString()), + return InkWell( + onTap: (){ + Navigator.pop(context, model); + }, + child: Container( + padding: EdgeInsets.all(20), + child: Text(model.toString(), style: TextStyle(color: Colors.black)), + ), ); }