...Site Nav Components Here
// Simplified Member Navigation - Place at END of Footer Code Injection
(function() {
'use strict';
// Wait for everything to load
function initMemberNav() {
console.log('🚀 Initializing member navigation...');
// Step 1: Hide "Join The Community" immediately
hideJoinCommunity();
// Step 2: Detect membership and add items
detectMembershipAndApply();
}
function hideJoinCommunity() {
const joinItems = document.querySelectorAll('.header-nav-folder-item-content, .header-menu-nav-item-content');
let hiddenCount = 0;
joinItems.forEach(item => {
if (item.textContent.trim() === 'Join The Community') {
const parent = item.closest('.header-nav-folder-item, .header-menu-nav-item');
if (parent) {
parent.style.display = 'none';
hiddenCount++;
}
}
});
console.log(`✅ Hidden ${hiddenCount} "Join The Community" items`);
}
function detectMembershipAndApply() {
// Check if logged in
const authElement = document.querySelector('.auth');
const isLoggedIn = authElement && authElement.textContent.includes('Account');
if (!isLoggedIn) {
console.log('👤 Not logged in - visitor status');
return;
}
console.log('✅ User is logged in, testing membership level...');
// Test for free membership (simpler approach)
fetch('/free-home', { method: 'HEAD', credentials: 'same-origin' })
.then(response => {
if (response.status === 200 && !response.url.includes('/account/login')) {
console.log('🆓 Free member detected');
addMemberItems('free');
} else {
console.log('👤 Visitor status (no free access)');
}
})
.catch(() => {
console.log('❌ Membership test failed');
});
}
function addMemberItems(membershipLevel) {
const itemsToAdd = {
free: {
members: [
{ text: "Member's Directory", url: "/members-directory" },
{ text: "Upgrade To Premium", url: "/membership" }
]
},
premium: {
members: [
{ text: "Premium Directory", url: "/premium-directory" },
{ text: "Buy Me A Coffee", url: "/membership" }
]
}
};
const config = itemsToAdd[membershipLevel];
if (!config) return;
// Add to desktop members folder
const membersFolder = document.getElementById('members');
if (membersFolder && config.members) {
config.members.forEach(item => {
// Check if item already exists
const existing = Array.from(membersFolder.querySelectorAll('.header-nav-folder-item-content'))
.find(el => el.textContent.trim() === item.text);
if (!existing) {
const navItem = document.createElement('div');
navItem.className = 'header-nav-folder-item member-added-item';
navItem.innerHTML = `
`;
membersFolder.insertBefore(navItem, membersFolder.firstChild);
console.log(`✅ Added desktop item: ${item.text}`);
}
});
}
// Add to mobile members folder
const mobileMembersFolder = document.querySelector('.header-menu-nav-folder[data-folder="/members"] .header-menu-nav-folder-content');
if (mobileMembersFolder && config.members) {
config.members.forEach(item => {
// Check if item already exists
const existing = Array.from(mobileMembersFolder.querySelectorAll('.header-menu-nav-item-content'))
.find(el => el.textContent.trim() === item.text);
if (!existing) {
const mobileItem = document.createElement('div');
mobileItem.className = 'container header-menu-nav-item member-added-mobile-item';
mobileItem.innerHTML = `
`;
// Insert after back button if it exists
const backButton = mobileMembersFolder.querySelector('.header-menu-controls');
if (backButton && backButton.nextElementSibling) {
mobileMembersFolder.insertBefore(mobileItem, backButton.nextElementSibling);
} else {
mobileMembersFolder.appendChild(mobileItem);
}
console.log(`✅ Added mobile item: ${item.text}`);
}
});
}
document.body.classList.add(`${membershipLevel}-member`);
console.log(`🎯 ${membershipLevel} navigation applied successfully`);
}
// Clean up function for testing
window.resetMemberNav = function() {
// Remove added items
document.querySelectorAll('.member-added-item, .member-added-mobile-item').forEach(item => item.remove());
// Restore hidden items
document.querySelectorAll('.header-nav-folder-item, .header-menu-nav-item').forEach(item => {
if (item.style.display === 'none') {
const text = item.querySelector('.header-nav-folder-item-content, .header-menu-nav-item-content');
if (text && text.textContent.trim() === 'Join The Community') {
item.style.display = '';
}
}
});
// Remove member classes
document.body.classList.remove('free-member', 'premium-member');
console.log('🔄 Member navigation reset');
};
// Initialize when everything is loaded
if (document.readyState === 'complete') {
// Small delay to ensure all other scripts have finished
setTimeout(initMemberNav, 1000);
} else {
window.addEventListener('load', function() {
setTimeout(initMemberNav, 1000);
});
}
})();