97 lines
3.2 KiB
Dart
97 lines
3.2 KiB
Dart
import 'dart:ui' as ui;
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
import 'package:aslan/chatvibe_features/room/rank/room_gift_rank_tab_page.dart';
|
|
import 'package:provider/provider.dart';
|
|
import 'package:aslan/app_localizations.dart';
|
|
import 'package:aslan/chatvibe_domain/models/res/at_room_reward_info_res.dart';
|
|
import 'package:aslan/chatvibe_managers/rtc_manager.dart';
|
|
|
|
import '../../../chatvibe_data/models/enum/at_date_type.dart';
|
|
|
|
class RoomGiftRankPage extends StatefulWidget {
|
|
@override
|
|
_RoomGiftRankPageState createState() => _RoomGiftRankPageState();
|
|
}
|
|
|
|
class _RoomGiftRankPageState extends State<RoomGiftRankPage>
|
|
with SingleTickerProviderStateMixin {
|
|
late TabController _tabController;
|
|
final List<Widget> _pages = [];
|
|
final List<Widget> _tabs = [];
|
|
ATRoomRewardInfoRes? res;
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
String roomId =
|
|
Provider.of<RtcProvider>(
|
|
context,
|
|
listen: false,
|
|
).currenRoom?.roomProfile?.roomProfile?.id ??
|
|
"";
|
|
_pages.add(RoomGiftRankTabPage(roomId, ATDateType.DAY.name));
|
|
_pages.add(RoomGiftRankTabPage(roomId, ATDateType.WEEK.name));
|
|
_pages.add(RoomGiftRankTabPage(roomId, ATDateType.MONTH.name));
|
|
_tabController = TabController(length: _pages.length, vsync: this);
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
_tabs.clear();
|
|
_tabs.add(Tab(text: ATAppLocalizations.of(context)!.daily));
|
|
_tabs.add(Tab(text: ATAppLocalizations.of(context)!.weekly));
|
|
_tabs.add(Tab(text: ATAppLocalizations.of(context)!.monthly));
|
|
return SafeArea(
|
|
child: Column(
|
|
mainAxisSize: MainAxisSize.min,
|
|
children: [
|
|
Container(
|
|
decoration: BoxDecoration(
|
|
borderRadius: BorderRadius.only(topLeft: Radius.circular(15.w), topRight: Radius.circular(15.w)),
|
|
image: DecorationImage(
|
|
image: AssetImage(
|
|
"atu_images/room/at_icon_room_task_bg_com.png",
|
|
),
|
|
fit: BoxFit.cover,
|
|
),
|
|
),
|
|
height: 360.w,
|
|
child: Column(
|
|
children: [
|
|
TabBar(
|
|
tabAlignment: TabAlignment.start,
|
|
labelPadding: EdgeInsets.symmetric(horizontal: 12.w),
|
|
labelColor: Colors.white,
|
|
isScrollable: true,
|
|
indicator: BoxDecoration(),
|
|
unselectedLabelColor: Colors.white54,
|
|
labelStyle: TextStyle(
|
|
fontSize: 17.sp,
|
|
fontWeight: FontWeight.w600,
|
|
),
|
|
unselectedLabelStyle: TextStyle(
|
|
fontSize: 15.sp,
|
|
fontWeight: FontWeight.w500,
|
|
),
|
|
indicatorColor: Colors.transparent,
|
|
dividerColor: Colors.transparent,
|
|
controller: _tabController,
|
|
tabs: _tabs,
|
|
),
|
|
|
|
Expanded(
|
|
child: TabBarView(
|
|
controller: _tabController,
|
|
children: _pages,
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|