-
- {user.name?.charAt(0) || user.email?.charAt(0)?.toUpperCase()}
+
+
{user.name}
diff --git a/src/components/LandingPage.tsx b/src/components/LandingPage.tsx
index 8eb9b9d..4abf490 100644
--- a/src/components/LandingPage.tsx
+++ b/src/components/LandingPage.tsx
@@ -1,6 +1,7 @@
import React from 'react';
import { motion } from 'motion/react';
import { TrendingUp, ShieldCheck, Zap, BarChart3, Globe, ChevronRight, CheckCircle2 } from 'lucide-react';
+import { MarketTicker } from './MarketTicker';
interface LandingPageProps {
onGetStarted: () => void;
@@ -57,8 +58,13 @@ export const LandingPage: React.FC = ({ onGetStarted, onViewPl
+ {/* Market Ticker */}
+
+
+
+
{/* Hero Section */}
-
+
 {
+ const [items, setItems] = useState ([
+ { symbol: 'EURUSD', price: '1.08542', change: '+0.12%', isUp: true },
+ { symbol: 'GBPUSD', price: '1.26410', change: '-0.05%', isUp: false },
+ { symbol: 'USDJPY', price: '151.420', change: '+0.25%', isUp: true },
+ { symbol: 'XAUUSD', price: '2345.12', change: '+0.84%', isUp: true },
+ { symbol: 'BTCUSD', price: '64240.5', change: '-1.20%', isUp: false },
+ { symbol: 'NAS100', price: '18240.2', change: '+0.45%', isUp: true },
+ { symbol: 'AUDUSD', price: '0.65120', change: '+0.08%', isUp: true },
+ { symbol: 'USDCAD', price: '1.35410', change: '-0.02%', isUp: false },
+ ]);
+
+ useEffect(() => {
+ const interval = setInterval(() => {
+ setItems(prev => prev.map(item => {
+ const changeVal = (Math.random() * 0.0002) - 0.0001;
+ const newPrice = parseFloat(item.price) + parseFloat(item.price) * changeVal;
+ return {
+ ...item,
+ price: newPrice.toFixed(item.symbol.includes('JPY') ? 3 : 5)
+ };
+ }));
+ }, 3000);
+ return () => clearInterval(interval);
+ }, []);
+
+ return (
+
+
+ {[...items, ...items].map((item, idx) => (
+
+ {item.symbol}
+ {item.price}
+
+ {item.isUp ? : }
+ {item.change}
+
+
+ ))}
+
+
+ );
+};
diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx
index 5589f88..dcb2e89 100644
--- a/src/components/Navbar.tsx
+++ b/src/components/Navbar.tsx
@@ -6,9 +6,10 @@ interface NavbarProps {
activeTab: string;
setActiveTab: (tab: string) => void;
isAdmin?: boolean;
+ user?: any;
}
-export const Navbar: React.FC = ({ activeTab, setActiveTab, isAdmin }) => {
+export const Navbar: React.FC = ({ activeTab, setActiveTab, isAdmin, user }) => {
const mainTabs = [
{ id: 'scan', label: 'Scan IA', icon: LayoutDashboard },
{ id: 'history', label: 'Histórico', icon: History },
@@ -91,6 +92,21 @@ export const Navbar: React.FC = ({ activeTab, setActiveTab, isAdmin
{/* Account Section */}
+ {user && (
+
+
+ 
+
+
+ Meus Dados
+ ID: {user.uid.slice(0, 8)}...
+
+
+ )}
Conta & Ajuda
{accountTabs.map((tab) => (
|