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

Fix image loader request header type #188

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion lib/widgets/story_image.dart
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ class ImageLoader {
}

final fileStream = DefaultCacheManager().getFileStream(this.url,
headers: this.requestHeaders as Map<String, String>?);
headers: requestHeaders
?.map((key, value) => MapEntry(key, value.toString())));

fileStream.listen(
(fileResponse) {
Expand Down
66 changes: 45 additions & 21 deletions lib/widgets/story_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,11 @@ class StoryItem {
bottom: Radius.circular(roundedBottom ? 8 : 0),
),
),
padding: textOuterPadding?? EdgeInsets.symmetric(
horizontal: 24,
vertical: 16,
),
padding: textOuterPadding ??
EdgeInsets.symmetric(
horizontal: 24,
vertical: 16,
),
child: Center(
child: Text(
title,
Expand Down Expand Up @@ -140,12 +141,13 @@ class StoryItem {
margin: EdgeInsets.only(
bottom: 24,
),
padding: captionOuterPadding?? EdgeInsets.symmetric(
horizontal: 24,
vertical: 8,
),
padding: captionOuterPadding ??
EdgeInsets.symmetric(
horizontal: 24,
vertical: 8,
),
color: caption != null ? Colors.black54 : Colors.transparent,
child: caption?? const SizedBox.shrink(),
child: caption ?? const SizedBox.shrink(),
),
),
)
Expand Down Expand Up @@ -193,11 +195,12 @@ class StoryItem {
),
Container(
margin: EdgeInsets.only(bottom: 16),
padding: captionOuterPadding?? EdgeInsets.symmetric(horizontal: 24, vertical: 8),
padding: captionOuterPadding ??
EdgeInsets.symmetric(horizontal: 24, vertical: 8),
child: Align(
alignment: Alignment.bottomLeft,
child: Container(
child: caption?? const SizedBox.shrink(),
child: caption ?? const SizedBox.shrink(),
width: double.infinity,
),
),
Expand Down Expand Up @@ -252,7 +255,7 @@ class StoryItem {
padding: EdgeInsets.symmetric(horizontal: 24, vertical: 8),
color:
caption != null ? Colors.black54 : Colors.transparent,
child: caption?? const SizedBox.shrink(),
child: caption ?? const SizedBox.shrink(),
),
),
)
Expand Down Expand Up @@ -387,6 +390,8 @@ class StoryView extends StatefulWidget {
/// provide this callback so as to enable scroll events on the list view.
final Function(Direction?)? onVerticalSwipeComplete;

final void Function()? onDoubleTap;

/// Callback for when a story and it index is currently being shown.
final void Function(StoryItem storyItem, int index)? onStoryShow;

Expand All @@ -406,6 +411,7 @@ class StoryView extends StatefulWidget {

/// Indicator Color
final Color? indicatorColor;

/// Indicator Foreground Color
final Color? indicatorForegroundColor;

Expand All @@ -415,6 +421,8 @@ class StoryView extends StatefulWidget {
/// Use this if you want to give outer padding to the indicator
final EdgeInsetsGeometry indicatorOuterPadding;

final HitTestBehavior? gestureBehavior;

StoryView({
required this.storyItems,
required this.controller,
Expand All @@ -424,10 +432,15 @@ class StoryView extends StatefulWidget {
this.repeat = false,
this.inline = false,
this.onVerticalSwipeComplete,
this.onDoubleTap,
this.gestureBehavior,
this.indicatorColor,
this.indicatorForegroundColor,
this.indicatorHeight = IndicatorHeight.large,
this.indicatorOuterPadding = const EdgeInsets.symmetric(horizontal: 16, vertical: 8,),
this.indicatorOuterPadding = const EdgeInsets.symmetric(
horizontal: 16,
vertical: 8,
),
});

@override
Expand Down Expand Up @@ -633,7 +646,9 @@ class StoryViewState extends State<StoryView> with TickerProviderStateMixin {
color: Colors.white,
child: Stack(
children: <Widget>[
_currentView,
IgnorePointer(
child: _currentView,
),
Visibility(
visible: widget.progressPosition != ProgressPosition.none,
child: Align(
Expand Down Expand Up @@ -663,6 +678,8 @@ class StoryViewState extends State<StoryView> with TickerProviderStateMixin {
alignment: Alignment.centerRight,
heightFactor: 1,
child: GestureDetector(
behavior: widget.gestureBehavior,
onDoubleTap: widget.onDoubleTap,
onTapDown: (details) {
widget.controller.pause();
},
Expand Down Expand Up @@ -716,10 +733,14 @@ class StoryViewState extends State<StoryView> with TickerProviderStateMixin {
alignment: Alignment.centerLeft,
heightFactor: 1,
child: SizedBox(
child: GestureDetector(onTap: () {
child: GestureDetector(
behavior: widget.gestureBehavior,
onTap: () {
widget.controller.previous();
}),
width: 70),
},
),
width: 70,
),
),
],
),
Expand Down Expand Up @@ -796,8 +817,11 @@ class PageBarState extends State<PageBar> {
right: widget.pages.last == it ? 0 : this.spacing),
child: StoryProgressIndicator(
isPlaying(it) ? widget.animation!.value : (it.shown ? 1 : 0),
indicatorHeight:
widget.indicatorHeight == IndicatorHeight.large ? 5 : widget.indicatorHeight == IndicatorHeight.medium ? 3 : 2,
indicatorHeight: widget.indicatorHeight == IndicatorHeight.large
? 5
: widget.indicatorHeight == IndicatorHeight.medium
? 3
: 2,
indicatorColor: widget.indicatorColor,
indicatorForegroundColor: widget.indicatorForegroundColor,
),
Expand Down Expand Up @@ -831,11 +855,11 @@ class StoryProgressIndicator extends StatelessWidget {
this.indicatorHeight,
),
foregroundPainter: IndicatorOval(
this.indicatorForegroundColor?? Colors.white.withOpacity(0.8),
this.indicatorForegroundColor ?? Colors.white.withOpacity(0.8),
this.value,
),
painter: IndicatorOval(
this.indicatorColor?? Colors.white.withOpacity(0.4),
this.indicatorColor ?? Colors.white.withOpacity(0.4),
1.0,
),
);
Expand Down