Skip to content

Thesam01/HUB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

<title>M&A Hub | Institutional Intelligence Platform</title> <style> /* ── CSS STYLES (Preserved & Enhanced) ── */ * { margin:0; padding:0; box-sizing:border-box; } :root { --bg-primary:#ffffff; --bg-secondary:#f8f9fa; --bg-tertiary:#f0f2f5; --text-primary:#1a1a2e; --text-secondary:#4a4a6a; --text-tertiary:#7a7a8a; --border-color:#e0e0e0; --accent-gold:#c9a84c; --accent-gold-dim:#8b7a3a; --accent-green:#4caf7d; --accent-red:#cf4444; --accent-blue:#4a8fc1; --accent-purple:#7c3aed; --shadow-sm:0 2px 8px rgba(0,0,0,0.08); --shadow-md:0 4px 16px rgba(0,0,0,0.12); --shadow-lg:0 8px 32px rgba(0,0,0,0.15); } :root.dark-mode { --bg-primary:#0a0a0f; --bg-secondary:#15151d; --bg-tertiary:#1f1f2a; --text-primary:#e8e8f0; --text-secondary:#b8b8c8; --text-tertiary:#7a7a8a; --border-color:#2a2a35; --shadow-sm:0 2px 8px rgba(0,0,0,0.3); --shadow-md:0 4px 16px rgba(0,0,0,0.4); --shadow-lg:0 8px 32px rgba(0,0,0,0.5); } body{background:var(--bg-primary);color:var(--text-primary);font-family:'Poppins',sans-serif;line-height:1.6;transition:background-color .3s ease;}
    /* Navigation */
    nav{position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;z-index:1000;height:70px;box-shadow:var(--shadow-sm);}
    .dark-mode nav{background:rgba(10,10,15,.95);}
    .nav-logo{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:800;color:var(--text-primary);text-decoration:none;cursor:pointer;}
    .nav-logo span{color:var(--accent-gold);}
    .nav-center{display:flex;gap:2.5rem;list-style:none;}
    .nav-center a{color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;cursor:pointer;transition: 0.2s;}
    .nav-center a:hover, .nav-center a.active{color:var(--accent-gold);}
    .nav-right{display:flex;gap:1rem;align-items:center;}
    
    .btn-icon-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:50%;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;}
    .btn-icon-btn:hover{background:var(--accent-gold);color:white;}

    /* Ticker */
    .ticker{position:fixed;top:70px;left:0;right:0;background:var(--bg-secondary);border-bottom:2px solid var(--accent-gold);padding:.75rem 0;overflow:hidden;z-index:999;height:50px;display:flex;align-items:center;}
    .ticker-label{padding:0 1.5rem;color:var(--accent-gold);font-weight:700;font-size:.75rem;white-space:nowrap;border-right:2px solid var(--accent-gold);background:var(--bg-secondary);z-index:10;height:100%;display:flex;align-items:center;font-family:'JetBrains Mono',monospace;}
    .ticker-content{display:flex;gap:3rem;animation:scroll 60s linear infinite;padding:0 1.5rem;white-space:nowrap;}
    @keyframes scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .ticker-item{display:flex;gap:.75rem;font-size:.8rem;font-family:'JetBrains Mono',monospace;}
    .ticker-item .symbol{color:var(--accent-gold);font-weight:700;}

    /* Main Content */
    main{margin-top:120px;min-height:calc(100vh - 120px);}
    .section{display:none;animation:fadeIn .4s ease; padding: 2rem 4rem;}
    .section.active{display:block;}
    @keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

    /* Hero/Landing */
    .landing-page{text-align:center;max-width:1000px;margin:0 auto;}
    .landing-hero h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:4rem;font-weight:800;margin-bottom:1rem;}
    .landing-hero h1 span{background:linear-gradient(135deg,var(--accent-gold),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
    .landing-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:4rem 0;}
    .stat-card{background:var(--bg-secondary);padding:2rem;border-radius:12px;border:1px solid var(--border-color);transition:0.3s;}
    .stat-card:hover{border-color:var(--accent-gold);transform:translateY(-5px);}
    .stat-card-num{font-size:2.5rem;font-weight:800;color:var(--accent-gold);}

    /* Companies Grid */
    .company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.5rem;}
    .company-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;padding:1.5rem;transition:0.3s;position:relative;overflow:hidden;}
    .company-card:hover{border-color:var(--accent-gold);box-shadow:var(--shadow-md);}
    .co-header{display:flex;justify-content:space-between;margin-bottom:1rem;}
    .co-name{font-weight:800;font-size:1.1rem;}
    .co-price{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.2rem;}
    .price-up{color:var(--accent-green);}
    .price-dn{color:var(--accent-red);}

    /* Chat Interface */
    .analysis-layout{display:grid;grid-template-columns:1fr 350px;gap:2rem;}
    .chat-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;height:600px;overflow:hidden;}
    .chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;}
    .msg{max-width:80%;padding:1rem;border-radius:12px;font-size:.9rem;}
    .msg-ai{align-self:flex-start;background:var(--bg-tertiary);color:var(--text-primary);}
    .msg-user{align-self:flex-end;background:var(--accent-gold);color:white;}
    .chat-input-row{display:flex;padding:1rem;gap:0.5rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color);}
    .chat-input{flex:1;padding:.75rem;border-radius:6px;border:1px solid var(--border-color);outline:none;}
    .chat-send{background:var(--accent-gold);color:white;border:none;padding:0 1.5rem;border-radius:6px;cursor:pointer;font-weight:700;}

    /* Settings Modal */
    .modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(5px);z-index:2000;display:none;align-items:center;justify-content:center;}
    .modal-overlay.active{display:flex;}
    .modal-box{background:var(--bg-primary);padding:2rem;border-radius:20px;width:400px;box-shadow:var(--shadow-lg);}
    .modal-box h3{margin-bottom:1rem;}
    .modal-box input{width:100%;padding:.8rem;margin-bottom:1.5rem;border:1px solid var(--border-color);border-radius:8px;}
    .modal-footer{display:flex;justify-content:flex-end;gap:1rem;}

    footer{text-align:center;padding:3rem;border-top:1px solid var(--border-color);margin-top:4rem;color:var(--text-secondary);font-size:.8rem;}
