Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v6.0.0 #187

Open
wants to merge 52 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
eec1e62
Use `NavBarOverlap.none()` as the default for `navBarOverlap`
jb3rndt Mar 24, 2024
9a077e3
Moved ItemConfig opacity and filter to NavBarDecoration
jb3rndt Apr 10, 2024
9a74969
Merge branch 'master' into v6.0.0
jb3rndt Apr 10, 2024
10822e7
Remove controller onIndexChanged and listen instead
jb3rndt Oct 20, 2024
2cb4729
Merge branch 'master' into v6.0.0
jb3rndt Oct 20, 2024
df1423f
Merge branch 'v6.0.0' of https://github.com/jb3rndt/PersistentBottomN…
jb3rndt Oct 20, 2024
880e65e
Remove deprecated use of onWillPop
jb3rndt Oct 20, 2024
5ba9741
Fix viewInset when resizeToAvoidBottomInset is set to false
jb3rndt Oct 20, 2024
5a0492d
Some configs and cleanups
jb3rndt Oct 20, 2024
7d17f9c
Generate NavigatorKey directly in config
jb3rndt Oct 20, 2024
dd15bab
Linter fixes
jb3rndt Oct 20, 2024
d05bac6
Allow changing the number of tabs at runtime
jb3rndt Oct 20, 2024
df04fe8
Remove selectedTabContext
jb3rndt Oct 20, 2024
36c3fe1
Clean up TabSwitchingView
jb3rndt Oct 20, 2024
cd71d30
Update changelog and remove deprecated onWillPop
jb3rndt Oct 20, 2024
2a6e87f
Add hideOnScrollVelocity to allow hiding the NavBar when scrolling down
jb3rndt Oct 21, 2024
01a448a
Update README
jb3rndt Oct 22, 2024
7438092
Replaced popAllScreensOnTapAnyTabs with keepNavigatorHistory
jb3rndt Oct 22, 2024
6a739ff
Add SelectedTabPressConfig, bundle some scattered settings into that …
jb3rndt Oct 23, 2024
b1210da
Add tests for SelectedTabPressConfig
jb3rndt Oct 23, 2024
00c690e
Add function to pop all screens of the current tab
jb3rndt Oct 23, 2024
be9befc
Add previousIndex to controller
jb3rndt Oct 25, 2024
4a3245f
Add animated icons
jb3rndt Oct 25, 2024
24bd019
Update readme announcing v6 and v6 syntax
jb3rndt Oct 25, 2024
657cdae
Remove `navBarHeight` use the height of each style instead
jb3rndt Oct 25, 2024
e2c60c7
Update flutter version in ci
jb3rndt Oct 25, 2024
f4ca026
Merge branch 'master' into v6.0.0
jb3rndt Oct 28, 2024
bb3d585
Update codecov and checkout steps in ci
jb3rndt Oct 28, 2024
fb29cca
Merge branch 'v6.0.0' of https://github.com/jb3rndt/PersistentBottomN…
jb3rndt Oct 28, 2024
1d72259
Refactor tests
jb3rndt Oct 28, 2024
f15c5e6
Add missing navigator functions tests
jb3rndt Oct 28, 2024
e20771a
Fix tab view scaffold to rerender once the animation finished to upda…
jb3rndt Oct 29, 2024
635023e
Animate initial animated icon instantly
jb3rndt Oct 29, 2024
1e568dd
Add tests for animated icons and navigator configuration
jb3rndt Oct 29, 2024
d3324c4
Add go_router tests, navbar color filter and PersistentTabConfig.noSc…
jb3rndt Oct 29, 2024
22ee14b
Here come the tests
jb3rndt Oct 29, 2024
69dfb76
Add tests for gesture navigation and hiding the navigation bar at run…
jb3rndt Oct 29, 2024
6c16f27
Format
jb3rndt Oct 29, 2024
8199836
Update pubspec.lock
jb3rndt Oct 29, 2024
9ee9654
Fix SwipableTabSwitchingView not disposing pages if statemanagement i…
jb3rndt Oct 30, 2024
3c8fbdf
Fix focus node deposing when removing tabs at runtime
jb3rndt Oct 30, 2024
7c8d75f
Add tests for screen transition animation
jb3rndt Oct 30, 2024
02e0141
Refactor PageTransitionAnimation and add tests
jb3rndt Nov 1, 2024
8d55200
Add models tests
jb3rndt Nov 1, 2024
2d28549
Add slideUp test
jb3rndt Nov 1, 2024
474266a
Change model test to testWidgets
jb3rndt Nov 1, 2024
01cd3ae
Add cupertino and material page transition test
jb3rndt Nov 1, 2024
ea47e31
Add tab switching to navbar style test
jb3rndt Nov 1, 2024
30ccb82
Add copywith tests
jb3rndt Nov 2, 2024
33e4d3f
Add controller tests
jb3rndt Nov 2, 2024
ef2208d
Add neumorphic tests
jb3rndt Nov 2, 2024
67197c3
Fix neumorphic test
jb3rndt Nov 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
workflow_call:

