Changeset 42da64d for frontend/src/pages/LandingPage/components
- Timestamp:
- 05/13/26 00:35:13 (8 weeks ago)
- Branches:
- master
- Children:
- 447c39f
- Parents:
- a8381b1
- Location:
- frontend/src/pages/LandingPage/components
- Files:
-
- 4 added
- 8 edited
-
Benefits.jsx (modified) (1 diff)
-
Faq.defaults.js (added)
-
Faq.jsx (modified) (5 diffs)
-
Features.jsx (modified) (1 diff)
-
Footer.jsx (modified) (1 diff)
-
Hero.jsx (modified) (3 diffs)
-
HowItWorks.defaults.js (added)
-
HowItWorks.defaults.jsx (added)
-
HowItWorks.jsx (modified) (4 diffs)
-
NavbarLanding.jsx (modified) (4 diffs)
-
Who.defaults.jsx (added)
-
Who.jsx (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
frontend/src/pages/LandingPage/components/Benefits.jsx
ra8381b1 r42da64d 43 43 return ( 44 44 <section id="benefits" className="px-[5%] py-16 md:py-24 lg:py-28"> 45 <div className=" container">45 <div className="mx-auto w-full max-w-6xl"> 46 46 <div className="text-center mb-16 md:mb-20"> 47 47 <p className="font-semibold text-sm md:text-base mb-3 md:mb-4"> 48 48 Why Trekr 49 49 </p> 50 <h2 className=" text-4xl md:text-6xl lg:text-7xl font-bold mb-6">50 <h2 className="font-bold mb-6 text-3xl sm:text-4xl md:text-5xl lg:text-6xl leading-tight"> 51 51 Designed for serious progress 52 52 </h2> -
frontend/src/pages/LandingPage/components/Faq.jsx
ra8381b1 r42da64d 6 6 AccordionTrigger, 7 7 } from "@relume_io/relume-ui"; 8 9 import { FaqDefaults } from "./Faq.defaults"; 8 10 9 11 export const Faq = (props) => { … … 16 18 button, 17 19 } = { 18 ...Faq 1Defaults,20 ...FaqDefaults, 19 21 ...props, 20 22 }; … … 24 26 className="px-[5%] py-16 md:py-24 lg:py-28 flex items-center justify-center" 25 27 > 26 <div className=" container max-w-lg">28 <div className="mx-auto w-full max-w-2xl"> 27 29 <div className="rb-12 mb-12 text-center md:mb-18 lg:mb-20"> 28 <h2 className="rb-5 mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl">30 <h2 className="rb-5 mb-5 font-bold text-4xl sm:text-5xl md:mb-6 md:text-6xl lg:text-7xl leading-tight"> 29 31 {heading} 30 32 </h2> 31 <p className="md:text-md">{description}</p> 33 <p className="text-sm sm:text-base md:text-lg opacity-80"> 34 {description} 35 </p> 32 36 </div> 33 37 <Accordion type="multiple"> … … 47 51 {footerHeading} 48 52 </h4> 49 <p className="md:text-md">{footerDescription}</p> 53 <p className="text-sm sm:text-base md:text-lg opacity-80"> 54 {footerDescription} 55 </p> 50 56 <div className="mt-6 md:mt-8"> 51 57 <Button {...button}>{button.title}</Button> … … 56 62 ); 57 63 }; 58 59 export const Faq1Defaults = {60 heading: "Frequently asked questions",61 description:62 "Quick answers on how Trekr helps you track self-improvement across multiple areas — in one place.",63 questions: [64 {65 title: "What can I track in Trekr?",66 answer:67 "Workouts (type and duration), weight & nutrition (goal, calories), finances & budgeting (income and expenses), investing (portfolio and returns), and discipline (daily tasks you can check off).",68 },69 {70 title: "Do I need multiple apps to do all this?",71 answer:72 "No — Trekr is designed to unify the most important self-improvement categories so you can get a clear overview without switching between tools.",73 },74 {75 title: "How do goals and progress tracking work?",76 answer:77 "You set a goal (for example: target weight or monthly budget), then log daily/weekly data. Trekr helps you see where you are vs. the goal and how you're trending over time.",78 },79 {80 title: "Where is my data stored?",81 answer:82 "Your entries are stored in a database and linked to your user profile so you can track progress consistently over time.",83 },84 {85 title: "Is Trekr a mobile app?",86 answer:87 "Right now Trekr is a web app. The goal is a fast, simple experience on both mobile and desktop in the browser.",88 },89 ],90 footerHeading: "Still have questions?",91 footerDescription: "Send us a message and we’ll help you get started.",92 button: {93 title: "Contact",94 variant: "secondary",95 },96 }; -
frontend/src/pages/LandingPage/components/Features.jsx
ra8381b1 r42da64d 46 46 className="px-[5%] py-16 md:py-24 lg:py-28 bg-base-200" 47 47 > 48 <div className=" container">48 <div className="mx-auto w-full max-w-6xl"> 49 49 <div className="text-center mb-16 md:mb-20"> 50 50 <p className="font-semibold text-sm md:text-base mb-3 md:mb-4"> 51 51 What you can track 52 52 </p> 53 <h2 className=" text-4xl md:text-6xl lg:text-7xl font-bold mb-6">53 <h2 className="font-bold mb-6 text-3xl sm:text-4xl md:text-5xl lg:text-6xl leading-tight"> 54 54 Everything in one dashboard 55 55 </h2> -
frontend/src/pages/LandingPage/components/Footer.jsx
ra8381b1 r42da64d 4 4 const Footer = () => { 5 5 return ( 6 <footer className="footer sm:footer-horizontal bg-neutral text-neutral-content p- 10">6 <footer className="footer sm:footer-horizontal bg-neutral text-neutral-content p-8 sm:p-10"> 7 7 <aside> 8 8 <img src={logo} alt="Trekr" className="h-10 w-auto" /> -
frontend/src/pages/LandingPage/components/Hero.jsx
ra8381b1 r42da64d 19 19 return ( 20 20 <div 21 className="hero min-h- screen"21 className="hero min-h-[calc(100vh-4rem)] bg-cover bg-center" 22 22 style={{ 23 23 backgroundImage: … … 26 26 > 27 27 <div className="hero-overlay"></div> 28 <div className="hero-content text-neutral-content text-center ">29 <div className=" max-w-md">30 <h1 className="mb-5 text-5xl font-bold">28 <div className="hero-content text-neutral-content text-center px-4 py-16 sm:py-24"> 29 <div className="w-full max-w-2xl"> 30 <h1 className="mb-5 font-bold text-3xl sm:text-4xl md:text-5xl lg:text-6xl leading-tight"> 31 31 Trekr — track progress, every day 32 32 </h1> 33 <p className="mb- 5">33 <p className="mb-6 text-sm sm:text-base md:text-lg opacity-90"> 34 34 One self-improvement hub: workouts, weight & nutrition, finances & 35 35 budgeting, investing, and daily discipline tasks. Set goals, log … … 37 37 </p> 38 38 <Link 39 className="btn btn-primary !text-white "39 className="btn btn-primary !text-white btn-sm sm:btn-md md:btn-lg" 40 40 to={isAuthed ? "/dashboard" : "/register"} 41 41 > -
frontend/src/pages/LandingPage/components/HowItWorks.jsx
ra8381b1 r42da64d 1 1 import { Button } from "@relume_io/relume-ui"; 2 import { RxChevronRight } from "react-icons/rx";2 import { HowItWorksDefaults } from "./HowItWorks.defaults.jsx"; 3 3 4 4 export const HowItWorks = (props) => { … … 9 9 return ( 10 10 <section id="relume" className="px-[5%] py-16 md:py-24 lg:py-28"> 11 <div className=" container">11 <div className="mx-auto w-full max-w-6xl"> 12 12 <div className="grid grid-cols-1 gap-y-12 md:grid-cols-2 md:items-center md:gap-x-12 lg:gap-x-20"> 13 <div >13 <div className="text-center md:text-left"> 14 14 <p className="mb-3 font-semibold md:mb-4">{tagline}</p> 15 <h1 className="rb-5 mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl">15 <h1 className="rb-5 mb-5 font-bold text-4xl sm:text-5xl md:mb-6 md:text-6xl lg:text-7xl leading-tight"> 16 16 {heading} 17 17 </h1> 18 <p className="md:text-md">{description}</p> 18 <p className="text-sm sm:text-base md:text-lg opacity-80"> 19 {description} 20 </p> 19 21 <div className="mt-6 flex flex-wrap items-center gap-4 md:mt-8"> 20 22 {buttons.map((button, index) => ( … … 28 30 <img 29 31 src={image.src} 30 className="w-full object-cover"32 className="w-full rounded-2xl object-cover" 31 33 alt={image.alt} 32 34 /> … … 38 40 }; 39 41 40 export const HowItWorksDefaults = { 41 tagline: "How it works", 42 heading: "Log it. Track it. Improve it.", 43 description: 44 "Log what matters to your goals — workouts, weight/calories, budgets, investments, and daily tasks. Trekr gives you a clear view of trends over time so you can stay consistent and keep moving forward.", 45 buttons: [ 46 { title: "Start free", variant: "secondary" }, 47 { 48 title: "See a quick overview", 49 variant: "link", 50 size: "link", 51 iconRight: <RxChevronRight />, 52 }, 53 ], 54 image: { 55 src: "https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=1600&q=80", 56 alt: "Progress and goals overview on a laptop", 57 }, 58 }; 42 -
frontend/src/pages/LandingPage/components/NavbarLanding.jsx
ra8381b1 r42da64d 27 27 28 28 return ( 29 <div className="navbar bg-primary text-primary-content shadow-sm ">30 <div className="navbar-start ">29 <div className="navbar bg-primary text-primary-content shadow-sm px-4 sm:px-6"> 30 <div className="navbar-start flex-1 min-w-0"> 31 31 <Link 32 32 className="btn btn-ghost text-primary-content" … … 37 37 </Link> 38 38 </div> 39 <div className="navbar-end ">39 <div className="navbar-end flex-none"> 40 40 {isAuthed ? ( 41 <div className="flex items-center gap-2 mr-6">41 <div className="flex flex-wrap items-center justify-end gap-2 sm:gap-3"> 42 42 <Link 43 className="btn btn- outline border-primary-content text-primary-content"43 className="btn btn-sm sm:btn-md btn-outline border-primary-content text-primary-content" 44 44 to="/dashboard" 45 45 > … … 47 47 </Link> 48 48 <button 49 className="btn btn- outline border-primary-content text-primary-content"49 className="btn btn-sm sm:btn-md btn-outline border-primary-content text-primary-content" 50 50 onClick={onLogout} 51 51 > … … 55 55 ) : ( 56 56 <Link 57 className="btn btn- tertiary text-blue-200! px-8 mr-6"57 className="btn btn-sm sm:btn-md btn-tertiary text-blue-200! px-6 sm:px-8" 58 58 to="/login" 59 59 > -
frontend/src/pages/LandingPage/components/Who.jsx
ra8381b1 r42da64d 1 1 import { Button } from "@relume_io/relume-ui"; 2 import { RxChevronRight } from "react-icons/rx";2 import { WhoDefaults } from "./Who.defaults.jsx"; 3 3 4 4 export const Who = (props) => { … … 9 9 return ( 10 10 <section id="relume" className="px-[5%] py-16 md:py-24 lg:py-28"> 11 <div className=" container">11 <div className="mx-auto w-full max-w-6xl"> 12 12 <div className="grid grid-cols-1 gap-y-12 md:grid-cols-2 md:items-center md:gap-x-12 lg:gap-x-20"> 13 13 <div className="order-2 md:order-1"> 14 14 <img 15 15 src={image.src} 16 className="w-full object-cover"16 className="w-full rounded-2xl object-cover" 17 17 alt={image.alt} 18 18 /> 19 19 </div> 20 <div className="order-1 lg:order-2 ">20 <div className="order-1 lg:order-2 text-center md:text-left"> 21 21 <p className="mb-3 font-semibold md:mb-4">{tagline}</p> 22 <h2 className="rb-5 mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl">22 <h2 className="rb-5 mb-5 font-bold text-4xl sm:text-5xl md:mb-6 md:text-6xl lg:text-7xl leading-tight"> 23 23 {heading} 24 24 </h2> 25 <p className="md:text-md">{description}</p> 25 <p className="text-sm sm:text-base md:text-lg opacity-80"> 26 {description} 27 </p> 26 28 <div className="mt-6 flex flex-wrap gap-4 md:mt-8"> 27 29 {buttons.map((button, index) => ( … … 38 40 }; 39 41 40 export const WhoDefaults = {41 tagline: "Who it's for",42 heading: "Anyone working on themselves",43 description:44 "Whether you're training regularly, trying to manage weight and nutrition, organizing your budget, tracking investments, or building discipline — Trekr brings your key habits and metrics together in one place.",45 buttons: [46 { title: "Create an account", variant: "secondary" },47 {48 title: "Learn more",49 variant: "link",50 size: "link",51 iconRight: <RxChevronRight />,52 },53 ],54 image: {55 src: "https://images.unsplash.com/photo-1554284126-aa88f22d8b74?auto=format&fit=crop&w=1600&q=80",56 alt: "Planning habits and routine",57 },58 };
Note:
See TracChangeset
for help on using the changeset viewer.
