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 with SingleTickerProviderStateMixin { late TabController _tabController; final List _pages = []; final List _tabs = []; ATRoomRewardInfoRes? res; @override void initState() { super.initState(); String roomId = Provider.of( 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, ), ), ], ), ), ], ), ); } }