code cleaning + bug fixes
This commit is contained in:
parent
d869f54338
commit
24fee2221a
|
|
@ -100,6 +100,7 @@ class _StudioDetailsState extends State<StudioDetails> {
|
|||
return true;
|
||||
},
|
||||
child: DidvanScaffold(
|
||||
key: ValueKey(state.studio.id),
|
||||
scrollController: _scrollController,
|
||||
backgroundColor: Theme.of(context).colorScheme.surface,
|
||||
padding: EdgeInsets.zero,
|
||||
|
|
@ -173,6 +174,7 @@ class _StudioDetailsState extends State<StudioDetails> {
|
|||
),
|
||||
const SizedBox(height: 20),
|
||||
StudioDetailsWidget(
|
||||
scrollController: _scrollController,
|
||||
onCommentsTabSelected: () => Future.delayed(
|
||||
const Duration(milliseconds: 100),
|
||||
() => _scrollController.animateTo(
|
||||
|
|
|
|||
|
|
@ -193,6 +193,7 @@ class _StudioDetailsState extends State<StudioDetails> {
|
|||
),
|
||||
const SizedBox(height: 20),
|
||||
StudioDetailsWidget(
|
||||
scrollController: _scrollController,
|
||||
onCommentsTabSelected: () => Future.delayed(
|
||||
const Duration(milliseconds: 100),
|
||||
() => _scrollController.animateTo(
|
||||
|
|
|
|||
|
|
@ -53,11 +53,16 @@ class StudioDetailsState extends CoreProvier {
|
|||
studio = prevStudio!;
|
||||
prevStudio = null;
|
||||
}
|
||||
notifyListeners();
|
||||
_handlePodcastPlayback(studio);
|
||||
}
|
||||
appState = AppState.busy;
|
||||
if (isForward == null) {
|
||||
appState = AppState.busy;
|
||||
}
|
||||
final service = RequestService(RequestHelper.studioDetails(id, this.args));
|
||||
await service.httpGet();
|
||||
nextStudio = null;
|
||||
prevStudio = null;
|
||||
if (service.isSuccess) {
|
||||
final result = service.result;
|
||||
studio = StudioDetailsData.fromJson(result['studio']);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import 'package:didvan/config/design_config.dart';
|
||||
import 'package:didvan/config/theme_data.dart';
|
||||
import 'package:didvan/constants/app_icons.dart';
|
||||
import 'package:didvan/models/studio_details_data.dart';
|
||||
|
|
@ -14,11 +15,13 @@ import 'package:provider/provider.dart';
|
|||
|
||||
class StudioDetailsWidget extends StatelessWidget {
|
||||
final StudioDetailsData studio;
|
||||
final ScrollController? scrollController;
|
||||
final VoidCallback onCommentsTabSelected;
|
||||
const StudioDetailsWidget({
|
||||
Key? key,
|
||||
required this.studio,
|
||||
required this.onCommentsTabSelected,
|
||||
this.scrollController,
|
||||
}) : super(key: key);
|
||||
|
||||
bool get _isVideo => studio.media.contains('ifram');
|
||||
|
|
@ -94,11 +97,13 @@ class StudioDetailsWidget extends StatelessWidget {
|
|||
_StudioPreview(
|
||||
isNext: true,
|
||||
studio: state.nextStudio!,
|
||||
scrollController: scrollController,
|
||||
),
|
||||
if (state.prevStudio != null)
|
||||
_StudioPreview(
|
||||
isNext: false,
|
||||
studio: state.prevStudio!,
|
||||
scrollController: scrollController,
|
||||
),
|
||||
const SizedBox(),
|
||||
],
|
||||
|
|
@ -219,7 +224,12 @@ class _TabItem extends StatelessWidget {
|
|||
class _StudioPreview extends StatelessWidget {
|
||||
final bool isNext;
|
||||
final StudioDetailsData studio;
|
||||
const _StudioPreview({Key? key, required this.isNext, required this.studio})
|
||||
final ScrollController? scrollController;
|
||||
const _StudioPreview(
|
||||
{Key? key,
|
||||
required this.isNext,
|
||||
required this.studio,
|
||||
this.scrollController})
|
||||
: super(key: key);
|
||||
|
||||
String get _previewTitle {
|
||||
|
|
@ -239,6 +249,11 @@ class _StudioPreview extends StatelessWidget {
|
|||
args: state.args,
|
||||
isForward: isNext,
|
||||
);
|
||||
scrollController?.animateTo(
|
||||
0,
|
||||
duration: DesignConfig.lowAnimationDuration,
|
||||
curve: Curves.easeIn,
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
width: 88,
|
||||
|
|
@ -264,6 +279,8 @@ class _StudioPreview extends StatelessWidget {
|
|||
const SizedBox(height: 8),
|
||||
DidvanText(
|
||||
studio.title,
|
||||
maxLines: 3,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.center,
|
||||
style: Theme.of(context).textTheme.overline,
|
||||
color: Theme.of(context).colorScheme.caption,
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
import 'package:didvan/config/theme_data.dart';
|
||||
import 'package:didvan/constants/app_icons.dart';
|
||||
import 'package:didvan/models/overview_data.dart';
|
||||
import 'package:didvan/models/requests/studio.dart';
|
||||
import 'package:didvan/utils/date_time.dart';
|
||||
import 'package:didvan/views/home/studio/studio_details/studio_details_state.dart';
|
||||
import 'package:didvan/views/home/studio/studio_state.dart';
|
||||
import 'package:didvan/views/home/widgets/bookmark_button.dart';
|
||||
import 'package:didvan/views/home/widgets/duration_widget.dart';
|
||||
import 'package:didvan/views/widgets/didvan/card.dart';
|
||||
import 'package:didvan/views/widgets/didvan/divider.dart';
|
||||
import 'package:didvan/views/widgets/didvan/icon_button.dart';
|
||||
import 'package:didvan/views/widgets/didvan/text.dart';
|
||||
import 'package:didvan/views/widgets/shimmer_placeholder.dart';
|
||||
import 'package:didvan/views/widgets/skeleton_image.dart';
|
||||
|
|
|
|||
|
|
@ -4,17 +4,14 @@ import 'package:didvan/models/overview_data.dart';
|
|||
import 'package:didvan/models/requests/studio.dart';
|
||||
import 'package:didvan/routes/routes.dart';
|
||||
import 'package:didvan/utils/date_time.dart';
|
||||
import 'package:didvan/views/home/studio/studio_state.dart';
|
||||
import 'package:didvan/views/home/widgets/bookmark_button.dart';
|
||||
import 'package:didvan/views/home/widgets/duration_widget.dart';
|
||||
import 'package:didvan/views/widgets/didvan/card.dart';
|
||||
import 'package:didvan/views/widgets/didvan/divider.dart';
|
||||
import 'package:didvan/views/widgets/didvan/icon_button.dart';
|
||||
import 'package:didvan/views/widgets/didvan/text.dart';
|
||||
import 'package:didvan/views/widgets/shimmer_placeholder.dart';
|
||||
import 'package:didvan/views/widgets/skeleton_image.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class VideoOverview extends StatelessWidget {
|
||||
final OverviewData video;
|
||||
|
|
|
|||
Loading…
Reference in New Issue