fixing some issues
This commit is contained in:
parent
fe735e65a8
commit
445b37bc91
|
|
@ -5,10 +5,8 @@ import 'home_page_list.dart';
|
|||
class MainPageContent {
|
||||
final List<List<MainPageBannerType>> banners;
|
||||
final List<MainPageList> lists;
|
||||
final int unread;
|
||||
|
||||
const MainPageContent(
|
||||
{required this.banners, required this.lists, required this.unread});
|
||||
const MainPageContent({required this.banners, required this.lists});
|
||||
|
||||
factory MainPageContent.fromJson(Map<String, dynamic> json) {
|
||||
return MainPageContent(
|
||||
|
|
@ -24,7 +22,6 @@ class MainPageContent {
|
|||
(x) => MainPageList.fromJson(x),
|
||||
),
|
||||
),
|
||||
unread: json['unread'],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,8 @@ import 'package:didvan/views/widgets/didvan/text.dart';
|
|||
import 'package:didvan/views/widgets/state_handlers/state_handler.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
import 'package:didvan/services/network/request.dart';
|
||||
|
||||
class MainPage extends StatefulWidget {
|
||||
const MainPage({super.key});
|
||||
|
|
@ -69,7 +70,10 @@ class _MainPageSection extends StatelessWidget {
|
|||
|
||||
void _moreHandler(BuildContext context) {
|
||||
if (list.link.startsWith('http')) {
|
||||
launchUrl(Uri.parse(list.link));
|
||||
launchUrlString(
|
||||
'${list.link}?accessToken=${RequestService.token}',
|
||||
mode: LaunchMode.inAppWebView,
|
||||
);
|
||||
return;
|
||||
}
|
||||
Navigator.of(context).pushNamed(list.link);
|
||||
|
|
|
|||
|
|
@ -12,11 +12,14 @@ import 'package:url_launcher/url_launcher_string.dart';
|
|||
|
||||
class MainPageState extends CoreProvier {
|
||||
late MainPageContent content;
|
||||
int unread = 0;
|
||||
|
||||
Future<void> _getMainPageContent() async {
|
||||
final service = RequestService(RequestHelper.mainPageContent);
|
||||
await service.httpGet();
|
||||
if (service.isSuccess) {
|
||||
content = MainPageContent.fromJson(service.result);
|
||||
unread = service.result['unread'];
|
||||
appState = AppState.idle;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class MainPageBanner extends StatelessWidget {
|
|||
itemCount: state.content.banners[isFirst ? 0 : 1].length,
|
||||
viewportFraction: 1,
|
||||
enableIndicator: true,
|
||||
height: (MediaQuery.of(context).size.width - 8) * 9.0 / 16.0,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ class PodcastsState extends CoreProvier {
|
|||
if (selectedSortTypeIndex == 0) return 'تازهترینها';
|
||||
if (selectedSortTypeIndex == 1) return 'قدیمیترینها';
|
||||
if (selectedSortTypeIndex == 2) return 'پربازدیدترینها';
|
||||
return 'پربحثنرینها';
|
||||
return 'پربحثترینها';
|
||||
}
|
||||
|
||||
String get type {
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ class _StudioPreview extends StatelessWidget {
|
|||
|
||||
String get _previewTitle {
|
||||
if (studio.type == 'video') {
|
||||
return 'ویدیو ${isNext ? 'بعدی' : 'قبلی'} ';
|
||||
return 'ویدیوی ${isNext ? 'بعدی' : 'قبلی'} ';
|
||||
}
|
||||
return 'پادکست ${isNext ? 'بعدی' : 'قبلی'} ';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ class ChatRoomItem extends StatelessWidget {
|
|||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const SizedBox(width: 40),
|
||||
if (!chatRoom.lastMessage.writedByAdmin)
|
||||
Icon(
|
||||
chatRoom.lastMessage.readed
|
||||
? DidvanIcons.check_double_light
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import 'package:didvan/providers/theme.dart';
|
|||
import 'package:didvan/routes/routes.dart';
|
||||
import 'package:didvan/utils/action_sheet.dart';
|
||||
import 'package:didvan/views/home/home_state.dart';
|
||||
import 'package:didvan/views/home/main/main_page_state.dart';
|
||||
import 'package:didvan/views/widgets/date_picker_button.dart';
|
||||
import 'package:didvan/views/widgets/didvan/checkbox.dart';
|
||||
import 'package:didvan/views/widgets/item_title.dart';
|
||||
|
|
@ -66,17 +67,18 @@ class LogoAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||
width: 1,
|
||||
color: Theme.of(context).colorScheme.border,
|
||||
),
|
||||
Stack(
|
||||
Consumer<MainPageState>(
|
||||
builder: (_, state, __) => Stack(
|
||||
children: [
|
||||
DidvanIconButton(
|
||||
icon: state.unreadCount == 0
|
||||
icon: state.unread == 0
|
||||
? DidvanIcons.message_light
|
||||
: DidvanIcons.message_solid,
|
||||
size: 32,
|
||||
onPressed: () =>
|
||||
Navigator.of(context).pushNamed(Routes.directList),
|
||||
onPressed: () => Navigator.of(context)
|
||||
.pushNamed(Routes.directList),
|
||||
),
|
||||
if (state.unreadCount != 0)
|
||||
if (state.unread > 0)
|
||||
Positioned(
|
||||
top: 8,
|
||||
right: 4,
|
||||
|
|
@ -91,6 +93,7 @@ class LogoAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
|
|
|
|||
Loading…
Reference in New Issue