diff --git a/app/lib/filesharing/dialog/course_tile.dart b/app/lib/filesharing/dialog/course_tile.dart index a24c67639..9f3fa8fc3 100644 --- a/app/lib/filesharing/dialog/course_tile.dart +++ b/app/lib/filesharing/dialog/course_tile.dart @@ -10,11 +10,10 @@ import 'package:bloc_provider/bloc_provider.dart'; import 'package:common_domain_models/common_domain_models.dart'; import 'package:flutter/material.dart'; import 'package:group_domain_models/group_domain_models.dart'; -import 'package:sharezone/main/application_bloc.dart'; import 'package:sharezone/groups/group_join/group_join_page.dart'; import 'package:sharezone/groups/group_permission.dart'; import 'package:sharezone/groups/src/pages/course/create/course_template_page.dart'; -import 'package:sharezone/homework/homework_dialog/homework_dialog.dart'; +import 'package:sharezone/main/application_bloc.dart'; import 'package:sharezone/util/api.dart'; import 'package:sharezone_widgets/sharezone_widgets.dart'; @@ -90,36 +89,6 @@ class CourseTile extends StatelessWidget { } } -class CourseTileBase extends StatelessWidget { - final String? courseName; - final String? errorText; - - /// If null disables tile. - final VoidCallback? onTap; - - const CourseTileBase({ - required this.courseName, - required this.errorText, - required this.onTap, - super.key, - }); - - @override - Widget build(BuildContext context) { - return ListTile( - leading: const Icon(Icons.book), - title: const Text("Kurs"), - subtitle: Text( - errorText ?? courseName ?? HwDialogErrorStrings.emptyCourse, - style: errorText != null ? const TextStyle(color: Colors.red) : null, - ), - trailing: const Icon(Icons.keyboard_arrow_down), - enabled: onTap != null, - onTap: () => onTap!(), - ); - } -} - class _CourseList extends StatelessWidget { const _CourseList({ required this.courseList, diff --git a/lib/sharezone_widgets/lib/src/creation_editing_dialogs/course_tile_base.dart b/lib/sharezone_widgets/lib/src/creation_editing_dialogs/course_tile_base.dart new file mode 100644 index 000000000..24cea93cb --- /dev/null +++ b/lib/sharezone_widgets/lib/src/creation_editing_dialogs/course_tile_base.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; + +class CourseTileBase extends StatelessWidget { + final String? courseName; + final String? errorText; + + /// If null disables tile. + final VoidCallback? onTap; + + const CourseTileBase({ + required this.courseName, + required this.errorText, + required this.onTap, + super.key, + }); + + @override + Widget build(BuildContext context) { + return ListTile( + leading: const Icon(Icons.book), + title: const Text("Kurs"), + subtitle: Text( + errorText ?? courseName ?? "Keinen Kurs ausgewählt", + style: errorText != null ? const TextStyle(color: Colors.red) : null, + ), + trailing: const Icon(Icons.keyboard_arrow_down), + enabled: onTap != null, + onTap: () => onTap!(), + ); + } +} diff --git a/lib/sharezone_widgets/lib/src/creation_editing_dialogs/creation_editing_dialogs.dart b/lib/sharezone_widgets/lib/src/creation_editing_dialogs/creation_editing_dialogs.dart index 2ce178738..883b0041d 100644 --- a/lib/sharezone_widgets/lib/src/creation_editing_dialogs/creation_editing_dialogs.dart +++ b/lib/sharezone_widgets/lib/src/creation_editing_dialogs/creation_editing_dialogs.dart @@ -1,2 +1,3 @@ +export 'course_tile_base.dart'; export 'description_field_base.dart'; export 'markdown_support.dart';