FRE-623: Build KPI dashboard with Mixpanel, GA4, Stripe panels and unified report

- Created KPIDashboard component with tab navigation (product/acquisition/revenue/report)
- Created MixpanelPanel for product KPIs linking to Mixpanel
- Created GA4Panel for acquisition KPIs linking to GA4
- Created StripePanel for revenue KPIs linking to Stripe dashboard
- Created UnifiedReport with KPI thresholds table and reporting schedule
- Added KPI dashboard route (/app/kpi) and sidebar navigation link
- Added KPI dashboard CSS styles (metric cards, tabs, table, info cards)
- Fixed pre-existing parse errors in Faq.tsx (unescaped apostrophes)
- Fixed pre-existing CSS import paths in routes.tsx

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-26 07:56:17 -04:00
parent c9052a1fb0
commit 11a188c68e
9 changed files with 558 additions and 10 deletions

View File

@@ -25,6 +25,10 @@ export const AppLayout: Component<any> = (props) => {
<span class="freno-nav-icon">📊</span>
<span class="freno-nav-text">Dashboard</span>
</A>
<A href="/kpi" class="freno-nav-link">
<span class="freno-nav-icon">📈</span>
<span class="freno-nav-text">KPIs</span>
</A>
<A href="/projects" class="freno-nav-link">
<span class="freno-nav-icon">📁</span>
<span class="freno-nav-text">Projects</span>
@@ -79,6 +83,7 @@ function getPageTitle(): string {
const path = window.location.pathname;
const titles: Record<string, string> = {
'/dashboard': 'Dashboard',
'/kpi': 'KPI Dashboard',
'/projects': 'Projects',
'/projects/new': 'New Project',
'/profile': 'Profile',