1
This commit is contained in:
@@ -59,6 +59,50 @@ void showGuestLimitDialog(BuildContext context) {
|
||||
);
|
||||
}
|
||||
|
||||
/// 游客免费额度用完后的全屏锁:盖住播放区并吞掉手势,
|
||||
/// 用户点「再逛逛」关闭弹窗后依然无法继续观看(必须登录)
|
||||
class GuestLockOverlay extends StatelessWidget {
|
||||
const GuestLockOverlay({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
color: Colors.black.withValues(alpha: 0.92),
|
||||
child: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 32),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
const Icon(Icons.lock_outline, size: 48, color: AppColors.gold),
|
||||
const SizedBox(height: 16),
|
||||
const Text(
|
||||
'今日免费次数已用完',
|
||||
style: TextStyle(
|
||||
fontSize: 18,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: Colors.white),
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
const Text(
|
||||
'注册或登录后继续观看,登录即可解锁全部视频',
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 13, color: AppColors.textSecondary, height: 1.6),
|
||||
),
|
||||
const SizedBox(height: 24),
|
||||
ElevatedButton(
|
||||
onPressed: () => context.go('/login'),
|
||||
child: const Text('去登录/注册'),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// 积分不足:引导充值 / 开通会员(2001)
|
||||
void showPointsInsufficientDialog(BuildContext context, int points) {
|
||||
showDialog<void>(
|
||||
|
||||
Reference in New Issue
Block a user