import 'package:fcs/domain/entities/setting.dart'; import 'package:fcs/domain/vo/term.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/main/model/main_model.dart'; import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:provider/provider.dart'; import '../main/model/language_model.dart'; import 'term_editor.dart'; class TermPage extends StatefulWidget { const TermPage({Key? key}) : super(key: key); @override _TermPageState createState() => _TermPageState(); } class _TermPageState extends State { @override Widget build(BuildContext context) { bool isEng = Provider.of(context).isEng; Setting? setting = Provider.of(context).setting; bool isEditable = context.select((MainModel m) => m.termEditable()); String? term = isEng ? (setting!.termsEng ?? "") : (setting!.termsMm ?? ""); return Scaffold( appBar: LocalAppBar( labelKey: 'term', backgroundColor: Colors.white, labelColor: primaryColor, arrowColor: primaryColor, actions: isEditable ? [ IconButton( onPressed: () { Navigator.of(context).push(CupertinoPageRoute( builder: (context) => TermEditor(term: Term.fromSetting(setting)), )); }, icon: Icon(Icons.edit, color: primaryColor)) ] : [], ), body: Markdown( shrinkWrap: true, softLineBreak: true, physics: const BouncingScrollPhysics(), data: term.replaceAll("\\n", '\n'), styleSheet: MarkdownStyleSheet.fromTheme(ThemeData( textTheme: TextTheme( bodyMedium: TextStyle( fontSize: isEng ? 15 : 14, color: Colors.black87))))), ); } }