Linux spg1.cloudpowerdns.com 5.14.0-611.34.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 18 05:51:10 EST 2026 x86_64
LiteSpeed
Server IP : 176.9.63.151 & Your IP : 216.73.217.60
Domains :
Cant Read [ /etc/named.conf ]
User : fastear1
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
fastear1 /
.trash /
Delete
Unzip
Name
Size
Permission
Date
Action
.well-known
[ DIR ]
drwxr-xr-x
2025-09-15 16:52
DB
[ DIR ]
drwxr-xr-x
2024-01-26 18:47
Documentation
[ DIR ]
drwxr-xr-x
2025-08-31 15:59
Documentation.1
[ DIR ]
drwxr-xr-x
2025-10-30 18:23
FASTEARNADS
[ DIR ]
drwxr-xr-x
2025-09-15 19:14
Files
[ DIR ]
drwxr-xr-x
2025-10-30 18:23
admin
[ DIR ]
drwxr-xr-x
2025-10-18 00:49
admin.1
[ DIR ]
drwxr-xr-x
2025-10-17 21:15
admin.2
[ DIR ]
drwxr-xr-x
2025-10-18 21:54
app
[ DIR ]
drwxr-xr-x
2025-09-15 01:54
asset
[ DIR ]
drwxr-xr-x
2024-01-15 11:35
assets
[ DIR ]
drwxr--r--
2025-10-18 01:49
assets.1
[ DIR ]
drwxr--r--
2025-10-18 02:06
assets.2
[ DIR ]
drwxr-xr-x
2025-10-17 23:09
assets.3
[ DIR ]
drwxr--r--
2025-10-18 02:13
assets.4
[ DIR ]
drwxr-xr-x
2025-10-18 21:42
bootstrap
[ DIR ]
drwxr-xr-x
2025-09-15 21:09
cgi-bin
[ DIR ]
drwxr-xr-x
2025-08-31 15:33
cgi-bin.1
[ DIR ]
drwxr-xr-x
2025-11-14 14:25
cgi-bin.2
[ DIR ]
drwxr-xr-x
2026-03-06 11:21
core
[ DIR ]
drwxr-xr-x
2025-11-21 11:34
core.1
[ DIR ]
drwxr-xr-x
2025-11-21 15:51
data sycho
[ DIR ]
drwxr-xr-x
2026-03-18 10:25
database
[ DIR ]
drwxr-xr-x
2025-09-15 01:47
db
[ DIR ]
drwxr-xr-x
2025-10-17 23:00
db.1
[ DIR ]
drwxr-xr-x
2025-10-17 21:15
debug.php
[ DIR ]
drwxr-xr-x
2026-03-13 16:15
deployment_package
[ DIR ]
drwxr-xr-x
2025-10-18 02:05
deployment_package.1
[ DIR ]
drwxr-xr-x
2025-10-17 21:15
earnonline
[ DIR ]
drwxr-xr-x
2025-10-18 17:55
includes
[ DIR ]
drwxr-xr-x
2025-10-17 21:12
includes.1
[ DIR ]
drwxr-xr-x
2025-10-17 21:15
includes.2
[ DIR ]
drwxr-xr-x
2025-10-18 21:40
loading
[ DIR ]
drwxr-xr-x
2025-01-23 07:37
public
[ DIR ]
drwxr-xr-x
2025-09-15 19:19
resources
[ DIR ]
drwxr-xr-x
2025-09-15 01:28
routes
[ DIR ]
drwxr-xr-x
2025-09-15 21:08
serive
[ DIR ]
drwxr-xr-x
2024-10-22 19:23
shearearn
[ DIR ]
drwxr-xr-x
2025-10-17 21:12
storage
[ DIR ]
drwxr-xr-x
2025-09-15 01:56
uploads
[ DIR ]
drwxr--r--
2025-10-18 01:49
uploads.1
[ DIR ]
drwxr--r--
2025-10-18 02:06
uploads.2
[ DIR ]
drwxr-xr-x
2025-10-17 23:08
uploads.3
[ DIR ]
drwxr--r--
2025-10-18 02:13
user
[ DIR ]
drwxr-xr-x
2025-10-17 23:42
user.1
[ DIR ]
drwxr-xr-x
2025-10-17 21:15
user.2
[ DIR ]
drwxr-xr-x
2025-10-18 22:14
vendor
[ DIR ]
drwxr-xr-x
2025-09-15 01:53
.env
1.2
KB
-rw-r--r--
2025-09-15 19:24
.env.example
1.19
KB
-rw-r--r--
2025-09-15 01:27
.htaccess
281
B
-rw-r--r--
2025-09-15 16:51
.htaccess.1
1.08
KB
-rw-r--r--
2025-10-18 21:45
.htaccess.2
913
B
-rw-r--r--
2023-12-27 04:45
.htaccess.3
281
B
-rw-r--r--
2025-12-23 09:40
.htaccess.4
1.38
KB
-rw-r--r--
2025-12-23 09:40
.htaccess.5
812
B
-rw-r--r--
2025-12-23 09:40
.htaccess.6
281
B
-rw-r--r--
2026-02-22 15:25
.htaccess.7
5.15
KB
-rw-r--r--
2025-12-23 09:40
.htaccess.8
1.02
KB
-rw-r--r--
2025-12-23 09:40
.htaccess.9
281
B
-rw-r--r--
2025-12-23 09:40
.trash_restore
11.24
KB
-rw-------
2026-03-30 15:07
.well-known_2.zip
66.1
MB
-rw-r--r--
2025-07-10 15:10
.well-known_3.zip
69.98
MB
-rw-r--r--
2025-07-18 07:02
6clube by Tha_perfect_provider (1).zip
67.84
MB
-rw-r--r--
2025-11-21 12:25
DEPLOYMENT_INSTRUCTIONS.md
3.05
KB
-rw-r--r--
2025-10-18 01:48
FASTEARNADS.zip
26.04
MB
-rw-r--r--
2025-09-15 19:10
FIX_DUPLICATE_COMMISSIONS.md
3.63
KB
-rw-r--r--
2025-10-18 00:32
FIX_DUPLICATE_COMMISSIONS.md.1
3.63
KB
-rw-r--r--
2025-10-18 00:32
FIX_USER_EDIT_ISSUE.md
6.15
KB
-rw-r--r--
2025-10-18 00:44
FIX_USER_EDIT_ISSUE.md.1
6.15
KB
-rw-r--r--
2025-10-18 00:44
Hyipe rio_2.zip
56.84
MB
-rw-r--r--
2025-08-31 15:56
IMPROVEMENTS_SUMMARY.md
4.11
KB
-rw-r--r--
2025-10-18 00:40
IMPROVEMENTS_SUMMARY.md.1
4.11
KB
-rw-r--r--
2025-10-18 00:40
MRby91club.sql
32.58
MB
-rw-r--r--
2025-11-09 05:09
MRby91club.zip
58.89
MB
-rw-r--r--
2025-11-09 05:09
PropLab v1.0 Nulled.zip
67.55
MB
-rw-r--r--
2025-11-21 11:36
README.md
6.77
KB
-rw-r--r--
2025-09-15 01:24
README.md.1
3.01
KB
-rw-r--r--
2025-10-18 21:46
README.txt
2.34
KB
-rw-r--r--
2025-10-17 23:08
README.txt.1
2.34
KB
-rw-r--r--
2025-10-17 23:08
README_DEPLOYMENT.txt
1.74
KB
-rw-r--r--
2025-10-18 01:49
README_REFERRAL_COMMISSIONS.md
4.02
KB
-rw-r--r--
2025-10-18 00:22
README_REFERRAL_COMMISSIONS.md.1
4.02
KB
-rw-r--r--
2025-10-18 00:22
SQL_CHANGES_SUMMARY.md
2.02
KB
-rw-r--r--
2025-10-18 00:25
SQL_CHANGES_SUMMARY.md.1
2.02
KB
-rw-r--r--
2025-10-18 00:25
Vinance-Digital-Trading-Platform-V2.7[www.shop.softbdteam.com].zip
39.3
MB
-rw-r--r--
2025-11-28 16:01
apply_database_fixes.php
5.17
KB
-rw-r--r--
2025-10-18 00:39
apply_database_fixes.php.1
5.17
KB
-rw-r--r--
2025-10-18 00:39
artisan
1.7
KB
-rw-r--r--
2025-09-15 01:54
check_commission_levels.php
3.16
KB
-rw-r--r--
2025-10-18 00:53
check_commission_levels.php.1
3.16
KB
-rw-r--r--
2025-10-18 00:53
check_database_structure.php
3.9
KB
-rw-r--r--
2025-10-18 00:55
check_database_structure.php.1
3.9
KB
-rw-r--r--
2025-10-18 00:55
check_duplicate_commissions.php
4.38
KB
-rw-r--r--
2025-10-18 00:32
check_duplicate_commissions.php.1
4.38
KB
-rw-r--r--
2025-10-18 00:32
check_referrals_table.php
2.28
KB
-rw-r--r--
2025-10-18 00:39
check_referrals_table.php.1
2.28
KB
-rw-r--r--
2025-10-18 00:39
complete_setup.sql
5.34
KB
-rw-r--r--
2025-10-18 00:25
complete_setup.sql.1
5.34
KB
-rw-r--r--
2025-10-18 00:25
complete_setup_for_import.sql
5.36
KB
-rw-r--r--
2025-10-18 01:59
complete_setup_for_import.sql.1
5.36
KB
-rw-r--r--
2025-10-18 01:59
composer.json
1.83
KB
-rw-r--r--
2025-09-15 01:27
composer.lock
294.45
KB
-rw-r--r--
2025-09-15 01:52
config.php
2.63
KB
-rw-r--r--
2025-10-18 17:56
crazydeveloperbd_auto-ptc.sql
320.06
KB
-rw-r--r--
2025-02-03 11:56
crazydeveloperbd_auto-ptc.sql.1
320.06
KB
-rw-r--r--
2025-02-03 11:56
create_table_direct.php
3.44
KB
-rw-r--r--
2025-10-18 00:09
create_table_direct.php.1
3.44
KB
-rw-r--r--
2025-10-18 00:09
css_test.php
999
B
-rw-r--r--
2025-10-18 02:06
data sycho.1
0
B
-rw-r--r--
2026-03-18 10:25
database.sql
13.77
KB
-rw-r--r--
2025-10-18 22:24
debug_referral_chain.php
6.88
KB
-rw-r--r--
2025-10-18 00:54
debug_referral_chain.php.1
6.88
KB
-rw-r--r--
2025-10-18 00:54
demo-enhanced.html
45.46
KB
-rw-r--r--
2025-09-15 01:43
earnonline.zip
88.67
KB
-rw-r--r--
2025-10-18 17:55
error.php
3.84
KB
-rw-r--r--
2025-10-18 21:45
error_log
488
B
-rw-r--r--
2025-07-04 21:02
error_log.1
37.29
KB
-rw-r--r--
2025-11-21 16:03
favicon.png
2.71
KB
-rw-r--r--
2025-06-07 20:15
favicon.png.1
6.62
KB
-rw-r--r--
2022-08-31 22:45
favicon.png.2
50.48
KB
-rw-r--r--
2025-07-18 10:14
favicon.png.3
2.21
KB
-rw-r--r--
2025-07-18 10:19
fix_css_paths.bat
1.85
KB
-rw-r--r--
2025-10-18 02:06
fix_duplicate_commissions.php
2.67
KB
-rw-r--r--
2025-10-18 00:31
fix_duplicate_commissions.php.1
2.67
KB
-rw-r--r--
2025-10-18 00:31
fix_referral_commissions.sql
677
B
-rw-r--r--
2025-10-18 00:25
fix_referral_commissions.sql.1
677
B
-rw-r--r--
2025-10-18 00:25
fix_referral_commissions_for_import.sql
705
B
-rw-r--r--
2025-10-18 01:59
fix_referral_commissions_for_import.sql.1
705
B
-rw-r--r--
2025-10-18 01:59
index-8df9a8d8.js
1.09
MB
-rw-r--r--
2026-03-18 15:16
index.php
25.73
KB
-rw-r--r--
2025-10-18 01:40
index.php.1
26.17
KB
-rw-r--r--
2025-10-18 02:11
index.php.2
23.31
KB
-rw-r--r--
2025-10-18 22:32
index.php.3
1.77
KB
-rw-r--r--
2023-12-27 04:45
index.php.backup
25.74
KB
-rw-r--r--
2025-10-18 02:05
index_professional.php
26.17
KB
-rw-r--r--
2025-10-18 02:12
index_with_css_fix.php
25.82
KB
-rw-r--r--
2025-10-18 02:06
login.php
4.14
KB
-rw-r--r--
2025-10-17 23:09
login.php.1
4.15
KB
-rw-r--r--
2025-10-18 02:12
logo.png
18.18
KB
-rw-r--r--
2025-06-07 20:15
logo.png.1
46.68
KB
-rw-r--r--
2025-07-18 10:12
logo.png.2
46.68
KB
-rw-r--r--
2025-07-18 10:11
logo.png.3
920.77
KB
-rw-r--r--
2023-07-01 15:03
logout.php
88
B
-rw-r--r--
2025-10-17 23:02
logout.php.1
88
B
-rw-r--r--
2025-10-17 23:02
mailer.php
10.16
KB
-rw-r--r--
2026-03-30 14:45
mobile-demo.html
23.36
KB
-rw-r--r--
2025-09-15 01:32
register.php
6.57
KB
-rw-r--r--
2025-10-17 23:09
register.php.1
6.58
KB
-rw-r--r--
2025-10-18 02:12
run_setup.bat
714
B
-rw-r--r--
2025-10-18 00:23
run_setup.bat.1
714
B
-rw-r--r--
2025-10-18 00:23
servertime.php
128
B
-rw-r--r--
2024-09-27 12:16
setup_referral_commissions.php
2.73
KB
-rw-r--r--
2025-10-18 00:21
setup_referral_commissions.php.1
2.73
KB
-rw-r--r--
2025-10-18 00:21
shearearn.zip
3.2
MB
-rw-r--r--
2025-10-17 21:11
test.html
203
B
-rw-r--r--
2025-10-17 23:16
test.php
59
B
-rw-r--r--
2025-10-17 23:16
test.php.1
59
B
-rw-r--r--
2025-10-17 23:16
test_commission_application.php
6.93
KB
-rw-r--r--
2025-10-18 00:55
test_commission_application.php.1
6.93
KB
-rw-r--r--
2025-10-18 00:55
test_commission_display.php
3.26
KB
-rw-r--r--
2025-10-18 00:19
test_commission_display.php.1
3.26
KB
-rw-r--r--
2025-10-18 00:19
test_commission_fix.php
3.16
KB
-rw-r--r--
2025-10-18 00:39
test_commission_fix.php.1
3.16
KB
-rw-r--r--
2025-10-18 00:39
test_mobile_menu.php
2.73
KB
-rw-r--r--
2025-10-18 01:24
test_mobile_menu.php.1
2.73
KB
-rw-r--r--
2025-10-18 01:24
test_referral.php
2.07
KB
-rw-r--r--
2025-10-17 23:55
test_referral.php.1
2.07
KB
-rw-r--r--
2025-10-17 23:55
tradex (1).sql
189.14
KB
-rw-r--r--
2025-11-21 15:51
update_referral_commissions.sql
682
B
-rw-r--r--
2025-10-18 00:25
update_referral_commissions.sql.1
682
B
-rw-r--r--
2025-10-18 00:25
update_referral_commissions_for_import.sql
710
B
-rw-r--r--
2025-10-18 01:59
update_referral_commissions_for_import.sql.1
710
B
-rw-r--r--
2025-10-18 01:59
update_referrals_table.sql
398
B
-rw-r--r--
2025-10-18 00:31
update_referrals_table.sql.1
398
B
-rw-r--r--
2025-10-18 00:31
update_referrals_table_for_import.sql
426
B
-rw-r--r--
2025-10-18 01:59
update_referrals_table_for_import.sql.1
426
B
-rw-r--r--
2025-10-18 01:59
verify-code.php
8.79
KB
-rw-r--r--
2026-03-30 14:55
verify_commissions.php
3.28
KB
-rw-r--r--
2025-10-18 00:20
verify_commissions.php.1
3.28
KB
-rw-r--r--
2025-10-18 00:20
verify_commissions_working.php
8.2
KB
-rw-r--r--
2025-10-18 00:56
verify_commissions_working.php.1
8.2
KB
-rw-r--r--
2025-10-18 00:56
website_deployment_package.zip
648.91
KB
-rw-r--r--
2025-10-18 01:49
website_deployment_package_final.zip
657.48
KB
-rw-r--r--
2025-10-18 02:06
website_deployment_package_professional.zip
667.46
KB
-rw-r--r--
2025-10-17 21:14
website_deployment_package_updated.zip
653.07
KB
-rw-r--r--
2025-10-18 01:59
Save
Rename
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>FastEarnAds - Professional PTC Demo</title> <script src="https://cdn.tailwindcss.com"></script> <script defer src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script> <style> [x-cloak] { display: none !important; } .card-hover { transition: all 0.3s ease; } .card-hover:hover { transform: translateY(-2px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); } .gradient-primary { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } </style> </head> <body class="bg-gray-50 font-sans antialiased" x-data="appData()" x-init="init()"> <!-- Header --> <header class="sticky top-0 z-40 bg-white/95 backdrop-blur border-b border-gray-200"> <div class="max-w-6xl mx-auto px-4 py-4"> <div class="flex items-center justify-between"> <div class="flex items-center space-x-2"> <div class="w-8 h-8 bg-gradient-to-r from-indigo-600 to-purple-600 rounded-lg flex items-center justify-center"> <svg class="w-5 h-5 text-white" fill="currentColor" viewBox="0 0 20 20"> <path d="M4 4a2 2 0 00-2 2v1h16V6a2 2 0 00-2-2H4z"></path> </svg> </div> <span class="font-bold text-xl text-gray-900">FastEarnAds</span> </div> <div class="flex items-center space-x-3"> <div class="bg-gradient-to-r from-green-500 to-emerald-600 rounded-full px-4 py-2 text-white font-semibold text-sm"> <span x-text="formatCurrency(userData.balance)">$2.45</span> </div> <img class="w-8 h-8 rounded-full" src="https://ui-avatars.com/api/?name=John+Doe&background=6366f1&color=fff" alt="Profile"> </div> </div> </div> </header> <!-- Main Content --> <main class="pb-20 min-h-screen"> <!-- Dashboard --> <section x-show="currentPage === 'dashboard'" class="container mx-auto px-4 py-6 max-w-6xl"> <!-- Hero --> <div class="mb-8"> <div class="gradient-primary rounded-2xl p-6 text-white relative overflow-hidden"> <div class="relative z-10"> <h1 class="text-2xl font-bold mb-2">Welcome back, John!</h1> <p class="text-indigo-100 mb-4">Ready to earn some money today?</p> <div class="grid grid-cols-2 gap-4"> <div class="bg-white bg-opacity-20 rounded-xl p-4"> <div class="text-2xl font-bold" x-text="formatCurrency(userData.balance)">$2.45</div> <div class="text-sm text-indigo-100">Current Balance</div> </div> <div class="bg-white bg-opacity-20 rounded-xl p-4"> <div class="text-2xl font-bold" x-text="formatCurrency(userData.todayEarnings)">$0.35</div> <div class="text-sm text-indigo-100">Today's Earnings</div> </div> </div> </div> </div> </div> <!-- Stats Grid --> <div class="grid grid-cols-2 lg:grid-cols-4 gap-4 mb-8"> <div class="bg-white rounded-xl p-6 shadow-sm border card-hover"> <p class="text-sm font-medium text-gray-600 mb-1">Ads Watched</p> <p class="text-2xl font-bold text-gray-900" x-text="userData.adsWatched">7</p> <p class="text-xs text-gray-500">Today</p> </div> <div class="bg-white rounded-xl p-6 shadow-sm border card-hover"> <p class="text-sm font-medium text-gray-600 mb-1">Referrals</p> <p class="text-2xl font-bold text-gray-900" x-text="userData.totalReferrals">3</p> <p class="text-xs text-gray-500">Friends</p> </div> <div class="bg-white rounded-xl p-6 shadow-sm border card-hover"> <p class="text-sm font-medium text-gray-600 mb-1">Total Earned</p> <p class="text-2xl font-bold text-gray-900" x-text="formatCurrency(userData.totalEarnings)">$15.80</p> <p class="text-xs text-gray-500">All time</p> </div> <div class="bg-white rounded-xl p-6 shadow-sm border card-hover"> <p class="text-sm font-medium text-gray-600 mb-1">Available</p> <p class="text-2xl font-bold text-gray-900" x-text="userData.adsRemaining">3</p> <p class="text-xs text-gray-500">Ads left</p> </div> </div> <!-- Quick Actions --> <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> <div class="bg-white rounded-2xl p-6 shadow-sm border card-hover"> <h3 class="text-lg font-semibold text-gray-900 mb-2">🎬 Watch Ads</h3> <p class="text-gray-600 mb-4">Watch short video ads and earn $0.05 - $0.15 per ad</p> <button @click="navigateTo('ads')" class="w-full bg-gradient-to-r from-blue-600 to-blue-700 text-white rounded-xl py-3 font-medium hover:from-blue-700 hover:to-blue-800 transition-all"> Start Watching </button> </div> <div class="bg-white rounded-2xl p-6 shadow-sm border card-hover"> <h3 class="text-lg font-semibold text-gray-900 mb-2">👥 Invite Friends</h3> <p class="text-gray-600 mb-4">Earn 20% commission on your friends' earnings forever!</p> <button @click="navigateTo('refer')" class="w-full bg-gradient-to-r from-green-600 to-green-700 text-white rounded-xl py-3 font-medium hover:from-green-700 hover:to-green-800 transition-all"> Share Link </button> </div> </div> </section> <!-- Ads Section --> <section x-show="currentPage === 'ads'" class="container mx-auto px-4 py-6 max-w-4xl" style="display: none;"> <div class="mb-6"> <div class="bg-gradient-to-r from-blue-600 to-indigo-800 rounded-2xl p-6 text-white"> <h1 class="text-2xl font-bold mb-2">🎬 Watch Ads & Earn</h1> <p class="text-blue-100 mb-4">Watch short video ads and earn money instantly!</p> <div class="grid grid-cols-2 gap-4"> <div class="bg-white bg-opacity-20 rounded-xl p-4"> <div class="text-lg font-bold" x-text="userData.adsRemaining">3</div> <div class="text-sm text-blue-100">Ads Available</div> </div> <div class="bg-white bg-opacity-20 rounded-xl p-4"> <div class="text-lg font-bold">$0.30</div> <div class="text-sm text-blue-100">Potential Earnings</div> </div> </div> </div> </div> <!-- Available Ads --> <div class="space-y-4"> <template x-for="ad in availableAds" :key="ad.id"> <div class="bg-white rounded-2xl p-6 shadow-sm border card-hover"> <div class="flex items-center justify-between"> <div class="flex items-center space-x-4"> <div class="w-16 h-16 rounded-xl flex items-center justify-center" :class="ad.bgColor"> <span class="text-2xl">🎬</span> </div> <div> <h3 class="font-semibold text-gray-900 mb-1" x-text="ad.title"></h3> <p class="text-sm text-gray-600" x-text="ad.duration + ' seconds • ' + ad.category"></p> </div> </div> <div class="text-right"> <div class="text-2xl font-bold text-green-600 mb-2" x-text="formatCurrency(ad.reward)"></div> <button @click="watchAd(ad)" class="bg-gradient-to-r from-green-600 to-green-700 text-white px-6 py-2 rounded-xl font-medium hover:from-green-700 hover:to-green-800 transition-all"> Watch Now </button> </div> </div> </div> </template> </div> </section> <!-- Referral Section --> <section x-show="currentPage === 'refer'" class="container mx-auto px-4 py-6 max-w-4xl" style="display: none;"> <div class="mb-6"> <div class="bg-gradient-to-r from-green-600 to-teal-700 rounded-2xl p-6 text-white"> <h1 class="text-2xl font-bold mb-2">👥 Invite Friends & Earn</h1> <p class="text-green-100 mb-4">Earn 20% commission on your friends' earnings forever!</p> <div class="grid grid-cols-2 gap-4"> <div class="bg-white bg-opacity-20 rounded-xl p-4"> <div class="text-lg font-bold" x-text="userData.totalReferrals">3</div> <div class="text-sm text-green-100">Friends Referred</div> </div> <div class="bg-white bg-opacity-20 rounded-xl p-4"> <div class="text-lg font-bold" x-text="formatCurrency(userData.referralEarnings)">$0.85</div> <div class="text-sm text-green-100">Commission Earned</div> </div> </div> </div> </div> <!-- Referral Link --> <div class="bg-white rounded-2xl p-6 shadow-sm border mb-6"> <h2 class="text-xl font-semibold text-gray-900 mb-4">Your Referral Link</h2> <div class="bg-gray-50 rounded-xl p-4 mb-4"> <div class="flex"> <input type="text" value="https://fastearnads.com/signup?ref=JOHN123" readonly class="flex-1 bg-white border rounded-l-lg px-4 py-3 text-sm"> <button @click="copyReferralLink()" class="bg-green-600 hover:bg-green-700 text-white px-6 py-3 rounded-r-lg"> 📋 </button> </div> </div> <div class="grid grid-cols-2 gap-4"> <button @click="shareWhatsApp()" class="bg-green-500 hover:bg-green-600 text-white rounded-xl py-3 font-medium transition-all"> WhatsApp </button> <button @click="shareFacebook()" class="bg-blue-600 hover:bg-blue-700 text-white rounded-xl py-3 font-medium transition-all"> Facebook </button> </div> </div> </section> <!-- Wallet Section --> <section x-show="currentPage === 'wallet'" class="container mx-auto px-4 py-6 max-w-4xl" style="display: none;"> <div class="mb-6"> <div class="bg-gradient-to-r from-purple-600 to-indigo-700 rounded-2xl p-6 text-white"> <h1 class="text-2xl font-bold mb-2">💳 My Wallet</h1> <p class="text-purple-100 mb-4">Manage your earnings and withdrawals</p> <div class="grid grid-cols-2 gap-4"> <div class="bg-white bg-opacity-20 rounded-xl p-4"> <div class="text-2xl font-bold" x-text="formatCurrency(userData.balance)">$2.45</div> <div class="text-sm text-purple-100">Available Balance</div> </div> <div class="bg-white bg-opacity-20 rounded-xl p-4"> <div class="text-2xl font-bold" x-text="formatCurrency(userData.totalEarnings)">$15.80</div> <div class="text-sm text-purple-100">Total Earned</div> </div> </div> </div> </div> <!-- Quick Actions --> <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6"> <div class="bg-white rounded-2xl p-6 shadow-sm border card-hover"> <div class="flex items-center space-x-4 mb-4"> <div class="w-12 h-12 bg-gradient-to-r from-green-500 to-green-600 rounded-xl flex items-center justify-center"> <span class="text-2xl">💸</span> </div> <div> <h3 class="text-lg font-semibold text-gray-900">Withdraw</h3> <p class="text-sm text-gray-600">Cash out your earnings</p> </div> </div> <p class="text-gray-600 mb-4">Minimum withdrawal: $2.30 (650 PKR)</p> <button @click="showWithdrawModal = true" :disabled="userData.balance < 2.30" :class="userData.balance < 2.30 ? 'bg-gray-300 cursor-not-allowed' : 'bg-gradient-to-r from-green-600 to-green-700 hover:from-green-700 hover:to-green-800'" class="w-full text-white rounded-xl py-3 font-medium transition-all"> <span x-show="userData.balance >= 2.30">Withdraw Now</span> <span x-show="userData.balance < 2.30">Need $<span x-text="(2.30 - userData.balance).toFixed(2)"></span> more</span> </button> </div> <div class="bg-white rounded-2xl p-6 shadow-sm border card-hover"> <div class="flex items-center space-x-4 mb-4"> <div class="w-12 h-12 bg-gradient-to-r from-blue-500 to-blue-600 rounded-xl flex items-center justify-center"> <span class="text-2xl">📈</span> </div> <div> <h3 class="text-lg font-semibold text-gray-900">Purchase Plan</h3> <p class="text-sm text-gray-600">Boost your earnings</p> </div> </div> <p class="text-gray-600 mb-4">Premium Plan: $2.30 (650 PKR)<br><span class="text-sm text-green-600">+50% earnings bonus!</span></p> <button @click="showPlanModal = true" class="w-full bg-gradient-to-r from-blue-600 to-blue-700 text-white rounded-xl py-3 font-medium hover:from-blue-700 hover:to-blue-800 transition-all"> Purchase Plan </button> </div> </div> <!-- Transaction History --> <div class="bg-white rounded-2xl p-6 shadow-sm border"> <h2 class="text-xl font-semibold text-gray-900 mb-4">Recent Transactions</h2> <div class="space-y-4" x-data="{ transactions: [] }" x-init="transactions = [ { type: 'credit', amount: 0.05, description: 'Ad Watch Reward', time: '2 minutes ago', icon: '🎬' }, { type: 'credit', amount: 0.02, description: 'Referral Commission', time: '1 hour ago', icon: '👥' }, { type: 'debit', amount: 5.00, description: 'Withdrawal to JazzCash', time: 'Yesterday', icon: '💳' }, { type: 'credit', amount: 2.30, description: 'Premium Plan Purchase', time: '2 days ago', icon: '📈' } ]"> <template x-for="transaction in transactions" :key="transaction.time"> <div class="flex items-center justify-between p-4 bg-gray-50 rounded-xl hover:bg-gray-100 transition-colors"> <div class="flex items-center space-x-3"> <div class="w-10 h-10 bg-white rounded-full flex items-center justify-center shadow-sm" x-text="transaction.icon"></div> <div> <p class="font-medium text-gray-900" x-text="transaction.description"></p> <p class="text-sm text-gray-500" x-text="transaction.time"></p> </div> </div> <div class="text-right"> <p class="font-semibold" :class="transaction.type === 'credit' ? 'text-green-600' : 'text-red-600'" x-text="(transaction.type === 'credit' ? '+' : '-') + formatCurrency(transaction.amount)"></p> </div> </div> </template> </div> </div> </section> <!-- Profile Section --> <section x-show="currentPage === 'profile'" class="container mx-auto px-4 py-6 max-w-4xl" style="display: none;"> <div class="mb-6"> <div class="bg-gradient-to-r from-indigo-600 to-purple-700 rounded-2xl p-6 text-white"> <div class="flex items-center space-x-4"> <img class="w-16 h-16 rounded-full border-4 border-white" src="https://ui-avatars.com/api/?name=John+Doe&background=fff&color=6366f1&size=128" alt="Profile"> <div> <h1 class="text-2xl font-bold mb-1">John Doe</h1> <p class="text-indigo-100">Member since March 2024</p> <div class="flex items-center mt-2"> <span class="bg-green-500 text-white text-xs px-2 py-1 rounded-full">✓ Verified</span> </div> </div> </div> </div> </div> <!-- Account Details --> <div class="bg-white rounded-2xl p-6 shadow-sm border mb-6"> <h2 class="text-xl font-semibold text-gray-900 mb-4 flex items-center"> <svg class="w-6 h-6 mr-2 text-indigo-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"></path> </svg> Account Details </h2> <div class="space-y-4"> <div class="grid grid-cols-1 md:grid-cols-2 gap-4"> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Full Name</label> <input type="text" value="John Doe" class="w-full bg-gray-50 border border-gray-300 rounded-lg px-4 py-3 text-sm" readonly> </div> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Username</label> <input type="text" value="john_doe123" class="w-full bg-gray-50 border border-gray-300 rounded-lg px-4 py-3 text-sm" readonly> </div> </div> <div class="grid grid-cols-1 md:grid-cols-2 gap-4"> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Email Address</label> <input type="email" value="john.doe@example.com" class="w-full bg-gray-50 border border-gray-300 rounded-lg px-4 py-3 text-sm" readonly> </div> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Phone Number</label> <input type="tel" value="+92 300 1234567" class="w-full bg-gray-50 border border-gray-300 rounded-lg px-4 py-3 text-sm" readonly> </div> </div> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Referral Code</label> <div class="flex"> <input type="text" value="JOHN123" class="flex-1 bg-gray-50 border border-gray-300 rounded-l-lg px-4 py-3 text-sm" readonly> <button @click="copyReferralCode()" class="bg-indigo-600 hover:bg-indigo-700 text-white px-4 py-3 rounded-r-lg transition-colors"> 📋 </button> </div> </div> </div> </div> <!-- Payment Details --> <div class="bg-white rounded-2xl p-6 shadow-sm border mb-6"> <h2 class="text-xl font-semibold text-gray-900 mb-4 flex items-center"> <svg class="w-6 h-6 mr-2 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"></path> </svg> Payment Methods </h2> <div class="space-y-4"> <div class="p-4 border border-gray-200 rounded-lg"> <div class="flex items-center justify-between"> <div class="flex items-center space-x-3"> <div class="w-10 h-10 bg-orange-100 rounded-full flex items-center justify-center"> <span class="text-orange-600 font-bold">J</span> </div> <div> <p class="font-medium text-gray-900">JazzCash</p> <p class="text-sm text-gray-500">03XX-XXXXXXX</p> </div> </div> <span class="bg-green-100 text-green-800 text-xs px-2 py-1 rounded-full">Primary</span> </div> </div> <div class="p-4 border border-gray-200 rounded-lg"> <div class="flex items-center justify-between"> <div class="flex items-center space-x-3"> <div class="w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center"> <span class="text-blue-600 font-bold">E</span> </div> <div> <p class="font-medium text-gray-900">EasyPaisa</p> <p class="text-sm text-gray-500">03XX-XXXXXXX</p> </div> </div> <button class="text-indigo-600 hover:text-indigo-700 text-sm font-medium">Edit</button> </div> </div> </div> <button class="w-full mt-4 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-lg py-3 font-medium transition-colors"> + Add Payment Method </button> </div> <!-- Account Stats --> <div class="bg-white rounded-2xl p-6 shadow-sm border"> <h2 class="text-xl font-semibold text-gray-900 mb-4">Account Statistics</h2> <div class="grid grid-cols-2 md:grid-cols-4 gap-4"> <div class="text-center p-4 bg-blue-50 rounded-lg"> <div class="text-2xl font-bold text-blue-600" x-text="userData.adsWatched + 145">152</div> <div class="text-sm text-gray-600">Total Ads Watched</div> </div> <div class="text-center p-4 bg-green-50 rounded-lg"> <div class="text-2xl font-bold text-green-600">23</div> <div class="text-sm text-gray-600">Days Active</div> </div> <div class="text-center p-4 bg-purple-50 rounded-lg"> <div class="text-2xl font-bold text-purple-600" x-text="userData.totalReferrals">3</div> <div class="text-sm text-gray-600">Referrals</div> </div> <div class="text-center p-4 bg-yellow-50 rounded-lg"> <div class="text-2xl font-bold text-yellow-600">2</div> <div class="text-sm text-gray-600">Withdrawals</div> </div> </div> </div> </section> </main> <!-- Bottom Navigation --> <nav class="fixed bottom-0 left-0 right-0 bg-white border-t border-gray-200 z-40"> <div class="flex justify-around items-center py-2 max-w-md mx-auto"> <button @click="navigateTo('dashboard')" class="flex flex-col items-center p-2 min-w-0 flex-1" :class="currentPage === 'dashboard' ? 'text-indigo-600' : 'text-gray-600'"> <svg class="w-6 h-6 mb-1" fill="currentColor" viewBox="0 0 20 20"> <path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"></path> </svg> <span class="text-xs font-medium">Home</span> </button> <button @click="navigateTo('ads')" class="flex flex-col items-center p-2 min-w-0 flex-1" :class="currentPage === 'ads' ? 'text-indigo-600' : 'text-gray-600'"> <svg class="w-6 h-6 mb-1" fill="currentColor" viewBox="0 0 20 20"> <path d="M2 6a2 2 0 012-2h6a2 2 0 012 2v8a2 2 0 01-2 2H4a2 2 0 01-2-2V6zM14.553 7.106A1 1 0 0014 8v4a1 1 0 00.553.894l2 1A1 1 0 0018 13V7a1 1 0 00-1.447-.894l-2 1z"></path> </svg> <span class="text-xs font-medium">Watch</span> </button> <button @click="navigateTo('refer')" class="flex flex-col items-center p-2 min-w-0 flex-1" :class="currentPage === 'refer' ? 'text-indigo-600' : 'text-gray-600'"> <svg class="w-6 h-6 mb-1" fill="currentColor" viewBox="0 0 20 20"> <path d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3z"></path> </svg> <span class="text-xs font-medium">Refer</span> </button> <button @click="navigateTo('wallet')" class="flex flex-col items-center p-2 min-w-0 flex-1" :class="currentPage === 'wallet' ? 'text-indigo-600' : 'text-gray-600'"> <svg class="w-6 h-6 mb-1" fill="currentColor" viewBox="0 0 20 20"> <path d="M4 4a2 2 0 00-2 2v1h16V6a2 2 0 00-2-2H4zM18 9H2v5a2 2 0 002 2h12a2 2 0 002-2V9z"></path> </svg> <span class="text-xs font-medium">Wallet</span> </button> <button @click="navigateTo('profile')" class="flex flex-col items-center p-2 min-w-0 flex-1" :class="currentPage === 'profile' ? 'text-indigo-600' : 'text-gray-600'"> <svg class="w-6 h-6 mb-1" fill="currentColor" viewBox="0 0 20 20"> <path d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z"></path> </svg> <span class="text-xs font-medium">Profile</span> </button> </div> </nav> <!-- Ad Player Modal --> <div x-show="showAdModal" x-transition class="fixed inset-0 bg-black bg-opacity-75 z-50 flex items-center justify-center p-4" style="display: none;"> <div class="bg-white rounded-2xl max-w-md w-full overflow-hidden"> <div class="p-6 border-b"> <h3 class="text-xl font-semibold" x-text="currentAd.title">Watching Ad...</h3> <p class="text-sm text-gray-600">Please watch the complete ad to earn your reward</p> </div> <div class="relative"> <div class="aspect-video bg-black flex items-center justify-center text-white"> <div class="text-center"> <div class="text-6xl mb-4">🎬</div> <p class="text-lg font-medium">Ad Playing...</p> </div> </div> <div class="absolute top-4 right-4 bg-black bg-opacity-75 text-white px-3 py-1 rounded-full text-sm font-medium"> <span x-text="formatTime(timeLeft)">00:30</span> </div> </div> <div class="p-6"> <div class="text-center mb-4"> <div class="text-3xl font-bold text-green-600 mb-2" x-text="formatCurrency(currentAd.reward)">$0.05</div> <p class="text-sm text-gray-600" x-text="adMessage">Please wait for the ad to complete...</p> </div> <button @click="closeAd()" :disabled="timeLeft > 0" :class="timeLeft > 0 ? 'bg-gray-300 cursor-not-allowed' : 'bg-gradient-to-r from-green-600 to-green-700 hover:from-green-700 hover:to-green-800'" class="w-full text-white rounded-xl py-3 font-medium transition-all"> <span x-show="timeLeft > 0">Wait <span x-text="timeLeft"></span>s...</span> <span x-show="timeLeft <= 0">Collect Reward! 🎉</span> </button> </div> </div> </div> <!-- Withdraw Modal --> <div x-show="showWithdrawModal" x-transition class="fixed inset-0 bg-black bg-opacity-75 z-50 flex items-center justify-center p-4" style="display: none;"> <div class="bg-white rounded-2xl max-w-md w-full overflow-hidden"> <div class="p-6 border-b"> <div class="flex items-center justify-between"> <h3 class="text-xl font-semibold">Withdraw Funds</h3> <button @click="showWithdrawModal = false" class="text-gray-400 hover:text-gray-600"> <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> </div> <div class="p-6"> <div class="mb-4"> <label class="block text-sm font-medium text-gray-700 mb-2">Withdrawal Amount</label> <div class="relative"> <span class="absolute left-3 top-3 text-gray-500">$</span> <input type="number" x-model="withdrawAmount" min="2.30" :max="userData.balance" step="0.01" class="w-full pl-8 pr-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-green-500 focus:border-transparent"> </div> <p class="text-xs text-gray-500 mt-1">Minimum: $2.30 (650 PKR) | Available: <span x-text="formatCurrency(userData.balance)"></span></p> </div> <div class="mb-4"> <label class="block text-sm font-medium text-gray-700 mb-2">Payment Method</label> <div class="space-y-2"> <label class="flex items-center p-3 border rounded-lg cursor-pointer hover:bg-gray-50"> <input type="radio" name="payment_method" value="jazzcash" class="mr-3" checked> <div class="flex items-center space-x-3"> <div class="w-8 h-8 bg-orange-100 rounded-full flex items-center justify-center"> <span class="text-orange-600 font-bold text-sm">J</span> </div> <div> <p class="font-medium">JazzCash</p> <p class="text-sm text-gray-500">03XX-XXXXXXX</p> </div> </div> </label> <label class="flex items-center p-3 border rounded-lg cursor-pointer hover:bg-gray-50"> <input type="radio" name="payment_method" value="easypaisa" class="mr-3"> <div class="flex items-center space-x-3"> <div class="w-8 h-8 bg-blue-100 rounded-full flex items-center justify-center"> <span class="text-blue-600 font-bold text-sm">E</span> </div> <div> <p class="font-medium">EasyPaisa</p> <p class="text-sm text-gray-500">03XX-XXXXXXX</p> </div> </div> </label> </div> </div> <div class="bg-yellow-50 border border-yellow-200 rounded-lg p-3 mb-4"> <p class="text-sm text-yellow-800"> <strong>Note:</strong> Withdrawals are processed manually within 24 hours. Processing fee: $0.10 </p> </div> <div class="flex space-x-3"> <button @click="showWithdrawModal = false" class="flex-1 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-xl py-3 font-medium transition-all"> Cancel </button> <button @click="processWithdraw()" class="flex-1 bg-gradient-to-r from-green-600 to-green-700 text-white rounded-xl py-3 font-medium hover:from-green-700 hover:to-green-800 transition-all"> Request Withdrawal </button> </div> </div> </div> </div> <!-- Plan Purchase Modal --> <div x-show="showPlanModal" x-transition class="fixed inset-0 bg-black bg-opacity-75 z-50 flex items-center justify-center p-4" style="display: none;"> <div class="bg-white rounded-2xl max-w-md w-full overflow-hidden"> <div class="p-6 border-b"> <div class="flex items-center justify-between"> <h3 class="text-xl font-semibold">Premium Plan</h3> <button @click="showPlanModal = false" class="text-gray-400 hover:text-gray-600"> <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> </div> <div class="p-6"> <div class="text-center mb-6"> <div class="w-16 h-16 bg-gradient-to-r from-blue-500 to-purple-600 rounded-full flex items-center justify-center mx-auto mb-4"> <span class="text-2xl">📈</span> </div> <h4 class="text-2xl font-bold text-gray-900 mb-2">$2.30</h4> <p class="text-gray-600">650 PKR - One time payment</p> </div> <div class="space-y-3 mb-6"> <div class="flex items-center"> <svg class="w-5 h-5 text-green-500 mr-3" fill="currentColor" viewBox="0 0 20 20"> <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path> </svg> <span class="text-gray-700">+50% earnings bonus on all ads</span> </div> <div class="flex items-center"> <svg class="w-5 h-5 text-green-500 mr-3" fill="currentColor" viewBox="0 0 20 20"> <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path> </svg> <span class="text-gray-700">Access to premium ads (higher rewards)</span> </div> <div class="flex items-center"> <svg class="w-5 h-5 text-green-500 mr-3" fill="currentColor" viewBox="0 0 20 20"> <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path> </svg> <span class="text-gray-700">Priority customer support</span> </div> <div class="flex items-center"> <svg class="w-5 h-5 text-green-500 mr-3" fill="currentColor" viewBox="0 0 20 20"> <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path> </svg> <span class="text-gray-700">30 days validity</span> </div> </div> <div class="bg-blue-50 border border-blue-200 rounded-lg p-3 mb-4"> <p class="text-sm text-blue-800"> <strong>Special Offer:</strong> First 100 users get lifetime plan for $2.30! </p> </div> <div class="flex space-x-3"> <button @click="showPlanModal = false" class="flex-1 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-xl py-3 font-medium transition-all"> Maybe Later </button> <button @click="purchasePlan()" class="flex-1 bg-gradient-to-r from-blue-600 to-blue-700 text-white rounded-xl py-3 font-medium hover:from-blue-700 hover:to-blue-800 transition-all"> Purchase Now </button> </div> </div> </div> </div> <!-- Notifications --> <div id="notifications" class="fixed top-4 right-4 z-50 space-y-2"></div> <script> function appData() { return { currentPage: 'dashboard', showAdModal: false, showWithdrawModal: false, showPlanModal: false, currentAd: {}, timeLeft: 0, adMessage: 'Please wait for the ad to complete...', timer: null, userData: { balance: 2.45, todayEarnings: 0.35, totalEarnings: 15.80, adsWatched: 7, adsRemaining: 3, totalReferrals: 3, referralEarnings: 0.85 }, withdrawAmount: 2.30, availableAds: [ { id: 1, title: 'Product Demo Video', duration: 30, reward: 0.05, category: 'Technology', bgColor: 'bg-gradient-to-br from-blue-500 to-blue-600' }, { id: 2, title: 'Fashion Brand Commercial', duration: 45, reward: 0.08, category: 'Fashion', bgColor: 'bg-gradient-to-br from-purple-500 to-purple-600' }, { id: 3, title: 'Gaming App Trailer', duration: 60, reward: 0.12, category: 'Gaming', bgColor: 'bg-gradient-to-br from-red-500 to-red-600' } ], init() { // Initialize app }, navigateTo(page) { this.currentPage = page; }, watchAd(ad) { this.currentAd = ad; this.timeLeft = ad.duration; this.showAdModal = true; this.adMessage = 'Please wait for the ad to complete...'; this.timer = setInterval(() => { this.timeLeft--; if (this.timeLeft <= 0) { this.completeAd(); } }, 1000); }, completeAd() { clearInterval(this.timer); this.adMessage = 'Congratulations! Reward earned successfully! 🎉'; this.userData.balance += this.currentAd.reward; this.userData.todayEarnings += this.currentAd.reward; this.userData.adsWatched++; this.userData.adsRemaining--; this.showNotification(`🎉 Earned ${this.formatCurrency(this.currentAd.reward)}!`); }, closeAd() { if (this.timeLeft <= 0) { this.showAdModal = false; clearInterval(this.timer); } }, copyReferralLink() { const link = 'https://fastearnads.com/signup?ref=JOHN123'; navigator.clipboard.writeText(link).then(() => { this.showNotification('📋 Referral link copied!'); }); }, shareWhatsApp() { const text = '🎉 Join FastEarnAds and start earning money by watching ads!'; window.open(`https://wa.me/?text=${encodeURIComponent(text)}`); }, shareFacebook() { window.open('https://www.facebook.com/sharer/sharer.php?u=https://fastearnads.com'); }, copyReferralCode() { const code = 'JOHN123'; navigator.clipboard.writeText(code).then(() => { this.showNotification('📋 Referral code copied!'); }); }, processWithdraw() { if (this.withdrawAmount >= 2.30 && this.withdrawAmount <= this.userData.balance) { this.showWithdrawModal = false; this.showNotification('💸 Withdrawal request submitted! Processing within 24 hours.'); // In real app, this would make an API call } else { this.showNotification('Invalid withdrawal amount!', 'error'); } }, purchasePlan() { this.showPlanModal = false; this.showNotification('🎉 Premium plan activated! Enjoy 50% bonus earnings!'); // In real app, this would integrate with payment gateway }, formatCurrency(amount) { return new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 2 }).format(amount); }, formatTime(seconds) { const mins = Math.floor(seconds / 60); const secs = seconds % 60; return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`; }, showNotification(message, type = 'success') { const notification = document.createElement('div'); const bgColor = type === 'success' ? 'bg-green-50 text-green-800 border-green-200' : 'bg-red-50 text-red-800 border-red-200'; notification.className = `${bgColor} border p-4 rounded-lg shadow-lg transform translate-x-full transition-transform duration-300`; notification.innerHTML = `<div class="flex items-center"><div class="flex-1">${message}</div></div>`; document.getElementById('notifications').appendChild(notification); setTimeout(() => notification.classList.remove('translate-x-full'), 100); setTimeout(() => { notification.classList.add('translate-x-full'); setTimeout(() => notification.remove(), 300); }, 3000); } } } </script> </body> </html>