Merge version_3 into main #5
35
src/app/back/page.tsx
Normal file
35
src/app/back/page.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import TextAbout from '@/components/sections/about/TextAbout';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
|
||||
export default function MuscleGroupPage() {
|
||||
return (
|
||||
<ThemeProvider>
|
||||
<ReactLenis root>
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Back", id: "/back" },
|
||||
]}
|
||||
brandName="IRONTRACK"
|
||||
/>
|
||||
<div className="pt-32 pb-20">
|
||||
<TextAbout
|
||||
title="Back Training Guide"
|
||||
description="A strong back is the foundation of a good physique. Focus on rowing movements, pull-ups, and lat pulldowns for width and thickness."
|
||||
/>
|
||||
</div>
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{ items: [{ label: "Back to Home", href: "/" }] }
|
||||
]}
|
||||
logoText="IRONTRACK"
|
||||
/>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
35
src/app/chest/page.tsx
Normal file
35
src/app/chest/page.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import TextAbout from '@/components/sections/about/TextAbout';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
|
||||
export default function MuscleGroupPage() {
|
||||
return (
|
||||
<ThemeProvider>
|
||||
<ReactLenis root>
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Chest", id: "/chest" },
|
||||
]}
|
||||
brandName="IRONTRACK"
|
||||
/>
|
||||
<div className="pt-32 pb-20">
|
||||
<TextAbout
|
||||
title="Chest Training Guide"
|
||||
description="The chest muscles are critical for upper body pushing strength. Incorporate exercises like bench press, incline press, and chest flys to maximize growth and definition."
|
||||
/>
|
||||
</div>
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{ items: [{ label: "Back to Home", href: "/" }] }
|
||||
]}
|
||||
logoText="IRONTRACK"
|
||||
/>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
83
src/app/exercise-log/page.tsx
Normal file
83
src/app/exercise-log/page.tsx
Normal file
@@ -0,0 +1,83 @@
|
||||
"use client";
|
||||
|
||||
import { useState } from "react";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import { Dumbbell, Plus, Trash2 } from "lucide-react";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import ReactLenis from "lenis/react";
|
||||
|
||||
export default function ExerciseLogPage() {
|
||||
const [entries, setEntries] = useState([{ id: Date.now(), exercise: "", weight: "" }]);
|
||||
|
||||
const addEntry = () => {
|
||||
setEntries([...entries, { id: Date.now(), exercise: "", weight: "" }]);
|
||||
};
|
||||
|
||||
const removeEntry = (id: number) => {
|
||||
setEntries(entries.filter((e) => e.id !== id));
|
||||
};
|
||||
|
||||
const updateEntry = (id: number, field: string, value: string) => {
|
||||
setEntries(entries.map((e) => e.id === id ? { ...e, [field]: value } : e));
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="bounce-effect"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="noiseDiagonalGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Tracker", id: "/exercise-log" },
|
||||
]}
|
||||
brandName="IRONTRACK"
|
||||
/>
|
||||
<div className="min-h-screen pt-32 pb-20 px-6 max-w-3xl mx-auto">
|
||||
<h1 className="text-4xl font-bold mb-8 flex items-center gap-3">
|
||||
<Dumbbell className="w-8 h-8" /> Exercise Log
|
||||
</h1>
|
||||
<div className="space-y-4">
|
||||
{entries.map((entry) => (
|
||||
<div key={entry.id} className="flex items-center gap-4 p-4 border rounded-xl bg-card">
|
||||
<Dumbbell className="w-6 h-6 text-primary" />
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Exercise name"
|
||||
className="flex-1 bg-transparent border-b outline-none py-1"
|
||||
value={entry.exercise}
|
||||
onChange={(e) => updateEntry(entry.id, "exercise", e.target.value)}
|
||||
/>
|
||||
<input
|
||||
type="number"
|
||||
placeholder="kg"
|
||||
className="w-20 bg-transparent border-b outline-none py-1"
|
||||
value={entry.weight}
|
||||
onChange={(e) => updateEntry(entry.id, "weight", e.target.value)}
|
||||
/>
|
||||
<button onClick={() => removeEntry(entry.id)} className="text-destructive">
|
||||
<Trash2 className="w-5 h-5" />
|
||||
</button>
|
||||
</div>
|
||||
))}
|
||||
<button
|
||||
onClick={addEntry}
|
||||
className="w-full py-3 flex items-center justify-center gap-2 border-2 border-dashed rounded-xl hover:bg-accent/10 transition-all"
|
||||
>
|
||||
<Plus className="w-5 h-5" /> Add Exercise
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
35
src/app/legs/page.tsx
Normal file
35
src/app/legs/page.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import TextAbout from '@/components/sections/about/TextAbout';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
|
||||
export default function MuscleGroupPage() {
|
||||
return (
|
||||
<ThemeProvider>
|
||||
<ReactLenis root>
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Legs", id: "/legs" },
|
||||
]}
|
||||
brandName="IRONTRACK"
|
||||
/>
|
||||
<div className="pt-32 pb-20">
|
||||
<TextAbout
|
||||
title="Leg Training Guide"
|
||||
description="Leg training is vital for overall strength and athletic performance. Squats, lunges, and Romanian deadlifts are essential for building power."
|
||||
/>
|
||||
</div>
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{ items: [{ label: "Back to Home", href: "/" }] }
|
||||
]}
|
||||
logoText="IRONTRACK"
|
||||
/>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -33,7 +33,7 @@ export default function LandingPage() {
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Overview", id: "#hero" },
|
||||
{ name: "Tracker", id: "#features" },
|
||||
{ name: "Tracker", id: "/exercise-log" },
|
||||
{ name: "Calendar", id: "#pricing" },
|
||||
{ name: "Contact", id: "#contact" },
|
||||
]}
|
||||
|
||||
Reference in New Issue
Block a user