diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..29f6650 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,190 @@ +import React, { useState } from 'react'; +import { + Settings, + ChevronRight, + Flame, + Target, + Trophy, + Activity, + Home, + Dumbbell, + Compass, + User, + Plus, +} from 'lucide-react'; + +const App = () => { + const [activeTab, setActiveTab] = useState('profile'); + + const activityData = [ + { day: 'M', height: '40%' }, + { day: 'T', height: '60%' }, + { day: 'W', height: '45%' }, + { day: 'T', height: '85%' }, + { day: 'F', height: '30%' }, + { day: 'S', height: '70%' }, + { day: 'S', height: '50%' }, + ]; + + const volumeData = [ + { label: 'Chest', value: '4.2k', height: '70%', color: 'bg-blue-500' }, + { label: 'Back', value: '5.8k', height: '90%', color: 'bg-green-500' }, + { label: 'Legs', value: '3.1k', height: '55%', color: 'bg-orange-500' }, + { label: 'Arms', value: '2.4k', height: '40%', color: 'bg-pink-500' }, + ]; + + return ( +
+
+
+

Profile

+ +
+ +
+
+
+ Profile +
+
+ +
+
+

Alex Johnson

+

Pro Member since 2023

+
+ +
+ } label="Calories" value="1,240" unit="kcal" /> + } label="Weight" value="75.4" unit="kg" /> + } label="Workouts" value="48" unit="total" /> +
+ +
+
+

Total Volume

+ Lbs per Group +
+
+
+ {volumeData.map((item, index) => ( +
+ {item.value} +
+
+
+ {item.label} +
+ ))} +
+
+
+ +
+
+

Weekly Activity

+ +
+
+
+ {activityData.map((item, index) => ( +
+
+
+
+ + {item.day} + +
+ ))} +
+
+
+ +
+ } label="Training History" /> + } label="Personal Records" /> + } label="Badges & Achievements" badge="3 New" /> +
+ +
+ setActiveTab('home')} icon={} /> + setActiveTab('workout')} + icon={} + /> +
+ +
+ setActiveTab('explore')} + icon={} + /> + setActiveTab('profile')} + icon={} + /> +
+
+
+ ); +}; + +const StatCard = ({ icon, label, value, unit }) => ( +
+
{icon}
+ {label} +
+ {value} + {unit} +
+
+); + +const MenuItem = ({ icon, label, badge }) => ( +
+
+
{icon}
+ {label} +
+
+ {badge && {badge}} + +
+
+); + +const NavIcon = ({ icon, active, onClick }) => ( + +); + +export default App;