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