From 87f3f93177b6a1da050b4fa4337a3c7a5165ec1c Mon Sep 17 00:00:00 2001 From: Kima Date: Thu, 8 Jun 2023 19:53:50 +0200 Subject: [PATCH] started creating end-year summary and stb --- .../login/school_input/school_input_tile.dart | 3 +- .../screens/summary/pages/grades_page.dart | 10 ++++ .../summary/pages/personality_page.dart | 10 ++++ .../lib/screens/summary/summary_screen.dart | 55 +++++++++++++++++++ .../screens/summary/summary_screen.i18n.dart | 15 +++++ .../lib/ui/mobile/timetable/fs_timetable.dart | 16 ++---- 6 files changed, 97 insertions(+), 12 deletions(-) create mode 100644 filcnaplo_mobile_ui/lib/screens/summary/pages/grades_page.dart create mode 100644 filcnaplo_mobile_ui/lib/screens/summary/pages/personality_page.dart create mode 100644 filcnaplo_mobile_ui/lib/screens/summary/summary_screen.dart create mode 100644 filcnaplo_mobile_ui/lib/screens/summary/summary_screen.i18n.dart diff --git a/filcnaplo_mobile_ui/lib/screens/login/school_input/school_input_tile.dart b/filcnaplo_mobile_ui/lib/screens/login/school_input/school_input_tile.dart index 93fde63..ae48d26 100755 --- a/filcnaplo_mobile_ui/lib/screens/login/school_input/school_input_tile.dart +++ b/filcnaplo_mobile_ui/lib/screens/login/school_input/school_input_tile.dart @@ -2,7 +2,8 @@ import 'package:filcnaplo_kreta_api/models/school.dart'; import 'package:flutter/material.dart'; class SchoolInputTile extends StatelessWidget { - const SchoolInputTile({Key? key, required this.school, this.onTap}) : super(key: key); + const SchoolInputTile({Key? key, required this.school, this.onTap}) + : super(key: key); final School school; final Function()? onTap; diff --git a/filcnaplo_mobile_ui/lib/screens/summary/pages/grades_page.dart b/filcnaplo_mobile_ui/lib/screens/summary/pages/grades_page.dart new file mode 100644 index 0000000..98bcb65 --- /dev/null +++ b/filcnaplo_mobile_ui/lib/screens/summary/pages/grades_page.dart @@ -0,0 +1,10 @@ +import 'package:flutter/material.dart'; + +class GradesBody extends StatelessWidget { + const GradesBody({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Column(); + } +} diff --git a/filcnaplo_mobile_ui/lib/screens/summary/pages/personality_page.dart b/filcnaplo_mobile_ui/lib/screens/summary/pages/personality_page.dart new file mode 100644 index 0000000..28c052f --- /dev/null +++ b/filcnaplo_mobile_ui/lib/screens/summary/pages/personality_page.dart @@ -0,0 +1,10 @@ +import 'package:flutter/material.dart'; + +class PersonalityBody extends StatelessWidget { + const PersonalityBody({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Column(); + } +} diff --git a/filcnaplo_mobile_ui/lib/screens/summary/summary_screen.dart b/filcnaplo_mobile_ui/lib/screens/summary/summary_screen.dart new file mode 100644 index 0000000..874daa0 --- /dev/null +++ b/filcnaplo_mobile_ui/lib/screens/summary/summary_screen.dart @@ -0,0 +1,55 @@ +import 'package:flutter/material.dart'; +import 'pages/grades_page.dart'; + +class SummaryScreen extends StatefulWidget { + final String currentPage; + + const SummaryScreen({Key? key, this.currentPage = 'personality'}) + : super(key: key); + + @override + _SummaryScreenState createState() => _SummaryScreenState(); +} + +class _SummaryScreenState extends State { + final LinearGradient _backgroundGradient = const LinearGradient( + colors: [ + Color(0xff1d56ac), + Color(0xff170a3d), + ], + begin: Alignment(-0.8, -1.0), + end: Alignment(0.8, 1.0), + stops: [-1.0, 1.0], + ); + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Container( + decoration: BoxDecoration(gradient: _backgroundGradient), + child: Container( + decoration: BoxDecoration(gradient: _backgroundGradient), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: SafeArea( + child: Padding( + padding: EdgeInsets.only( + left: 24.0, + right: 24.0, + top: 26.0 + MediaQuery.of(context).padding.top, + bottom: 52.0, + ), + child: widget.currentPage == 'grades' + ? const GradesBody() + : widget.currentPage == 'lessons' + ? const GradesBody() + : widget.currentPage == 'allsum' + ? const GradesBody() + : const GradesBody(), + ), + ), + ), + ), + ); + } +} diff --git a/filcnaplo_mobile_ui/lib/screens/summary/summary_screen.i18n.dart b/filcnaplo_mobile_ui/lib/screens/summary/summary_screen.i18n.dart new file mode 100644 index 0000000..4a8c32f --- /dev/null +++ b/filcnaplo_mobile_ui/lib/screens/summary/summary_screen.i18n.dart @@ -0,0 +1,15 @@ +import 'package:i18n_extension/i18n_extension.dart'; + +extension SettingsLocalization on String { + static final _t = Translations.byLocale("hu_hu") + + { + "en_en": {}, + "hu_hu": {}, + "de_de": {}, + }; + + String get i18n => localize(this, _t); + String fill(List params) => localizeFill(this, params); + String plural(int value) => localizePlural(value, this, _t); + String version(Object modifier) => localizeVersion(modifier, this, _t); +} diff --git a/filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable.dart b/filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable.dart index 1e3e429..2221c5c 100644 --- a/filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable.dart +++ b/filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable.dart @@ -60,7 +60,11 @@ class _PremiumFSTimetableState extends State { final colw = (MediaQuery.of(context).size.width - padding) / days.length; return Scaffold( - appBar: buildAppBar(), + appBar: AppBar( + surfaceTintColor: Theme.of(context).scaffoldBackgroundColor, + leading: BackButton(color: AppColors.of(context).text), + shadowColor: Colors.transparent, + ), body: ListView.builder( physics: const BouncingScrollPhysics(), padding: const EdgeInsets.symmetric(horizontal: 6.0, vertical: 24.0), @@ -209,14 +213,4 @@ class _PremiumFSTimetableState extends State { ), ); } - - AppBar buildAppBar() { - return AppBar( - backgroundColor: Colors.transparent, - automaticallyImplyLeading: false, - actions: const [ - BackButton(), - ], - ); - } }