// Unique Device Id
function getDeviceId() {
let id = localStorage.getItem('deviceId');
if (!id) {
id = "dev-" + Math.random().toString(36).substr(2, 9);
localStorage.setItem('deviceId', id);
}
return id;
}
// Random referral code
function generateReferralCode() {
return Math.random().toString(36).substr(2, 6).toUpperCase();
}
let currentUser = {};
const profileNameDisplay = document.getElementById("profileName");
const profilePic = document.getElementById("profilePic");
function loadUserState() {
const allUsersData = JSON.parse(localStorage.getItem('galaxyEarnAllUsers')) || {};
const deviceId = getDeviceId();
// default user
currentUser = allUsersData[deviceId] || {
name: "Guest User",
telegramId: null,
photoUrl: "https://via.placeholder.com/100",
points: 0,
adsWatchedToday: 0,
totalAdsWatchedLifetime: 0,
lastAdWatchDate: null,
claimedBonuses: [],
referralCode: generateReferralCode(),
referredBy: null,
referredUsers: []
};
// যদি Telegram WebApp থেকে ডেটা আসে
if (window.Telegram && Telegram.WebApp && Telegram.WebApp.initDataUnsafe.user) {
const tgUser = Telegram.WebApp.initDataUnsafe.user;
// LocalStorage এ যদি একই TelegramId থাকে তাহলে সেটাই ইউজ করবো
const existingUser = Object.values(allUsersData).find(
user => user.telegramId === tgUser.id
);
if (existingUser) {
currentUser = existingUser;
} else {
currentUser = {
name: tgUser.username
? "@" + tgUser.username
: (tgUser.first_name + (tgUser.last_name ? " " + tgUser.last_name : "")),
telegramId: tgUser.id,
photoUrl: tgUser.photo_url || currentUser.photoUrl,
points: 0,
adsWatchedToday: 0,
totalAdsWatchedLifetime: 0,
lastAdWatchDate: null,
claimedBonuses: [],
referralCode: generateReferralCode(),
referredBy: null,
referredUsers: []
};
allUsersData[deviceId] = currentUser;
localStorage.setItem('galaxyEarnAllUsers', JSON.stringify(allUsersData));
}
}
// UI update
profileNameDisplay.innerHTML = `
${currentUser.name}
`;
profilePic.src = currentUser.photoUrl;
}
// Example Button Actions
document.getElementById("claimBtn").addEventListener("click", () => {
alert("🎁 Claim Ad Clicked!");
});
document.getElementById("tapBtn").addEventListener("click", () => {
alert("👆 TAP Clicked!");
});
document.getElementById("watchBtn").addEventListener("click", () => {
alert("▶ Watch Short Video Clicked!");
});
// Initialize
loadUserState();