chore: hide course filters in onboarding pages (#4226)
This commit is contained in:
parent
828dbab9a8
commit
500e9670fa
3 changed files with 103 additions and 90 deletions
|
|
@ -220,7 +220,9 @@ abstract class AppRoutes {
|
|||
return defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const PublicTripPage(),
|
||||
const PublicTripPage(
|
||||
showFilters: false,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
|
|
@ -230,7 +232,10 @@ abstract class AppRoutes {
|
|||
return defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const NewTripPage(route: 'registration'),
|
||||
const NewTripPage(
|
||||
route: 'registration',
|
||||
showFilters: false,
|
||||
),
|
||||
);
|
||||
},
|
||||
routes: [
|
||||
|
|
|
|||
|
|
@ -15,11 +15,13 @@ import 'package:fluffychat/widgets/matrix.dart';
|
|||
class NewTripPage extends StatefulWidget {
|
||||
final String route;
|
||||
final String? spaceId;
|
||||
final bool showFilters;
|
||||
|
||||
const NewTripPage({
|
||||
super.key,
|
||||
required this.route,
|
||||
this.spaceId,
|
||||
this.showFilters = true,
|
||||
});
|
||||
|
||||
@override
|
||||
|
|
@ -70,51 +72,53 @@ class NewTripPageState extends State<NewTripPage> with CourseSearchProvider {
|
|||
),
|
||||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Wrap(
|
||||
spacing: 8.0,
|
||||
runSpacing: 8.0,
|
||||
alignment: WrapAlignment.start,
|
||||
children: [
|
||||
CoursePlanFilter<LanguageModel>(
|
||||
value: instructionLanguageFilter,
|
||||
onChanged: setInstructionLanguageFilter,
|
||||
items: MatrixState
|
||||
.pangeaController.pLanguageStore.baseOptions,
|
||||
displayname: (v) =>
|
||||
v.getDisplayName(context) ?? v.displayName,
|
||||
enableSearch: true,
|
||||
defaultName:
|
||||
L10n.of(context).languageOfInstructionsLabel,
|
||||
shortName: L10n.of(context).allLanguages,
|
||||
),
|
||||
CoursePlanFilter<LanguageModel>(
|
||||
value: targetLanguageFilter,
|
||||
onChanged: setTargetLanguageFilter,
|
||||
items: MatrixState
|
||||
.pangeaController.pLanguageStore.targetOptions,
|
||||
displayname: (v) =>
|
||||
v.getDisplayName(context) ?? v.displayName,
|
||||
enableSearch: true,
|
||||
defaultName: L10n.of(context).targetLanguageLabel,
|
||||
shortName: L10n.of(context).allLanguages,
|
||||
),
|
||||
CoursePlanFilter<LanguageLevelTypeEnum>(
|
||||
value: languageLevelFilter,
|
||||
onChanged: setLanguageLevelFilter,
|
||||
items: LanguageLevelTypeEnum.values,
|
||||
displayname: (v) => v.string,
|
||||
defaultName: L10n.of(context).cefrLevelLabel,
|
||||
shortName: L10n.of(context).allCefrLevels,
|
||||
),
|
||||
],
|
||||
if (widget.showFilters) ...[
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Wrap(
|
||||
spacing: 8.0,
|
||||
runSpacing: 8.0,
|
||||
alignment: WrapAlignment.start,
|
||||
children: [
|
||||
CoursePlanFilter<LanguageModel>(
|
||||
value: instructionLanguageFilter,
|
||||
onChanged: setInstructionLanguageFilter,
|
||||
items: MatrixState
|
||||
.pangeaController.pLanguageStore.baseOptions,
|
||||
displayname: (v) =>
|
||||
v.getDisplayName(context) ?? v.displayName,
|
||||
enableSearch: true,
|
||||
defaultName:
|
||||
L10n.of(context).languageOfInstructionsLabel,
|
||||
shortName: L10n.of(context).allLanguages,
|
||||
),
|
||||
CoursePlanFilter<LanguageModel>(
|
||||
value: targetLanguageFilter,
|
||||
onChanged: setTargetLanguageFilter,
|
||||
items: MatrixState.pangeaController.pLanguageStore
|
||||
.targetOptions,
|
||||
displayname: (v) =>
|
||||
v.getDisplayName(context) ?? v.displayName,
|
||||
enableSearch: true,
|
||||
defaultName: L10n.of(context).targetLanguageLabel,
|
||||
shortName: L10n.of(context).allLanguages,
|
||||
),
|
||||
CoursePlanFilter<LanguageLevelTypeEnum>(
|
||||
value: languageLevelFilter,
|
||||
onChanged: setLanguageLevelFilter,
|
||||
items: LanguageLevelTypeEnum.values,
|
||||
displayname: (v) => v.string,
|
||||
defaultName: L10n.of(context).cefrLevelLabel,
|
||||
shortName: L10n.of(context).allCefrLevels,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 20.0),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 20.0),
|
||||
],
|
||||
loading || error != null || courses.isEmpty
|
||||
? Center(
|
||||
child: Padding(
|
||||
|
|
|
|||
|
|
@ -8,8 +8,10 @@ import 'package:fluffychat/pangea/learning_settings/models/language_model.dart';
|
|||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
|
||||
class PublicTripPage extends StatefulWidget {
|
||||
final bool showFilters;
|
||||
const PublicTripPage({
|
||||
super.key,
|
||||
this.showFilters = true,
|
||||
});
|
||||
|
||||
@override
|
||||
|
|
@ -94,51 +96,53 @@ class PublicTripPageState extends State<PublicTripPage> {
|
|||
),
|
||||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Wrap(
|
||||
spacing: 8.0,
|
||||
runSpacing: 8.0,
|
||||
alignment: WrapAlignment.start,
|
||||
children: [
|
||||
CoursePlanFilter<LanguageModel>(
|
||||
value: instructionLanguageFilter,
|
||||
onChanged: setInstructionLanguageFilter,
|
||||
items: MatrixState
|
||||
.pangeaController.pLanguageStore.baseOptions,
|
||||
displayname: (v) =>
|
||||
v.getDisplayName(context) ?? v.displayName,
|
||||
enableSearch: true,
|
||||
defaultName:
|
||||
L10n.of(context).languageOfInstructionsLabel,
|
||||
shortName: L10n.of(context).allLanguages,
|
||||
),
|
||||
CoursePlanFilter<LanguageModel>(
|
||||
value: targetLanguageFilter,
|
||||
onChanged: setTargetLanguageFilter,
|
||||
items: MatrixState
|
||||
.pangeaController.pLanguageStore.targetOptions,
|
||||
displayname: (v) =>
|
||||
v.getDisplayName(context) ?? v.displayName,
|
||||
enableSearch: true,
|
||||
defaultName: L10n.of(context).targetLanguageLabel,
|
||||
shortName: L10n.of(context).allLanguages,
|
||||
),
|
||||
CoursePlanFilter<LanguageLevelTypeEnum>(
|
||||
value: languageLevelFilter,
|
||||
onChanged: setLanguageLevelFilter,
|
||||
items: LanguageLevelTypeEnum.values,
|
||||
displayname: (v) => v.string,
|
||||
defaultName: L10n.of(context).cefrLevelLabel,
|
||||
shortName: L10n.of(context).allCefrLevels,
|
||||
),
|
||||
],
|
||||
if (widget.showFilters) ...[
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Wrap(
|
||||
spacing: 8.0,
|
||||
runSpacing: 8.0,
|
||||
alignment: WrapAlignment.start,
|
||||
children: [
|
||||
CoursePlanFilter<LanguageModel>(
|
||||
value: instructionLanguageFilter,
|
||||
onChanged: setInstructionLanguageFilter,
|
||||
items: MatrixState
|
||||
.pangeaController.pLanguageStore.baseOptions,
|
||||
displayname: (v) =>
|
||||
v.getDisplayName(context) ?? v.displayName,
|
||||
enableSearch: true,
|
||||
defaultName:
|
||||
L10n.of(context).languageOfInstructionsLabel,
|
||||
shortName: L10n.of(context).allLanguages,
|
||||
),
|
||||
CoursePlanFilter<LanguageModel>(
|
||||
value: targetLanguageFilter,
|
||||
onChanged: setTargetLanguageFilter,
|
||||
items: MatrixState.pangeaController.pLanguageStore
|
||||
.targetOptions,
|
||||
displayname: (v) =>
|
||||
v.getDisplayName(context) ?? v.displayName,
|
||||
enableSearch: true,
|
||||
defaultName: L10n.of(context).targetLanguageLabel,
|
||||
shortName: L10n.of(context).allLanguages,
|
||||
),
|
||||
CoursePlanFilter<LanguageLevelTypeEnum>(
|
||||
value: languageLevelFilter,
|
||||
onChanged: setLanguageLevelFilter,
|
||||
items: LanguageLevelTypeEnum.values,
|
||||
displayname: (v) => v.string,
|
||||
defaultName: L10n.of(context).cefrLevelLabel,
|
||||
shortName: L10n.of(context).allCefrLevels,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 20.0),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 20.0),
|
||||
],
|
||||
Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(32.0),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue