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