| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Plowman Capital Dashboard</title> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| <style> |
| .sidebar { |
| transition: all 0.3s; |
| } |
| .sidebar.collapsed { |
| width: 70px; |
| } |
| .sidebar.collapsed .nav-text { |
| display: none; |
| } |
| .sidebar.collapsed .logo-text { |
| display: none; |
| } |
| .sidebar.collapsed .expand-icon { |
| transform: rotate(180deg); |
| } |
| .content { |
| transition: all 0.3s; |
| } |
| .content.expanded { |
| margin-left: 70px; |
| } |
| .card-hover:hover { |
| transform: translateY(-5px); |
| box-shadow: 0 10px 20px rgba(0,0,0,0.1); |
| } |
| .card-hover { |
| transition: all 0.3s ease; |
| } |
| .progress-bar { |
| height: 8px; |
| border-radius: 4px; |
| background-color: #e5e7eb; |
| } |
| .progress-fill { |
| height: 100%; |
| border-radius: 4px; |
| transition: width 0.6s ease; |
| } |
| .investment-card:hover .investment-actions { |
| opacity: 1; |
| } |
| .investment-actions { |
| opacity: 0; |
| transition: opacity 0.3s ease; |
| } |
| </style> |
| </head> |
| <body class="bg-gray-50 font-sans"> |
| <div class="flex h-screen overflow-hidden"> |
| |
| <div class="sidebar bg-indigo-800 text-white w-64 flex flex-col fixed h-full z-10"> |
| <div class="p-4 flex items-center justify-between border-b border-indigo-700"> |
| <div class="flex items-center"> |
| <i class="fas fa-chart-line text-2xl mr-3"></i> |
| <span class="logo-text text-xl font-bold">Plowman Capital</span> |
| </div> |
| <button id="toggleSidebar" class="expand-icon text-white focus:outline-none"> |
| <i class="fas fa-chevron-left"></i> |
| </button> |
| </div> |
| <nav class="flex-1 overflow-y-auto py-4"> |
| <div class="px-4 mb-8"> |
| <div class="flex items-center px-4 py-3 bg-indigo-900 rounded-lg"> |
| <i class="fas fa-home mr-3"></i> |
| <span class="nav-text">Dashboard</span> |
| </div> |
| </div> |
| <div class="px-4 mb-8"> |
| <h3 class="nav-text uppercase text-xs font-semibold text-indigo-400 px-4 mb-2">Investments</h3> |
| <ul> |
| <li class="mb-1"> |
| <a href="#" class="flex items-center px-4 py-2 text-indigo-200 hover:bg-indigo-700 rounded-lg"> |
| <i class="fas fa-building mr-3"></i> |
| <span class="nav-text">Real Estate</span> |
| </a> |
| </li> |
| <li class="mb-1"> |
| <a href="#" class="flex items-center px-4 py-2 text-indigo-200 hover:bg-indigo-700 rounded-lg"> |
| <i class="fas fa-briefcase mr-3"></i> |
| <span class="nav-text">Business Stakes</span> |
| </a> |
| </li> |
| <li class="mb-1"> |
| <a href="#" class="flex items-center px-4 py-2 text-indigo-200 hover:bg-indigo-700 rounded-lg"> |
| <i class="fas fa-chart-pie mr-3"></i> |
| <span class="nav-text">Portfolio Analysis</span> |
| </a> |
| </li> |
| </ul> |
| </div> |
| <div class="px-4 mb-8"> |
| <h3 class="nav-text uppercase text-xs font-semibold text-indigo-400 px-4 mb-2">Financials</h3> |
| <ul> |
| <li class="mb-1"> |
| <a href="#" class="flex items-center px-4 py-2 text-indigo-200 hover:bg-indigo-700 rounded-lg"> |
| <i class="fas fa-money-bill-wave mr-3"></i> |
| <span class="nav-text">Cash Flow</span> |
| </a> |
| </li> |
| <li class="mb-1"> |
| <a href="#" class="flex items-center px-4 py-2 text-indigo-200 hover:bg-indigo-700 rounded-lg"> |
| <i class="fas fa-percentage mr-3"></i> |
| <span class="nav-text">ROI & IRR</span> |
| </a> |
| </li> |
| <li class="mb-1"> |
| <a href="#" class="flex items-center px-4 py-2 text-indigo-200 hover:bg-indigo-700 rounded-lg"> |
| <i class="fas fa-hand-holding-usd mr-3"></i> |
| <span class="nav-text">Distributions</span> |
| </a> |
| </li> |
| </ul> |
| </div> |
| <div class="px-4 mb-8"> |
| <h3 class="nav-text uppercase text-xs font-semibold text-indigo-400 px-4 mb-2">Reports</h3> |
| <ul> |
| <li class="mb-1"> |
| <a href="#" class="flex items-center px-4 py-2 text-indigo-200 hover:bg-indigo-700 rounded-lg"> |
| <i class="fas fa-file-alt mr-3"></i> |
| <span class="nav-text">Monthly</span> |
| </a> |
| </li> |
| <li class="mb-1"> |
| <a href="#" class="flex items-center px-4 py-2 text-indigo-200 hover:bg-indigo-700 rounded-lg"> |
| <i class="fas fa-file-invoice mr-3"></i> |
| <span class="nav-text">Quarterly</span> |
| </a> |
| </li> |
| <li class="mb-1"> |
| <a href="#" class="flex items-center px-4 py-2 text-indigo-200 hover:bg-indigo-700 rounded-lg"> |
| <i class="fas fa-file-contract mr-3"></i> |
| <span class="nav-text">Annual</span> |
| </a> |
| </li> |
| </ul> |
| </div> |
| </nav> |
| </div> |
|
|
| |
| <div class="content flex-1 overflow-y-auto ml-64"> |
| <header class="bg-white shadow-sm"> |
| <div class="max-w-7xl mx-auto py-4 px-4 sm:px-6 lg:px-8 flex justify-between items-center"> |
| <h1 class="text-2xl font-bold text-gray-800">Investment Dashboard</h1> |
| <div class="flex items-center space-x-4"> |
| <div class="relative"> |
| <input type="text" placeholder="Search investments..." class="pl-10 pr-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500"> |
| <i class="fas fa-search absolute left-3 top-3 text-gray-400"></i> |
| </div> |
| <div class="flex items-center space-x-2"> |
| <button class="p-2 rounded-full bg-gray-100 text-gray-600 hover:bg-gray-200"> |
| <i class="fas fa-bell"></i> |
| </button> |
| <button class="p-2 rounded-full bg-gray-100 text-gray-600 hover:bg-gray-200"> |
| <i class="fas fa-cog"></i> |
| </button> |
| </div> |
| </div> |
| </div> |
| </header> |
|
|
| <main class="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8"> |
| |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8"> |
| <div class="card-hover bg-white p-6 rounded-xl shadow-sm border border-gray-100"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Total Portfolio Value</p> |
| <h3 class="text-2xl font-bold mt-1">$12.8M</h3> |
| <p class="text-sm text-green-500 mt-2 flex items-center"> |
| <i class="fas fa-arrow-up mr-1"></i> 8.2% from last quarter |
| </p> |
| </div> |
| <div class="bg-indigo-100 p-3 rounded-lg"> |
| <i class="fas fa-chart-line text-indigo-600 text-xl"></i> |
| </div> |
| </div> |
| </div> |
| <div class="card-hover bg-white p-6 rounded-xl shadow-sm border border-gray-100"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Annualized ROI</p> |
| <h3 class="text-2xl font-bold mt-1">14.7%</h3> |
| <p class="text-sm text-green-500 mt-2 flex items-center"> |
| <i class="fas fa-arrow-up mr-1"></i> 2.3% from last year |
| </p> |
| </div> |
| <div class="bg-green-100 p-3 rounded-lg"> |
| <i class="fas fa-percentage text-green-600 text-xl"></i> |
| </div> |
| </div> |
| </div> |
| <div class="card-hover bg-white p-6 rounded-xl shadow-sm border border-gray-100"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">YTD Distributions</p> |
| <h3 class="text-2xl font-bold mt-1">$1.2M</h3> |
| <p class="text-sm text-blue-500 mt-2 flex items-center"> |
| <i class="fas fa-calendar mr-1"></i> Next: Q3 estimate $450k |
| </p> |
| </div> |
| <div class="bg-blue-100 p-3 rounded-lg"> |
| <i class="fas fa-hand-holding-usd text-blue-600 text-xl"></i> |
| </div> |
| </div> |
| </div> |
| <div class="card-hover bg-white p-6 rounded-xl shadow-sm border border-gray-100"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Cash Position</p> |
| <h3 class="text-2xl font-bold mt-1">$3.4M</h3> |
| <p class="text-sm text-purple-500 mt-2 flex items-center"> |
| <i class="fas fa-piggy-bank mr-1"></i> 26% of portfolio |
| </p> |
| </div> |
| <div class="bg-purple-100 p-3 rounded-lg"> |
| <i class="fas fa-wallet text-purple-600 text-xl"></i> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8"> |
| |
| <div class="card-hover bg-white p-6 rounded-xl shadow-sm border border-gray-100"> |
| <div class="flex justify-between items-center mb-4"> |
| <h2 class="text-lg font-semibold text-gray-800">Portfolio Value Trend</h2> |
| <div class="flex space-x-2"> |
| <button class="px-3 py-1 text-xs bg-indigo-100 text-indigo-700 rounded-md">1Y</button> |
| <button class="px-3 py-1 text-xs bg-gray-100 text-gray-700 rounded-md">3Y</button> |
| <button class="px-3 py-1 text-xs bg-gray-100 text-gray-700 rounded-md">5Y</button> |
| </div> |
| </div> |
| <canvas id="portfolioChart" height="250"></canvas> |
| </div> |
| |
| |
| <div class="card-hover bg-white p-6 rounded-xl shadow-sm border border-gray-100"> |
| <div class="flex justify-between items-center mb-4"> |
| <h2 class="text-lg font-semibold text-gray-800">ROI by Investment</h2> |
| <div class="flex space-x-2"> |
| <button class="px-3 py-1 text-xs bg-indigo-100 text-indigo-700 rounded-md">Current</button> |
| <button class="px-3 py-1 text-xs bg-gray-100 text-gray-700 rounded-md">Annual</button> |
| </div> |
| </div> |
| <canvas id="roiChart" height="250"></canvas> |
| </div> |
| </div> |
|
|
| |
| <div class="card-hover bg-white p-6 rounded-xl shadow-sm border border-gray-100 mb-8"> |
| <div class="flex justify-between items-center mb-6"> |
| <h2 class="text-lg font-semibold text-gray-800">Investment Performance</h2> |
| <button class="px-4 py-2 bg-indigo-600 text-white rounded-md hover:bg-indigo-700 flex items-center"> |
| <i class="fas fa-plus mr-2"></i> Add Investment |
| </button> |
| </div> |
| <div class="overflow-x-auto"> |
| <table class="min-w-full divide-y divide-gray-200"> |
| <thead class="bg-gray-50"> |
| <tr> |
| <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Investment</th> |
| <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Type</th> |
| <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Current Value</th> |
| <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Cost Basis</th> |
| <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">ROI</th> |
| <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">IRR</th> |
| <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Last Distribution</th> |
| <th scope="col" class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th> |
| </tr> |
| </thead> |
| <tbody class="bg-white divide-y divide-gray-200"> |
| |
| <tr class="investment-card hover:bg-gray-50"> |
| <td class="px-6 py-4 whitespace-nowrap"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-md flex items-center justify-center"> |
| <i class="fas fa-building text-indigo-600"></i> |
| </div> |
| <div class="ml-4"> |
| <div class="text-sm font-medium text-gray-900">Riverfront Apartments</div> |
| <div class="text-sm text-gray-500">Acquired 2018</div> |
| </div> |
| </div> |
| </td> |
| <td class="px-6 py-4 whitespace-nowrap"> |
| <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-indigo-100 text-indigo-800">Real Estate</span> |
| </td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">$4,250,000</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$3,200,000</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-green-600 font-medium">32.8%</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-green-600 font-medium">18.4%</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">$125,000 (Q2 2023)</td> |
| <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium investment-actions"> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-chart-line"></i></a> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-file-invoice"></i></a> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900"><i class="fas fa-ellipsis-v"></i></a> |
| </td> |
| </tr> |
| <tr class="investment-card hover:bg-gray-50"> |
| <td class="px-6 py-4 whitespace-nowrap"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-md flex items-center justify-center"> |
| <i class="fas fa-building text-indigo-600"></i> |
| </div> |
| <div class="ml-4"> |
| <div class="text-sm font-medium text-gray-900">Mountain View Office</div> |
| <div class="text-sm text-gray-500">Acquired 2020</div> |
| </div> |
| </div> |
| </td> |
| <td class="px-6 py-4 whitespace-nowrap"> |
| <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-indigo-100 text-indigo-800">Real Estate</span> |
| </td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">$3,100,000</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$2,750,000</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-green-600 font-medium">12.7%</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-green-600 font-medium">9.2%</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">$85,000 (Q2 2023)</td> |
| <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium investment-actions"> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-chart-line"></i></a> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-file-invoice"></i></a> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900"><i class="fas fa-ellipsis-v"></i></a> |
| </td> |
| </tr> |
| |
| |
| <tr class="investment-card hover:bg-gray-50"> |
| <td class="px-6 py-4 whitespace-nowrap"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 h-10 w-10 bg-green-100 rounded-md flex items-center justify-center"> |
| <i class="fas fa-briefcase text-green-600"></i> |
| </div> |
| <div class="ml-4"> |
| <div class="text-sm font-medium text-gray-900">TechSolutions Inc.</div> |
| <div class="text-sm text-gray-500">Acquired 2019</div> |
| </div> |
| </div> |
| </td> |
| <td class="px-6 py-4 whitespace-nowrap"> |
| <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Business</span> |
| </td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">$2,800,000</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$1,500,000</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-green-600 font-medium">86.7%</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-green-600 font-medium">32.1%</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">$75,000 (Q2 2023)</td> |
| <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium investment-actions"> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-chart-line"></i></a> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-file-invoice"></i></a> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900"><i class="fas fa-ellipsis-v"></i></a> |
| </td> |
| </tr> |
| <tr class="investment-card hover:bg-gray-50"> |
| <td class="px-6 py-4 whitespace-nowrap"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 h-10 w-10 bg-green-100 rounded-md flex items-center justify-center"> |
| <i class="fas fa-briefcase text-green-600"></i> |
| </div> |
| <div class="ml-4"> |
| <div class="text-sm font-medium text-gray-900">GreenEnergy Co.</div> |
| <div class="text-sm text-gray-500">Acquired 2021</div> |
| </div> |
| </div> |
| </td> |
| <td class="px-6 py-4 whitespace-nowrap"> |
| <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Business</span> |
| </td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">$1,650,000</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$1,800,000</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-red-600 font-medium">-8.3%</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-red-600 font-medium">-4.2%</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">$0 (No distributions)</td> |
| <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium investment-actions"> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-chart-line"></i></a> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-file-invoice"></i></a> |
| <a href="#" class="text-indigo-600 hover:text-indigo-900"><i class="fas fa-ellipsis-v"></i></a> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
|
|
| |
| <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8"> |
| |
| <div class="card-hover bg-white p-6 rounded-xl shadow-sm border border-gray-100"> |
| <div class="flex justify-between items-center mb-4"> |
| <h2 class="text-lg font-semibold text-gray-800">Monthly Cash Flow</h2> |
| <div class="flex space-x-2"> |
| <button class="px-3 py-1 text-xs bg-indigo-100 text-indigo-700 rounded-md">2023</button> |
| <button class="px-3 py-1 text-xs bg-gray-100 text-gray-700 rounded-md">2022</button> |
| </div> |
| </div> |
| <canvas id="cashFlowChart" height="250"></canvas> |
| </div> |
| |
| |
| <div class="card-hover bg-white p-6 rounded-xl shadow-sm border border-gray-100"> |
| <div class="flex justify-between items-center mb-4"> |
| <h2 class="text-lg font-semibold text-gray-800">Distribution History</h2> |
| <div class="flex space-x-2"> |
| <button class="px-3 py-1 text-xs bg-indigo-100 text-indigo-700 rounded-md">All</button> |
| <button class="px-3 py-1 text-xs bg-gray-100 text-gray-700 rounded-md">Real Estate</button> |
| <button class="px-3 py-1 text-xs bg-gray-100 text-gray-700 rounded-md">Business</button> |
| </div> |
| </div> |
| <div class="space-y-4"> |
| <div class="flex justify-between items-center p-3 bg-gray-50 rounded-lg"> |
| <div> |
| <p class="text-sm font-medium text-gray-900">Q2 2023 Distribution</p> |
| <p class="text-xs text-gray-500">June 15, 2023</p> |
| </div> |
| <div class="text-right"> |
| <p class="text-sm font-medium text-gray-900">$285,000</p> |
| <p class="text-xs text-gray-500">3 investments</p> |
| </div> |
| </div> |
| <div class="flex justify-between items-center p-3 bg-gray-50 rounded-lg"> |
| <div> |
| <p class="text-sm font-medium text-gray-900">Q1 2023 Distribution</p> |
| <p class="text-xs text-gray-500">March 15, 2023</p> |
| </div> |
| <div class="text-right"> |
| <p class="text-sm font-medium text-gray-900">$265,000</p> |
| <p class="text-xs text-gray-500">3 investments</p> |
| </div> |
| </div> |
| <div class="flex justify-between items-center p-3 bg-gray-50 rounded-lg"> |
| <div> |
| <p class="text-sm font-medium text-gray-900">Q4 2022 Distribution</p> |
| <p class="text-xs text-gray-500">December 15, 2022</p> |
| </div> |
| <div class="text-right"> |
| <p class="text-sm font-medium text-gray-900">$310,000</p> |
| <p class="text-xs text-gray-500">4 investments</p> |
| </div> |
| </div> |
| <div class="flex justify-between items-center p-3 bg-gray-50 rounded-lg"> |
| <div> |
| <p class="text-sm font-medium text-gray-900">Q3 2022 Distribution</p> |
| <p class="text-xs text-gray-500">September 15, 2022</p> |
| </div> |
| <div class="text-right"> |
| <p class="text-sm font-medium text-gray-900">$240,000</p> |
| <p class="text-xs text-gray-500">3 investments</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </main> |
| </div> |
| </div> |
|
|
| <script> |
| |
| document.getElementById('toggleSidebar').addEventListener('click', function() { |
| const sidebar = document.querySelector('.sidebar'); |
| const content = document.querySelector('.content'); |
| |
| sidebar.classList.toggle('collapsed'); |
| content.classList.toggle('expanded'); |
| }); |
| |
| |
| const portfolioCtx = document.getElementById('portfolioChart').getContext('2d'); |
| const portfolioChart = new Chart(portfolioCtx, { |
| type: 'line', |
| data: { |
| labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], |
| datasets: [{ |
| label: 'Portfolio Value', |
| data: [10.5, 10.7, 11.0, 11.2, 11.5, 11.8, 12.1, 12.3, 12.5, 12.6, 12.7, 12.8], |
| borderColor: '#6366F1', |
| backgroundColor: 'rgba(99, 102, 241, 0.1)', |
| borderWidth: 2, |
| fill: true, |
| tension: 0.4 |
| }] |
| }, |
| options: { |
| responsive: true, |
| plugins: { |
| legend: { |
| display: false |
| } |
| }, |
| scales: { |
| y: { |
| beginAtZero: false, |
| ticks: { |
| callback: function(value) { |
| return '$' + value + 'M'; |
| } |
| } |
| } |
| } |
| } |
| }); |
| |
| |
| const roiCtx = document.getElementById('roiChart').getContext('2d'); |
| const roiChart = new Chart(roiCtx, { |
| type: 'bar', |
| data: { |
| labels: ['Riverfront', 'Mountain View', 'TechSolutions', 'GreenEnergy'], |
| datasets: [{ |
| label: 'ROI', |
| data: [32.8, 12.7, 86.7, -8.3], |
| backgroundColor: [ |
| 'rgba(99, 102, 241, 0.7)', |
| 'rgba(99, 102, 241, 0.7)', |
| 'rgba(16, 185, 129, 0.7)', |
| 'rgba(239, 68, 68, 0.7)' |
| ], |
| borderColor: [ |
| 'rgba(99, 102, 241, 1)', |
| 'rgba(99, 102, 241, 1)', |
| 'rgba(16, 185, 129, 1)', |
| 'rgba(239, 68, 68, 1)' |
| ], |
| borderWidth: 1 |
| }] |
| }, |
| options: { |
| responsive: true, |
| plugins: { |
| legend: { |
| display: false |
| } |
| }, |
| scales: { |
| y: { |
| beginAtZero: true, |
| ticks: { |
| callback: function(value) { |
| return value + '%'; |
| } |
| } |
| } |
| } |
| } |
| }); |
| |
| |
| const cashFlowCtx = document.getElementById('cashFlowChart').getContext('2d'); |
| const cashFlowChart = new Chart(cashFlowCtx, { |
| type: 'bar', |
| data: { |
| labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], |
| datasets: [{ |
| label: 'Income', |
| data: [85, 82, 90, 88, 95, 110, 105, 100, 95, 92, 90, 285], |
| backgroundColor: 'rgba(16, 185, 129, 0.7)', |
| borderColor: 'rgba(16, 185, 129, 1)', |
| borderWidth: 1 |
| }, { |
| label: 'Expenses', |
| data: [45, 40, 42, 48, 50, 55, 52, 50, 48, 45, 42, 60], |
| backgroundColor: 'rgba(239, 68, 68, 0.7)', |
| borderColor: 'rgba(239, 68, 68, 1)', |
| borderWidth: 1 |
| }] |
| }, |
| options: { |
| responsive: true, |
| plugins: { |
| legend: { |
| position: 'top', |
| } |
| }, |
| scales: { |
| y: { |
| beginAtZero: true, |
| ticks: { |
| callback: function(value) { |
| return '$' + value + 'k'; |
| } |
| } |
| } |
| } |
| } |
| }); |
| </script> |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=csmith715/samplefinancialdashboard" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| </html> |