Skip to content

Commit e59277f

Browse files
Merge pull request #28 from ionicfirebaseapp/master
master pull
2 parents ea8b59f + 0729af8 commit e59277f

File tree

10 files changed

+123
-25
lines changed

10 files changed

+123
-25
lines changed

lib/components/alert/gf_alert.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class _GFAlertState extends State<GFAlert> with TickerProviderStateMixin {
9393
Container(
9494
width: widget.type == GFAlertType.fullWidth
9595
? MediaQuery.of(context).size.width
96-
: widget.width,
96+
: widget.width ?? MediaQuery.of(context).size.width * 0.885,
9797
constraints: const BoxConstraints(minHeight: 50),
9898
margin: widget.type == GFAlertType.fullWidth
9999
? const EdgeInsets.only(left: 0, right: 0)

lib/components/appbar/gf_appbar.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -321,12 +321,12 @@ class _GFAppBarState extends State<GFAppBar> {
321321
IconThemeData actionsIconTheme = widget.actionsIconTheme ??
322322
appBarTheme.actionsIconTheme ??
323323
overallIconTheme;
324-
TextStyle centerStyle = widget.textTheme?.title ??
325-
appBarTheme.textTheme?.title ??
326-
theme.primaryTextTheme.title;
327-
TextStyle sideStyle = widget.textTheme?.body1 ??
328-
appBarTheme.textTheme?.body1 ??
329-
theme.primaryTextTheme.body1;
324+
TextStyle centerStyle = widget.textTheme?.headline6 ??
325+
appBarTheme.textTheme?.headline6 ??
326+
theme.primaryTextTheme.headline6;
327+
TextStyle sideStyle = widget.textTheme?.bodyText2 ??
328+
appBarTheme.textTheme?.bodyText2 ??
329+
theme.primaryTextTheme.bodyText2;
330330

331331
if (widget.toolbarOpacity != 1.0) {
332332
final double opacity = const Interval(

lib/components/avatar/gf_avatar.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class GFAvatar extends StatelessWidget {
8787
final Color foregroundColor = GFColors.getGFColor(this.foregroundColor);
8888
assert(debugCheckHasMediaQuery(context));
8989
final ThemeData theme = Theme.of(context);
90-
TextStyle textStyle = theme.primaryTextTheme.subhead.copyWith(
90+
TextStyle textStyle = theme.primaryTextTheme.subtitle1.copyWith(
9191
color: foregroundColor,
9292
);
9393
Color effectiveBackgroundColor = backgroundColor;

lib/components/card/gf_card.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ class GFCard extends StatelessWidget {
103103
/// A border to draw above the [GFCard].
104104
final Border border;
105105

106+
/// defines the gradient background
106107
final LinearGradient gradient;
107108

108109
static const double _defaultElevation = 1;

lib/components/toast/gf_floating_widget.dart renamed to lib/components/floating_widget/gf_floating_widget.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ class _GFFloatingWidgetState extends State<GFFloatingWidget> {
4949
Positioned(
5050
child: Container(
5151
height: MediaQuery.of(context).size.height,
52+
width: MediaQuery.of(context).size.width,
5253
color: widget.showblurness
5354
? widget.blurnessColor ?? Colors.black54
5455
: null,
@@ -61,9 +62,6 @@ class _GFFloatingWidgetState extends State<GFFloatingWidget> {
6162
left: widget.horizontalPosition != null
6263
? widget.horizontalPosition
6364
: 0.0,
64-
right: widget.horizontalPosition != null
65-
? widget.horizontalPosition
66-
: 0.0,
6765
child: widget.child ?? Container(),
6866
)
6967
],

lib/components/loader/gf_loader.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import 'package:flutter/cupertino.dart';
22
import 'package:flutter/material.dart';
3-
import 'package:getflutter/types/gf_loader_type.dart';
4-
import 'package:getflutter/size/gf_size.dart';
3+
import 'package:getflutter/getflutter.dart';
54

65
class GFLoader extends StatefulWidget {
76
const GFLoader(

lib/components/rating/gf_rating.dart

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ class GFRating extends StatefulWidget {
2828
final int itemCount;
2929

3030
/// defines the color of items
31-
final Color color;
31+
final dynamic color;
3232

3333
/// defines the border color of [halfFilledIcon]
34-
final Color borderColor;
34+
final dynamic borderColor;
3535

3636
/// defines the size of items. GFSize can be used for size variations like small. medium. large
3737
final dynamic size;
@@ -86,7 +86,8 @@ class _GFRatingState extends State<GFRating> {
8686
icon = widget.defaultIcon ??
8787
Icon(
8888
Icons.star_border,
89-
color: widget.borderColor ?? Theme.of(context).primaryColor,
89+
color: GFColors.getGFColor(widget.borderColor) ??
90+
Theme.of(context).primaryColor,
9091
size: GFSizesClass.getGFSize(widget.size),
9192
);
9293
} else if (!widget.showTextForm
@@ -96,14 +97,16 @@ class _GFRatingState extends State<GFRating> {
9697
icon = widget.halfFilledIcon ??
9798
Icon(
9899
Icons.star_half,
99-
color: widget.color ?? Theme.of(context).primaryColor,
100+
color: GFColors.getGFColor(widget.color) ??
101+
Theme.of(context).primaryColor,
100102
size: GFSizesClass.getGFSize(widget.size),
101103
);
102104
} else {
103105
icon = widget.filledIcon ??
104106
Icon(
105107
Icons.star,
106-
color: widget.color ?? Theme.of(context).primaryColor,
108+
color: GFColors.getGFColor(widget.color) ??
109+
Theme.of(context).primaryColor,
107110
size: GFSizesClass.getGFSize(widget.size),
108111
);
109112
}
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:flutter/rendering.dart';
3+
4+
enum GFShimmerDirection { leftToRight, rightToLeft, topToBottom, bottomToTop }
5+
6+
@immutable
7+
class GFShimmer extends StatefulWidget {
8+
const GFShimmer({
9+
Key key,
10+
@required this.child,
11+
@required this.gradient,
12+
this.direction = GFShimmerDirection.leftToRight,
13+
this.duration = const Duration(milliseconds: 1500),
14+
this.loop = 0,
15+
this.enabled = true,
16+
}) : super(key: key);
17+
18+
/// The widget below this widget in the tree.
19+
final Widget child;
20+
21+
/// Controls the speed of the shimmer effect. The default value is 1500 milliseconds.
22+
final Duration duration;
23+
24+
/// Controls the direction of the shimmer effect. The default value is GFShimmerDirection.leftToRight.
25+
final GFShimmerDirection direction;
26+
27+
/// Controls the [child]'s shades of color.
28+
final Gradient gradient;
29+
30+
/// Controls the animation loop. The default value is '0', that makes animation forever.
31+
final int loop;
32+
33+
/// Controls animation effect, defaults true state that makes animation active.
34+
final bool enabled;
35+
36+
@override
37+
_GFShimmerState createState() => _GFShimmerState();
38+
}
39+
40+
class _GFShimmerState extends State<GFShimmer>
41+
with SingleTickerProviderStateMixin {
42+
AnimationController _controller;
43+
int _count;
44+
45+
@override
46+
void initState() {
47+
super.initState();
48+
_count = 0;
49+
_controller = AnimationController(vsync: this, duration: widget.duration)
50+
..addStatusListener((AnimationStatus status) {
51+
if (status != AnimationStatus.completed) {
52+
return;
53+
}
54+
_count++;
55+
if (widget.loop <= 0) {
56+
_controller.repeat();
57+
} else if (_count < widget.loop) {
58+
_controller.forward(from: 0);
59+
}
60+
});
61+
if (widget.enabled) {
62+
_controller.forward();
63+
}
64+
}
65+
66+
@override
67+
void didUpdateWidget(GFShimmer oldWidget) {
68+
if (widget.enabled) {
69+
_controller.forward();
70+
} else {
71+
_controller.stop();
72+
}
73+
super.didUpdateWidget(oldWidget);
74+
}
75+
76+
@override
77+
Widget build(BuildContext context) => AnimatedBuilder(
78+
animation: _controller,
79+
child: widget.child,
80+
builder: (BuildContext context, Widget child) => Transform.rotate(
81+
angle: _controller.value * 2.0 * 22 / 7,
82+
child: child,
83+
),
84+
);
85+
86+
@override
87+
void dispose() {
88+
_controller.dispose();
89+
super.dispose();
90+
}
91+
}

lib/components/toast/gf_toast.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ class GFToast extends StatefulWidget {
1616
this.type = GFToastType.basic,
1717
this.autoDismiss = true,
1818
this.alignment,
19-
this.animationDuration = const Duration(seconds: 2),
20-
this.duration = const Duration(seconds: 2),
19+
this.animationDuration = const Duration(milliseconds: 300),
20+
this.duration = const Duration(milliseconds: 300),
2121
this.textStyle = const TextStyle(color: Colors.white70),
2222
}) : super(key: key);
2323

@@ -66,7 +66,7 @@ class _GFToastState extends State<GFToast> with TickerProviderStateMixin {
6666
@override
6767
void initState() {
6868
animationController = AnimationController(
69-
duration: const Duration(milliseconds: 2000),
69+
duration: widget.duration,
7070
vsync: this,
7171
);
7272
animation = CurvedAnimation(
@@ -118,7 +118,7 @@ class _GFToastState extends State<GFToast> with TickerProviderStateMixin {
118118
Container(
119119
width: widget.type == GFToastType.fullWidth
120120
? MediaQuery.of(context).size.width
121-
: widget.width,
121+
: widget.width ?? MediaQuery.of(context).size.width * 0.885,
122122
constraints: const BoxConstraints(minHeight: 50),
123123
margin: widget.type == GFToastType.fullWidth
124124
? const EdgeInsets.only(left: 0, right: 0)
@@ -167,6 +167,5 @@ class _GFToastState extends State<GFToast> with TickerProviderStateMixin {
167167
),
168168
),
169169
],
170-
),
171-
);
170+
));
172171
}

lib/getflutter.dart

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
library getflutter;
22

33
//exports components
4+
export 'package:getflutter/components/alert/gf_alert.dart';
5+
export 'package:getflutter/components/accordian/gf_accordian.dart';
46
export 'package:getflutter/components/appbar/gf_appbar.dart';
57
export 'package:getflutter/components/avatar/gf_avatar.dart';
68
export 'package:getflutter/components/badge/gf_badge.dart';
@@ -22,22 +24,27 @@ export 'package:getflutter/components/tabs/gf_tabbar.dart';
2224
export 'package:getflutter/components/tabs/gf_tabbar_view.dart';
2325
export 'package:getflutter/components/tabs/gf_tabs.dart';
2426
export 'package:getflutter/components/tabs/gf_segment_tabs.dart';
25-
export 'package:getflutter/components/toast/gf_floating_widget.dart';
27+
export 'package:getflutter/components/floating_widget/gf_floating_widget.dart';
2628
export 'package:getflutter/components/toast/gf_toast.dart';
2729
export 'package:getflutter/components/toggle/gf_toggle.dart';
2830
export 'package:getflutter/components/typography/gf_typography.dart';
2931
export 'package:getflutter/components/rating/gf_rating.dart';
3032
export 'package:getflutter/components/slidable/gf_slidable.dart';
33+
export 'package:getflutter/components/shimmer/gf_shimmer.dart';
34+
export 'package:getflutter/components/loader/gf_loader.dart';
3135

3236
// exports shape, color, position, size, types
37+
3338
export 'colors/gf_color.dart';
3439
export 'position/gf_position.dart';
3540
export 'shape/gf_avatar_shape.dart';
3641
export 'shape/gf_badge_shape.dart';
3742
export 'shape/gf_button_shape.dart';
3843
export 'shape/gf_icon_button_shape.dart';
3944
export 'size/gf_size.dart';
45+
export 'types/gf_alert_type.dart';
4046
export 'types/gf_button_type.dart';
47+
export 'types/gf_loader_type.dart';
4148
export 'types/gf_toast_type.dart';
4249
export 'types/gf_toggle_type.dart';
4350
export 'types/gf_typography_type.dart';

0 commit comments

Comments
 (0)