Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
org.benoitharrault.random
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.random
Merge requests
!90
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"
92-use-activityparameters-widgets-from-flutter_custom_toolbox
into
master
Overview
0
Commits
1
Pipelines
2
Changes
22
Merged
Benoît Harrault
requested to merge
92-use-activityparameters-widgets-from-flutter_custom_toolbox
into
master
5 months ago
Overview
0
Commits
1
Pipelines
2
Changes
22
Expand
Closes
#92 (closed)
0
0
Merge request reports
Compare
master
master (base)
and
latest version
latest version
6912ee66
1 commit,
4 months ago
22 files
+
343
−
741
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
22
Search (e.g. *.vue) (Ctrl+P)
lib/common/config/activity_page.dart
+
47
−
18
Options
import
'package:flutter/material.dart'
;
import
'package:flutter_custom_toolbox/flutter_toolbox.dart'
;
import
'package:random/common/ui/pages/api.dart'
;
import
'package:random/common/ui/pages/camera.dart'
;
import
'package:random/common/ui/pages/demo.dart'
;
import
'package:random/common/ui/pages/game.dart'
;
import
'package:random/common/ui/pages/graph.dart'
;
import
'package:random/common/ui/pages/game.dart'
;
import
'package:random/common/ui/pages/parameters.dart'
;
import
'package:random/config/application_config.dart'
;
import
'package:random/cubit/activity/activity_cubit.dart'
;
import
'package:random/models/activity/activity.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
,
});
}
@@ -24,48 +28,63 @@ class ActivityPage {
static
const
bool
displayBottomNavBar
=
true
;
static
const
indexHome
=
0
;
static
const
pageHome
=
ActivityPageItem
(
static
final
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
indexDemo
=
1
;
static
const
pageDemo
=
ActivityPageItem
(
static
final
pageDemo
=
ActivityPageItem
(
code:
'page_demo'
,
icon:
Icon
(
UniconsLine
.
eye
),
page:
PageDemo
(),
builder:
({
required
Activity
currentActivity
})
{
return
PageDemo
();
},
);
static
const
indexGame
=
2
;
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
indexCamera
=
3
;
static
const
pageCamera
=
ActivityPageItem
(
static
final
pageCamera
=
ActivityPageItem
(
code:
'page_camera'
,
icon:
Icon
(
UniconsLine
.
camera
),
page:
PageCamera
(),
builder:
({
required
Activity
currentActivity
})
{
return
PageCamera
();
},
);
static
const
indexGraph
=
4
;
static
const
pageGraph
=
ActivityPageItem
(
static
final
pageGraph
=
ActivityPageItem
(
code:
'page_graph'
,
icon:
Icon
(
UniconsLine
.
pen
),
page:
PageGraph
(),
builder:
({
required
Activity
currentActivity
})
{
return
PageGraph
();
},
);
static
const
indexApi
=
5
;
static
const
pageApi
=
ActivityPageItem
(
static
final
pageApi
=
ActivityPageItem
(
code:
'page_api'
,
icon:
Icon
(
UniconsLine
.
link
),
page:
PageApi
(),
builder:
({
required
Activity
currentActivity
})
{
return
PageApi
();
},
);
static
const
Map
<
int
,
ActivityPageItem
>
items
=
{
static
final
Map
<
int
,
ActivityPageItem
>
items
=
{
indexHome:
pageHome
,
indexDemo:
pageDemo
,
indexGame:
pageGame
,
@@ -81,6 +100,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