bug fixes

This commit is contained in:
MohammadTaha Basiri 2022-03-16 11:06:55 +03:30
parent 0ce465e3cb
commit 9c096bcd0c
6 changed files with 38 additions and 5 deletions

View File

@ -8,7 +8,7 @@ class ServerDataProvider {
await _getDirectTypes(); await _getDirectTypes();
} }
static int labelToTypeId(String? label) => label == null static int labelToTypeId(String label) => label.contains('پشتیبانی')
? 7 ? 7
: directTypes.firstWhere((element) => element.value.contains(label)).key; : directTypes.firstWhere((element) => element.value.contains(label)).key;

View File

@ -1,3 +1,4 @@
import 'package:didvan/constants/assets.dart';
import 'package:didvan/models/enums.dart'; import 'package:didvan/models/enums.dart';
import 'package:didvan/models/view/app_bar_data.dart'; import 'package:didvan/models/view/app_bar_data.dart';
import 'package:didvan/providers/server_data_provider.dart'; import 'package:didvan/providers/server_data_provider.dart';
@ -6,6 +7,7 @@ import 'package:didvan/views/home/direct/direct_state.dart';
import 'package:didvan/views/home/direct/widgets/message.dart'; import 'package:didvan/views/home/direct/widgets/message.dart';
import 'package:didvan/views/home/direct/widgets/message_box.dart'; import 'package:didvan/views/home/direct/widgets/message_box.dart';
import 'package:didvan/views/widgets/didvan/scaffold.dart'; import 'package:didvan/views/widgets/didvan/scaffold.dart';
import 'package:didvan/views/widgets/state_handlers/empty_state.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';
import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart';
@ -66,6 +68,14 @@ class _DirectState extends State<Direct> {
sliver: SliverStateHandler<DirectState>( sliver: SliverStateHandler<DirectState>(
itemPadding: const EdgeInsets.only(bottom: 12), itemPadding: const EdgeInsets.only(bottom: 12),
state: state, state: state,
enableEmptyState: state.messages.isEmpty,
emptyState: Padding(
padding: const EdgeInsets.only(bottom: 160),
child: EmptyState(
asset: Assets.emptyChat,
title: 'اولین پیام را بنویسید...',
),
),
builder: (context, state, index) => Message( builder: (context, state, index) => Message(
message: state.messages[index], message: state.messages[index],
), ),

View File

@ -18,6 +18,7 @@ class MessageBox extends StatelessWidget {
Consumer<DirectState>( Consumer<DirectState>(
builder: (context, state, child) => state.replyRadar != null builder: (context, state, child) => state.replyRadar != null
? _MessageBoxContainer( ? _MessageBoxContainer(
isMessage: false,
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Row( child: Row(
@ -53,6 +54,7 @@ class MessageBox extends StatelessWidget {
: const SizedBox(), : const SizedBox(),
), ),
_MessageBoxContainer( _MessageBoxContainer(
isMessage: true,
child: Consumer<DirectState>( child: Consumer<DirectState>(
builder: (context, state, child) { builder: (context, state, child) {
if (state.isRecording) { if (state.isRecording) {
@ -71,12 +73,17 @@ class MessageBox extends StatelessWidget {
class _MessageBoxContainer extends StatelessWidget { class _MessageBoxContainer extends StatelessWidget {
final Widget child; final Widget child;
const _MessageBoxContainer({Key? key, required this.child}) : super(key: key); final bool isMessage;
const _MessageBoxContainer({
Key? key,
required this.child,
required this.isMessage,
}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
height: 68, height: isMessage ? 68 : null,
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border( border: Border(
top: BorderSide( top: BorderSide(

View File

@ -233,7 +233,19 @@ class _FloatingNavigationBarState extends State<FloatingNavigationBar> {
Navigator.of(context).pop(); Navigator.of(context).pop();
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
Routes.direct, Routes.direct,
arguments: {}, arguments: {
'radarAttachment': RadarAttachment(
id: widget.item.id,
title: widget.item.title,
description: widget.item.contents.first.text,
timeToRead: widget.item.timeToRead,
image: widget.item.image,
forManagers: widget.item.forManagers,
categories: widget.item.categories,
createdAt: widget.item.createdAt,
),
'type': 'پشتیبانی'
},
); );
}, },
icon: DidvanIcons.description_regular, icon: DidvanIcons.description_regular,

View File

@ -14,6 +14,7 @@ import 'package:didvan/views/widgets/item_title.dart';
import 'package:didvan/views/widgets/skeleton_image.dart'; import 'package:didvan/views/widgets/skeleton_image.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart'; import 'package:flutter_html/flutter_html.dart';
import 'package:url_launcher/url_launcher.dart';
class DidvanPageView extends StatefulWidget { class DidvanPageView extends StatefulWidget {
final List items; final List items;
@ -183,6 +184,7 @@ class _DidvanPageViewState extends State<DidvanPageView> {
if (content.text != null) { if (content.text != null) {
return Html( return Html(
data: content.text, data: content.text,
onAnchorTap: (href, context, map, element) => launch(href!),
style: { style: {
'*': Style( '*': Style(
direction: TextDirection.rtl, direction: TextDirection.rtl,

View File

@ -34,7 +34,9 @@ class DidvanText extends StatelessWidget {
fontWeight: fontWeight, fontWeight: fontWeight,
fontSize: fontSize, fontSize: fontSize,
)).copyWith( )).copyWith(
fontFamily: isEnglishFont ? DesignConfig.fontFamily : null, fontFamily: isEnglishFont
? DesignConfig.fontFamily.replaceAll('-FA', '')
: null,
height: 1.7, height: 1.7,
), ),
overflow: overflow, overflow: overflow,