bug fixes
This commit is contained in:
parent
9369dffc03
commit
a128684f27
|
|
@ -36,10 +36,13 @@ class _DirectListState extends State<DirectList> {
|
||||||
title: 'پیامها',
|
title: 'پیامها',
|
||||||
trailing: state.unreadCount == 0
|
trailing: state.unreadCount == 0
|
||||||
? null
|
? null
|
||||||
: DidvanBadge(
|
: Padding(
|
||||||
|
padding: const EdgeInsets.only(left: 20),
|
||||||
|
child: DidvanBadge(
|
||||||
text: state.unreadCount.toString(),
|
text: state.unreadCount.toString(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
slivers: [
|
slivers: [
|
||||||
SliverStateHandler<DirectListState>(
|
SliverStateHandler<DirectListState>(
|
||||||
onRetry: state.getDirectsList,
|
onRetry: state.getDirectsList,
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,12 @@ import 'package:didvan/constants/app_icons.dart';
|
||||||
import 'package:didvan/models/chat_room/chat_room.dart';
|
import 'package:didvan/models/chat_room/chat_room.dart';
|
||||||
import 'package:didvan/routes/routes.dart';
|
import 'package:didvan/routes/routes.dart';
|
||||||
import 'package:didvan/utils/date_time.dart';
|
import 'package:didvan/utils/date_time.dart';
|
||||||
|
import 'package:didvan/views/home/settings/direct_list/direct_list_state.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/badge.dart';
|
import 'package:didvan/views/widgets/didvan/badge.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/divider.dart';
|
import 'package:didvan/views/widgets/didvan/divider.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/text.dart';
|
import 'package:didvan/views/widgets/didvan/text.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class ChatRoomItem extends StatelessWidget {
|
class ChatRoomItem extends StatelessWidget {
|
||||||
final ChatRoom chatRoom;
|
final ChatRoom chatRoom;
|
||||||
|
|
@ -20,7 +22,10 @@ class ChatRoomItem extends StatelessWidget {
|
||||||
Routes.direct,
|
Routes.direct,
|
||||||
arguments: {'type': chatRoom.type},
|
arguments: {'type': chatRoom.type},
|
||||||
);
|
);
|
||||||
|
final state = context.read<DirectListState>();
|
||||||
|
int unreadCount = chatRoom.unread;
|
||||||
chatRoom.unread = 0;
|
chatRoom.unread = 0;
|
||||||
|
state.unreadCount -= unreadCount;
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,9 @@ class StudioDetailsState extends CoreProvier {
|
||||||
if (nextStudio != null && !_positionListenerActivated) {
|
if (nextStudio != null && !_positionListenerActivated) {
|
||||||
_positionListenerActivated = true;
|
_positionListenerActivated = true;
|
||||||
MediaService.audioPlayer.positionStream.listen((event) {
|
MediaService.audioPlayer.positionStream.listen((event) {
|
||||||
|
if (MediaService.audioPlayerTag?.contains('message') == true) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
final duration = MediaService.audioPlayer.duration ??
|
final duration = MediaService.audioPlayer.duration ??
|
||||||
Duration(seconds: studio.duration);
|
Duration(seconds: studio.duration);
|
||||||
if (event.compareTo(duration) > 0 && nextStudio != null) {
|
if (event.compareTo(duration) > 0 && nextStudio != null) {
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,7 @@ class DidvanAppBar extends StatelessWidget {
|
||||||
return Container(
|
return Container(
|
||||||
height: appBarData.isSmall ? 56 : 72,
|
height: appBarData.isSmall ? 56 : 72,
|
||||||
width: MediaQuery.of(context).size.width,
|
width: MediaQuery.of(context).size.width,
|
||||||
padding:
|
padding: const EdgeInsets.only(right: 4),
|
||||||
EdgeInsets.only(right: 4, left: appBarData.trailing == null ? 20 : 0),
|
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
border: hasBorder
|
border: hasBorder
|
||||||
? Border(
|
? Border(
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ 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/services/media/media.dart';
|
import 'package:didvan/services/media/media.dart';
|
||||||
|
import 'package:didvan/services/storage/storage.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:didvan/views/home/studio/studio_details/widgets/studio_details_widget.dart';
|
import 'package:didvan/views/home/studio/studio_details/widgets/studio_details_widget.dart';
|
||||||
import 'package:didvan/views/home/studio/studio_state.dart';
|
import 'package:didvan/views/home/studio/studio_state.dart';
|
||||||
|
|
@ -24,7 +25,8 @@ class DidvanBNB extends StatelessWidget {
|
||||||
: super(key: key);
|
: super(key: key);
|
||||||
|
|
||||||
bool get _enablePlayerController =>
|
bool get _enablePlayerController =>
|
||||||
MediaService.currentPodcast != null && MediaService.audioPlayer.playing;
|
MediaService.currentPodcast != null &&
|
||||||
|
(MediaService.audioPlayerTag?.contains('podcast') ?? false);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
@ -39,7 +41,7 @@ class DidvanBNB extends StatelessWidget {
|
||||||
child: AnimatedContainer(
|
child: AnimatedContainer(
|
||||||
padding: const EdgeInsets.only(top: 12),
|
padding: const EdgeInsets.only(top: 12),
|
||||||
duration: DesignConfig.lowAnimationDuration,
|
duration: DesignConfig.lowAnimationDuration,
|
||||||
height: _enablePlayerController ? 120 : 72,
|
height: _enablePlayerController ? 128 : 72,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: DesignConfig.isDark
|
color: DesignConfig.isDark
|
||||||
? Theme.of(context).colorScheme.focused
|
? Theme.of(context).colorScheme.focused
|
||||||
|
|
@ -51,7 +53,7 @@ class DidvanBNB extends StatelessWidget {
|
||||||
child: !_enablePlayerController
|
child: !_enablePlayerController
|
||||||
? const SizedBox()
|
? const SizedBox()
|
||||||
: SizedBox(
|
: SizedBox(
|
||||||
height: 48,
|
height: 56,
|
||||||
child: Row(
|
child: Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
|
|
@ -109,8 +111,15 @@ class DidvanBNB extends StatelessWidget {
|
||||||
: DidvanIcons.play_solid,
|
: DidvanIcons.play_solid,
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
MediaService.handleAudioPlayback(
|
MediaService.handleAudioPlayback(
|
||||||
audioSource: state.studio.media,
|
audioSource: state.downloadedFileIds
|
||||||
|
.contains(state.studio.id)
|
||||||
|
? StorageService.appDocsDir +
|
||||||
|
'/podcasts/podcast-${state.studio.id}.mp3'
|
||||||
|
: state.studio.media,
|
||||||
|
isNetworkAudio: !state.downloadedFileIds
|
||||||
|
.contains(state.studio.id),
|
||||||
id: state.studio.id,
|
id: state.studio.id,
|
||||||
|
isVoiceMessage: false,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue