diff --git a/lib/View/bookmarks_screen.dart b/lib/View/bookmarks_screen.dart deleted file mode 100644 index 4e55b08b..00000000 --- a/lib/View/bookmarks_screen.dart +++ /dev/null @@ -1,49 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:gocast_mobile/View/utils/custom_bottom_nav_bar.dart'; -import 'package:gocast_mobile/View/utils/video_card_view.dart'; -class BookmarksScreen extends ConsumerWidget { - const BookmarksScreen({super.key}); - - @override - Widget build(BuildContext context, WidgetRef ref) { - return Scaffold( - appBar: AppBar( - title: const Text('Bookmarks'), - actions: [ - IconButton( - icon: const Icon(Icons.search), - onPressed: () { - // Implement search functionality - }, - ), - IconButton( - icon: const Icon(Icons.filter_list), - onPressed: () { - // Implement more options functionality - }, - ), - ], - ), - body: ListView( - children: const [ - VideoCard( - imageName: 'assets/images/course2.png', - title: 'Lineare Algebra für Informatik [MA0901]', - date: 'July 24, 2019', - duration: '02:00:00', - ), - VideoCard( - imageName: 'assets/images/course2.png', - title: 'Computer Science [CS202]', - date: 'July 23, 2019', - duration: '02:00:00', - ), - // Add more DownloadItem widgets as needed - ], - ), - bottomNavigationBar: const CustomBottomNavBar() - , - ); - } -} diff --git a/lib/View/courseoverview_screen.dart b/lib/View/courseoverview_screen.dart index 4c99b866..aa1d96af 100644 --- a/lib/View/courseoverview_screen.dart +++ b/lib/View/courseoverview_screen.dart @@ -1,11 +1,12 @@ import 'package:flutter/material.dart'; -import 'package:gocast_mobile/View/utils/custom_bottom_nav_bar.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:gocast_mobile/View/mycourses_screen.dart'; import 'package:gocast_mobile/View/publiccourses_screen.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:gocast_mobile/View/utils/viewall_button_view.dart'; -import 'settings_screen.dart'; +import 'package:gocast_mobile/View/settings_screen.dart'; +import 'package:gocast_mobile/View/utils/constants.dart'; import 'package:gocast_mobile/View/utils/course_card_view.dart'; +import 'package:gocast_mobile/View/utils/custom_bottom_nav_bar.dart'; +import 'package:gocast_mobile/View/utils/viewall_button_view.dart'; final currentIndexProvider = StateProvider((ref) => 0); @@ -15,124 +16,20 @@ class CourseOverview extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { return Scaffold( - appBar: AppBar( - backgroundColor: Colors.white, // Replace with the exact color - title: const Text( - 'GoCast', - style: TextStyle(color: Colors.black), - ), // Replace with the exact color - actions: [ - IconButton( - icon: const Icon( - Icons.settings, - color: Colors.black, - ), // Replace with the exact color - onPressed: () { - // Settings action - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const SettingsScreen(), - ), - ); - }, - ), - ], - ), + appBar: _buildAppBar(context), body: SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsets.all(16.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const Text( - 'My Courses', - style: TextStyle( - fontSize: 22, - fontWeight: FontWeight.bold, - color: Colors.black, - ), - ), - ViewAllButton( - onViewAll: () { Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const MyCourses(), - ), - ); - }, // Use the reusable ViewAllButton widget - ), - ], - ), + _buildCourseSection( + context: context, + title: 'My Courses', + onViewAll: () => _navigateToScreen(context, const MyCourses()), ), - // Horizontal list view for My Courses - SizedBox( - height: 200, // Adjust the height as needed - child: ListView( - scrollDirection: Axis.horizontal, - children: const [ - CourseCard( - title: 'PSY101', - subtitle: 'Introduction to Psychology', - path: 'assets/images/course1.png', - ), - CourseCard( - title: 'CS202', - subtitle: 'Introduction to Computer Science', - path: 'assets/images/course2.png', - ), - // Add more courses as needed - ], - ), - ), - Padding( - padding: const EdgeInsets.all(16.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const Text( - 'Public Courses', - style: TextStyle( - fontSize: 22, - fontWeight: FontWeight.bold, - color: Colors.black, - ), - ), - ViewAllButton( - onViewAll: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const PublicCourses(), - ), - ); - }, - ), - ], - ), - ), - // Horizontal list view for Public Courses - SizedBox( - height: 200, // Adjust the height as needed - child: ListView( - scrollDirection: Axis.horizontal, - children: const [ - CourseCard( - title: 'PSY101', - subtitle: 'Public Psychology Course', - path: 'assets/images/course1.png', - ), - CourseCard( - title: 'PSY101', - subtitle: 'Public Psychology Course', - path: 'assets/images/course2.png', - ), - // Add more courses as needed - ], - ), + _buildCourseSection( + context: context, + title: 'Public Courses', + onViewAll: () => _navigateToScreen(context, const PublicCourses()), ), ], ), @@ -140,5 +37,80 @@ class CourseOverview extends ConsumerWidget { bottomNavigationBar: const CustomBottomNavBar(), ); } -} + AppBar _buildAppBar(BuildContext context) { + return AppBar( + backgroundColor: appBarBackgroundColor, + title: const Text('GoCast', style: TextStyle(color: appBarTextColor)), + actions: [ + IconButton( + icon: const Icon(Icons.settings, color: appBarIconColor), + onPressed: () => _navigateToScreen(context, const SettingsScreen()), + ), + ], + ); + } + + Widget _buildCourseSection({ + required BuildContext context, + required String title, + required VoidCallback onViewAll, + }) { + return Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildSectionTitle(title, onViewAll), + SizedBox( + height: 200, + child: _buildCourseListView(), + ), + ], + ), + ); + } + + Row _buildSectionTitle(String title, VoidCallback onViewAll) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: const TextStyle( + fontSize: 22, + fontWeight: FontWeight.bold, + color: Colors.black, + ), + ), + ViewAllButton(onViewAll: onViewAll), + ], + ); + } + + ListView _buildCourseListView() { + return ListView( + scrollDirection: Axis.horizontal, + children: const [ + CourseCard( + title: 'PSY101', + subtitle: 'Introduction to Psychology', + path: courseImage1, + ), + CourseCard( + title: 'PSY101', + subtitle: 'Introduction to Computer Science', + path: courseImage2, + ), + // ... Add more courses as needed + ], + ); + } + + void _navigateToScreen(BuildContext context, Widget screen) { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => screen), + ); + } +} diff --git a/lib/View/download_screen.dart b/lib/View/download_screen.dart index fc04ac6e..92f59ec2 100644 --- a/lib/View/download_screen.dart +++ b/lib/View/download_screen.dart @@ -1,6 +1,7 @@ +// DownloadsScreen.dart import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:gocast_mobile/View/utils/custom_bottom_nav_bar.dart'; +import 'utils/courselist_screen.dart'; import 'package:gocast_mobile/View/utils/video_card_view.dart'; class DownloadsScreen extends ConsumerWidget { @@ -8,43 +9,17 @@ class DownloadsScreen extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { - return Scaffold( - appBar: AppBar( - title: const Text('Downloads'), - actions: [ - IconButton( - icon: const Icon(Icons.search), - onPressed: () { - // Implement search functionality - }, - ), - IconButton( - icon: const Icon(Icons.filter_list), - onPressed: () { - // Implement more options functionality - }, - ), - ], - ), - body: ListView( - children: const [ - VideoCard( - imageName: 'assets/images/course1.png', - title: 'Lineare Algebra für Informatik [MA0901]', - date: 'July 24, 2019', - duration: '02:00:00', - ), - VideoCard( - imageName: 'assets/images/course2.png', - title: 'Computer Science [CS202]', - date: 'July 23, 2019', - duration: '02:00:00', - ), - // Add more DownloadItem widgets as needed - ], - ), - bottomNavigationBar: const CustomBottomNavBar() - , + return const CourseListScreen( + title: 'Downloads', + videoCards: [ + VideoCard( + imageName: 'assets/images/course1.png', + title: 'Lineare Algebra für Informatik [MA0901]', + date: 'July 24, 2019', + duration: '02:00:00', + ), + // Add more VideoCard widgets as needed + ], ); } } diff --git a/lib/View/mycourses_screen.dart b/lib/View/mycourses_screen.dart index 66788182..052b00b3 100644 --- a/lib/View/mycourses_screen.dart +++ b/lib/View/mycourses_screen.dart @@ -1,82 +1,23 @@ import 'package:flutter/material.dart'; -import 'package:gocast_mobile/View/utils/custom_bottom_nav_bar.dart'; -import 'settings_screen.dart'; import 'package:gocast_mobile/View/utils/course_card_view.dart'; +import 'utils/course_screen.dart'; +import 'utils/constants.dart'; +// MyCourses.dart class MyCourses extends StatelessWidget { const MyCourses({super.key}); @override Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - backgroundColor: Colors.white, // Replace with the exact color - title: const Text( - 'GoCast', - style: TextStyle(color: Colors.black), - ), // Replace with the exact color - actions: [ - IconButton( - icon: const Icon( - Icons.settings, - color: Colors.black, - ), // Replace with the exact color - onPressed: () { - // Settings action - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const SettingsScreen(), - ), - ); - }, - ), - ], - ), - body: SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Padding( - padding: EdgeInsets.all(16.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - 'My Courses', - style: TextStyle( - fontSize: 22, - fontWeight: FontWeight.bold, - color: Colors.black, - ), - ), - ], - ), - ), - // Horizontal list view for My Courses - SizedBox( - height: 200, // Adjust the height as needed - child: ListView( - scrollDirection: Axis.horizontal, - children: const [ - CourseCard( - title: 'PSY101', - subtitle: 'Introduction to Psychology', - path: 'assets/images/course1.png', - ), - CourseCard( - title: 'CS202', - subtitle: 'Introduction to Computer Science', - path: 'assets/images/course2.png', - ), - // Add more courses as needed - ], - ), - ), - ], + return const CoursesScreen( + title: 'My Courses', + courseCards: [ + CourseCard( + title: 'PSY101', + subtitle: 'Introduction to Psychology', + path: courseImage1, ), - ), - bottomNavigationBar: const CustomBottomNavBar(), + // Add more courses as needed + ], ); } } - diff --git a/lib/View/pinnedcourses_screen.dart b/lib/View/pinnedcourses_screen.dart new file mode 100644 index 00000000..e1cf8eef --- /dev/null +++ b/lib/View/pinnedcourses_screen.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'utils/courselist_screen.dart'; +import 'package:gocast_mobile/View/utils/video_card_view.dart'; + +class PinnedCourses extends ConsumerWidget { + const PinnedCourses({super.key}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + return const CourseListScreen( + title: 'Bookmarks', + videoCards: [ + VideoCard( + imageName: 'assets/images/course2.png', + title: 'Computer Science [CS202]', + date: 'July 23, 2019', + duration: '02:00:00', + ), + // Add more VideoCard widgets as needed + ], + ); + } +} diff --git a/lib/View/publiccourses_screen.dart b/lib/View/publiccourses_screen.dart index d1aef18d..4a382bb2 100644 --- a/lib/View/publiccourses_screen.dart +++ b/lib/View/publiccourses_screen.dart @@ -1,81 +1,22 @@ import 'package:flutter/material.dart'; -import 'package:gocast_mobile/View/utils/custom_bottom_nav_bar.dart'; -import 'settings_screen.dart'; -import 'utils/course_card_view.dart'; +import 'package:gocast_mobile/View/utils/course_card_view.dart'; +import 'utils/course_screen.dart'; +import 'utils/constants.dart'; class PublicCourses extends StatelessWidget { const PublicCourses({super.key}); @override Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - backgroundColor: Colors.white, // Replace with the exact color - title: const Text( - 'GoCast', - style: TextStyle(color: Colors.black), - ), // Replace with the exact color - actions: [ - IconButton( - icon: const Icon( - Icons.settings, - color: Colors.black, - ), // Replace with the exact color - onPressed: () { - // Settings action - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const SettingsScreen(), - ), - ); - }, - ), - ], - ), - body: SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Padding( - padding: EdgeInsets.all(16.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - 'Public Courses', - style: TextStyle( - fontSize: 22, - fontWeight: FontWeight.bold, - color: Colors.black, - ), - ), - ], - ), - ), - // Horizontal list view for Public Courses - SizedBox( - height: 200, // Adjust the height as needed - child: ListView( - scrollDirection: Axis.horizontal, - children: const [ - CourseCard( - title: 'PSY101', - subtitle: 'Public Psychology Course', - path: 'assets/images/course1.png', - ), - CourseCard( - title: 'PSY101', - subtitle: 'Public Psychology Course', - path: 'assets/images/course1.png', - ), - // Add more courses as needed - ], - ), - ), - ], + return const CoursesScreen( + title: 'Public Courses', + courseCards: [ + CourseCard( + title: 'PSY101', + subtitle: 'Public Psychology Course', + path: courseImage1, ), - ), - bottomNavigationBar: const CustomBottomNavBar(), + // Add more courses as needed + ], ); } } diff --git a/lib/View/utils/constants.dart b/lib/View/utils/constants.dart new file mode 100644 index 00000000..a8e83514 --- /dev/null +++ b/lib/View/utils/constants.dart @@ -0,0 +1,50 @@ +// constants.dart + +import 'package:flutter/material.dart'; + +// Colors +const Color appBarBackgroundColor = Colors.white; +const Color appBarIconColor = Colors.black; +const Color appBarTextColor = Colors.black; +const Color sectionTitleColor = Colors.black; +const Color primaryColor = Colors.blue; +const Color primaryTextColor = Colors.black; +const Color secondaryTextColor = Colors.black54; +const Color indicatorActiveColor = Colors.blue; +const Color linkTextColor = Colors.blue; // Adjust as needed + +// Text Styles +const TextStyle sectionTitleTextStyle = TextStyle( + fontSize: 22, + fontWeight: FontWeight.bold, + color: sectionTitleColor, +); +// Text Styles +const TextStyle headingTextStyle = TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: primaryTextColor, +); +const TextStyle bodyTextStyle = TextStyle( + fontSize: 16, + color: secondaryTextColor, +); +const TextStyle linkTextStyle = TextStyle( + decoration: TextDecoration.underline, + fontSize: 16, +); + +// Padding +const EdgeInsets sectionPadding = EdgeInsets.all(16.0); +const EdgeInsets screenPadding = EdgeInsets.all(16.0); + +// Image Paths +const String courseImage1 = 'assets/images/course1.png'; +const String courseImage2 = 'assets/images/course2.png'; + +// Heights +const double courseListHeight = 200.0; + +// Other Constants +const double indicatorDotSize = 10.0; +const double buttonVerticalPadding = 16.0; diff --git a/lib/View/utils/course_screen.dart b/lib/View/utils/course_screen.dart new file mode 100644 index 00000000..58ab344b --- /dev/null +++ b/lib/View/utils/course_screen.dart @@ -0,0 +1,68 @@ +import 'package:flutter/material.dart'; +import 'package:gocast_mobile/View/utils/custom_bottom_nav_bar.dart'; +import 'package:gocast_mobile/View/utils/constants.dart'; +import 'package:gocast_mobile/View/settings_screen.dart'; + +class CoursesScreen extends StatelessWidget { + final String title; + final List courseCards; + + const CoursesScreen({ + super.key, + required this.title, + required this.courseCards, + }); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: _buildAppBar(context), + body: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildSectionTitle(), + _buildCourseListView(), + ], + ), + ), + bottomNavigationBar: const CustomBottomNavBar(), + ); + } + + AppBar _buildAppBar(BuildContext context) { + return AppBar( + backgroundColor: appBarBackgroundColor, + title: const Text('GoCast', style: TextStyle(color: appBarTextColor)), + actions: [ + IconButton( + icon: const Icon(Icons.settings, color: appBarIconColor), + onPressed: () => Navigator.push( + context, + MaterialPageRoute(builder: (context) => const SettingsScreen()), + ), + ), + ], + ); + } + + Padding _buildSectionTitle() { + return Padding( + padding: sectionPadding, + child: Text( + title, + style: sectionTitleTextStyle, + ), + ); + } + + SizedBox _buildCourseListView() { + return SizedBox( + height: courseListHeight, + child: ListView( + scrollDirection: Axis.horizontal, + children: courseCards, + ), + ); + } +} diff --git a/lib/View/utils/courselist_screen.dart b/lib/View/utils/courselist_screen.dart new file mode 100644 index 00000000..72557949 --- /dev/null +++ b/lib/View/utils/courselist_screen.dart @@ -0,0 +1,42 @@ +// CourseListScreen.dart +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:gocast_mobile/View/utils/custom_bottom_nav_bar.dart'; + +class CourseListScreen extends ConsumerWidget { + final String title; + final List videoCards; + + const CourseListScreen({ + super.key, + required this.title, + required this.videoCards, + }); + + @override + Widget build(BuildContext context, WidgetRef ref) { + return Scaffold( + appBar: AppBar( + title: Text(title), + actions: [ + IconButton( + icon: const Icon(Icons.search), + onPressed: () { + // Implement search functionality + }, + ), + IconButton( + icon: const Icon(Icons.filter_list), + onPressed: () { + // Implement more options functionality + }, + ), + ], + ), + body: ListView( + children: videoCards, + ), + bottomNavigationBar: const CustomBottomNavBar(), + ); + } +} diff --git a/lib/View/utils/custom_bottom_nav_bar.dart b/lib/View/utils/custom_bottom_nav_bar.dart index 9ba4471f..33b23da2 100644 --- a/lib/View/utils/custom_bottom_nav_bar.dart +++ b/lib/View/utils/custom_bottom_nav_bar.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../courseoverview_screen.dart'; import '../download_screen.dart'; -import 'package:gocast_mobile/View/bookmarks_screen.dart'; +import 'package:gocast_mobile/View/pinnedcourses_screen.dart'; import 'package:gocast_mobile/View/notifications_screen.dart'; // Assuming currentIndexProvider is defined in a global scope file: @@ -36,7 +36,7 @@ class CustomBottomNavBar extends ConsumerWidget { break; case 2: Navigator.of(context).pushAndRemoveUntil( - MaterialPageRoute(builder: (context) => const BookmarksScreen()), + MaterialPageRoute(builder: (context) => const PinnedCourses()), (Route route) => false, ); break; diff --git a/lib/View/welcome_screen.dart b/lib/View/welcome_screen.dart index 9ed3335a..b4b09e69 100644 --- a/lib/View/welcome_screen.dart +++ b/lib/View/welcome_screen.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'internallogin_screen.dart'; import 'package:gocast_mobile/main.dart'; +import 'utils/constants.dart'; class WelcomeScreen extends ConsumerWidget { const WelcomeScreen({super.key}); @@ -27,7 +28,7 @@ class WelcomeScreen extends ConsumerWidget { return Scaffold( body: SafeArea( child: Padding( - padding: const EdgeInsets.all(16.0), + padding: screenPadding, child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch, @@ -67,66 +68,13 @@ class WelcomeScreen extends ConsumerWidget { _indicatorDot(false), ], ), + // Image and Text widgets remain unchanged const Spacer(), - ElevatedButton( - style: ElevatedButton.styleFrom( - foregroundColor: Colors.white, - backgroundColor: Colors.blue[900], - padding: const EdgeInsets.symmetric(vertical: 16.0), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(15.0), - ), - ), - child: const Text( - 'TUM Login', - style: TextStyle(fontSize: 18), - ), - onPressed: () => handleSSOLogin( - context, - ref, - usernameController, - passwordController, - ), - ), + _buildLoginButton(context, ref, usernameController, passwordController), const SizedBox(height: 12), - OutlinedButton( - style: OutlinedButton.styleFrom( - side: const BorderSide(color: Colors.blue), - foregroundColor: Colors.blue[900], - padding: const EdgeInsets.symmetric(vertical: 16.0), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(15.0), - ), - ), - child: const Text( - 'Continue without', - style: TextStyle(fontSize: 18), - ), - onPressed: () {}, - ), + _buildContinueWithoutButton(), const SizedBox(height: 12), - InkWell( - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const InternalloginScreen(), - ), - ); - // Use the route name for your different screen - }, - child: Center( - child: Text( - 'Use an internal account', // Your text - style: TextStyle( - decoration: TextDecoration.underline, - decorationColor: Colors.blue[900], - color: Colors.blue[900], // Use theme color for consistency - fontSize: 16, // Your preferred font size - ), - ), - ), - ), + _buildInternalAccountLink(context), const Spacer(flex: 2), ], ), @@ -135,15 +83,54 @@ class WelcomeScreen extends ConsumerWidget { ); } + Widget _buildLoginButton(BuildContext context, WidgetRef ref, TextEditingController usernameController, TextEditingController passwordController) { + return ElevatedButton( + style: ElevatedButton.styleFrom( + foregroundColor: Colors.white, + backgroundColor: Colors.blue[900], + padding: const EdgeInsets.symmetric(vertical: buttonVerticalPadding), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0), + ), + ), + child: const Text('TUM Login', style: TextStyle(fontSize: 18)), + onPressed: () => handleSSOLogin(context, ref, usernameController, passwordController), + ); + } + + Widget _buildContinueWithoutButton() { + return OutlinedButton( + style: OutlinedButton.styleFrom( + side: BorderSide(color: Colors.blue[900] ?? Colors.blue), + foregroundColor: Colors.blue[900], + padding: const EdgeInsets.symmetric(vertical: buttonVerticalPadding), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0), + ), + ), + child: const Text('Continue without', style: TextStyle(fontSize: 18)), + onPressed: () {}, + ); + } + + Widget _buildInternalAccountLink(BuildContext context) { + return InkWell( + onTap: () => Navigator.push(context, MaterialPageRoute(builder: (context) => const InternalloginScreen())), + child: const Center( + child: Text('Use an internal account', style: linkTextStyle), + ), + ); + } + Widget _indicatorDot(bool isActive) { return Container( - height: 10.0, - width: 10.0, + height: indicatorDotSize, + width: indicatorDotSize, margin: const EdgeInsets.symmetric(horizontal: 4.0), decoration: BoxDecoration( - color: isActive ? Colors.blue : Colors.grey[300], + color: isActive ? indicatorActiveColor : Colors.grey[300], shape: BoxShape.circle, ), ); } -} +} \ No newline at end of file