| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  | import 'package:aidedejeu_flutter/blocs/player_character/player_character_bloc.dart'; | 
					
						
							| 
									
										
										
										
											2020-03-12 17:22:48 +01:00
										 |  |  | import 'package:aidedejeu_flutter/blocs/player_character/player_character_event.dart'; | 
					
						
							|  |  |  | import 'package:aidedejeu_flutter/blocs/player_character/player_character_state.dart'; | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  | import 'package:aidedejeu_flutter/localization.dart'; | 
					
						
							| 
									
										
										
										
											2020-02-29 02:36:15 +01:00
										 |  |  | import 'package:aidedejeu_flutter/models/items.dart'; | 
					
						
							| 
									
										
										
										
											2020-03-01 01:44:08 +01:00
										 |  |  | import 'package:aidedejeu_flutter/widgets/library.dart'; | 
					
						
							| 
									
										
										
										
											2020-02-29 02:36:15 +01:00
										 |  |  | import 'package:flutter/material.dart'; | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  | import 'package:flutter_bloc/flutter_bloc.dart'; | 
					
						
							| 
									
										
										
										
											2020-03-01 01:44:08 +01:00
										 |  |  | import 'package:flutter_markdown/flutter_markdown.dart'; | 
					
						
							| 
									
										
										
										
											2020-02-29 02:36:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  | class PCEditorPage extends StatelessWidget { | 
					
						
							| 
									
										
										
										
											2020-02-29 02:36:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |   MarkdownStyleSheet styleSheet; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |   // widgets generics
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |   Widget _buildMarkdown( | 
					
						
							|  |  |  |       BuildContext context, PlayerCharacterState state, String markdown) { | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |     return MarkdownBody( | 
					
						
							|  |  |  |       data: markdown ?? "", | 
					
						
							| 
									
										
										
										
											2020-03-05 18:34:25 +01:00
										 |  |  |       styleSheet: styleSheet, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       onTapLink: (link) => Navigator.push( | 
					
						
							|  |  |  |         context, | 
					
						
							|  |  |  |         MaterialPageRoute(builder: (context) => LibraryPage(id: link)), | 
					
						
							|  |  |  |       ), | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |   Widget _buildSubTitle( | 
					
						
							|  |  |  |       BuildContext context, PlayerCharacterState state, String title) { | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |     return Text(title, | 
					
						
							|  |  |  |         style: TextStyle( | 
					
						
							|  |  |  |           fontSize: 16, | 
					
						
							|  |  |  |           fontFamily: "Cinzel", | 
					
						
							|  |  |  |         )); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Widget _buildItemsWidget<T extends Item>( | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |       BuildContext context, PlayerCharacterState state, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       {String hintText, | 
					
						
							|  |  |  |       List<T> items, | 
					
						
							|  |  |  |       T selectedItem, | 
					
						
							|  |  |  |       ValueChanged<T> onChanged}) { | 
					
						
							| 
									
										
										
										
											2020-03-01 00:27:51 +01:00
										 |  |  |     return DropdownButton( | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       hint: Text(hintText), | 
					
						
							|  |  |  |       value: items != null ? selectedItem : "", | 
					
						
							| 
									
										
										
										
											2020-03-01 00:27:51 +01:00
										 |  |  |       onChanged: (value) { | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |         onChanged(value); | 
					
						
							| 
									
										
										
										
											2020-03-01 00:27:51 +01:00
										 |  |  |       }, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       items: items != null | 
					
						
							|  |  |  |           ? items | 
					
						
							| 
									
										
										
										
											2020-03-01 00:27:51 +01:00
										 |  |  |               .map((e) => DropdownMenuItem( | 
					
						
							|  |  |  |                     value: e, | 
					
						
							|  |  |  |                     child: Text(e.name), | 
					
						
							|  |  |  |                   )) | 
					
						
							|  |  |  |               .toList() | 
					
						
							|  |  |  |           : null, | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |   // widgets specifics
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |   Widget _buildRacesWidget(BuildContext context, PlayerCharacterState state) { | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |     return _buildItemsWidget<RaceItem>( | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |       context, | 
					
						
							|  |  |  |       state, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       hintText: "Race", | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |       items: state.races, | 
					
						
							|  |  |  |       selectedItem: state.race, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       onChanged: (value) { | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |         //state.setRace(value);
 | 
					
						
							|  |  |  |         BlocProvider.of<PlayerCharacterBloc>(context).add(RaceEvent(value)); | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       }, | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |   Widget _buildSubRacesWidget( | 
					
						
							|  |  |  |       BuildContext context, PlayerCharacterState state) { | 
					
						
							|  |  |  |     return state.subRaces != null | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |         ? _buildItemsWidget<SubRaceItem>( | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |             context, | 
					
						
							|  |  |  |             state, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |             hintText: "Variante", | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |             items: state.subRaces, | 
					
						
							|  |  |  |             selectedItem: state.subRace, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |             onChanged: (value) { | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |               //state.setSubRace(value);
 | 
					
						
							|  |  |  |               BlocProvider.of<PlayerCharacterBloc>(context) | 
					
						
							|  |  |  |                   .add(SubRaceEvent(value)); | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |             }, | 
					
						
							|  |  |  |           ) | 
					
						
							|  |  |  |         : SizedBox.shrink(); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |   Widget _buildRaceDetailsWidget( | 
					
						
							|  |  |  |       BuildContext context, PlayerCharacterState state) { | 
					
						
							|  |  |  |     return state.race != null | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |         ? Column( | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |             crossAxisAlignment: CrossAxisAlignment.start, | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |             children: [ | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |               _buildSubTitle(context, state, | 
					
						
							|  |  |  |                   AppLocalizations.of(context).raceAbilityScoreIncrease), | 
					
						
							|  |  |  |               _buildMarkdown(context, state, state.race?.abilityScoreIncrease), | 
					
						
							|  |  |  |               _buildMarkdown( | 
					
						
							|  |  |  |                   context, state, state.subRace?.abilityScoreIncrease), | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |               Text(""), | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |               _buildSubTitle( | 
					
						
							|  |  |  |                   context, state, AppLocalizations.of(context).raceAge), | 
					
						
							|  |  |  |               _buildMarkdown(context, state, state.race?.age), | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |               Text(""), | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |               _buildSubTitle( | 
					
						
							|  |  |  |                   context, state, AppLocalizations.of(context).raceAlignment), | 
					
						
							|  |  |  |               _buildMarkdown(context, state, state.race?.alignment), | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |               Text(""), | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |               _buildSubTitle( | 
					
						
							|  |  |  |                   context, state, AppLocalizations.of(context).raceSize), | 
					
						
							|  |  |  |               _buildMarkdown(context, state, state.race?.size), | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |               Text(""), | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |               _buildSubTitle( | 
					
						
							|  |  |  |                   context, state, AppLocalizations.of(context).raceSpeed), | 
					
						
							|  |  |  |               _buildMarkdown(context, state, state.race?.speed), | 
					
						
							|  |  |  |               state.race?.darkvision != null ? Text("") : SizedBox.shrink(), | 
					
						
							|  |  |  |               state.race?.darkvision != null | 
					
						
							|  |  |  |                   ? _buildSubTitle(context, state, | 
					
						
							|  |  |  |                       AppLocalizations.of(context).raceDarkvision) | 
					
						
							|  |  |  |                   : SizedBox.shrink(), | 
					
						
							|  |  |  |               state.race?.darkvision != null | 
					
						
							|  |  |  |                   ? _buildMarkdown(context, state, state.race?.darkvision) | 
					
						
							|  |  |  |                   : SizedBox.shrink(), | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |               Text(""), | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |               _buildSubTitle( | 
					
						
							|  |  |  |                   context, state, AppLocalizations.of(context).raceLanguages), | 
					
						
							|  |  |  |               _buildMarkdown(context, state, state.race?.languages), | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |             ], | 
					
						
							|  |  |  |           ) | 
					
						
							|  |  |  |         : SizedBox.shrink(); | 
					
						
							| 
									
										
										
										
											2020-03-01 01:44:08 +01:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |   Widget _buildBackgroundsWidget( | 
					
						
							|  |  |  |       BuildContext context, PlayerCharacterState state) { | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |     return _buildItemsWidget<BackgroundItem>( | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |       context, | 
					
						
							|  |  |  |       state, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       hintText: "Historique", | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |       items: state.backgrounds, | 
					
						
							|  |  |  |       selectedItem: state.background, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       onChanged: (value) { | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |         //state.setBackground(value);
 | 
					
						
							|  |  |  |         BlocProvider.of<PlayerCharacterBloc>(context) | 
					
						
							|  |  |  |             .add(BackgroundEvent(value)); | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |       }, | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |   Widget _buildSubBackgroundsWidget( | 
					
						
							|  |  |  |       BuildContext context, PlayerCharacterState state) { | 
					
						
							|  |  |  |     return state.subBackgrounds != null | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |         ? _buildItemsWidget<SubBackgroundItem>( | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |             context, | 
					
						
							|  |  |  |             state, | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |             hintText: "Variante", | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |             items: state.subBackgrounds, | 
					
						
							|  |  |  |             selectedItem: state.subBackground, | 
					
						
							| 
									
										
										
										
											2020-03-01 00:27:51 +01:00
										 |  |  |             onChanged: (value) { | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |               //state.setSubBackground(value);
 | 
					
						
							|  |  |  |               BlocProvider.of<PlayerCharacterBloc>(context) | 
					
						
							|  |  |  |                   .add(SubBackgroundEvent(value)); | 
					
						
							| 
									
										
										
										
											2020-03-01 00:27:51 +01:00
										 |  |  |             }, | 
					
						
							|  |  |  |           ) | 
					
						
							|  |  |  |         : SizedBox.shrink(); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2020-02-29 02:36:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   Widget build(BuildContext context) { | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |     return MultiBlocProvider( | 
					
						
							|  |  |  |       providers: [ | 
					
						
							|  |  |  |         BlocProvider<PlayerCharacterBloc>( | 
					
						
							|  |  |  |           create: (context) { | 
					
						
							|  |  |  |             return PlayerCharacterBloc(context) | 
					
						
							|  |  |  |               ..add( | 
					
						
							|  |  |  |                 LoadEvent(), | 
					
						
							|  |  |  |               ); | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  |         ), | 
					
						
							|  |  |  |       ], | 
					
						
							|  |  |  |       child: BlocBuilder<PlayerCharacterBloc, PlayerCharacterState>( | 
					
						
							|  |  |  |         builder: (context, state) { | 
					
						
							|  |  |  |           return buildUI(context, state); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |       ), | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Widget buildUI(BuildContext context, PlayerCharacterState state) { | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |     return DefaultTabController( | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |       length: 5, | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |       child: Scaffold( | 
					
						
							|  |  |  |         appBar: AppBar( | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |           title: Text(AppLocalizations.of(context).pceditorTitle), | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |           bottom: TabBar( | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |             labelColor: Colors.black, | 
					
						
							|  |  |  |             isScrollable: true, | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |             indicatorColor: Theme.of(context).accentColor, | 
					
						
							|  |  |  |             // Colors.red,
 | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |             indicatorSize: TabBarIndicatorSize.label, | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |             tabs: <Widget>[ | 
					
						
							|  |  |  |               Text( | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |                 AppLocalizations.of(context).raceTitle, | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |                 style: TextStyle( | 
					
						
							|  |  |  |                   fontSize: 25, | 
					
						
							|  |  |  |                   fontFamily: "Cinzel", | 
					
						
							|  |  |  |                 ), | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |               ), | 
					
						
							|  |  |  |               Text( | 
					
						
							|  |  |  |                 AppLocalizations.of(context).backgroundTitle, | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |                 style: TextStyle( | 
					
						
							|  |  |  |                   fontSize: 25, | 
					
						
							|  |  |  |                   fontFamily: "Cinzel", | 
					
						
							|  |  |  |                 ), | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |               ), | 
					
						
							|  |  |  |               Text( | 
					
						
							|  |  |  |                 AppLocalizations.of(context).classTitle, | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |                 style: TextStyle( | 
					
						
							|  |  |  |                   fontSize: 25, | 
					
						
							|  |  |  |                   fontFamily: "Cinzel", | 
					
						
							|  |  |  |                 ), | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |               ), | 
					
						
							|  |  |  |               Text( | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |                 AppLocalizations.of(context).abilitiesTitle, | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |                 style: TextStyle( | 
					
						
							|  |  |  |                   fontSize: 25, | 
					
						
							|  |  |  |                   fontFamily: "Cinzel", | 
					
						
							|  |  |  |                 ), | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |               ), | 
					
						
							|  |  |  |               Text( | 
					
						
							| 
									
										
										
										
											2020-03-03 16:03:31 +01:00
										 |  |  |                 AppLocalizations.of(context).othersTitle, | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |                 style: TextStyle( | 
					
						
							|  |  |  |                   fontSize: 25, | 
					
						
							|  |  |  |                   fontFamily: "Cinzel", | 
					
						
							|  |  |  |                 ), | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |               ), | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |           ), | 
					
						
							|  |  |  |         ), | 
					
						
							|  |  |  |         body: TabBarView( | 
					
						
							|  |  |  |           children: [ | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |             Container( | 
					
						
							|  |  |  |               margin: EdgeInsets.all(10.0), | 
					
						
							|  |  |  |               child: ListView( | 
					
						
							|  |  |  |                 children: <Widget>[ | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |                   _buildRacesWidget(context, state), | 
					
						
							|  |  |  |                   _buildSubRacesWidget(context, state), | 
					
						
							|  |  |  |                   _buildRaceDetailsWidget(context, state), | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |                 ], | 
					
						
							|  |  |  |               ), | 
					
						
							|  |  |  |             ), | 
					
						
							|  |  |  |             Container( | 
					
						
							|  |  |  |               margin: EdgeInsets.all(10.0), | 
					
						
							|  |  |  |               child: ListView( | 
					
						
							|  |  |  |                 children: <Widget>[ | 
					
						
							| 
									
										
										
										
											2020-03-12 15:57:57 +01:00
										 |  |  |                   _buildBackgroundsWidget(context, state), | 
					
						
							|  |  |  |                   _buildSubBackgroundsWidget(context, state), | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |                 ], | 
					
						
							|  |  |  |               ), | 
					
						
							|  |  |  |             ), | 
					
						
							|  |  |  |             Container( | 
					
						
							|  |  |  |               margin: EdgeInsets.all(10.0), | 
					
						
							|  |  |  |               child: Text(AppLocalizations.of(context).classTitle), | 
					
						
							|  |  |  |             ), | 
					
						
							|  |  |  |             Container( | 
					
						
							|  |  |  |               margin: EdgeInsets.all(10.0), | 
					
						
							|  |  |  |               child: Text(AppLocalizations.of(context).abilitiesTitle), | 
					
						
							| 
									
										
										
										
											2020-03-01 21:30:33 +01:00
										 |  |  |             ), | 
					
						
							| 
									
										
										
										
											2020-03-04 23:19:51 +01:00
										 |  |  |             Container( | 
					
						
							|  |  |  |               margin: EdgeInsets.all(10.0), | 
					
						
							|  |  |  |               child: Text(AppLocalizations.of(context).othersTitle), | 
					
						
							| 
									
										
										
										
											2020-03-01 19:04:48 +01:00
										 |  |  |             ), | 
					
						
							|  |  |  |           ], | 
					
						
							|  |  |  |         ), | 
					
						
							| 
									
										
										
										
											2020-02-29 02:36:15 +01:00
										 |  |  |       ), | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |