Add message notification snackbar
This commit is contained in:
parent
69664c4bec
commit
6b0f3145c1
@ -1,30 +1,22 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class MessageNotification extends StatelessWidget {
|
showNotification (Color backgroundColor, Color textColor, String text, BuildContext context) {
|
||||||
final VoidCallback onReplay;
|
final snackBar = SnackBar(
|
||||||
|
behavior: SnackBarBehavior.floating,
|
||||||
const MessageNotification({Key key, this.onReplay}) : super(key: key);
|
duration: const Duration(milliseconds: 1500),
|
||||||
|
width: 280.0, // Width of the SnackBar.
|
||||||
@override
|
backgroundColor: backgroundColor,
|
||||||
Widget build(BuildContext context) {
|
shape: RoundedRectangleBorder(
|
||||||
return Card(
|
borderRadius: BorderRadius.circular(10.0),
|
||||||
margin: const EdgeInsets.symmetric(horizontal: 4),
|
|
||||||
child: SafeArea(
|
|
||||||
child: ListTile(
|
|
||||||
leading: SizedBox.fromSize(
|
|
||||||
size: const Size(40, 40),
|
|
||||||
child: Text("YOLO")),
|
|
||||||
title: Text('Lily MacDonald'),
|
|
||||||
subtitle: Text('Do you want to see a movie?'),
|
|
||||||
trailing: IconButton(
|
|
||||||
icon: Icon(Icons.reply),
|
|
||||||
onPressed: () {
|
|
||||||
///TODO i'm not sure it should be use this widget' BuildContext to create a Dialog
|
|
||||||
///maybe i will give the answer in the future
|
|
||||||
if (onReplay != null) onReplay();
|
|
||||||
}),
|
|
||||||
),
|
),
|
||||||
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 8.0, // Inner padding for SnackBar content.
|
||||||
),
|
),
|
||||||
|
content: Text(
|
||||||
|
text,
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: TextStyle(color: textColor),
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
ScaffoldMessenger.of(context).showSnackBar(snackBar);
|
||||||
}
|
}
|
||||||
0
lib/Components/translation_tab.dart
Normal file
0
lib/Components/translation_tab.dart
Normal file
@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:manager_app/Components/confirmation_dialog.dart';
|
import 'package:manager_app/Components/confirmation_dialog.dart';
|
||||||
import 'package:manager_app/Components/fetch_section_icon.dart';
|
import 'package:manager_app/Components/fetch_section_icon.dart';
|
||||||
|
import 'package:manager_app/Components/message_notification.dart';
|
||||||
import 'package:manager_app/Components/multi_select_container.dart';
|
import 'package:manager_app/Components/multi_select_container.dart';
|
||||||
import 'package:manager_app/Components/multi_string_input_container.dart';
|
import 'package:manager_app/Components/multi_string_input_container.dart';
|
||||||
import 'package:manager_app/Components/rounded_button.dart';
|
import 'package:manager_app/Components/rounded_button.dart';
|
||||||
@ -10,7 +11,6 @@ import 'package:manager_app/app_context.dart';
|
|||||||
import 'package:manager_app/client.dart';
|
import 'package:manager_app/client.dart';
|
||||||
import 'package:manager_app/constants.dart';
|
import 'package:manager_app/constants.dart';
|
||||||
import 'package:managerapi/api.dart';
|
import 'package:managerapi/api.dart';
|
||||||
import 'package:overlay_support/overlay_support.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
@ -259,14 +259,7 @@ class _SectionDetailScreenState extends State<SectionDetailScreen> {
|
|||||||
managerAppContext.selectedSection = section;
|
managerAppContext.selectedSection = section;
|
||||||
appContext.setContext(managerAppContext);
|
appContext.setContext(managerAppContext);
|
||||||
|
|
||||||
// popup a toast.
|
showNotification(Colors.green, kWhite, 'La section a été sauvegardée avec succès', context);
|
||||||
toast('La section a été sauvegardée avec succès');
|
|
||||||
|
|
||||||
// show a notification at top of screen.
|
|
||||||
/*showSimpleNotification(
|
|
||||||
Text("La configuration a été sauvegardée avec succès"),
|
|
||||||
position: NotificationPosition.bottom,
|
|
||||||
background: Colors.green);*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getSpecificData(SectionDTO sectionDTO, AppContext appContext) {
|
getSpecificData(SectionDTO sectionDTO, AppContext appContext) {
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import 'package:flutter/painting.dart';
|
|||||||
import 'package:manager_app/Components/color_picker_input_container.dart';
|
import 'package:manager_app/Components/color_picker_input_container.dart';
|
||||||
import 'package:manager_app/Components/confirmation_dialog.dart';
|
import 'package:manager_app/Components/confirmation_dialog.dart';
|
||||||
import 'package:manager_app/Components/fetch_section_icon.dart';
|
import 'package:manager_app/Components/fetch_section_icon.dart';
|
||||||
|
import 'package:manager_app/Components/message_notification.dart';
|
||||||
import 'package:manager_app/Components/multi_select_container.dart';
|
import 'package:manager_app/Components/multi_select_container.dart';
|
||||||
import 'package:manager_app/Components/rounded_button.dart';
|
import 'package:manager_app/Components/rounded_button.dart';
|
||||||
import 'package:manager_app/Components/string_input_container.dart';
|
import 'package:manager_app/Components/string_input_container.dart';
|
||||||
@ -14,7 +15,6 @@ import 'package:manager_app/app_context.dart';
|
|||||||
import 'package:manager_app/client.dart';
|
import 'package:manager_app/client.dart';
|
||||||
import 'package:manager_app/constants.dart';
|
import 'package:manager_app/constants.dart';
|
||||||
import 'package:managerapi/api.dart';
|
import 'package:managerapi/api.dart';
|
||||||
import 'package:overlay_support/overlay_support.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
@ -361,14 +361,7 @@ class _ConfigurationDetailScreenState extends State<ConfigurationDetailScreen> {
|
|||||||
managerAppContext.selectedConfiguration = configuration;
|
managerAppContext.selectedConfiguration = configuration;
|
||||||
appContext.setContext(managerAppContext);
|
appContext.setContext(managerAppContext);
|
||||||
|
|
||||||
// popup a toast.
|
showNotification(Colors.green, kWhite, 'La configuration a été sauvegardée avec succès', context);
|
||||||
toast('La configuration a été sauvegardée avec succès');
|
|
||||||
|
|
||||||
// show a notification at top of screen.
|
|
||||||
/*showSimpleNotification(
|
|
||||||
Text("La configuration a été sauvegardée avec succès"),
|
|
||||||
position: NotificationPosition.bottom,
|
|
||||||
background: Colors.green);*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<ConfigurationDTO> getConfiguration(ConfigurationDetailScreen widget, Client client) async {
|
Future<ConfigurationDTO> getConfiguration(ConfigurationDetailScreen widget, Client client) async {
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:manager_app/Components/message_notification.dart';
|
||||||
import 'package:manager_app/Components/rounded_button.dart';
|
import 'package:manager_app/Components/rounded_button.dart';
|
||||||
import 'package:manager_app/Components/string_input_container.dart';
|
import 'package:manager_app/Components/string_input_container.dart';
|
||||||
import 'package:manager_app/Models/managerContext.dart';
|
import 'package:manager_app/Models/managerContext.dart';
|
||||||
import 'package:manager_app/app_context.dart';
|
import 'package:manager_app/app_context.dart';
|
||||||
import 'package:manager_app/constants.dart';
|
import 'package:manager_app/constants.dart';
|
||||||
import 'package:managerapi/api.dart';
|
import 'package:managerapi/api.dart';
|
||||||
import 'package:overlay_support/overlay_support.dart';
|
|
||||||
|
|
||||||
void showNewConfiguration(AppContext appContext, BuildContext context) {
|
void showNewConfiguration(AppContext appContext, BuildContext context) {
|
||||||
ConfigurationDTO configurationDTO = new ConfigurationDTO();
|
ConfigurationDTO configurationDTO = new ConfigurationDTO();
|
||||||
@ -83,7 +83,6 @@ void create(ConfigurationDTO configurationDTO, AppContext appContext, context) a
|
|||||||
managerAppContext.selectedConfiguration = null;
|
managerAppContext.selectedConfiguration = null;
|
||||||
appContext.setContext(managerAppContext);
|
appContext.setContext(managerAppContext);
|
||||||
|
|
||||||
// popup a toast.
|
showNotification(Colors.green, kWhite, 'La configuration a été créée avec succès', context);
|
||||||
toast('La configuration a été créée avec succès');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:manager_app/Components/message_notification.dart';
|
||||||
import 'package:manager_app/Components/multi_select_container.dart';
|
import 'package:manager_app/Components/multi_select_container.dart';
|
||||||
import 'package:manager_app/Components/rounded_button.dart';
|
import 'package:manager_app/Components/rounded_button.dart';
|
||||||
import 'package:manager_app/Components/string_input_container.dart';
|
import 'package:manager_app/Components/string_input_container.dart';
|
||||||
@ -6,7 +7,6 @@ import 'package:manager_app/Models/managerContext.dart';
|
|||||||
import 'package:manager_app/app_context.dart';
|
import 'package:manager_app/app_context.dart';
|
||||||
import 'package:manager_app/constants.dart';
|
import 'package:manager_app/constants.dart';
|
||||||
import 'package:managerapi/api.dart';
|
import 'package:managerapi/api.dart';
|
||||||
import 'package:overlay_support/overlay_support.dart';
|
|
||||||
|
|
||||||
void showNewSection(ConfigurationDTO configurationDTO, AppContext appContext, BuildContext context) {
|
void showNewSection(ConfigurationDTO configurationDTO, AppContext appContext, BuildContext context) {
|
||||||
SectionDTO sectionDTO = new SectionDTO();
|
SectionDTO sectionDTO = new SectionDTO();
|
||||||
@ -100,7 +100,6 @@ void create(SectionDTO sectionDTO, AppContext appContext, BuildContext context)
|
|||||||
managerAppContext.selectedConfiguration.sectionIds.add(newSection.id);
|
managerAppContext.selectedConfiguration.sectionIds.add(newSection.id);
|
||||||
appContext.setContext(managerAppContext);
|
appContext.setContext(managerAppContext);
|
||||||
|
|
||||||
// popup a toast.
|
showNotification(Colors.green, kWhite, 'La section a été créée avec succès !', context);
|
||||||
toast('La section a été créée avec succès');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,13 +1,10 @@
|
|||||||
import 'package:manager_app/Models/managerContext.dart';
|
import 'package:manager_app/Models/managerContext.dart';
|
||||||
import 'package:manager_app/Screens/Main/main_screen.dart';
|
import 'package:manager_app/Screens/Main/main_screen.dart';
|
||||||
import 'package:managerapi/api.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'Screens/login_screen.dart';
|
import 'Screens/login_screen.dart';
|
||||||
import 'app_context.dart';
|
import 'app_context.dart';
|
||||||
import 'client.dart';
|
|
||||||
import 'constants.dart';
|
import 'constants.dart';
|
||||||
import 'package:overlay_support/overlay_support.dart';
|
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
String initialRoute;
|
String initialRoute;
|
||||||
@ -37,7 +34,6 @@ class _MyAppState extends State<MyApp> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return ChangeNotifierProvider<AppContext>(
|
return ChangeNotifierProvider<AppContext>(
|
||||||
create: (_) => AppContext(widget.managerAppContext),
|
create: (_) => AppContext(widget.managerAppContext),
|
||||||
child: OverlaySupport(
|
|
||||||
child: MaterialApp(
|
child: MaterialApp(
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
title: 'Manager App Demo',
|
title: 'Manager App Demo',
|
||||||
@ -58,7 +54,6 @@ class _MyAppState extends State<MyApp> {
|
|||||||
'/main': (context) => MainScreen()
|
'/main': (context) => MainScreen()
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
16
pubspec.lock
16
pubspec.lock
@ -56,7 +56,7 @@ packages:
|
|||||||
name: cupertino_icons
|
name: cupertino_icons
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.2"
|
version: "1.0.3"
|
||||||
fake_async:
|
fake_async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -116,6 +116,13 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.10"
|
version: "0.12.10"
|
||||||
|
material_segmented_control:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: material_segmented_control
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.2"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -137,13 +144,6 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.0.0"
|
||||||
overlay_support:
|
|
||||||
dependency: "direct main"
|
|
||||||
description:
|
|
||||||
name: overlay_support
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.5-hotfix1"
|
|
||||||
path:
|
path:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@ -26,10 +26,10 @@ dependencies:
|
|||||||
|
|
||||||
rxdart: 0.22.0
|
rxdart: 0.22.0
|
||||||
provider: ^5.0.0
|
provider: ^5.0.0
|
||||||
overlay_support: 1.0.5-hotfix1
|
|
||||||
auto_size_text: ^2.1.0
|
auto_size_text: ^2.1.0
|
||||||
flutter_colorpicker: ^0.4.0
|
flutter_colorpicker: ^0.4.0
|
||||||
multiselect_formfield: ^0.1.6
|
multiselect_formfield: ^0.1.6
|
||||||
|
material_segmented_control: ^3.1.2
|
||||||
managerapi:
|
managerapi:
|
||||||
path: manager_api
|
path: manager_api
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user