{"id":226,"date":"2026-06-08T08:06:43","date_gmt":"2026-06-08T08:06:43","guid":{"rendered":"https:\/\/cashchat.se\/dir\/?page_id=226"},"modified":"2026-06-08T08:46:07","modified_gmt":"2026-06-08T08:46:07","slug":"dashboard","status":"publish","type":"page","link":"https:\/\/cashchat.se\/dir\/dashboard\/","title":{"rendered":"Dashboard"},"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 \u2013 Complete Dashboard | Digital Advertising &#038; SMM<\/title>\n  <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/html2canvas\/1.4.1\/html2canvas.min.js\"><\/script>\n  <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:opsz,wght@14..32,300;400;500;600;700;800&#038;family=Playfair+Display:wght@400;700;800&#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; }\n    :root {\n      --primary: #0a1f44;\n      --gold: #c49a2b;\n      --bg: #f4f6f9;\n      --card-bg: #ffffff;\n      --text: #1e293b;\n      --shadow: 0 10px 25px -5px rgba(0,0,0,0.05), 0 8px 10px -6px rgba(0,0,0,0.02);\n      --radius: 16px;\n    }\n    body {\n      font-family: 'Inter', system-ui, -apple-system, sans-serif;\n      background: var(--bg);\n      color: var(--text);\n      display: flex;\n      min-height: 100vh;\n    }\n    .sidebar {\n      width: 280px;\n      background: var(--primary);\n      color: #fff;\n      padding: 24px 16px;\n      position: fixed;\n      top: 0; left: 0; bottom: 0;\n      z-index: 100;\n      transition: transform 0.3s ease;\n      display: flex;\n      flex-direction: column;\n      overflow-y: auto;\n    }\n    .sidebar .logo {\n      font-family: 'Playfair Display', serif;\n      font-size: 26px;\n      font-weight: 800;\n      text-align: center;\n      letter-spacing: 2px;\n      margin-bottom: 32px;\n    }\n    .sidebar .logo span { color: var(--gold); }\n    .sidebar nav a {\n      display: flex;\n      align-items: center;\n      gap: 12px;\n      color: rgba(255,255,255,0.8);\n      text-decoration: none;\n      padding: 12px 16px;\n      border-radius: 12px;\n      margin-bottom: 6px;\n      font-weight: 500;\n      transition: all 0.2s;\n    }\n    .sidebar nav a:hover,\n    .sidebar nav a.active { background: rgba(255,255,255,0.1); color: var(--gold); }\n    .sidebar nav a i { width: 24px; }\n    .main {\n      margin-left: 280px;\n      flex: 1;\n      padding: 28px 32px;\n      transition: margin-left 0.3s;\n    }\n    .mobile-header {\n      display: none;\n      align-items: center;\n      gap: 16px;\n      background: var(--primary);\n      color: #fff;\n      padding: 14px 20px;\n      position: sticky;\n      top: 0; z-index: 99;\n    }\n    .mobile-header .menu-toggle {\n      background: none; border: none; color: #fff; font-size: 24px; cursor: pointer;\n    }\n    .section {\n      background: var(--card-bg);\n      border-radius: var(--radius);\n      padding: 24px;\n      margin-bottom: 24px;\n      box-shadow: var(--shadow);\n      display: none;\n    }\n    .section.active { display: block; }\n    h2 {\n      font-family: 'Playfair Display', serif;\n      color: var(--primary);\n      font-size: 24px;\n      margin-bottom: 20px;\n      border-left: 4px solid var(--gold);\n      padding-left: 16px;\n    }\n    h3 { color: var(--primary); margin: 20px 0 12px; font-size: 18px; }\n    .wallet-balance { font-size: 36px; font-weight: 800; color: var(--gold); }\n    .btn {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      background: var(--primary);\n      color: #fff;\n      border: none;\n      padding: 10px 24px;\n      border-radius: 40px;\n      font-weight: 600;\n      cursor: pointer;\n      transition: all 0.2s;\n      font-size: 14px;\n    }\n    .btn-gold { background: var(--gold); color: var(--primary); }\n    .btn-outline {\n      background: transparent;\n      border: 1.5px solid var(--primary);\n      color: var(--primary);\n    }\n    .btn-danger { background: #dc3545; }\n    .btn-success { background: #10b981; }\n    .btn-sm { padding: 6px 16px; font-size: 12px; }\n    .btn:hover { opacity: 0.9; transform: translateY(-1px); }\n    .form-group { margin-bottom: 18px; }\n    .form-group label {\n      display: block;\n      font-weight: 600;\n      margin-bottom: 6px;\n      color: var(--primary);\n    }\n    .form-control {\n      width: 100%;\n      padding: 12px 16px;\n      border: 1.5px solid #e2e8f0;\n      border-radius: 12px;\n      font-size: 14px;\n      transition: border 0.2s;\n    }\n    .form-control:focus { border-color: var(--gold); outline: none; }\n    .row { display: flex; gap: 20px; flex-wrap: wrap; }\n    .col { flex: 1; min-width: 200px; }\n    table {\n      width: 100%;\n      border-collapse: collapse;\n      margin-top: 12px;\n      overflow-x: auto;\n      display: block;\n    }\n    th, td {\n      padding: 12px 14px;\n      border-bottom: 1px solid #e2e8f0;\n      text-align: left;\n      font-size: 14px;\n    }\n    th { background: #f8fafc; color: var(--primary); font-weight: 700; }\n    .badge {\n      display: inline-block;\n      padding: 4px 12px;\n      border-radius: 20px;\n      font-size: 12px;\n      font-weight: 600;\n    }\n    .badge-success { background: #d1fae5; color: #065f46; }\n    .badge-warning { background: #fef3c7; color: #b45309; }\n    .badge-danger { background: #fee2e2; color: #991b1b; }\n    .notification {\n      background: #fef3c7;\n      border-left: 4px solid #f59e0b;\n      padding: 14px;\n      border-radius: 12px;\n      margin-bottom: 12px;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      flex-wrap: wrap;\n    }\n    .auth-container {\n      max-width: 520px;\n      margin: 40px auto;\n      background: var(--card-bg);\n      border-radius: 28px;\n      padding: 36px;\n      box-shadow: var(--shadow);\n    }\n    .terms-box {\n      display: flex;\n      align-items: center;\n      gap: 10px;\n      margin: 16px 0;\n      font-size: 14px;\n    }\n    \/* SMM Services Grid *\/\n    .smm-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\n      gap: 16px;\n      margin-top: 20px;\n    }\n    .service-card {\n      background: #f8fafc;\n      border-radius: 20px;\n      padding: 16px;\n      text-align: center;\n      border: 1px solid #eef2ff;\n      transition: all 0.2s;\n    }\n    .service-card:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.05); }\n    .service-icon { font-size: 2rem; margin-bottom: 8px; }\n    .service-title { font-weight: 700; margin-bottom: 6px; }\n    .service-price { color: var(--gold); font-weight: 800; margin: 8px 0; }\n    .payment-details {\n      background: #f0fdf4;\n      border-radius: 16px;\n      padding: 16px;\n      margin: 16px 0;\n      border-left: 4px solid #10b981;\n    }\n    .flex-between { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }\n    @media (max-width: 768px) {\n      .sidebar { transform: translateX(-100%); width: 260px; }\n      .sidebar.open { transform: translateX(0); }\n      .main { margin-left: 0; padding: 20px 16px; }\n      .mobile-header { display: flex; }\n      .row { flex-direction: column; }\n    }\n  <\/style>\n<\/head>\n\n<body>\n  <!-- Sidebar -->\n  <aside class=\"sidebar\" id=\"sidebar\">\n    <div class=\"logo\">ADASE <span>ADS<\/span><\/div>\n    <nav>\n      <a href=\"#dashboard\" class=\"active\" data-section=\"dashboard\"><i class=\"fas fa-tachometer-alt\"><\/i> Dashboard<\/a>\n      <a href=\"#wallet\" data-section=\"wallet\"><i class=\"fas fa-wallet\"><\/i> Wallet<\/a>\n      <a href=\"#invest\" data-section=\"invest\"><i class=\"fas fa-file-invoice-dollar\"><\/i> Buy Notes<\/a>\n      <a href=\"#smm-services\" data-section=\"smm-services\"><i class=\"fas fa-chart-line\"><\/i> SMM Services<\/a>\n      <a href=\"#history-invest\" data-section=\"history-invest\"><i class=\"fas fa-chart-pie\"><\/i> Investments<\/a>\n      <a href=\"#history-tx\" data-section=\"history-tx\"><i class=\"fas fa-history\"><\/i> Transactions<\/a>\n      <a href=\"#\" id=\"logoutSidebar\"><i class=\"fas fa-sign-out-alt\"><\/i> Logout<\/a>\n      <a href=\"#\" id=\"adminSidebarLink\" style=\"margin-top:20px; border-top:1px solid rgba(255,255,255,0.2); padding-top:15px;\"><i class=\"fas fa-shield-alt\"><\/i> Admin Panel<\/a>\n    <\/nav>\n  <\/aside>\n\n  <div class=\"mobile-header\">\n    <button class=\"menu-toggle\" id=\"menuToggle\">\u2630<\/button>\n    <span style=\"font-weight:600;\">Adase Dashboard<\/span>\n  <\/div>\n\n  <main class=\"main\" id=\"mainContent\">\n    <!-- Auth Section -->\n    <div id=\"authSection\">\n      <div class=\"auth-container\">\n        <h2 style=\"text-align:center;\">Welcome to Adase Ads<\/h2>\n        <div style=\"display:flex; gap:12px; justify-content:center; margin-bottom:24px;\">\n          <button class=\"btn btn-gold\" onclick=\"showAuthTab('login')\">Login<\/button>\n          <button class=\"btn btn-outline\" onclick=\"showAuthTab('register')\">Register<\/button>\n        <\/div>\n        <div id=\"loginForm\">\n          <div class=\"form-group\"><label>Email<\/label><input type=\"email\" class=\"form-control\" id=\"loginEmail\" placeholder=\"you@example.com\"><\/div>\n          <div class=\"form-group\"><label>Password<\/label><input type=\"password\" class=\"form-control\" id=\"loginPassword\" placeholder=\"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\"><\/div>\n          <button class=\"btn btn-gold\" onclick=\"login()\" style=\"width:100%;\">Login<\/button>\n        <\/div>\n        <div id=\"registerForm\" style=\"display:none;\">\n          <div class=\"row\">\n            <div class=\"col\"><div class=\"form-group\"><label>First Name *<\/label><input type=\"text\" class=\"form-control\" id=\"regFirstName\"><\/div><\/div>\n            <div class=\"col\"><div class=\"form-group\"><label>Last Name *<\/label><input type=\"text\" class=\"form-control\" id=\"regLastName\"><\/div><\/div>\n          <\/div>\n          <div class=\"form-group\"><label>Email *<\/label><input type=\"email\" class=\"form-control\" id=\"regEmail\"><\/div>\n          <div class=\"row\">\n            <div class=\"col\"><div class=\"form-group\"><label>Country *<\/label><input type=\"text\" class=\"form-control\" id=\"regCountry\"><\/div><\/div>\n            <div class=\"col\"><div class=\"form-group\"><label>Mobile Number *<\/label><input type=\"text\" class=\"form-control\" id=\"regMobile\"><\/div><\/div>\n          <\/div>\n          <div class=\"form-group\"><label>NIN \/ Passport *<\/label><input type=\"text\" class=\"form-control\" id=\"regNIN\"><\/div>\n          <div class=\"row\">\n            <div class=\"col\"><div class=\"form-group\"><label>Password *<\/label><input type=\"password\" class=\"form-control\" id=\"regPassword\"><\/div><\/div>\n            <div class=\"col\"><div class=\"form-group\"><label>Confirm *<\/label><input type=\"password\" class=\"form-control\" id=\"regConfirmPassword\"><\/div><\/div>\n          <\/div>\n          <div class=\"terms-box\"><input type=\"checkbox\" id=\"acceptTerms\"> <label>I accept Terms &#038; Conditions<\/label><\/div>\n          <button class=\"btn btn-gold\" onclick=\"register()\" style=\"width:100%;\">Register<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- User Dashboard Sections -->\n    <div id=\"dashboardSections\" style=\"display:none;\">\n      <section class=\"section active\" id=\"section-dashboard\">\n        <h2>Dashboard<\/h2>\n        <div class=\"row\">\n          <div class=\"col\"><p style=\"color:#666;\">Wallet Balance<\/p><div class=\"wallet-balance\" id=\"balanceDisplay\">0 UGX<\/div><\/div>\n          <div class=\"col\" style=\"text-align:right;\"><span id=\"userNameDisplay\" style=\"font-weight:600;\"><\/span><\/div>\n        <\/div>\n        <div style=\"margin-top:20px; display:flex; gap:12px; flex-wrap:wrap;\">\n          <button class=\"btn btn-gold\" onclick=\"switchSection('wallet')\"><i class=\"fas fa-plus-circle\"><\/i> Add Money<\/button>\n          <button class=\"btn\" onclick=\"switchSection('invest')\"><i class=\"fas fa-file-invoice\"><\/i> Buy Notes<\/button>\n          <button class=\"btn btn-outline\" onclick=\"switchSection('smm-services')\"><i class=\"fab fa-facebook\"><\/i> SMM Services<\/button>\n        <\/div>\n        <h3 style=\"margin-top:28px;\"><i class=\"fas fa-bell\"><\/i> Notifications<\/h3>\n        <div id=\"notificationsPreview\"><\/div>\n      <\/section>\n\n      <section class=\"section\" id=\"section-wallet\">\n        <h2>Wallet Management<\/h2>\n        <div class=\"row\">\n          <div class=\"col\"><h3>Add Money<\/h3><div class=\"form-group\"><label>Amount (UGX)<\/label><input type=\"number\" class=\"form-control\" id=\"topupAmount\" placeholder=\"e.g., 500000\"><\/div><button class=\"btn btn-gold\" onclick=\"submitTopup()\">Request Top-up<\/button><\/div>\n          <div class=\"col\"><h3>Withdraw<\/h3><div class=\"form-group\"><label>Amount (UGX)<\/label><input type=\"number\" class=\"form-control\" id=\"withdrawAmount\" placeholder=\"e.g., 200000\"><\/div><button class=\"btn btn-outline\" onclick=\"submitWithdraw()\">Request Withdrawal<\/button><\/div>\n        <\/div>\n        <div style=\"margin-top:30px;\"><h3>Transfer to User<\/h3><div class=\"row\"><div class=\"col\"><input type=\"email\" class=\"form-control\" id=\"transferEmail\" placeholder=\"Recipient Email\"><\/div><div class=\"col\"><input type=\"number\" class=\"form-control\" id=\"transferAmount\" placeholder=\"Amount UGX\"><\/div><\/div><button class=\"btn\" onclick=\"submitTransfer()\" style=\"margin-top:12px;\">Request Transfer<\/button><\/div>\n      <\/section>\n\n      <section class=\"section\" id=\"section-invest\">\n        <h2>Buy Convertible Notes<\/h2>\n        <p style=\"margin-bottom:16px;\">Minimum 100,000 UGX. 17% p.a. interest, 3-year maturity.<\/p>\n        <div class=\"row\"><div class=\"col\"><input type=\"number\" class=\"form-control\" id=\"investAmount\" placeholder=\"Amount (UGX)\" min=\"100000\"><\/div><div class=\"col\"><button class=\"btn btn-gold\" onclick=\"buyAndDownload()\">Buy &#038; Download Certificate<\/button><\/div><\/div>\n        <p id=\"investMsg\" style=\"margin-top:12px;\"><\/p>\n      <\/section>\n\n      <!-- SMM SERVICES SECTION (Facebook, Instagram, YouTube) -->\n      <section class=\"section\" id=\"section-smm-services\">\n        <h2><i class=\"fab fa-facebook\"><\/i> Social Media Marketing<\/h2>\n        <div id=\"smmServicesPanel\"><\/div>\n      <\/section>\n\n      <section class=\"section\" id=\"section-history-invest\">\n        <h2>Investment History<\/h2>\n        <div style=\"overflow-x:auto;\"><table id=\"investHistoryTable\"><thead><tr><th>Certificate No<\/th><th>Principal<\/th><th>Date<\/th><th>Download<\/th><\/tr><\/thead><tbody id=\"investHistoryBody\"><\/tbody><\/table><\/div>\n      <\/section>\n\n      <section class=\"section\" id=\"section-history-tx\">\n        <h2>Transaction History<\/h2>\n        <div style=\"overflow-x:auto;\"><table><thead><tr><th>Type<\/th><th>Amount<\/th><th>Status<\/th><th>Date<\/th><th>Note<\/th><\/tr><\/thead><tbody id=\"txHistoryBody\"><\/tbody><\/table><\/div>\n      <\/section>\n    <\/div>\n\n    <!-- Admin Panel -->\n    <div id=\"adminPanel\" style=\"display:none;\">\n      <div style=\"margin-bottom:20px; display:flex; gap:10px; flex-wrap:wrap;\">\n        <button class=\"btn\" onclick=\"switchToUserView()\"><i class=\"fas fa-arrow-left\"><\/i> User Dashboard<\/button>\n        <button class=\"btn\" onclick=\"switchSection('admin-requests')\"><i class=\"fas fa-exchange-alt\"><\/i> Requests<\/button>\n        <button class=\"btn\" onclick=\"switchSection('admin-users')\"><i class=\"fas fa-users\"><\/i> Users<\/button>\n        <button class=\"btn btn-outline\" onclick=\"switchSection('admin-notify')\"><i class=\"fas fa-bell\"><\/i> Notify<\/button>\n        <button class=\"btn btn-danger\" onclick=\"adminLogout()\">Logout Admin<\/button>\n      <\/div>\n      <section class=\"section active\" id=\"section-admin-requests\"><h2>Pending Requests<\/h2><button class=\"btn\" onclick=\"loadAdminRequests()\">Refresh<\/button><div id=\"adminRequestsContainer\"><\/div><\/section>\n      <section class=\"section\" id=\"section-admin-users\"><h2>All Registered Users<\/h2><button class=\"btn btn-gold\" onclick=\"exportUsersToCSV()\">Download CSV<\/button><div style=\"overflow-x:auto; margin-top:20px;\"><table><thead><tr><th>ID<\/th><th>Full Name<\/th><th>Email<\/th><th>Country<\/th><th>Mobile<\/th><th>Wallet<\/th><\/tr><\/thead><tbody id=\"adminUsersContainer\"><\/tbody><\/table><\/div><\/section>\n      <section class=\"section\" id=\"section-admin-notify\"><h2>Send Notification<\/h2><input type=\"text\" class=\"form-control\" id=\"notifyUserId\" placeholder=\"User ID\"><textarea class=\"form-control\" id=\"notifyMsg\" rows=\"2\" placeholder=\"Message\"><\/textarea><button class=\"btn\" onclick=\"adminSendNotification()\" style=\"margin-top:12px;\">Send<\/button><\/section>\n    <\/div>\n\n    <div id=\"adminLoginSection\" style=\"display:none;\">\n      <div class=\"auth-container\"><h2>Admin Login<\/h2><input type=\"password\" class=\"form-control\" id=\"adminPassword\" placeholder=\"Admin Password\"><button class=\"btn btn-gold\" onclick=\"adminLogin()\" style=\"width:100%;margin-top:16px;\">Login<\/button><\/div>\n    <\/div>\n  <\/main>\n\n  <script>\n    \/\/ ==================== CONSTANTS & DATA ====================\n    const ADMIN_PASSWORD = \"Equity.Get.shares2026##\";\n    const USD_TO_UGX = 3800;\n    const SMM_PACKAGES = {\n      facebook: [\n        { name: \"Facebook Followers\", desc: \"1000 Followers\", priceUSD: 10, priceUGX: 10 * 3800, icon: \"fab fa-facebook\" },\n        { name: \"Facebook Views\", desc: \"2000 Views\", priceUSD: 5, priceUGX: 5 * 3800, icon: \"fab fa-facebook\" },\n        { name: \"Facebook Likes\", desc: \"1000 Likes\", priceUSD: 5, priceUGX: 5 * 3800, icon: \"fab fa-facebook\" },\n        { name: \"Facebook Shares\", desc: \"500 Shares\", priceUSD: 5, priceUGX: 5 * 3800, icon: \"fab fa-facebook\" }\n      ],\n      instagram: [\n        { name: \"Instagram Views\", desc: \"1000 Views\", priceUSD: 10, priceUGX: 10 * 3800, icon: \"fab fa-instagram\" },\n        { name: \"Instagram Views (Bulk)\", desc: \"5000 Views\", priceUSD: 5, priceUGX: 5 * 3800, icon: \"fab fa-instagram\" },\n        { name: \"Instagram Likes\", desc: \"5000 Likes\", priceUSD: 5, priceUGX: 5 * 3800, icon: \"fab fa-instagram\" },\n        { name: \"Instagram Reposts\", desc: \"1000 Reposts\", priceUSD: 5, priceUGX: 5 * 3800, icon: \"fab fa-instagram\" }\n      ],\n      youtube: [\n        { name: \"YouTube Subscribers\", desc: \"100 Subscribers\", priceUSD: 10, priceUGX: 10 * 3800, icon: \"fab fa-youtube\" },\n        { name: \"YouTube Live Views\", desc: \"500 Live Views (30 min)\", priceUSD: 10, priceUGX: 10 * 3800, icon: \"fab fa-youtube\" },\n        { name: \"YouTube Video Views\", desc: \"10,000 Views\", priceUSD: 50, priceUGX: 50 * 3800, icon: \"fab fa-youtube\" },\n        { name: \"YouTube Watch Hours\", desc: \"500 Genuine Hours\", priceUSD: 100, priceUGX: 100 * 3800, icon: \"fab fa-youtube\" },\n        { name: \"YouTube Likes\", desc: \"100 Likes\", priceUSD: 10, priceUGX: 10 * 3800, icon: \"fab fa-youtube\" }\n      ]\n    };\n    let currentUser = null, adminToken = false;\n    let smmOrders = [], fundingRequests = [];\n\n    function loadData() {\n      let users = JSON.parse(localStorage.getItem('adase_users') || '[]');\n      let transactions = JSON.parse(localStorage.getItem('adase_transactions') || '[]');\n      let investments = JSON.parse(localStorage.getItem('adase_investments') || '[]');\n      let notifications = JSON.parse(localStorage.getItem('adase_notifications') || '[]');\n      smmOrders = JSON.parse(localStorage.getItem('adase_smm_orders') || '[]');\n      fundingRequests = JSON.parse(localStorage.getItem('adase_funding_requests') || '[]');\n      if (users.length === 0) {\n        users.push({ id: 'admin', firstName: 'Admin', lastName: 'Equity', email: 'equity@cashchat.se', password: ADMIN_PASSWORD, role: 'admin', walletBalance: 0, country: 'Uganda', mobile: '0000000000', nin: 'ADMIN123', createdAt: new Date().toISOString() });\n        users.push({ id: 'user1', firstName: 'John', lastName: 'Investor', email: 'john@example.com', password: 'password123', role: 'user', walletBalance: 500000, country: 'Uganda', mobile: '+256700000001', nin: 'NIN123', createdAt: new Date().toISOString() });\n        saveData(users, transactions, investments, notifications);\n      } else {\n        const adminIdx = users.findIndex(u => u.role === 'admin');\n        if (adminIdx !== -1) users[adminIdx].password = ADMIN_PASSWORD;\n        else users.push({ id: 'admin', firstName: 'Admin', lastName: 'System', email: 'equity@cashchat.se', password: ADMIN_PASSWORD, role: 'admin', walletBalance: 0, country: '', mobile: '', nin: '', createdAt: new Date().toISOString() });\n        saveData(users, transactions, investments, notifications);\n      }\n      return { users, transactions, investments, notifications };\n    }\n    function saveData(users, transactions, investments, notifications) {\n      localStorage.setItem('adase_users', JSON.stringify(users));\n      localStorage.setItem('adase_transactions', JSON.stringify(transactions));\n      localStorage.setItem('adase_investments', JSON.stringify(investments));\n      localStorage.setItem('adase_notifications', JSON.stringify(notifications));\n      localStorage.setItem('adase_smm_orders', JSON.stringify(smmOrders));\n      localStorage.setItem('adase_funding_requests', JSON.stringify(fundingRequests));\n    }\n    function getCurrentUserFromStore() { return currentUser ? loadData().users.find(u => u.id === currentUser.id) : null; }\n    function updateCurrentUser(updated) { const d = loadData(); const idx = d.users.findIndex(u => u.id === updated.id); if (idx !== -1) d.users[idx] = updated; saveData(d.users, d.transactions, d.investments, d.notifications); currentUser = updated; }\n\n    \/\/ UI Helpers\n    function showAuthTab(tab) { document.getElementById('loginForm').style.display = tab === 'login' ? 'block' : 'none'; document.getElementById('registerForm').style.display = tab === 'register' ? 'block' : 'none'; }\n    function switchSection(name) { document.querySelectorAll('.section').forEach(s => s.classList.remove('active')); const target = document.getElementById(`section-${name}`); if (target) target.classList.add('active'); document.getElementById('sidebar')?.classList.remove('open'); if (name === 'history-invest') fetchInvestments(); if (name === 'history-tx') fetchTransactions(); if (name === 'smm-services') renderSmmServices(); }\n\n    \/\/ Auth\n    function login() {\n      const email = document.getElementById('loginEmail').value.trim(), pwd = document.getElementById('loginPassword').value;\n      const { users } = loadData();\n      const user = users.find(u => u.email === email && u.password === pwd);\n      if (!user) return alert('Invalid credentials');\n      if (user.role === 'admin') return alert('Use Admin Panel from sidebar');\n      currentUser = user;\n      document.getElementById('authSection').style.display = 'none';\n      document.getElementById('dashboardSections').style.display = 'block';\n      document.getElementById('adminPanel').style.display = 'none';\n      document.getElementById('adminLoginSection').style.display = 'none';\n      document.getElementById('userNameDisplay').innerText = `${user.firstName} ${user.lastName}`;\n      updateBalanceUI(user.walletBalance);\n      fetchNotifications(); fetchInvestments(); fetchTransactions(); renderSmmServices();\n      switchSection('dashboard');\n    }\n    function register() {\n      const fn = document.getElementById('regFirstName').value.trim(), ln = document.getElementById('regLastName').value.trim(), email = document.getElementById('regEmail').value.trim(), country = document.getElementById('regCountry').value.trim(), mobile = document.getElementById('regMobile').value.trim(), nin = document.getElementById('regNIN').value.trim(), pwd = document.getElementById('regPassword').value, conf = document.getElementById('regConfirmPassword').value;\n      if (!fn || !ln || !email || !country || !mobile || !nin || !pwd) return alert('All fields required');\n      if (pwd !== conf) return alert('Passwords mismatch');\n      if (!document.getElementById('acceptTerms').checked) return alert('Accept Terms');\n      const { users, transactions, investments, notifications } = loadData();\n      if (users.find(u => u.email === email)) return alert('Email exists');\n      const newUser = { id: 'u' + Date.now(), firstName: fn, lastName: ln, email, country, mobile, nin, password: pwd, role: 'user', walletBalance: 0, createdAt: new Date().toISOString() };\n      users.push(newUser);\n      saveData(users, transactions, investments, notifications);\n      alert('Registered! Please login.');\n      showAuthTab('login');\n    }\n    function userLogout() { currentUser = null; document.getElementById('authSection').style.display = 'block'; document.getElementById('dashboardSections').style.display = 'none'; document.getElementById('adminPanel').style.display = 'none'; document.getElementById('adminLoginSection').style.display = 'none'; }\n    function updateBalanceUI(balance) { document.getElementById('balanceDisplay').innerText = balance.toLocaleString() + ' UGX'; }\n\n    \/\/ Wallet Actions\n    function submitTopup() { const amount = parseFloat(document.getElementById('topupAmount').value); if (!amount || amount <= 0) return alert('Valid amount'); const user = getCurrentUserFromStore(); if (!user) return; const { users, transactions, investments, notifications } = loadData(); transactions.push({ id: 'tx' + Date.now(), userId: user.id, type: 'topup', amount, status: 'pending', createdAt: new Date().toISOString(), description: `Top-up UGX ${amount}` }); saveData(users, transactions, investments, notifications); alert('Request sent to admin.'); fetchTransactions(); }\n    function submitWithdraw() { const amount = parseFloat(document.getElementById('withdrawAmount').value); const user = getCurrentUserFromStore(); if (!user || user.walletBalance < amount) return alert('Insufficient balance'); const { users, transactions, investments, notifications } = loadData(); transactions.push({ id: 'tx' + Date.now(), userId: user.id, type: 'withdraw', amount, status: 'pending', createdAt: new Date().toISOString(), description: `Withdraw UGX ${amount}` }); saveData(users, transactions, investments, notifications); alert('Request sent.'); fetchTransactions(); }\n    function submitTransfer() { const toEmail = document.getElementById('transferEmail').value.trim(), amount = parseFloat(document.getElementById('transferAmount').value); const user = getCurrentUserFromStore(); if (!user || user.walletBalance < amount) return alert('Insufficient balance'); const { users, transactions, investments, notifications } = loadData(); const recipient = users.find(u => u.email === toEmail); if (!recipient) return alert('Recipient not found'); transactions.push({ id: 'tx' + Date.now(), userId: user.id, type: 'transfer', amount, toUserId: recipient.id, toUserEmail: recipient.email, status: 'pending', createdAt: new Date().toISOString(), description: `Transfer to ${recipient.email}` }); saveData(users, transactions, investments, notifications); alert('Transfer request sent.'); fetchTransactions(); }\n\n    \/\/ Investments\n    async function buyAndDownload() { const principal = parseFloat(document.getElementById('investAmount').value); if (principal < 100000) return alert('Minimum 100,000 UGX'); const user = getCurrentUserFromStore(); if (!user || user.walletBalance < principal) return alert('Insufficient balance'); user.walletBalance -= principal; const certNumber = 'ADASE-' + Date.now(); const { users, transactions, investments, notifications } = loadData(); investments.push({ id: 'inv' + Date.now(), userId: user.id, certificateNumber: certNumber, principal, issuedAt: new Date().toISOString(), interestRate: 17 }); transactions.push({ id: 'tx' + Date.now(), userId: user.id, type: 'investment', amount: principal, status: 'approved', createdAt: new Date().toISOString(), description: `Note ${certNumber}` }); const idx = users.findIndex(u => u.id === user.id); users[idx] = user; saveData(users, transactions, investments, notifications); currentUser = user; updateBalanceUI(user.walletBalance); alert(`Investment successful! Certificate: ${certNumber}`); fetchInvestments(); fetchTransactions(); generateCertificate(certNumber, principal, `${user.firstName} ${user.lastName}`); document.getElementById('investAmount').value = ''; }\n    async function generateCertificate(certNumber, amount, name) { const wrapper = document.createElement('div'); wrapper.style.position = 'absolute'; wrapper.style.left = '-9999px'; wrapper.innerHTML = `<div style=\"width:700px;padding:30px;background:#fff;border:4px double #0a1f44;\"><h2 style=\"color:#0a1f44;\">ADASE ADS LTD<\/h2><p>Certificate: ${certNumber}<br>Investor: ${name}<br>Amount: UGX ${amount.toLocaleString()}<br>Date: ${new Date().toISOString().split('T')[0]}<\/p><\/div>`; document.body.appendChild(wrapper); const canvas = await html2canvas(wrapper.firstChild); document.body.removeChild(wrapper); const link = document.createElement('a'); link.download = `Adase_${certNumber}.png`; link.href = canvas.toDataURL(); link.click(); }\n    function fetchInvestments() { const user = getCurrentUserFromStore(); if (!user) return; const { investments } = loadData(); const my = investments.filter(i => i.userId === user.id); const tbody = document.getElementById('investHistoryBody'); tbody.innerHTML = my.length ? my.map(i => `<tr><td>${i.certificateNumber}<\/td><td>${i.principal.toLocaleString()} UGX<\/td><td>${new Date(i.issuedAt).toLocaleDateString()}<\/td><td><button class=\"btn-sm btn\" onclick=\"generateCertificate('${i.certificateNumber}',${i.principal},'${user.firstName} ${user.lastName}')\">Download<\/button><\/td><\/tr>`).join('') : '<tr><td colspan=\"4\">No investments<\/td><\/tr>'; }\n    function fetchTransactions() { const user = getCurrentUserFromStore(); if (!user) return; const { transactions } = loadData(); const my = transactions.filter(t => t.userId === user.id).sort((a,b)=>new Date(b.createdAt)-new Date(a.createdAt)); document.getElementById('txHistoryBody').innerHTML = my.length ? my.map(t => `<tr><td>${t.type}<\/td><td>${t.amount.toLocaleString()} UGX<\/td><td><span class=\"badge ${t.status==='approved'?'badge-success':t.status==='pending'?'badge-warning':'badge-danger'}\">${t.status}<\/span><\/td><td>${new Date(t.createdAt).toLocaleString()}<\/td><td>${t.description||''}<\/td><\/tr>`).join('') : '<tr><td colspan=\"5\">No transactions<\/td><\/tr>'; }\n    function fetchNotifications() { const user = getCurrentUserFromStore(); if (!user) return; const { notifications } = loadData(); const userNotifs = notifications.filter(n => n.userId === user.id && !n.dismissed); document.getElementById('notificationsPreview').innerHTML = userNotifs.length ? userNotifs.map(n => `<div class=\"notification\"><span>${n.message}<\/span><button class=\"btn-sm btn\" onclick=\"dismissNotif('${n.id}')\">Dismiss<\/button><\/div>`).join('') : '<p>No new notifications<\/p>'; }\n    function dismissNotif(id) { const d = loadData(); const n = d.notifications.find(n => n.id === id); if (n) n.dismissed = true; saveData(d.users, d.transactions, d.investments, d.notifications); fetchNotifications(); }\n\n    \/\/ SMM SERVICES with Payment Prompt & Admin Approval\n    function showPaymentPrompt(amountUGX, callback) {\n      const modalDiv = document.createElement('div'); modalDiv.className = 'modal'; modalDiv.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);z-index:2000;display:flex;justify-content:center;align-items:center;';\n      modalDiv.innerHTML = `<div style=\"background:white;border-radius:28px;max-width:450px;width:90%;padding:28px;\"><h3><i class=\"fas fa-credit-card\"><\/i> Complete Payment<\/h3><div class=\"payment-details\"><p><strong>Amount: ${amountUGX.toLocaleString()} UGX<\/strong><\/p><hr><p><i class=\"fas fa-phone-alt\"><\/i> MTN: 256775036603<\/p><p><i class=\"fas fa-phone-alt\"><\/i> M-Pesa: 254143408847<\/p><p><i class=\"fab fa-paypal\"><\/i> PayPal: <a href=\"https:\/\/paypal.me\/boldcashers\" target=\"_blank\">paypal.me\/boldcashers<\/a><\/p><\/div><input id=\"txnRef\" class=\"form-control\" placeholder=\"Transaction Reference\"><div class=\"flex-between\" style=\"margin-top:20px;\"><button id=\"submitPaymentBtn\" class=\"btn btn-success\">Submit for Approval<\/button><button id=\"cancelModalBtn\" class=\"btn btn-outline\">Cancel<\/button><\/div><\/div>`;\n      document.body.appendChild(modalDiv);\n      modalDiv.querySelector('#submitPaymentBtn').onclick = () => { const ref = modalDiv.querySelector('#txnRef').value.trim(); if (!ref) { alert('Enter transaction reference'); return; } modalDiv.remove(); callback(ref); };\n      modalDiv.querySelector('#cancelModalBtn').onclick = () => modalDiv.remove();\n    }\n    function renderSmmServices() {\n      const container = document.getElementById('smmServicesPanel'); if (!container) return;\n      let html = '';\n      for (const [platform, services] of Object.entries(SMM_PACKAGES)) {\n        html += `<div class=\"card\" style=\"margin-bottom:24px;\"><h3><i class=\"${services[0].icon}\"><\/i> ${platform.charAt(0).toUpperCase() + platform.slice(1)} Services<\/h3><div class=\"smm-grid\">`;\n        services.forEach(svc => { html += `<div class=\"service-card\"><div class=\"service-icon\"><i class=\"${svc.icon}\"><\/i><\/div><div class=\"service-title\">${svc.name}<\/div><div class=\"service-desc\" style=\"font-size:12px;color:#666;\">${svc.desc}<\/div><div class=\"service-price\">${svc.priceUSD} USD (${svc.priceUGX.toLocaleString()} UGX)<\/div><button class=\"btn btn-gold btn-sm\" data-svc='${JSON.stringify(svc)}'>Purchase<\/button><\/div>`; });\n        html += `<\/div><\/div>`;\n      }\n      container.innerHTML = html;\n      document.querySelectorAll('[data-svc]').forEach(btn => {\n        btn.addEventListener('click', () => {\n          const svc = JSON.parse(btn.dataset.svc);\n          const user = getCurrentUserFromStore();\n          if (!user) return alert('Please login');\n          if (user.walletBalance >= svc.priceUGX) {\n            if (confirm(`Purchase ${svc.name} for ${svc.priceUGX.toLocaleString()} UGX? Amount will be deducted from wallet.`)) {\n              user.walletBalance -= svc.priceUGX;\n              const { users, transactions, investments, notifications } = loadData();\n              smmOrders.push({ id: 'smm' + Date.now(), userId: user.id, userName: `${user.firstName} ${user.lastName}`, platform: svc.icon, service: svc.name, amountUGX: svc.priceUGX, status: 'pending', date: new Date().toISOString() });\n              transactions.push({ id: 'tx' + Date.now(), userId: user.id, type: 'smm_purchase', amount: svc.priceUGX, status: 'approved', createdAt: new Date().toISOString(), description: `${svc.name} (${svc.desc})` });\n              const idx = users.findIndex(u => u.id === user.id); users[idx] = user;\n              saveData(users, transactions, investments, notifications);\n              updateCurrentUser(user); updateBalanceUI(user.walletBalance);\n              alert(`\u2705 Order placed for ${svc.name}. Admin will process.`);\n              renderSmmServices();\n            }\n          } else {\n            showPaymentPrompt(svc.priceUGX, (ref) => {\n              fundingRequests.push({ id: 'fund' + Date.now(), userId: user.id, userName: `${user.firstName} ${user.lastName}`, amount: svc.priceUGX, transactionRef: ref, service: svc.name, status: 'pending', createdAt: new Date().toISOString() });\n              const d = loadData(); saveData(d.users, d.transactions, d.investments, d.notifications);\n              alert(`Funding request for ${svc.priceUGX.toLocaleString()} UGX submitted. Await admin approval.`);\n            });\n          }\n        });\n      });\n    }\n\n    \/\/ Admin Functions\n    function adminLogin() { if (document.getElementById('adminPassword').value === ADMIN_PASSWORD) { adminToken = true; localStorage.setItem('adminToken', 'true'); showAdminPanel(); } else alert('Wrong password'); }\n    function showAdminPanel() { document.getElementById('authSection').style.display = 'none'; document.getElementById('dashboardSections').style.display = 'none'; document.getElementById('adminPanel').style.display = 'block'; document.getElementById('adminLoginSection').style.display = 'none'; switchSection('admin-requests'); loadAdminRequests(); }\n    function adminLogout() { adminToken = false; localStorage.removeItem('adminToken'); if (currentUser) switchToUserView(); else location.reload(); }\n    function switchToUserView() { if (currentUser) { document.getElementById('authSection').style.display = 'none'; document.getElementById('dashboardSections').style.display = 'block'; document.getElementById('adminPanel').style.display = 'none'; document.getElementById('adminLoginSection').style.display = 'none'; switchSection('dashboard'); } else location.reload(); }\n    function loadAdminRequests() { const { users, transactions } = loadData(); const pending = transactions.filter(t => t.status === 'pending'); const topups = pending.filter(t => t.type === 'topup'), withdraws = pending.filter(t => t.type === 'withdraw'), transfers = pending.filter(t => t.type === 'transfer'); let html = `<h3>Top-ups<\/h3>${renderReqTable(topups, users, 'topup')}<h3>Withdrawals<\/h3>${renderReqTable(withdraws, users, 'withdraw')}<h3>Transfers<\/h3>${renderReqTable(transfers, users, 'transfer')}<h3>Pending SMM Orders<\/h3>${renderSmmOrdersTable()}`; document.getElementById('adminRequestsContainer').innerHTML = html; attachAdminEvents(); }\n    function renderReqTable(items, users, type) { if (!items.length) return '<p>None<\/p>'; let html = '<table><thead><tr><th>User<\/th><th>Amount<\/th><th>Actions<\/th><\/tr><\/thead><tbody>'; items.forEach(item => { const u = users.find(u => u.id === item.userId); html += `<tr><td>${u ? `${u.firstName} ${u.lastName}` : 'Unknown'}<br><small>${u?.email}<\/small><\/td><td>${item.amount.toLocaleString()} UGX<\/td><td><button class=\"btn-sm btn-success\" data-tx=\"${item.id}\" data-action=\"approve\">Approve<\/button> <button class=\"btn-sm btn-outline\" data-tx=\"${item.id}\" data-action=\"decline\">Decline<\/button><\/td><\/tr>`; }); html += '<\/tbody><\/table>'; return html; }\n    function renderSmmOrdersTable() { const pendingOrders = smmOrders.filter(o => o.status === 'pending'); if (!pendingOrders.length) return '<p>No pending SMM orders<\/p>'; let html = '<table><thead><tr><th>User<\/th><th>Service<\/th><th>Amount<\/th><th>Actions<\/th><\/tr><\/thead><tbody>'; pendingOrders.forEach(o => { html += `<tr><td>${o.userName}<\/td><td>${o.service}<\/td><td>${o.amountUGX.toLocaleString()} UGX<\/td><td><button class=\"btn-sm btn-success\" data-smm=\"${o.id}\" data-action=\"complete\">Complete Order<\/button><\/td><\/tr>`; }); html += '<\/tbody><\/table>'; return html; }\n    function attachAdminEvents() { document.querySelectorAll('[data-tx]').forEach(btn => { btn.addEventListener('click', () => { const txId = btn.dataset.tx, action = btn.dataset.action; const d = loadData(); const tx = d.transactions.find(t => t.id === txId); if (!tx) return; const user = d.users.find(u => u.id === tx.userId); if (action === 'approve') { tx.status = 'approved'; if (tx.type === 'topup') user.walletBalance += tx.amount; else if (tx.type === 'withdraw') { if (user.walletBalance >= tx.amount) user.walletBalance -= tx.amount; else tx.status = 'declined'; } else if (tx.type === 'transfer') { const recipient = d.users.find(u => u.id === tx.toUserId); if (user.walletBalance >= tx.amount && recipient) { user.walletBalance -= tx.amount; recipient.walletBalance += tx.amount; } else tx.status = 'declined'; } saveData(d.users, d.transactions, d.investments, d.notifications); if (currentUser && currentUser.id === user.id) updateBalanceUI(user.walletBalance); loadAdminRequests(); } else { tx.status = 'declined'; saveData(d.users, d.transactions, d.investments, d.notifications); loadAdminRequests(); } }); }); document.querySelectorAll('[data-smm]').forEach(btn => { btn.addEventListener('click', () => { const orderId = btn.dataset.smm; const order = smmOrders.find(o => o.id === orderId); if (order) { order.status = 'completed'; localStorage.setItem('adase_smm_orders', JSON.stringify(smmOrders)); alert(`Order completed: ${order.service}`); loadAdminRequests(); } }); }); }\n    function loadAdminUsers() { const { users } = loadData(); const normal = users.filter(u => u.role !== 'admin'); document.getElementById('adminUsersContainer').innerHTML = normal.map(u => `<tr><td>${u.id}<\/td><td>${u.firstName} ${u.lastName}<\/td><td>${u.email}<\/td><td>${u.country || '\u2014'}<\/td><td>${u.mobile || '\u2014'}<\/td><td>${u.walletBalance.toLocaleString()} UGX<\/td><\/tr>`).join(''); }\n    function exportUsersToCSV() { const { users } = loadData(); const normal = users.filter(u => u.role !== 'admin'); if (!normal.length) return alert('No users'); const headers = ['ID','First Name','Last Name','Email','Country','Mobile','Wallet','Registered']; const rows = normal.map(u => [u.id, u.firstName, u.lastName, u.email, u.country, u.mobile, u.walletBalance, new Date(u.createdAt).toLocaleDateString()]); const csv = [headers, ...rows].map(r => r.map(c => `\"${c}\"`).join(',')).join('\\n'); const blob = new Blob([csv], {type:'text\/csv'}); const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = 'adase_users.csv'; a.click(); URL.revokeObjectURL(a.href); }\n    function adminSendNotification() { const userId = document.getElementById('notifyUserId').value.trim(), msg = document.getElementById('notifyMsg').value.trim(); if (!userId || !msg) return alert('Fill both'); const d = loadData(); const user = d.users.find(u => u.id === userId); if (!user) return alert('User not found'); d.notifications.push({ id: 'notif' + Date.now(), userId, message: msg, createdAt: new Date().toISOString(), dismissed: false }); saveData(d.users, d.transactions, d.investments, d.notifications); alert('Notification sent'); }\n    function switchSectionAdmin(name) { document.querySelectorAll('#adminPanel .section').forEach(s => s.classList.remove('active')); document.getElementById(`section-${name}`)?.classList.add('active'); if (name === 'admin-users') loadAdminUsers(); if (name === 'admin-requests') loadAdminRequests(); }\n\n    \/\/ Event Listeners & Init\n    document.querySelectorAll('.sidebar nav a[data-section]').forEach(a => a.addEventListener('click', e => { e.preventDefault(); switchSection(a.dataset.section); }));\n    document.getElementById('logoutSidebar')?.addEventListener('click', e => { e.preventDefault(); userLogout(); });\n    document.getElementById('adminSidebarLink')?.addEventListener('click', e => { e.preventDefault(); document.getElementById('authSection').style.display = 'none'; document.getElementById('dashboardSections').style.display = 'none'; document.getElementById('adminPanel').style.display = 'none'; document.getElementById('adminLoginSection').style.display = 'block'; });\n    document.getElementById('menuToggle')?.addEventListener('click', () => document.getElementById('sidebar').classList.toggle('open'));\n    window.switchSection = switchSection; window.submitTopup = submitTopup; window.submitWithdraw = submitWithdraw; window.submitTransfer = submitTransfer; window.buyAndDownload = buyAndDownload; window.generateCertificate = generateCertificate; window.login = login; window.register = register; window.showAuthTab = showAuthTab; window.dismissNotif = dismissNotif; window.adminLogin = adminLogin; window.adminLogout = adminLogout; window.switchToUserView = switchToUserView; window.loadAdminRequests = loadAdminRequests; window.loadAdminUsers = loadAdminUsers; window.exportUsersToCSV = exportUsersToCSV; window.adminSendNotification = adminSendNotification; window.switchSectionAdmin = switchSectionAdmin;\n\n    if (localStorage.getItem('adminToken') === 'true') showAdminPanel();\n    else { const stored = localStorage.getItem('adase_current_user'); if (stored) { try { currentUser = JSON.parse(stored); document.getElementById('authSection').style.display = 'none'; document.getElementById('dashboardSections').style.display = 'block'; updateBalanceUI(currentUser.walletBalance); document.getElementById('userNameDisplay').innerText = `${currentUser.firstName} ${currentUser.lastName}`; fetchNotifications(); fetchInvestments(); fetchTransactions(); renderSmmServices(); switchSection('dashboard'); } catch(e) {} } }\n    window.addEventListener('beforeunload', () => { if (currentUser) localStorage.setItem('adase_current_user', JSON.stringify(currentUser)); else localStorage.removeItem('adase_current_user'); });\n  <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Adase Ads \u2013 Complete Dashboard | Digital Advertising &#038; SMM ADASE ADS Dashboard Wallet Buy Notes SMM Services Investments Transactions Logout Admin Panel \u2630 Adase Dashboard Welcome to Adase Ads Login Register Email Password Login First Name * Last Name * Email * Country * Mobile Number * NIN \/ Passport * Password * Confirm [&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-226","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/pages\/226","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=226"}],"version-history":[{"count":2,"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/pages\/226\/revisions"}],"predecessor-version":[{"id":229,"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/pages\/226\/revisions\/229"}],"wp:attachment":[{"href":"https:\/\/cashchat.se\/dir\/wp-json\/wp\/v2\/media?parent=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}