Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
org.benoitharrault.hangman
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
android
org.benoitharrault.hangman
Merge requests
!50
Resolve "Use ActivityParameters widgets from flutter_custom_toolbox"
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Resolve "Use ActivityParameters widgets from flutter_custom_toolbox"
53-use-activityparameters-widgets-from-flutter_custom_toolbox
into
master
Overview
0
Commits
1
Pipelines
2
Changes
21
Merged
Benoît Harrault
requested to merge
53-use-activityparameters-widgets-from-flutter_custom_toolbox
into
master
7 months ago
Overview
0
Commits
1
Pipelines
2
Changes
21
Expand
Closes
#53 (closed)
0
0
Merge request reports
Viewing commit
9ddaf226
Show latest version
21 files
+
218
−
870
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
21
Search (e.g. *.vue) (Ctrl+P)
9ddaf226
Use ActivityParameters widgets from flutter_custom_toolbox
· 9ddaf226
Benoît Harrault
authored
7 months ago
lib/common/config/activity_page.dart
+
29
−
10
Options
import
'package:flutter/material.dart'
;
import
'package:flutter_custom_toolbox/flutter_toolbox.dart'
;
import
'package:hangman/common/ui/pages/game.dart'
;
import
'package:hangman/common/ui/pages/parameters.dart'
;
import
'package:hangman/cubit/activity/activity_cubit.dart'
;
import
'package:hangman/config/application_config.dart'
;
import
'package:hangman/models/activity/activity.dart'
;
import
'package:hangman/ui/pages/game.dart'
;
class
ActivityPageItem
{
final
String
code
;
final
Icon
icon
;
final
Widget
page
;
final
Widget
Function
({
required
Activity
currentActivity
})
?
builder
;
const
ActivityPageItem
({
required
this
.
code
,
required
this
.
icon
,
required
this
.
page
,
required
this
.
builder
,
});
}
@@ -20,20 +22,27 @@ class ActivityPage {
static
const
bool
displayBottomNavBar
=
false
;
static
const
indexHome
=
0
;
static
const
pageHome
=
ActivityPageItem
(
static
final
ActivityPageItem
pageHome
=
ActivityPageItem
(
code:
'page_home'
,
icon:
Icon
(
UniconsLine
.
home
),
page:
PageParameters
(),
builder:
({
required
Activity
currentActivity
})
{
return
PageParameters
(
config:
ApplicationConfig
.
config
,
canBeResumed:
currentActivity
.
canBeResumed
,
);
},
);
static
const
indexGame
=
1
;
static
const
pageGame
=
ActivityPageItem
(
static
final
pageGame
=
ActivityPageItem
(
code:
'page_game'
,
icon:
Icon
(
UniconsLine
.
star
),
page:
PageGame
(),
builder:
({
required
Activity
currentActivity
})
{
return
PageGame
();
},
);
static
const
Map
<
int
,
ActivityPageItem
>
items
=
{
static
final
Map
<
int
,
ActivityPageItem
>
items
=
{
indexHome:
pageHome
,
indexGame:
pageGame
,
};
@@ -45,6 +54,16 @@ class ActivityPage {
}
static
Widget
getWidget
(
int
pageIndex
)
{
return
items
[
pageIndex
]
?.
page
??
pageHome
.
page
;
return
BlocBuilder
<
ActivityCubit
,
ActivityState
>(
builder:
(
BuildContext
context
,
ActivityState
activityState
)
{
final
Activity
currentActivity
=
activityState
.
currentActivity
;
if
(
items
.
keys
.
contains
(
pageIndex
))
{
return
items
[
pageIndex
]
?.
builder
!
(
currentActivity:
currentActivity
)
??
Text
(
'oups'
);
}
else
{
return
getWidget
(
defaultPageIndex
);
}
},
);
}
}
Loading