Forex Pro Master Liquidity Concept

MASTER LIQUIDITY CONCEPT

WITH REVERSAL KING

Login to Continue

Enter your mobile number

+91
#forex-pro-course { width:100%; margin:0; padding:0; background:#050505; color:#fff; font-family:Arial,Helvetica,sans-serif; } .fp-hero { width:100%; margin:0; padding:0; line-height:0; } .fp-hero img { width:100%; height:auto; display:block; } .fp-course { background:#050505; text-align:center; padding:35px 20px 55px; } .fp-course h1 { margin:0 0 12px; color:#fff; font-size:42px; line-height:1.1; font-weight:900; } .fp-course h2 { margin:0 0 30px; color:#00d85a; font-size:28px; line-height:1.2; font-weight:900; } .fp-buy, .fp-action { border:0; cursor:pointer; font-weight:900; color:#000; background:#00d85a; border-radius:8px; transition:.2s; } .fp-buy { padding:17px 60px; font-size:22px; box-shadow:0 0 25px rgba(0,216,90,.35); } .fp-buy:hover, .fp-action:hover { background:#39ff7a; transform:translateY(-2px); } .fp-overlay { display:none; position:fixed; z-index:999999; inset:0; background:rgba(0,0,0,.88); align-items:center; justify-content:center; padding:20px; box-sizing:border-box; } .fp-modal { position:relative; width:100%; max-width:420px; box-sizing:border-box; padding:35px 30px; border:1px solid #00d85a; border-radius:16px; background:#0b0b0b; text-align:center; box-shadow:0 0 50px rgba(0,216,90,.20); } .fp-close { position:absolute; right:15px; top:10px; border:0; background:none; color:#888; font-size:30px; cursor:pointer; } .fp-logo { color:#fff; font-size:30px; font-weight:900; margin-bottom:15px; } .fp-logo span { color:#00d85a; } .fp-modal h2 { margin:0 0 8px; color:#fff; font-size:25px; } .fp-subtitle, .fp-sent { color:#999; margin:0 0 22px; } .fp-phone { display:flex; align-items:center; background:#050505; border:1px solid #333; border-radius:8px; overflow:hidden; margin-bottom:15px; } .fp-phone span { padding-left:15px; color:#00d85a; font-weight:bold; } .fp-phone input { flex:1; min-width:0; padding:16px 12px; border:0; outline:0; background:transparent; color:#fff; font-size:16px; } .fp-action { width:100%; padding:16px; font-size:17px; } .fp-otp { width:100%; box-sizing:border-box; padding:16px; margin-bottom:15px; border:1px solid #333; border-radius:8px; outline:0; background:#050505; color:#fff; text-align:center; font-size:22px; letter-spacing:7px; } .fp-resend { margin-top:15px; border:0; background:none; color:#00d85a; cursor:pointer; font-size:14px; } #fp-message { min-height:22px; margin-top:15px; font-size:14px; color:#00d85a; } @media(max-width:600px) { .fp-course { padding:28px 15px 45px; } .fp-course h1 { font-size:30px; } .fp-course h2 { font-size:21px; } .fp-buy { width:100%; max-width:320px; } .fp-modal { padding:30px 20px; } } const ForexPro = { /* * IMPORTANT: * Ye endpoints WordPress backend mein banenge. */ API: “/wp-json/forex-pro/v1”, COURSE_URL: “https://forex-pro.in/?page_id=14”, openBuy: function() { /* * Agar user pehle successfully login kar chuka hai, * OTP dobara nahi maangega. */ if (localStorage.getItem(“forex_pro_logged_in”) === “yes”) { window.location.href = this.COURSE_URL; return; } document.getElementById(“fp-login”).style.display = “flex”; }, closeLogin: function() { document.getElementById(“fp-login”).style.display = “none”; }, message: function(text, error) { const box = document.getElementById(“fp-message”); box.innerText = text; box.style.color = error ? “#ff4545” : “#00d85a”; }, sendOTP: async function() { const phone = document.getElementById(“fp-phone”).value.trim(); if (!/^[0-9]{10}$/.test(phone)) { this.message(“Please enter a valid 10 digit mobile number.”, true); return; } this.message(“Sending OTP…”); try { const response = await fetch(this.API + “/send-otp”, { method:”POST”, headers:{ “Content-Type”:”application/json” }, body:JSON.stringify({ phone:phone }) }); const data = await response.json(); if (!response.ok || !data.success) { throw new Error(data.message || “Unable to send OTP.”); } document.getElementById(“fp-phone-step”).style.display = “none”; document.getElementById(“fp-otp-step”).style.display = “block”; document.getElementById(“fp-number”).innerText = “+91 ” + phone; this.message(“OTP sent successfully.”); } catch(error) { this.message(error.message, true); } }, verifyOTP: async function() { const phone = document.getElementById(“fp-phone”).value.trim(); const otp = document.getElementById(“fp-otp”).value.trim(); if (!/^[0-9]{6}$/.test(otp)) { this.message(“Please enter the 6 digit OTP.”, true); return; } this.message(“Verifying OTP…”); try { const response = await fetch(this.API + “/verify-otp”, { method:”POST”, headers:{ “Content-Type”:”application/json” }, body:JSON.stringify({ phone:phone, otp:otp }) }); const data = await response.json(); if (!response.ok || !data.success) { throw new Error(data.message || “Invalid OTP.”); } /* * ONLY successful server verification * ke baad login remember hoga. */ localStorage.setItem( “forex_pro_logged_in”, “yes” ); this.message(“Login successful. Opening course…”); setTimeout(() => { window.location.href = this.COURSE_URL; },800); } catch(error) { this.message(error.message, true); } } };
Forex Pro * { box-sizing: border-box; margin: 0; padding: 0; font-family: Arial, sans-serif; } body { min-height: 100vh; background: #0b1220; color: #fff; display: flex; justify-content: center; align-items: center; padding: 20px; } .container { width: 100%; max-width: 430px; background: #111a2e; border: 1px solid #263451; border-radius: 18px; padding: 30px; box-shadow: 0 20px 50px rgba(0,0,0,.35); } .logo { text-align: center; margin-bottom: 25px; } .logo h1 { font-size: 30px; color: #3b82f6; } .course { text-align: center; margin-bottom: 25px; } .course h2 { font-size: 21px; line-height: 1.4; margin-bottom: 10px; } .course p { color: #9ca3af; font-size: 14px; line-height: 1.6; } input { width: 100%; padding: 14px; margin-top: 12px; border-radius: 10px; border: 1px solid #34425f; background: #0b1220; color: white; font-size: 16px; outline: none; } input:focus { border-color: #3b82f6; } button { width: 100%; padding: 14px; margin-top: 14px; border: none; border-radius: 10px; background: #2563eb; color: white; font-size: 16px; font-weight: bold; cursor: pointer; } button:hover { background: #1d4ed8; } button:disabled { opacity: .6; cursor: not-allowed; } .payment-btn { background: #16a34a; } .payment-btn:hover { background: #15803d; } .logout-btn { background: #374151; } .logout-btn:hover { background: #4b5563; } #otpSection, #loggedInSection { display: none; } #recaptcha-container { margin-top: 15px; display: flex; justify-content: center; } .message { margin-top: 15px; text-align: center; font-size: 14px; color: #9ca3af; line-height: 1.5; } .success { color: #22c55e; } .error { color: #ef4444; } .user-number { text-align: center; color: #22c55e; margin-top: 10px; } .divider { height: 1px; background: #263451; margin: 25px 0; } .notice { margin-top: 20px; padding: 12px; border-radius: 10px; background: #0b1220; border: 1px solid #263451; color: #9ca3af; font-size: 12px; line-height: 1.6; text-align: center; } .support { margin-top: 18px; text-align: center; color: #9ca3af; font-size: 13px; line-height: 1.7; } .support a { color: #60a5fa; text-decoration: none; } .hidden { display: none !important; }

Master Liquidity Concept with Reversal King

Login with your mobile number to continue to course purchase.

Login successful
Educational purpose only.
This course does not provide financial or investment advice.
Trading involves risk. Please make your own decisions.

No Refund Policy: Course purchase once completed is non-refundable.
import { initializeApp } from “https://www.gstatic.com/firebasejs/12.7.1/firebase-app.js”; import { getAuth, RecaptchaVerifier, signInWithPhoneNumber, onAuthStateChanged, signOut } from “https://www.gstatic.com/firebasejs/12.7.1/firebase-auth.js”; // ===================================== // FIREBASE CONFIG // ===================================== const firebaseConfig = { apiKey: “AIzaSyCtCGY7tMQdbYGBkusnal3S7DN3nn-867A”, authDomain: “forex-pro-64405.firebaseapp.com”, projectId: “forex-pro-64405”, storageBucket: “forex-pro-64405.firebasestorage.app”, messagingSenderId: “90005485057”, appId: “1:90005485057:web:5c077eec5ee245f1573200”, measurementId: “G-S21VKS7M0M” }; // ===================================== // INITIALIZE FIREBASE // ===================================== const app = initializeApp(firebaseConfig); const auth = getAuth(app); // ===================================== // ELEMENTS // ===================================== const phoneNumber = document.getElementById(“phoneNumber”); const otpCode = document.getElementById(“otpCode”); const sendOtpBtn = document.getElementById(“sendOtpBtn”); const verifyOtpBtn = document.getElementById(“verifyOtpBtn”); const otpSection = document.getElementById(“otpSection”); const loginSection = document.getElementById(“loginSection”); const loggedInSection = document.getElementById(“loggedInSection”); const message = document.getElementById(“message”); const buyCourseBtn = document.getElementById(“buyCourseBtn”); const logoutBtn = document.getElementById(“logoutBtn”); // ===================================== // MESSAGE FUNCTION // ===================================== function showMessage(text, type = “”) { message.textContent = text; message.className = “message ” + type; } // ===================================== // RECAPTCHA // ===================================== let recaptchaVerifier; function setupRecaptcha() { if (recaptchaVerifier) { return; } recaptchaVerifier = new RecaptchaVerifier( auth, “recaptcha-container”, { size: “normal” } ); } setupRecaptcha(); // ===================================== // SEND OTP // ===================================== sendOtpBtn.addEventListener( “click”, async () => { const phone = phoneNumber.value.trim(); if (!phone) { showMessage( “Mobile number enter karo.”, “error” ); return; } if (!/^\+\d{10,15}$/.test(phone)) { showMessage( “Number country code ke saath enter karo. Example: +919328099162”, “error” ); return; } sendOtpBtn.disabled = true; showMessage( “OTP bheja ja raha hai…” ); try { setupRecaptcha(); const confirmationResult = await signInWithPhoneNumber( auth, phone, recaptchaVerifier ); window.confirmationResult = confirmationResult; otpSection.style.display = “block”; showMessage( “OTP tumhare mobile par bhej diya gaya hai.”, “success” ); sendOtpBtn.textContent = “OTP Sent”; } catch (error) { console.error(error); showMessage( “OTP send nahi hua: ” + error.message, “error” ); sendOtpBtn.disabled = false; // reCAPTCHA reset try { if (recaptchaVerifier) { recaptchaVerifier.clear(); } recaptchaVerifier = null; setupRecaptcha(); } catch (e) { console.error(e); } } } ); // ===================================== // VERIFY OTP // ===================================== verifyOtpBtn.addEventListener( “click”, async () => { const otp = otpCode.value.trim(); if (!window.confirmationResult) { showMessage( “Pehle Send OTP par click karo.”, “error” ); return; } if (!/^\d{6}$/.test(otp)) { showMessage( “6 digit OTP enter karo.”, “error” ); return; } verifyOtpBtn.disabled = true; showMessage( “OTP verify ho raha hai…” ); try { await window.confirmationResult .confirm(otp); showMessage( “Login successful.”, “success” ); } catch (error) { console.error(error); showMessage( “OTP galat hai ya expire ho gaya.”, “error” ); verifyOtpBtn.disabled = false; } } ); // ===================================== // AUTH STATE // ===================================== onAuthStateChanged( auth, (user) => { if (user) { loginSection.style.display = “none”; loggedInSection.style.display = “block”; } else { loginSection.style.display = “block”; loggedInSection.style.display = “none”; } } ); // ===================================== // RAZORPAY PAYMENT LINK // ===================================== buyCourseBtn.addEventListener( “click”, () => { window.location.href = “https://rzp.io/rzp/8Y8wXwo”; } ); // ===================================== // LOGOUT // ===================================== logoutBtn.addEventListener( “click”, async () => { try { await signOut(auth); location.reload(); } catch (error) { console.error(error); showMessage( “Logout failed.”, “error” ); } } );

Leave a comment