Merge version_3 into main

Merge version_3 into main
This commit was merged in pull request #5.
This commit is contained in:
2026-04-26 19:54:27 +00:00
5 changed files with 189 additions and 1 deletions

35
src/app/back/page.tsx Normal file
View 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
View 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>
);
}

View 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
View 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>
);
}

View File

@@ -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" },
]}