env:
FLUTTER_VERSION: "3.19.3"
FLUTTER_VERSION: "3.24.4"

jobs:
tests:
Expand All @@ -33,7 +33,7 @@ jobs:

# Checkout and get packages.
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Get packages
run: flutter pub get
Expand All @@ -42,9 +42,11 @@ jobs:
- name: Run Unit Tests
run: flutter test --coverage

- name: Upload Coverage to Codecov
- name: Upload coverage to Codecov
if: ${{ runner.os == 'Linux' }}
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

format:
name: Format
Expand Down
11 changes: 5 additions & 6 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"dart.lineLength": 80,
"[dart]": {
"editor.rulers": [
80
],
}
"dart.lineLength": 80,
"[dart]": {
"editor.rulers": [80]
},
"cmake.ignoreCMakeListsMissing": true
}
37 changes: 34 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,39 @@
# Changelog
All notable changes to this project will be documented in this file.

# ChangelogAll notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
### Added
- Hide the NavBar on scroll: Set `hideOnScrollVelocity` to x (x != 0) to make the NavBar disappear after x pixels have been scrolled (and reappear respectively)
- `SelectedTabPressConfig`, which is responsible for any configuration when the selected tab is pressed again.
- `SelectedTabPressConfig.popAction` allows to specify how many screens of the current tab should be popped if the tab is pressed again
- `SelectedTabPressConfig.scrollToTop` enables automatically scrolling the tab content to top if the current tab is pressed again. This requires a ScrollController on each `PersistentTabConfig.scrollController` for each tab this should be activated for.
- `SelectedTabPressConfig.onPressed` is a callback that gets executed whenever the current tab is pressed again. I also provides an argument whether there are any pages pushed to the tab.
- Navigator function that pop all screens of the current tab: `popAllScreensOfCurrentTab`
- Animated Icons: Have nice animations of the navigation bar icons simply by using the provided `AnimatedIconWrapper` (see README for more)
- PersistentTabController now gives you access to the previousIndex. Before the first tab switch, this will be null though

### Breaking Changes
- Use `NavBarOverlap.none()` as the default for `navBarOverlap`
- Removed ItemConfig.opacity. Use the opacity of NavBarDecoration.color instead
- Removed ItemConfig.filter. Use NavBarDecoration.filter instead
- Removed default value of NavBarDecoration.filter to allow omitting the filter
- Replaced popAllScreensOnTapAnyTabs with keepNavigatorHistory, which has an inverted meaning. To migrate, invert the boolean value for that parameter if you use it.
- Combined `popAllScreensOnTapOfSelectedTab` and `popActionScreens` into the `SelectedTabPressConfig.popAction`.
- Set `popAction` to `PopActionType.all` to pop all screens of the current tab if it is pressed again
- Set `popAction` to `PopActionType.single` to pop a single screen of the current tab if it is pressed again
- Set `popAction` to `PopActionType.none` to pop no screen of the current tab if it is pressed again
- Replaced `onSelectedTabPressWhenNoScreensPushed` with `SelectedTabPressConfig.onPressed`. You need to check the passed argument whether there are any pages pushed to that tab.
- Removed `navBarHeight` parameter. Use the `height` parameter of each style instead if needed.

### Fixed
- Adjusting the number of tabs at runtime threw an error
- The state of each tab was not disposed if stateManagement was true and gestures were enabled

### Removed
- Removed `selectedTabContext`. Use the list of your tabs instead to get the current tab context like so: `tabs[controller.index].navigatorConfig.navigatorKey.currentContext`
- Removed `PersistentTabController.onIndexChanged`. Use `PersistentTabController.listen` instead.

## [5.3.1] - 2024-10-03
### Fixed
- Improve documentation on the historyLength (https://github.com/jb3rndt/PersistentBottomNavBarV2/pull/138)
Expand Down Expand Up @@ -574,6 +604,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Includes platform specific behavior as an option (specify it in the two navigator functions).
- Based on flutter's Cupertino(iOS) bottom navigation bar.

[Unreleased]: https://github.com/jb3rndt/PersistentBottomNavBarV2/compare/5.3.1...HEAD
[5.3.1]: https://github.com/jb3rndt/PersistentBottomNavBarV2/compare/5.3.0...5.3.1
[5.3.0]: https://github.com/jb3rndt/PersistentBottomNavBarV2/compare/5.2.3...5.3.0
[5.2.3]: https://github.com/jb3rndt/PersistentBottomNavBarV2/compare/5.2.2...5.2.3
Expand Down
Loading
Loading