{"id":186,"date":"2026-05-16T13:40:31","date_gmt":"2026-05-16T13:40:31","guid":{"rendered":"https:\/\/cashchat.se\/dir\/?page_id=186"},"modified":"2026-05-16T13:40:31","modified_gmt":"2026-05-16T13:40:31","slug":"funded","status":"publish","type":"page","link":"https:\/\/cashchat.se\/dir\/funded\/","title":{"rendered":"Funded"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\">\n    <title>Adase Ads Ltd \u2013 Share Certificate with Wallet<\/title>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:opsz,wght@14..32,300;400;500;600;700;800&#038;display=swap\" rel=\"stylesheet\">\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:wght@400;500;600;700&#038;family=Alex+Brush&#038;display=swap\" rel=\"stylesheet\">\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.0\/css\/all.min.css\">\n    <style>\n        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', sans-serif; }\n        body { background: #eef2f5; padding: 20px; }\n        .main-container { max-width: 1400px; margin: 0 auto; background: white; border-radius: 28px; box-shadow: 0 25px 45px -12px rgba(0,0,0,0.2); overflow: hidden; }\n        .global-ticker-wrap { background: #0a0f2c; padding: 0.6rem 0; overflow: hidden; white-space: nowrap; border-bottom: 2px solid #f5c542; border-top: 2px solid #f5c542; }\n        .global-ticker { display: inline-block; animation: scrollTicker 38s linear infinite; }\n        .global-ticker-item { display: inline-block; background: #1a2349; margin-right: 1.8rem; padding: 0.3rem 1.2rem; border-radius: 40px; font-size: 0.8rem; color: #f0eef7; font-weight: 500; }\n        .global-ticker-item.buy { background: #1f6032; border-left: 3px solid #f5c542; }\n        @keyframes scrollTicker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }\n        .tabs { display: flex; flex-wrap: wrap; background: #f8fafc; border-bottom: 1px solid #e2edf2; }\n        .tab-btn { flex: 1; background: none; border: none; padding: 15px 12px; font-size: 0.85rem; font-weight: 700; cursor: pointer; transition: 0.2s; color: #1e2a3e; letter-spacing: -0.2px; }\n        .tab-btn:hover { background: #eef2ff; color: #0f2b3d; }\n        .tab-btn.active { background: white; color: #b8860b; border-bottom: 3px solid #b8860b; }\n        .tab-content { display: none; background: white; padding: 32px 38px; }\n        .tab-content.active { display: block; }\n        @media (max-width: 780px) { .tab-content { padding: 20px; } .tab-btn { padding: 10px 6px; font-size: 0.7rem; } }\n        .btn-sm { padding: 8px 22px; border-radius: 60px; font-weight: 600; font-size: 0.85rem; border: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: 0.2s; }\n        .btn-primary { background: linear-gradient(105deg, #1e3c72, #2a5298); color: white; box-shadow: 0 4px 8px rgba(0,0,0,0.05); }\n        .btn-lemon { background: #f5c542; color: #1a2c3e; font-weight: 700; }\n        .card { background: rgba(255,255,255,0.96); border-radius: 32px; padding: 28px; margin-bottom: 28px; border: 1px solid #e9edf2; box-shadow: 0 12px 28px -8px rgba(0,0,0,0.05); }\n        .flex-between { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }\n        .badge { background: linear-gradient(135deg, #eef2ff, #fae8d2); color: #7b4b0e; padding: 6px 14px; border-radius: 60px; font-size: 0.75rem; font-weight: 700; }\n        input, select, textarea { width: 100%; padding: 12px 20px; border-radius: 40px; border: 1px solid #cfdfed; background: white; font-size: 0.9rem; margin: 8px 0 14px; outline: none; }\n        input:focus { border-color: #b8860b; box-shadow: 0 0 0 3px rgba(184,134,11,0.1); }\n        .footer { margin-top: 60px; padding: 40px 0 30px; border-top: 1px solid rgba(100,80,50,0.2); text-align: center; background: #fefaf5; border-radius: 40px 40px 0 0; }\n        \n        \/* CERTIFICATE STYLES *\/\n        .certificate-gold {\n            background: linear-gradient(145deg, #fffef7 0%, #fff9e8 100%);\n            border: 12px double #d4af37;\n            border-radius: 28px;\n            padding: 28px 32px;\n            position: relative;\n            box-shadow: 0 25px 40px -12px rgba(0,0,0,0.2);\n            font-family: 'Cormorant Garamond', serif;\n            max-width: 1100px;\n            margin: 0 auto;\n        }\n        .certificate-watermark {\n            position: relative;\n            background: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 100 100\"><path fill=\"rgba(212,175,55,0.04)\" d=\"M50,15 L62,35 L85,38 L68,55 L72,78 L50,67 L28,78 L32,55 L15,38 L38,35 Z\"\/><\/svg>') repeat;\n            background-size: 80px;\n        }\n        .cert-seal {\n            position: absolute;\n            bottom: 35px;\n            right: 35px;\n            width: 110px;\n            height: 110px;\n            background: radial-gradient(circle, #f3e5ab, #e6d5a8);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 1.5rem;\n            font-weight: 800;\n            color: #1e3c72;\n            border: 3px solid #1e3c72;\n            font-family: 'Inter', sans-serif;\n            background: #fef7e0;\n        }\n        .cert-title {\n            font-size: 2.7rem;\n            font-weight: 800;\n            text-transform: uppercase;\n            color: #b8860b;\n            text-align: center;\n            border-bottom: 2px solid #e5c687;\n            display: inline-block;\n            padding-bottom: 8px;\n            margin-bottom: 20px;\n        }\n        .cert-rect {\n            background: #fffbf0;\n            margin: 25px 0;\n            padding: 25px 20px;\n            border-radius: 20px;\n            border: 1px solid #e9d6a3;\n        }\n        .share-detail {\n            background: rgba(212,175,55,0.08);\n            padding: 12px 18px;\n            border-radius: 60px;\n            font-weight: 600;\n        }\n        .signature-area {\n            display: flex;\n            justify-content: space-between;\n            margin-top: 40px;\n            gap: 40px;\n            flex-wrap: wrap;\n        }\n        .sign-line {\n            border-top: 1px solid #8b7a4b;\n            width: 250px;\n            margin-top: 30px;\n            padding-top: 8px;\n            text-align: center;\n            font-size: 0.75rem;\n        }\n        .print-btn { background: #2d2b26; color: #ffeaac; border: none; border-radius: 60px; padding: 10px 24px; font-weight: 600; cursor: pointer; }\n        .cert-number-code { font-family: monospace; background: #fdf3df; padding: 6px 16px; border-radius: 60px; display: inline-block; }\n        .coin-logo { width: 55px; height: 55px; background: radial-gradient(circle at 30% 35%, #f9d976, #c9992e); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 0.8rem; text-align: center; border: 2px solid #b8860b; }\n        .investor-note { background: #eef2ff; border-left: 5px solid #1e3c72; padding: 12px 20px; border-radius: 20px; margin-top: 20px; font-size: 0.9rem; }\n        .company-details { font-size: 0.75rem; text-align: center; margin-top: 15px; color: #4a3a1a; border-top: 1px solid #e9d6a3; padding-top: 12px; }\n        .wallet-panel { background: #fef9ef; border-radius: 24px; padding: 20px; margin-top: 30px; border: 1px solid #e6d5a8; }\n        .terms-box { background: #f9f9f9; border: 1px solid #ddd; border-radius: 16px; padding: 12px; height: 100px; overflow-y: auto; font-size: 0.8rem; margin: 10px 0; }\n        \n        \/* PRINT: A4 Landscape, certificate only *\/\n        @media print {\n            body { margin: 0; padding: 0; background: white; }\n            .certificate-gold {\n                box-shadow: none;\n                border: 2px solid #d4af37;\n                margin: 0 auto;\n                page-break-after: avoid;\n                break-inside: avoid;\n                width: 100%;\n                max-width: 100%;\n            }\n            @page {\n                size: A4 landscape;\n                margin: 1.2cm;\n            }\n            .tabs, .global-ticker-wrap, .footer, .card, .print-btn, .btn-primary, .btn-lemon, .wallet-panel, .investor-note, #globalUserArea, .tab-btn {\n                display: none;\n            }\n            .tab-content { display: block !important; padding: 0; }\n            body { padding: 0; }\n        }\n    <\/style>\n<\/head>\n<body>\n<div class=\"main-container\">\n    <div class=\"global-ticker-wrap\"><div class=\"global-ticker\" id=\"globalTickerStrip\"><\/div><\/div>\n\n    <div class=\"tabs\">\n        <button class=\"tab-btn active\" data-tab=\"smm\">\ud83d\udcf1 SMM Platform<\/button>\n        <button class=\"tab-btn\" data-tab=\"cert\">\ud83d\udcdc Share Certificate<\/button>\n        <button class=\"tab-btn\" data-tab=\"register\">\ud83d\udcd8 Register of Members<\/button>\n        <button class=\"tab-btn\" data-tab=\"transfer\">\ud83d\udd04 Share Transfer<\/button>\n        <button class=\"tab-btn\" data-tab=\"allotment\">\ud83d\udcc4 Allotment<\/button>\n        <button class=\"tab-btn\" data-tab=\"funding\">\ud83d\ude80 Funding<\/button>\n    <\/div>\n\n    <!-- SMM Platform (simplified but functional) -->\n    <div id=\"tab-smm\" class=\"tab-content active\">\n        <div style=\"display: flex; align-items: center; gap: 12px; margin-bottom: 20px;\">\n            <div class=\"coin-logo\">Adase<br>Ads<\/div>\n            <div><span style=\"font-size:2.4rem; font-weight:800; color:#b8860b;\">Adase<\/span><span style=\"font-size:1.2rem; font-weight:700;\">Ads Ltd<\/span><div style=\"font-size:0.85rem;\">\ud83d\udcb0 Monetizing Africa | SMM Powerhouse<\/div><\/div>\n        <\/div>\n        <div id=\"smmDynamicPanel\">Loading&#8230;<\/div>\n        <div class=\"footer\"><p>\u00a9 2026 Adase Ads Ltd \u2013 Incorporated in Uganda (Reg: 80034558417273)<\/p><div>\ud83d\udccd Zion Road Plot 12 AAA Close, Kira, Uganda<\/div><p>\ud83d\udce7 shares@adase.co.ug | +256 775036603<\/p><\/div>\n    <\/div>\n\n    <!-- SHARE CERTIFICATE + INTEGRATED SHARES WALLET (1 Director + 1 Witness) -->\n    <div id=\"tab-cert\" class=\"tab-content\">\n        <!-- The Certificate itself -->\n        <div class=\"certificate-gold certificate-watermark\" id=\"liveCertificate\">\n            <div style=\"display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;\">\n                <div><i class=\"fas fa-building\" style=\"font-size: 2rem; color: #b8860b;\"><\/i><\/div>\n                <div class=\"cert-number-code\"><i class=\"far fa-gem\"><\/i> Certificate No: <span id=\"certNumberDisplay\">ADASE-2026-7891<\/span><\/div>\n            <\/div>\n            <div style=\"text-align: center; margin: 15px 0 5px;\">\n                <div class=\"cert-title\">SHARE CERTIFICATE<\/div>\n                <div class=\"cert-sub\">Incorporated under the Companies Act, 2012 (Uganda)<\/div>\n            <\/div>\n            <div class=\"cert-rect\">\n                <p style=\"font-size: 1.2rem; margin-bottom: 10px;\"><strong>THIS CERTIFIES THAT<\/strong><\/p>\n                <p style=\"font-size: 1.8rem; font-family: 'Alex Brush', cursive; text-align: center; border-bottom: 1px dashed #cfb87c; width: 100%;\" id=\"shareholderNameDisplay\">[Shareholder Name]<\/p>\n                <p style=\"margin: 20px 0 15px;\">is the registered proprietor of <strong><span id=\"sharesCountDisplay\">1,000<\/span> ( <span id=\"sharesWordsDisplay\">One Thousand<\/span> )<\/strong> fully paid ordinary shares of <strong>UGX 100,000\/-<\/strong> each in<\/p>\n                <h2 style=\"text-align: center; color: #7a590f;\">ADASE ADS LIMITED<\/h2>\n                <p style=\"text-align: center;\">subject to the Memorandum and Articles of Association.<\/p>\n                <div class=\"flex-between\" style=\"margin-top: 25px;\">\n                    <span class=\"share-detail\"><i class=\"fas fa-chart-line\"><\/i> Class: Ordinary Shares<\/span>\n                    <span class=\"share-detail\"><i class=\"fas fa-tag\"><\/i> Par Value: UGX 100,000<\/span>\n                    <span class=\"share-detail\"><i class=\"fas fa-calendar-alt\"><\/i> Issue Date: <span id=\"issueDateDisplay\">11 May 2026<\/span><\/span>\n                <\/div>\n                <div class=\"flex-between\" style=\"margin-top: 15px;\">\n                    <span class=\"share-detail\"><i class=\"fas fa-building\"><\/i> Reg No: 80034558417273<\/span>\n                    <span class=\"share-detail\"><i class=\"fas fa-file-invoice\"><\/i> TIN: 1057894541<\/span>\n                    <span class=\"share-detail\"><i class=\"fas fa-chart-pie\"><\/i> Authorised: 1,000,000 shares<\/span>\n                <\/div>\n                <div class=\"company-details\">\n                    <i class=\"fas fa-map-marker-alt\"><\/i> Registered Office: Zion Road Plot 12 AAA Close, Kira, Uganda\n                <\/div>\n            <\/div>\n            <!-- Signature block: 1 Director + 1 Witness (no secretary) -->\n            <div class=\"signature-area\">\n                <div>\n                    <div class=\"sign-line\">_________________________<br><strong>DIRECTOR<\/strong><br>Peter Knox Sengendo<\/div>\n                <\/div>\n                <div>\n                    <div class=\"sign-line\">_________________________<br><strong>WITNESS<\/strong><br>(Signature &#038; Full Name)<\/div>\n                <\/div>\n            <\/div>\n            <div class=\"cert-seal\"><i class=\"fas fa-certificate\"><\/i> Adase<\/div>\n            <div style=\"margin-top: 20px; font-size: 0.7rem; text-align: center;\">Total Authorised: 1,000,000 shares @ UGX 100,000 | 350,000 available for subscription<\/div>\n        <\/div>\n        \n        <!-- INTEGRATED SHARES WALLET PANEL -->\n        <div class=\"wallet-panel\" id=\"integratedWalletPanel\">\n            <h3><i class=\"fas fa-wallet\"><\/i> Shares Wallet<\/h3>\n            <div id=\"walletStatus\"><\/div>\n            <div id=\"walletActions\"><\/div>\n        <\/div>\n\n        <!-- Certificate Customization (dynamic fields) -->\n        <div class=\"card\" style=\"margin-top: 20px;\">\n            <h4><i class=\"fas fa-edit\"><\/i> Certificate Details<\/h4>\n            <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 16px;\">\n                <div><label>Shareholder Name<\/label><input type=\"text\" id=\"certShareholderInput\" value=\"Adase Holdings Ltd\"><\/div>\n                <div><label>Number of Shares<\/label><input type=\"number\" id=\"certSharesInput\" value=\"2500\" min=\"1\"><\/div>\n                <div><label>Certificate No.<\/label><input type=\"text\" id=\"certNoInput\" value=\"ADASE-2026-7891\"><\/div>\n                <div><label>Issue Date<\/label><input type=\"date\" id=\"certDateInput\" value=\"2026-05-11\"><\/div>\n            <\/div>\n            <div class=\"flex-between\" style=\"margin-top: 16px;\">\n                <button id=\"updateCertPreviewBtn\" class=\"btn-primary\"><i class=\"fas fa-sync-alt\"><\/i> Preview<\/button>\n                <button id=\"printCertificateWithWalletBtn\" class=\"print-btn\"><i class=\"fas fa-print\"><\/i> Purchase &#038; Print (Deduct from Wallet)<\/button>\n            <\/div>\n            <div class=\"investor-note\"><i class=\"fas fa-info-circle\"><\/i> Cost per share: UGX 100,000. Total amount will be deducted from your Shares Wallet balance. You must be logged in and have sufficient balance.<\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Other tabs (placeholders) -->\n    <div id=\"tab-register\" class=\"tab-content\"><div class=\"card\"><h3>\ud83d\udccb Register of Members<\/h3><div id=\"membersRegisterPreview\">Loading&#8230;<\/div><div class=\"investor-note\">Total shares: 1,000,000 @ UGX 100,000 | 35% for investors<\/div><\/div><\/div>\n    <div id=\"tab-transfer\" class=\"tab-content\"><div class=\"card\"><h3>\ud83d\udd04 Share Transfer<\/h3><p>Requires board approval.<\/p><input placeholder=\"Transferor\"><input placeholder=\"Transferee\"><input placeholder=\"Shares\"><button class=\"btn-primary\">Request<\/button><\/div><\/div>\n    <div id=\"tab-allotment\" class=\"tab-content\"><div class=\"card\"><h3>\ud83d\udcc4 Allotment Resolution<\/h3><textarea rows=\"4\">RESOLVED THAT 10,000 shares @ UGX 100,000 be allotted&#8230;<\/textarea><button class=\"btn-primary\">Record<\/button><\/div><\/div>\n    <div id=\"tab-funding\" class=\"tab-content\"><div class=\"card\"><h3>\ud83d\ude80 Serie A Funding<\/h3><p>Target $2.5M | Committed UGX 3.5B<\/p><progress value=\"35\" max=\"100\"><\/progress><div>35% placed<\/div><\/div><\/div>\n<\/div>\n\n<script>\n    \/\/ ---------- NUMBER TO WORDS ----------\n    function numberToWords(num) {\n        if (num === 0) return \"Zero\";\n        const ones = [\"\", \"One\", \"Two\", \"Three\", \"Four\", \"Five\", \"Six\", \"Seven\", \"Eight\", \"Nine\"];\n        const teens = [\"\", \"Eleven\", \"Twelve\", \"Thirteen\", \"Fourteen\", \"Fifteen\", \"Sixteen\", \"Seventeen\", \"Eighteen\", \"Nineteen\"];\n        const tens = [\"\", \"Ten\", \"Twenty\", \"Thirty\", \"Forty\", \"Fifty\", \"Sixty\", \"Seventy\", \"Eighty\", \"Ninety\"];\n        const thousands = [\"\", \"Thousand\", \"Million\", \"Billion\"];\n        function convertChunk(n) {\n            if (n === 0) return \"\";\n            let str = \"\";\n            if (n >= 100) { str += ones[Math.floor(n \/ 100)] + \" Hundred \"; n %= 100; }\n            if (n >= 11 && n <= 19) return str + teens[n - 10] + \" \";\n            if (n >= 10) { str += tens[Math.floor(n \/ 10)] + \" \"; n %= 10; }\n            if (n > 0) str += ones[n] + \" \";\n            return str;\n        }\n        let words = \"\", chunkIndex = 0;\n        while (num > 0) {\n            let chunk = num % 1000;\n            if (chunk !== 0) words = convertChunk(chunk) + (thousands[chunkIndex] ? thousands[chunkIndex] + \" \" : \"\") + words;\n            num = Math.floor(num \/ 1000);\n            chunkIndex++;\n        }\n        return words.trim().replace(\/\\s+\/g, \" \").replace(\/\\b\\w\/g, c => c.toUpperCase());\n    }\n\n    \/\/ ---------- SHARES WALLET SYSTEM (integrated) ----------\n    let shareUsers = [];\n    let shareSessions = { currentUserId: null };\n    let creditRequests = [];\n    const ADMIN_EMAIL = \"equity@cashchat.se\";\n    const ADMIN_PASSWORD = \"Get.Shares.Now#\";\n\n    function loadShareData() {\n        const stored = localStorage.getItem('adase_share_users');\n        if (stored) shareUsers = JSON.parse(stored);\n        else shareUsers = [];\n        const storedReqs = localStorage.getItem('adase_share_credit_requests');\n        if (storedReqs) creditRequests = JSON.parse(storedReqs);\n        else creditRequests = [];\n        const storedSession = localStorage.getItem('adase_share_session');\n        if (storedSession) shareSessions.currentUserId = parseInt(storedSession);\n        else shareSessions.currentUserId = null;\n        saveShareData();\n    }\n    function saveShareData() {\n        localStorage.setItem('adase_share_users', JSON.stringify(shareUsers));\n        localStorage.setItem('adase_share_credit_requests', JSON.stringify(creditRequests));\n        if (shareSessions.currentUserId) localStorage.setItem('adase_share_session', shareSessions.currentUserId);\n        else localStorage.removeItem('adase_share_session');\n    }\n    function getCurrentShareUser() {\n        if (!shareSessions.currentUserId) return null;\n        return shareUsers.find(u => u.id === shareSessions.currentUserId);\n    }\n\n    \/\/ Render the wallet panel inside the certificate tab\n    function renderWalletPanel() {\n        const container = document.getElementById('walletStatus');\n        const actionsDiv = document.getElementById('walletActions');\n        const user = getCurrentShareUser();\n        if (!user) {\n            container.innerHTML = `<p class=\"badge\">\ud83d\udd12 Not logged in. Please register or login below.<\/p>`;\n            actionsDiv.innerHTML = `\n                <div style=\"display: flex; gap: 20px; flex-wrap: wrap;\">\n                    <div style=\"flex:1;\"><h4>Login<\/h4><input id=\"walletLoginEmail\" placeholder=\"Email\"><input id=\"walletLoginPassword\" type=\"password\" placeholder=\"Password\"><button id=\"doWalletLogin\" class=\"btn-sm btn-primary\">Login<\/button><\/div>\n                    <div style=\"flex:1;\"><h4>Register<\/h4>\n                    <input id=\"regFirstName\" placeholder=\"First Name\"><input id=\"regLastName\" placeholder=\"Last Name\"><input id=\"regEmail\" placeholder=\"Email\"><input id=\"regMobile\" placeholder=\"Mobile\"><input id=\"regAddress\" placeholder=\"Address\"><select id=\"regGender\"><option>Male<\/option><option>Female<\/option><option>Other<\/option><\/select>\n                    <input id=\"regPassword\" type=\"password\" placeholder=\"Password (min 8)\"><input id=\"regConfirm\" type=\"password\" placeholder=\"Confirm\">\n                    <div class=\"terms-box\"><strong>Terms<\/strong><br>1. Shares are non-refundable. 2. Dividends as declared. 3. Provide accurate info. 4. Subject to company articles.<\/div>\n                    <label><input type=\"checkbox\" id=\"acceptTermsWallet\"> I accept Terms<\/label><br>\n                    <button id=\"doWalletRegister\" class=\"btn-sm btn-lemon\">Create Account<\/button>\n                    <\/div>\n                <\/div>\n                <hr style=\"margin:15px 0\">\n                <div><h4>Admin Login (Equity Team)<\/h4><input id=\"adminEmail\" placeholder=\"Admin Email\"><input id=\"adminPassword\" type=\"password\" placeholder=\"Password\"><button id=\"doAdminLoginWallet\" class=\"btn-sm\">Admin Login<\/button><\/div>\n            `;\n            document.getElementById('doWalletLogin')?.addEventListener('click', () => {\n                const email = document.getElementById('walletLoginEmail').value;\n                const pwd = document.getElementById('walletLoginPassword').value;\n                const userFound = shareUsers.find(u => u.email === email && u.password === pwd);\n                if (userFound) { shareSessions.currentUserId = userFound.id; saveShareData(); renderWalletPanel(); updateCertPreview(); }\n                else alert(\"Invalid credentials\");\n            });\n            document.getElementById('doWalletRegister')?.addEventListener('click', () => {\n                const fname = document.getElementById('regFirstName').value.trim();\n                const lname = document.getElementById('regLastName').value.trim();\n                const email = document.getElementById('regEmail').value.trim();\n                const mobile = document.getElementById('regMobile').value.trim();\n                const address = document.getElementById('regAddress').value.trim();\n                const gender = document.getElementById('regGender').value;\n                const pwd = document.getElementById('regPassword').value;\n                const confirm = document.getElementById('regConfirm').value;\n                const terms = document.getElementById('acceptTermsWallet').checked;\n                if (!fname || !lname || !email || !mobile || !address) { alert(\"All fields required\"); return; }\n                if (pwd.length < 8) { alert(\"Password min 8 chars\"); return; }\n                if (pwd !== confirm) { alert(\"Passwords do not match\"); return; }\n                if (!terms) { alert(\"Accept Terms\"); return; }\n                if (shareUsers.find(u => u.email === email)) { alert(\"Email exists\"); return; }\n                const newId = Date.now();\n                shareUsers.push({ id: newId, firstName: fname, lastName: lname, email, mobile, address, gender, password: pwd, shareBalance: 0, role: \"user\" });\n                shareSessions.currentUserId = newId;\n                saveShareData();\n                renderWalletPanel();\n                updateCertPreview();\n                alert(\"Account created! Your Shares Wallet is ready.\");\n            });\n            document.getElementById('doAdminLoginWallet')?.addEventListener('click', () => {\n                const email = document.getElementById('adminEmail').value;\n                const pwd = document.getElementById('adminPassword').value;\n                if (email === ADMIN_EMAIL && pwd === ADMIN_PASSWORD) {\n                    const pendingReqs = creditRequests.filter(r => r.status === 'pending');\n                    let adminHtml = `<div style=\"background:#f0f2f5; padding:15px; border-radius:20px; margin-top:10px;\"><h4>Admin Dashboard<\/h4>`;\n                    if (pendingReqs.length === 0) adminHtml += \"<p>No pending credit requests.<\/p>\";\n                    else {\n                        adminHtml += pendingReqs.map(req => {\n                            const u = shareUsers.find(u => u.id === req.userId);\n                            return `<div>${u?.firstName} ${u?.lastName} requested UGX ${req.amount.toLocaleString()} \n                            <button data-approve=\"${req.id}\" class=\"btn-sm\">Approve<\/button> <button data-reject=\"${req.id}\" class=\"btn-sm\">Decline<\/button><\/div>`;\n                        }).join('');\n                    }\n                    adminHtml += `<hr><strong>Payment Options (share with users)<\/strong><br>Sponsor Code: 200695455<br>KCB Bank Uganda: UGX 2337920561, KES 2338193555, USD 2338193474, SWIFT KCBLUGKA<br>PayPal: adaseltd@gmail.com<\/div>`;\n                    actionsDiv.innerHTML = adminHtml;\n                    document.querySelectorAll('[data-approve]').forEach(btn => {\n                        btn.addEventListener('click', (e) => {\n                            let reqId = parseInt(btn.dataset.approve);\n                            let req = creditRequests.find(r => r.id === reqId);\n                            if (req) {\n                                let user = shareUsers.find(u => u.id === req.userId);\n                                if (user) { user.shareBalance += req.amount; req.status = 'approved'; saveShareData(); renderWalletPanel(); alert(\"Approved\"); }\n                            }\n                        });\n                    });\n                    document.querySelectorAll('[data-reject]').forEach(btn => {\n                        btn.addEventListener('click', (e) => {\n                            let reqId = parseInt(btn.dataset.reject);\n                            let req = creditRequests.find(r => r.id === reqId);\n                            if (req) { req.status = 'rejected'; saveShareData(); renderWalletPanel(); alert(\"Rejected\"); }\n                        });\n                    });\n                } else alert(\"Invalid admin credentials\");\n            });\n        } else {\n            const pendingCredits = creditRequests.filter(r => r.userId === user.id && r.status === 'pending');\n            container.innerHTML = `<div class=\"flex-between\"><strong>\ud83d\udc64 ${user.firstName} ${user.lastName}<\/strong> <button id=\"walletLogoutBtn\" class=\"btn-sm\">Logout<\/button><\/div>\n                                   <div><strong>\ud83d\udcb0 Balance: UGX ${user.shareBalance.toLocaleString()}<\/strong><\/div>`;\n            actionsDiv.innerHTML = `\n                <button id=\"requestCreditWalletBtn\" class=\"btn-primary\">\ud83d\udce8 Request Credit (Admin Approval)<\/button>\n                <div><h4>Pending Requests:<\/h4>${pendingCredits.length ? pendingCredits.map(r => `<div>UGX ${r.amount.toLocaleString()} - ${r.status}<\/div>`).join('') : 'None'}<\/div>\n                <div><h4>Transaction History:<\/h4>${creditRequests.filter(r => r.userId === user.id && r.status !== 'pending').map(r => `<div>${r.status === 'approved' ? '\u2705' : '\u274c'} UGX ${r.amount.toLocaleString()} on ${new Date(r.date).toLocaleDateString()}<\/div>`).join('') || 'None'}<\/div>\n            `;\n            document.getElementById('walletLogoutBtn')?.addEventListener('click', () => { shareSessions.currentUserId = null; saveShareData(); renderWalletPanel(); });\n            document.getElementById('requestCreditWalletBtn')?.addEventListener('click', () => {\n                let amount = prompt(\"Enter amount (UGX) to request credit:\");\n                if (amount && !isNaN(amount) && amount > 0) {\n                    creditRequests.push({ id: Date.now(), userId: user.id, amount: parseFloat(amount), status: 'pending', date: new Date().toISOString() });\n                    saveShareData();\n                    renderWalletPanel();\n                    alert(\"Credit request sent to admin. Use admin login (equity@cashchat.se \/ Get.Shares.Now#) to approve.\");\n                }\n            });\n        }\n    }\n\n    \/\/ Certificate preview update\n    function updateCertPreview() {\n        let name = document.getElementById('certShareholderInput').value || \"Shareholder\";\n        let shares = parseInt(document.getElementById('certSharesInput').value) || 1000;\n        let certNo = document.getElementById('certNoInput').value || \"ADASE-2026-7891\";\n        let dateRaw = document.getElementById('certDateInput').value;\n        let formattedDate = dateRaw ? new Date(dateRaw).toLocaleDateString('en-GB', { day:'numeric', month:'long', year:'numeric' }) : \"11 May 2026\";\n        document.getElementById('shareholderNameDisplay').innerText = name;\n        document.getElementById('sharesCountDisplay').innerText = shares.toLocaleString();\n        document.getElementById('sharesWordsDisplay').innerText = numberToWords(shares);\n        document.getElementById('certNumberDisplay').innerText = certNo;\n        document.getElementById('issueDateDisplay').innerText = formattedDate;\n    }\n\n    \/\/ Print certificate with wallet deduction\n    function printAndDeduct() {\n        const user = getCurrentShareUser();\n        if (!user) { alert(\"Please login to Shares Wallet first (using the wallet panel above).\"); return; }\n        const shares = parseInt(document.getElementById('certSharesInput').value) || 1000;\n        const totalCost = shares * 100000;\n        if (user.shareBalance < totalCost) {\n            alert(`Insufficient balance: UGX ${user.shareBalance.toLocaleString()} needed UGX ${totalCost.toLocaleString()}. Request credit via admin.`);\n            return;\n        }\n        user.shareBalance -= totalCost;\n        creditRequests.push({ id: Date.now(), userId: user.id, amount: -totalCost, status: 'approved', date: new Date().toISOString(), note: `Certificate for ${shares} shares` });\n        saveShareData();\n        renderWalletPanel();\n        \/\/ Print certificate\n        const certElem = document.getElementById('liveCertificate');\n        const clone = certElem.cloneNode(true);\n        const printWin = window.open('', '_blank', 'width=1100,height=800');\n        printWin.document.write(`\n            <!DOCTYPE html><html><head><title>Adase Share Certificate<\/title>\n            <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700&#038;family=Cormorant+Garamond:wght@400;500;600;700&#038;family=Alex+Brush&#038;display=swap\" rel=\"stylesheet\">\n            <style>\n                * { margin:0; padding:0; box-sizing:border-box; }\n                body { background:white; display:flex; justify-content:center; align-items:center; min-height:100vh; padding:20px; }\n                .certificate-gold { background:linear-gradient(145deg,#fffef7,#fff9e8); border:12px double #d4af37; border-radius:28px; padding:28px 32px; max-width:1100px; width:100%; font-family:'Cormorant Garamond',serif; position:relative; }\n                .cert-seal { position:absolute; bottom:35px; right:35px; width:110px; height:110px; background:#fef7e0; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.5rem; font-weight:800; color:#1e3c72; border:3px solid #1e3c72; }\n                .cert-title { font-size:2.7rem; font-weight:800; color:#b8860b; text-align:center; border-bottom:2px solid #e5c687; display:inline-block; margin-bottom:20px; }\n                .cert-rect { background:#fffbf0; margin:25px 0; padding:25px; border-radius:20px; border:1px solid #e9d6a3; }\n                .share-detail { background:rgba(212,175,55,0.08); padding:12px 18px; border-radius:60px; font-weight:600; }\n                .signature-area { display:flex; justify-content:space-between; margin-top:40px; gap:40px; flex-wrap:wrap; }\n                .sign-line { border-top:1px solid #8b7a4b; width:250px; margin-top:30px; padding-top:8px; text-align:center; }\n                .flex-between { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; }\n                .company-details { font-size:0.75rem; text-align:center; margin-top:15px; }\n                @media print { @page { size: A4 landscape; margin: 1.2cm; } body { padding:0; } .certificate-gold { box-shadow:none; } }\n            <\/style>\n            <\/head><body>${clone.outerHTML}<script>window.onload = function() { window.print(); setTimeout(() => window.close(), 500); };<\\\/script><\/body><\/html>\n        `);\n        printWin.document.close();\n        alert(`Certificate printed! UGX ${totalCost.toLocaleString()} deducted from your wallet.`);\n    }\n\n    \/\/ SMM placeholder (keep original functionality)\n    (function smmPlaceholder() {\n        const panel = document.getElementById('smmDynamicPanel');\n        if (panel) panel.innerHTML = `<div style=\"text-align:center; background:linear-gradient(135deg,#1e3c72,#2a5298); border-radius:32px; padding:60px; color:white;\"><h1>Adase Ads SMM Platform<\/h1><p>Africa's leading digital advertising ecosystem.<\/p><button class=\"btn-primary\" id=\"smmDemoBtn\">Demo Login<\/button><\/div>`;\n        document.getElementById('smmDemoBtn')?.addEventListener('click', () => alert(\"Demo: adv@demo.com \/ adv123\"));\n    })();\n\n    \/\/ Register of Members placeholder\n    document.getElementById('membersRegisterPreview').innerHTML = `<\/table><th>Shareholder<\/th><th>Shares<\/th><tr><td>Adase Holdings Ltd<\/td><td>500,000<\/td><\/tr><tr><td>Peter Knox Sengendo<\/td><td>100,000<\/td><\/tr><tr><td>Paul Asaba Muwanguzi<\/td><td>50,000<\/td><\/tr><tr><td>Investor Pool<\/td><td>350,000<\/td><\/tr><\/table><p class=\"badge\">Total issued: 1,000,000 shares<\/p>`;\n\n    \/\/ Tab switching\n    const tabs = document.querySelectorAll('.tab-btn');\n    const contents = document.querySelectorAll('.tab-content');\n    function switchTab(tabId) {\n        contents.forEach(c => c.classList.remove('active'));\n        tabs.forEach(b => b.classList.remove('active'));\n        document.getElementById(`tab-${tabId}`)?.classList.add('active');\n        Array.from(tabs).find(b => b.dataset.tab === tabId)?.classList.add('active');\n        if (tabId === 'cert') { renderWalletPanel(); updateCertPreview(); }\n    }\n    tabs.forEach(btn => btn.addEventListener('click', () => switchTab(btn.dataset.tab)));\n\n    \/\/ Initial load\n    loadShareData();\n    updateCertPreview();\n    renderWalletPanel();\n\n    document.getElementById('updateCertPreviewBtn')?.addEventListener('click', updateCertPreview);\n    document.getElementById('printCertificateWithWalletBtn')?.addEventListener('click', printAndDeduct);\n\n    \/\/ Ticker\n    document.getElementById('globalTickerStrip').innerHTML = Array(10).fill('<span class=\"global-ticker-item\">Adase Ads Ltd - Shares @ UGX 100,000 | 350k available<\/span><span class=\"global-ticker-item buy\">Shares Wallet Integrated<\/span>').join('');\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Adase Ads Ltd \u2013 Share Certificate with Wallet \ud83d\udcf1 SMM Platform \ud83d\udcdc Share Certificate \ud83d\udcd8 Register of Members \ud83d\udd04 Share Transfer \ud83d\udcc4 Allotment \ud83d\ude80 Funding AdaseAds AdaseAds Ltd \ud83d\udcb0 Monetizing Africa | SMM Powerhouse Loading&#8230; \u00a9 2026 Adase Ads Ltd \u2013 Incorporated in Uganda (Reg: 80034558417273) \ud83d\udccd Zion Road Plot 12 AAA Close, Kira, Uganda [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"class_list":["post-186","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/pages\/186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/comments?post=186"}],"version-history":[{"count":1,"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/pages\/186\/revisions"}],"predecessor-version":[{"id":187,"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/pages\/186\/revisions\/187"}],"wp:attachment":[{"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/media?parent=186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}