import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:paladinvpn/logic/session_timer.dart'; import 'package:paladinvpn/logic/ad_manager.dart'; /// WatchAdButton is a voluntary option allowing the user to watch a rewarded video ad /// and extend their active VPN tunnel session by 30 minutes as a reward. class WatchAdButton extends StatelessWidget { const WatchAdButton({super.key}); @override Widget build(BuildContext context) { return Material( color: Colors.transparent, child: InkWell( borderRadius: BorderRadius.circular(12), onTap: () async { final success = await context.read().showAd('bonus_ad'); if (success && context.mounted) { context.read().addBonusTime(); // Calls Hivemind API for 30m + 1GB ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: const Text( '+30 minutes added!', style: TextStyle(fontWeight: FontWeight.w600), ), backgroundColor: const Color(0xFF006064), behavior: SnackBarBehavior.floating, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), duration: const Duration(seconds: 2), ), ); } }, child: Container( padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 8), decoration: BoxDecoration( borderRadius: BorderRadius.circular(12), gradient: const LinearGradient( colors: [Color(0x1A00E5FF), Color(0x0D00E5FF)], ), border: Border.all( color: const Color.fromRGBO(0, 229, 255, 0.25), ), ), child: const Row( mainAxisSize: MainAxisSize.min, children: [ Text('❤️', style: TextStyle(fontSize: 14)), SizedBox(width: 6), Text( 'Support +30m', style: TextStyle( fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xFF00E5FF), letterSpacing: 0.5, ), ), ], ), ), ), ); } }