bug fixes
This commit is contained in:
parent
d7a39dda26
commit
8666a6a740
|
|
@ -1,8 +1,11 @@
|
||||||
|
import 'package:didvan/models/requests/studio.dart';
|
||||||
import 'package:didvan/models/tag.dart';
|
import 'package:didvan/models/tag.dart';
|
||||||
import 'package:didvan/models/view/app_bar_data.dart';
|
import 'package:didvan/models/view/app_bar_data.dart';
|
||||||
import 'package:didvan/views/home/hashtag/hashtag_state.dart';
|
import 'package:didvan/views/home/hashtag/hashtag_state.dart';
|
||||||
import 'package:didvan/views/home/widgets/overview/news.dart';
|
import 'package:didvan/views/home/widgets/overview/news.dart';
|
||||||
|
import 'package:didvan/views/home/widgets/overview/podcast.dart';
|
||||||
import 'package:didvan/views/home/widgets/overview/radar.dart';
|
import 'package:didvan/views/home/widgets/overview/radar.dart';
|
||||||
|
import 'package:didvan/views/home/widgets/overview/video.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/scaffold.dart';
|
import 'package:didvan/views/widgets/didvan/scaffold.dart';
|
||||||
import 'package:didvan/views/widgets/state_handlers/sliver_state_handler.dart';
|
import 'package:didvan/views/widgets/state_handlers/sliver_state_handler.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
@ -50,19 +53,34 @@ class _HashtagState extends State<Hashtag> {
|
||||||
}
|
}
|
||||||
final item = state.items[index];
|
final item = state.items[index];
|
||||||
final type = item.type;
|
final type = item.type;
|
||||||
if (type == 'radar') {
|
switch (type) {
|
||||||
|
case 'radar':
|
||||||
return RadarOverview(
|
return RadarOverview(
|
||||||
radar: item,
|
radar: item,
|
||||||
onCommentsChanged: (id, count) => item.comments = count,
|
onCommentsChanged: (_, count) => item.comments = count,
|
||||||
onMarkChanged: (id, value) => item.marked = value,
|
onMarkChanged: (_, value) => item.marked = value,
|
||||||
);
|
);
|
||||||
} else if (type == 'news') {
|
case 'news':
|
||||||
return NewsOverview(
|
return NewsOverview(
|
||||||
news: item,
|
news: item,
|
||||||
onMarkChanged: (id, value) => item.marked = value,
|
onMarkChanged: (_, value) => item.marked = value,
|
||||||
|
);
|
||||||
|
case 'podcast':
|
||||||
|
return PodcastOverview(
|
||||||
|
podcast: item,
|
||||||
|
onMarkChanged: (_, value) => item.marked = value,
|
||||||
|
studioRequestArgs:
|
||||||
|
const StudioRequestArgs(page: 0, type: 'podcast'),
|
||||||
|
);
|
||||||
|
case 'video':
|
||||||
|
return VideoOverview(
|
||||||
|
video: item,
|
||||||
|
onMarkChanged: (_, value) => item.marked = value,
|
||||||
|
studioRequestArgs:
|
||||||
|
const StudioRequestArgs(page: 0, type: 'video'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return Container();
|
return const SizedBox();
|
||||||
},
|
},
|
||||||
childCount:
|
childCount:
|
||||||
state.items.length + (state.page != state.lastPage ? 1 : 0),
|
state.items.length + (state.page != state.lastPage ? 1 : 0),
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,6 @@ class HashtagState extends CoreProvier {
|
||||||
}
|
}
|
||||||
final service = RequestService(RequestHelper.tag(
|
final service = RequestService(RequestHelper.tag(
|
||||||
ids: [id],
|
ids: [id],
|
||||||
itemId: 1,
|
|
||||||
type: 'radar',
|
|
||||||
limit: 15,
|
limit: 15,
|
||||||
page: page,
|
page: page,
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,7 @@ class StudioDetailsWidget extends StatelessWidget {
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
Html(
|
Html(
|
||||||
|
key: ValueKey(state.studio.id),
|
||||||
data: state.studio.description,
|
data: state.studio.description,
|
||||||
onAnchorTap: (href, context, map, element) =>
|
onAnchorTap: (href, context, map, element) =>
|
||||||
launch(href!),
|
launch(href!),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import 'package:carousel_slider/carousel_slider.dart';
|
import 'package:carousel_slider/carousel_slider.dart';
|
||||||
import 'package:didvan/config/design_config.dart';
|
import 'package:didvan/config/design_config.dart';
|
||||||
import 'package:didvan/config/theme_data.dart';
|
import 'package:didvan/config/theme_data.dart';
|
||||||
|
import 'package:didvan/constants/app_icons.dart';
|
||||||
import 'package:didvan/models/enums.dart';
|
import 'package:didvan/models/enums.dart';
|
||||||
import 'package:didvan/models/requests/studio.dart';
|
import 'package:didvan/models/requests/studio.dart';
|
||||||
import 'package:didvan/routes/routes.dart';
|
import 'package:didvan/routes/routes.dart';
|
||||||
|
|
@ -61,6 +62,7 @@ class _StudioSliderState extends State<StudioSlider> {
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: Stack(
|
child: Stack(
|
||||||
|
alignment: Alignment.center,
|
||||||
children: [
|
children: [
|
||||||
SkeletonImage(
|
SkeletonImage(
|
||||||
borderRadius: DesignConfig.mediumBorderRadius,
|
borderRadius: DesignConfig.mediumBorderRadius,
|
||||||
|
|
@ -95,6 +97,22 @@ class _StudioSliderState extends State<StudioSlider> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Container(
|
||||||
|
height: 52,
|
||||||
|
width: 52,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
color: Theme.of(context)
|
||||||
|
.colorScheme
|
||||||
|
.secondary
|
||||||
|
.withOpacity(0.7),
|
||||||
|
),
|
||||||
|
child: Icon(
|
||||||
|
DidvanIcons.play_solid,
|
||||||
|
color: Theme.of(context).colorScheme.white,
|
||||||
|
size: 48,
|
||||||
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -17,13 +17,13 @@ class VideoOverview extends StatelessWidget {
|
||||||
final OverviewData video;
|
final OverviewData video;
|
||||||
final void Function(int id, bool value) onMarkChanged;
|
final void Function(int id, bool value) onMarkChanged;
|
||||||
final bool hasUnmarkConfirmation;
|
final bool hasUnmarkConfirmation;
|
||||||
final StudioRequestArgs? studioRequestArgs;
|
final StudioRequestArgs studioRequestArgs;
|
||||||
const VideoOverview({
|
const VideoOverview({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.video,
|
required this.video,
|
||||||
required this.onMarkChanged,
|
required this.onMarkChanged,
|
||||||
required this.hasUnmarkConfirmation,
|
required this.studioRequestArgs,
|
||||||
this.studioRequestArgs,
|
this.hasUnmarkConfirmation = false,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -42,31 +42,26 @@ class VideoOverview extends StatelessWidget {
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Stack(
|
Stack(
|
||||||
|
alignment: Alignment.center,
|
||||||
children: [
|
children: [
|
||||||
SkeletonImage(
|
SkeletonImage(
|
||||||
imageUrl: video.image,
|
imageUrl: video.image,
|
||||||
height: 108,
|
height: 108,
|
||||||
width: 108,
|
width: 108,
|
||||||
),
|
),
|
||||||
Positioned.fill(
|
Container(
|
||||||
child: Center(
|
|
||||||
child: Container(
|
|
||||||
height: 28,
|
height: 28,
|
||||||
width: 28,
|
width: 28,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
color: Theme.of(context)
|
color:
|
||||||
.colorScheme
|
Theme.of(context).colorScheme.secondary.withOpacity(0.7),
|
||||||
.secondary
|
|
||||||
.withOpacity(0.7),
|
|
||||||
),
|
),
|
||||||
child: Icon(
|
child: Icon(
|
||||||
DidvanIcons.play_solid,
|
DidvanIcons.play_solid,
|
||||||
color: Theme.of(context).colorScheme.white,
|
color: Theme.of(context).colorScheme.white,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 8),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue