Skip to content

Commit 641b5be

Browse files
Jayson1999Jayson6099mzdm
authored
fix: rendering overflow issue if bubbles > 5 (aagarwal1012#96)
* - Fix aagarwal1012#76 Use screen's width to apply container's width of page bubbles if > 5. * - Incremented version * fix: alignment of the bubbles * add an assert * chore: update version & changelog * fix: formatting * chore: move extension to a separate folder * chore: optimize calculating the bubble width * chore: update CHANGELOG.md * chore: clarify assert * chore: added test for assertion * chore: added test for overflow Co-authored-by: Jayson6099 <[email protected]> Co-authored-by: Matej Zidek <[email protected]>
1 parent 6a90108 commit 641b5be

15 files changed

+80
-13
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 3.2.0
2+
* Fixed overflowing issue with the bubbles. Thanks @Jayson1999
3+
* Updated app example
4+
* Updated CI
5+
16
## 3.1.1
27
* Updated app example. Thanks @zognotadog
38

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ You should ensure that you add the `intro_views_flutter` as a dependency in your
6565

6666
```yaml
6767
dependencies:
68-
intro_views_flutter: '^3.1.1'
68+
intro_views_flutter: '^3.2.0'
6969
```
7070
7171
You can also reference the git repository directly if you want:

lib/src/animation_gesture/animated_page_dragger.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'dart:async';
22
import 'dart:ui';
33

44
import 'package:flutter/material.dart';
5-
import 'package:intro_views_flutter/src/constants/constants.dart';
5+
import 'package:intro_views_flutter/src/helpers/constants.dart';
66
import 'package:intro_views_flutter/src/models/slide_update_model.dart';
77

88
/// This class provides the animation controller

lib/src/animation_gesture/page_dragger.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'dart:async';
22

33
import 'package:flutter/material.dart';
4-
import 'package:intro_views_flutter/src/constants/constants.dart';
4+
import 'package:intro_views_flutter/src/helpers/constants.dart';
55
import 'package:intro_views_flutter/src/models/slide_update_model.dart';
66

77
/// This class is used to get user gesture and work according to it.
File renamed without changes.

lib/src/helpers/extensions.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import 'package:flutter/cupertino.dart';
2+
3+
extension BuildContextExt on BuildContext {
4+
double get screenWidth => MediaQuery.of(this).size.width;
5+
}

lib/src/models/page_button_view_model.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'package:intro_views_flutter/src/constants/constants.dart';
1+
import 'package:intro_views_flutter/src/helpers/constants.dart';
22

33
/// This is view model for the skip and done buttons.
44
class PageButtonViewModel {

lib/src/models/pager_indicator_view_model.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'package:intro_views_flutter/src/constants/constants.dart';
1+
import 'package:intro_views_flutter/src/helpers/constants.dart';
22
import 'package:intro_views_flutter/src/models/page_view_model.dart';
33

44
/// View model for page indicator.

lib/src/models/slide_update_model.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'package:intro_views_flutter/src/constants/constants.dart';
1+
import 'package:intro_views_flutter/src/helpers/constants.dart';
22

33
/// Model for slide update.
44
class SlideUpdate {

lib/src/ui/intro_views_flutter.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
55
import 'package:intro_views_flutter/src/animation_gesture/animated_page_dragger.dart';
66
import 'package:intro_views_flutter/src/animation_gesture/page_dragger.dart';
77
import 'package:intro_views_flutter/src/animation_gesture/page_reveal.dart';
8-
import 'package:intro_views_flutter/src/constants/constants.dart';
8+
import 'package:intro_views_flutter/src/helpers/constants.dart';
99
import 'package:intro_views_flutter/src/models/page_view_model.dart';
1010
import 'package:intro_views_flutter/src/models/pager_indicator_view_model.dart';
1111
import 'package:intro_views_flutter/src/models/slide_update_model.dart';
@@ -38,7 +38,11 @@ class IntroViewsFlutter extends StatefulWidget {
3838
this.columnMainAxisAlignment = MainAxisAlignment.spaceAround,
3939
this.fullTransition = FULL_TRANSITION_PX,
4040
this.background,
41-
}) : super(key: key);
41+
}) : assert(
42+
pages.length > 0,
43+
"At least one 'PageViewModel' item of 'pages' argument is required.",
44+
),
45+
super(key: key);
4246

4347
/// List of [PageViewModel] to display.
4448
final List<PageViewModel> pages;

0 commit comments

Comments
 (0)