8 Commits

Author SHA1 Message Date
ad173733e7 Merge version_5_1782837874101 into main
Merge version_5_1782837874101 into main
2026-06-30 16:44:37 +00:00
0dcab611c1 Update theme fonts 2026-06-30 16:44:34 +00:00
eb61ced3b0 Merge version_4_1782837866107 into main
Merge version_4_1782837866107 into main
2026-06-30 16:44:30 +00:00
206fa5442d Update theme fonts 2026-06-30 16:44:26 +00:00
ebc323c366 Merge version_3_1782837106173 into main
Merge version_3_1782837106173 into main
2026-06-30 16:34:00 +00:00
kudinDmitriyUp
63e66be5cd Bob AI: Populate src/pages/ProductsPage.tsx (snippet builder, 2 sections) 2026-06-30 16:33:22 +00:00
kudinDmitriyUp
0f70d6efba Bob AI: Add products page 2026-06-30 16:32:43 +00:00
8e6c24d2cf Merge version_2_1782836945364 into main
Merge version_2_1782836945364 into main
2026-06-30 16:30:36 +00:00
5 changed files with 28 additions and 5 deletions

View File

@@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom';
import Layout from './components/Layout';
import HomePage from './pages/HomePage';
import ProductsPage from "@/pages/ProductsPage";
export default function App() {
return (
<Routes>
<Route element={<Layout />}>
<Route path="/" element={<HomePage />} />
<Route path="/products" element={<ProductsPage />} />
</Route>
</Routes>
);

View File

@@ -34,7 +34,9 @@ export default function Layout() {
{
"name": "Faq",
"href": "#faq"
}
},
{ name: "Products", href: "/products" },
];
return (

View File

@@ -1,4 +1,4 @@
@import url('https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Libre+Baskerville:wght@400;500;600;700&display=swap');
@import "tailwindcss";
@import "./styles/masks.css";
@import "./styles/animations.css";
@@ -88,7 +88,7 @@
--color-background-accent: var(--background-accent);
/* Fonts */
--font-sans: 'Public Sans', sans-serif;
--font-sans: 'Inter', sans-serif;
--font-tight: "Inter Tight", sans-serif;
--font-mono: monospace;
@@ -137,7 +137,7 @@ body {
margin: 0;
background-color: var(--background);
color: var(--foreground);
font-family: 'Public Sans', sans-serif;
font-family: 'Inter', sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -150,7 +150,7 @@ h3,
h4,
h5,
h6 {
font-family: 'Public Sans', sans-serif;
font-family: 'Libre Baskerville', sans-serif;
}
/* Default card/button styles. Template theme.css imports come after this file

View File

@@ -0,0 +1,18 @@
import Button from "@/components/ui/Button";
import HeroBackgroundSlot from "@/components/ui/HeroBackgroundSlot";
import TextAnimation from "@/components/ui/TextAnimation";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import ScrollReveal from "@/components/ui/ScrollReveal";
import AvatarGroup from "@/components/ui/AvatarGroup";
import { ArrowUpRight, Loader2 } from "lucide-react";
import GridOrCarousel from "@/components/ui/GridOrCarousel";
import useProducts from "@/hooks/useProducts";
export default function ProductsPage() {
return (
<>
<div data-webild-section="HeroBillboard"><section aria-label="Hero section" className="relative pt-25 pb-20 md:pt-30"><HeroBackgroundSlot /><div className="flex flex-col gap-12 md:gap-15 w-content-width mx-auto"><div className="flex flex-col items-center gap-3 text-center"><AvatarGroup avatarsSrc={["https://img.freepik.com/free-photo/portrait-young-woman-smiling-isolated_23-2149158610.jpg","https://img.freepik.com/free-photo/handsome-young-man-with-new-stylish-haircut_176420-19637.jpg","https://img.freepik.com/free-photo/young-beautiful-woman-pink-warm-sweater-natural-look-smiling-portrait-isolated-long-hair_285396-896.jpg"]} label="10+ yıllık deneyim" className="mb-1" /><TextAnimation text="Ürünler" variant="slide-up" gradientText={true} tag="h1" className="md:max-w-8/10 text-7xl 2xl:text-8xl leading-[1.15] font-semibold text-center text-balance" /><TextAnimation text="Sağlıklı beslenmeyi günlük hayatınıza pratik bir şekilde entegre etmenize yardımcı olacak, özenle seçilmiş favori ürünlerim." variant="slide-up" gradientText={false} tag="p" className="md:max-w-7/10 text-lg md:text-xl leading-snug text-balance" /><div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3"><Button text="Tümünü Gör" href="#all-products" variant="primary" /><Button text="Tariflere Göz At" href="/recipes" variant="secondary" animationDelay={0.1} /></div></div><ScrollReveal variant="fade-blur" delay={0.2} className="w-full p-2 xl:p-3 2xl:p-4 card rounded overflow-hidden"><ImageOrVideo imageSrc="https://img.freepik.com/free-photo/top-view-healthy-food-arrangement_23-2148890539.jpg" className="aspect-4/5 md:aspect-video" /></ScrollReveal></div></section></div>
<div data-webild-section="ProductMediaCards"><section aria-label="Products section" className="py-20"><div className="w-content-width mx-auto flex justify-center"><Loader2 className="size-8 animate-spin text-foreground" strokeWidth={1.5} /></div></section></div>
</>
);
}

View File

@@ -6,4 +6,5 @@ export interface Route {
export const routes: Route[] = [
{ path: '/', label: 'Home', pageFile: 'HomePage' },
{ path: '/products', label: 'Products', pageFile: 'ProductsPage' },
];