</style>
M&A Hub
  • Live Deals
  • Sectors
  • AI Analysis
🌙 ⚙️ Get Access
MARKET FEED

Global M&A Intelligence

Institutional grade real-time deal flow and AI-powered analysis. Now connected to live market data.

$2.1T
YTD Volume
4,847
Total Deals
78
Mega Deals

📊 Explore Deals

View real-time acquisitions and mergers.

🤖 AI Analysis

Query our Intelligence Engine (Requires API Key).

<!-- DEALS -->
<div id="deals" class="section">
    <h2 style="font-family:'Plus Jakarta Sans'; font-size:2.5rem; margin-bottom:2rem;">Live <em>Deal Flow</em></h2>
    <div class="company-grid" id="dealsGrid">
        <!-- Dynamic Deals -->
    </div>
</div>

<!-- SECTORS -->
<div id="sectors" class="section">
    <h2 style="font-family:'Plus Jakarta Sans'; font-size:2.5rem; margin-bottom:2rem;">Sector <em>Intelligence</em></h2>
    <div class="company-grid" id="sectorsGrid">
        <!-- Dynamic Stocks -->
    </div>
</div>

<!-- ANALYSIS -->
<div id="analysis" class="section">
    <div class="analysis-layout">
        <div class="chat-container">
            <div style="padding:1rem; background:var(--bg-tertiary); border-bottom:1px solid var(--border-color); font-weight:700; font-size:.8rem; letter-spacing:1px;">
                M&A INTELLIGENCE ENGINE v2.0
            </div>
            <div class="chat-messages" id="chatMessages"></div>
            <div class="chat-input-row">
                <input type="text" class="chat-input" id="chatInput" placeholder="Ask about a company or sector...">
                <button class="chat-send" onclick="sendMessage()">SEND</button>
            </div>
        </div>
        <div style="display:flex; flex-direction:column; gap:1rem;">
            <div style="background:var(--bg-secondary); padding:1.5rem; border-radius:12px; border:1px solid var(--border-color);">
                <h4 style="color:var(--accent-gold); margin-bottom:1rem;">Quick Queries</h4>
                <div style="display:flex; flex-direction:column; gap:.5rem;">
                    <button class="btn-icon-btn" style="width:100%; border-radius:6px; justify-content:flex-start; padding:0 1rem; font-size:.8rem;" onclick="quickAsk('Which sectors are most active?')">Which sectors are most active?</button>
                    <button class="btn-icon-btn" style="width:100%; border-radius:6px; justify-content:flex-start; padding:0 1rem; font-size:.8rem;" onclick="quickAsk('Analyze the tech M&A landscape')">Analyze Tech Landscape</button>
                </div>
            </div>
        </div>
    </div>
</div>

⚙️ AI Configuration

Enter your OpenAI API Key to enable real-time AI analysis. Keys are stored locally in your browser.

