studio edits
This commit is contained in:
parent
ebd2b4ec51
commit
5d70e19811
|
|
@ -12,7 +12,7 @@ class StudioRequestArgs {
|
|||
this.asc,
|
||||
this.search,
|
||||
this.order,
|
||||
this.type,
|
||||
this.type = 'video',
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
import 'package:didvan/main.dart';
|
||||
import 'package:didvan/models/requests/news.dart';
|
||||
import 'package:didvan/models/requests/radar.dart';
|
||||
import 'package:didvan/models/requests/studio.dart';
|
||||
import 'package:didvan/models/settings_data.dart';
|
||||
import 'package:didvan/routes/routes.dart';
|
||||
import 'package:didvan/services/media/media.dart';
|
||||
import 'package:didvan/services/storage/storage.dart';
|
||||
import 'package:didvan/views/home/home_state.dart';
|
||||
import 'package:didvan/views/home/studio/studio_details/studio_details_state.dart';
|
||||
import 'package:firebase_core/firebase_core.dart';
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
|
|
@ -79,16 +81,30 @@ class AppInitializer {
|
|||
}
|
||||
}
|
||||
|
||||
static void handleCLick() {
|
||||
static Future<void> handleCLick(
|
||||
HomeState state, TabController tabController) async {
|
||||
if (clickAction != null) {
|
||||
final isRadar = clickAction!.contains('radar');
|
||||
final action = clickAction!.split('-').first;
|
||||
final isStudio = action != 'radar' && action != 'news';
|
||||
String routeName = '/${isStudio ? 'studio' : action}-details';
|
||||
if (action == 'podcast') {
|
||||
state.currentPageIndex = 3;
|
||||
tabController.animateTo(3);
|
||||
await Future.delayed(const Duration(milliseconds: 500));
|
||||
clickAction = null;
|
||||
return;
|
||||
}
|
||||
Navigator.of(navigatorKey.currentContext!).pushNamed(
|
||||
isRadar ? Routes.radarDetails : Routes.newsDetails,
|
||||
routeName,
|
||||
arguments: {
|
||||
'id': int.parse(clickAction!.split('-')[1]),
|
||||
'args': isRadar
|
||||
'args': routeName == Routes.newsDetails
|
||||
? const NewsRequestArgs(page: 0)
|
||||
: routeName == Routes.radarDetails
|
||||
? const RadarRequestArgs(page: 0)
|
||||
: const NewsRequestArgs(page: 0),
|
||||
: action == 'video'
|
||||
? const StudioRequestArgs(page: 0)
|
||||
: null,
|
||||
'onMarkChanged': (id, value) {},
|
||||
'onCommentsChanged': (id, count) {},
|
||||
'hasUnmarkConfirmation': false,
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import 'package:didvan/views/widgets/didvan/divider.dart';
|
|||
import 'package:didvan/views/widgets/didvan/icon_button.dart';
|
||||
import 'package:didvan/views/widgets/didvan/radial_button.dart';
|
||||
import 'package:didvan/views/widgets/item_title.dart';
|
||||
import 'package:didvan/views/widgets/logos/didvan_vertical_logo.dart';
|
||||
import 'package:didvan/views/widgets/state_handlers/empty_result.dart';
|
||||
import 'package:didvan/views/widgets/state_handlers/sliver_state_handler.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
|
@ -51,10 +52,11 @@ class _StudioState extends State<Studio> {
|
|||
SliverToBoxAdapter(
|
||||
child: Row(
|
||||
children: [
|
||||
const Expanded(child: LogoAppBar(type: 'studio')),
|
||||
const LogoAppBar(),
|
||||
Padding(
|
||||
padding:
|
||||
EdgeInsets.only(top: MediaQuery.of(context).padding.top),
|
||||
padding: EdgeInsets.only(
|
||||
top: MediaQuery.of(context).padding.top,
|
||||
),
|
||||
child: DidvanIconButton(
|
||||
icon: DidvanIcons.bookmark_regular,
|
||||
onPressed: () => Navigator.of(context).pushNamed(
|
||||
|
|
|
|||
|
|
@ -116,6 +116,7 @@ class _StudioDetailsState extends State<StudioDetails> {
|
|||
final betterPlayerDataSource = BetterPlayerDataSource(
|
||||
BetterPlayerDataSourceType.network,
|
||||
state.studio.link,
|
||||
videoFormat: BetterPlayerVideoFormat.hls,
|
||||
);
|
||||
await _betterPlayerController.clearCache();
|
||||
await _betterPlayerController.setupDataSource(betterPlayerDataSource);
|
||||
|
|
|
|||
|
|
@ -96,6 +96,11 @@ class StudioDetailsState extends CoreProvier {
|
|||
}
|
||||
final result = service.result;
|
||||
studio = StudioDetailsData.fromJson(result['studio']);
|
||||
if (args?.page == 0) {
|
||||
initialIndex = 0;
|
||||
appState = AppState.idle;
|
||||
return;
|
||||
}
|
||||
if (result['nextStudio'].isNotEmpty && this.args?.page != 0) {
|
||||
nextStudio = StudioDetailsData.fromJson(result['nextStudio']);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import 'package:didvan/models/overview_data.dart';
|
|||
import 'package:didvan/models/requests/studio.dart';
|
||||
import 'package:didvan/models/slider_data.dart';
|
||||
import 'package:didvan/providers/core.dart';
|
||||
import 'package:didvan/services/app_initalizer.dart';
|
||||
import 'package:didvan/services/network/request.dart';
|
||||
import 'package:didvan/services/network/request_helper.dart';
|
||||
|
||||
|
|
@ -67,7 +68,8 @@ class StudioState extends CoreProvier {
|
|||
void init() {
|
||||
search = '';
|
||||
lastSearch = '';
|
||||
_videosSelected = true;
|
||||
_videosSelected =
|
||||
!(AppInitializer.clickAction?.contains('podcast') == true);
|
||||
selectedSortTypeIndex = 0;
|
||||
Future.delayed(Duration.zero, () {
|
||||
_getSliders();
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@ 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/enums.dart';
|
||||
import 'package:didvan/models/requests/radar.dart';
|
||||
import 'package:didvan/providers/user.dart';
|
||||
import 'package:didvan/routes/routes.dart';
|
||||
import 'package:didvan/services/media/media.dart';
|
||||
import 'package:didvan/utils/action_sheet.dart';
|
||||
import 'package:didvan/views/home/studio/studio_details/studio_details_state.dart';
|
||||
|
|
@ -114,7 +116,16 @@ class _PlayerNavBar extends StatelessWidget {
|
|||
builder: (context, snapshot) => GestureDetector(
|
||||
onTap: () => MediaService.currentPodcast == null ||
|
||||
MediaService.currentPodcast?.description == 'radar'
|
||||
? null
|
||||
? Navigator.of(context).pushNamed(
|
||||
Routes.radarDetails,
|
||||
arguments: {
|
||||
'onMarkChanged': (id, value) {},
|
||||
'onCommentsChanged': (id, value) {},
|
||||
'id': MediaService.currentPodcast?.id,
|
||||
'args': const RadarRequestArgs(page: 0),
|
||||
'hasUnmarkConfirmation': false,
|
||||
},
|
||||
)
|
||||
: _showPlayerBottomSheet(context),
|
||||
child: Consumer<StudioDetailsState>(
|
||||
builder: (context, state, child) => AnimatedContainer(
|
||||
|
|
|
|||
Loading…
Reference in New Issue