Cancel Save Key
© 2026 M&A Hub Global Intelligence. Data via Public APIs. <script> /* ── CORE CONFIGURATION ── */ let OPENAI_KEY = localStorage.getItem('ma_hub_api_key') || ""; const TICKERS = ['AAPL', 'MSFT', 'NVDA', 'GOOGL', 'AMZN', 'META', 'TSLA', 'LLY', 'XOM', 'JPM']; /* ── THEME & NAVIGATION ── */ function toggleTheme() { document.documentElement.classList.toggle('dark-mode'); const btn = document.getElementById('themeToggle'); btn.textContent = document.documentElement.classList.contains('dark-mode') ? '☀️' : '🌙'; } function showSection(id) { document.querySelectorAll('.section').forEach(s => s.classList.remove('active')); document.getElementById(id).classList.add('active'); document.querySelectorAll('.nav-center a').forEach(a => a.classList.remove('active')); event?.target?.classList?.add('active'); } /* ── SETTINGS MODAL ── */ function openSettings() { document.getElementById('settingsModal').classList.add('active'); } function closeSettings() { document.getElementById('settingsModal').classList.remove('active'); } function saveSettings() { const key = document.getElementById('apiKeyInput').value; localStorage.setItem('ma_hub_api_key', key); OPENAI_KEY = key; alert("API Key Saved Successfully!"); closeSettings(); } /* ── REAL-TIME MARKET DATA ── */ async function fetchMarketData() { const tickerContent = document.getElementById('tickerContent'); const sectorsGrid = document.getElementById('sectorsGrid'); tickerContent.innerHTML = ""; sectorsGrid.innerHTML = ""; for (let symbol of TICKERS) { try { // Using a public finance proxy for demonstration const res = await fetch(`https://query1.finance.yahoo.com/v8/finance/chart/${symbol}?interval=1d`); const data = await res.json(); const price = data.chart.result[0].meta.regularMarketPrice; const prevClose = data.chart.result[0].meta.previousClose; const change = ((price - prevClose) / prevClose * 100).toFixed(2); const isUp = change >= 0; // Update Ticker tickerContent.innerHTML += `
${symbol} $${price} ${isUp?'▲':'▼'}${Math.abs(change)}%
`; // Update Sectors Grid sectorsGrid.innerHTML += `
${symbol} Inc.
$${price}
Market Cap: Large Cap | Sector: Diversified
Strategic Rating: STRONG BUY
`; } catch (e) { console.error("API Error for " + symbol); } } // Duplicate ticker content for infinite scroll effect tickerContent.innerHTML += tickerContent.innerHTML; } /* ── SIMULATED SEC DATA ── */ function loadDeals() { const deals = [ { acquirer: 'Capital One', target: 'Discover', val: '35.3B', status: 'Pending' }, { acquirer: 'Chevron', target: 'Hess', val: '53.0B', status: 'Review' }, { acquirer: 'Synopsys', target: 'Ansys', val: '35.0B', status: 'Pending' }, { acquirer: 'Mars Inc', target: 'Kellanova', val: '36.0B', status: 'Closed' }, { acquirer: 'Nippon Steel', target: 'US Steel', val: '14.9B', status: 'Contested' }, ]; const grid = document.getElementById('dealsGrid'); grid.innerHTML = deals.map(d => `
${d.acquirer} $\rightarrow$ ${d.target}
$${d.val}
${d.status} Update: 2h ago
`).join(''); } /* ── REAL AI INTEGRATION ── */ async function sendMessage() { const input = document.getElementById('chatInput'); const text = input.value.trim(); if (!text) return; addMessage('user', text); input.value = ''; if (!OPENAI_KEY) { addMessage('ai', "⚠️ API Key Missing: Please click the ⚙️ gear icon to add your OpenAI API key to enable the Real Intelligence Engine."); return; } try { const response = await fetch('https://api.openai.com/v1/chat/completions', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${OPENAI_KEY}` }, body: JSON.stringify({ model: "gpt-4o", messages: [ { role: "system", content: "You are the M&A Hub Intelligence Engine. Provide professional, institutional-grade financial analysis on mergers and acquisitions." }, { role: "user", content: text } ] }) }); const data = await response.json(); addMessage('ai', data.choices[0].message.content); } catch (e) { addMessage('ai', "Error connecting to OpenAI. Please check your API key and internet connection."); } } function addMessage(role, text) { const msgs = document.getElementById('chatMessages'); const div = document.createElement('div'); div.className = `msg msg-${role}`; div.innerHTML = text; msgs.appendChild(div); msgs.scrollTop = msgs.scrollHeight; } function quickAsk(q) { document.getElementById('chatInput').value = q; sendMessage(); } /* ── INIT ── */ window.onload = () => { fetchMarketData(); loadDeals(); addMessage('ai', "Welcome to M&A Hub v2.0. I am connected to live market data. If you have added your API key, I can now provide deep-dive strategic analysis."); }; </script>

About

About A comprehensive M&A intelligence platform with deal tracking, sector analysis, regional coverage, AI-powered analysis, and deal creation suite.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors