From 567ff2fa8a26af6fe04e2ed30e23a5b0d531211c Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Sun, 21 Jun 2026 17:17:01 +0000 Subject: [PATCH 1/2] Bob AI: Add portfolio page --- src/App.tsx | 2 + src/components/Layout.tsx | 4 +- src/pages/PortfolioPage.tsx | 99 +++++++++++++++++++++++++++++++++++++ src/routes.ts | 1 + 4 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 src/pages/PortfolioPage.tsx diff --git a/src/App.tsx b/src/App.tsx index 33d15f9..4cc1975 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom'; import Layout from './components/Layout'; import HomePage from './pages/HomePage'; +import PortfolioPage from "@/pages/PortfolioPage"; export default function App() { return ( }> } /> + } /> ); diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index 9d99953..46b6439 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -34,7 +34,9 @@ export default function Layout() { { "name": "Faq", "href": "#faq" - } + }, + { name: "Portfolio", href: "/portfolio" }, + ]; return ( diff --git a/src/pages/PortfolioPage.tsx b/src/pages/PortfolioPage.tsx new file mode 100644 index 0000000..0ed46f5 --- /dev/null +++ b/src/pages/PortfolioPage.tsx @@ -0,0 +1,99 @@ +import React from "react"; +import { routes } from "@/routes"; +import NavbarCentered from "@/components/ui/NavbarCentered"; +import HeroSplitKpi from "@/components/sections/hero/HeroSplitKpi"; +import MetricsFeatureCards from "@/components/sections/metrics/MetricsFeatureCards"; +import FeaturesIconCards from "@/components/sections/features/FeaturesIconCards"; +import FooterSimple from "@/components/sections/footer/FooterSimple"; + +export default function PortfolioPage() { + return ( +
+ ({ name: r.label, href: r.path }))} + ctaButton={{ text: "Connect Wallet", href: "#" }} + /> + +
+ + + + + +
+ + +
+ ); +} \ No newline at end of file diff --git a/src/routes.ts b/src/routes.ts index 362ecb5..bf82e0c 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -6,4 +6,5 @@ export interface Route { export const routes: Route[] = [ { path: '/', label: 'Home', pageFile: 'HomePage' }, + { path: '/portfolio', label: 'Portfolio', pageFile: 'PortfolioPage' }, ]; -- 2.49.1 From b97319468e51548ea8118c648ea6690479778699 Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Sun, 21 Jun 2026 17:17:44 +0000 Subject: [PATCH 2/2] Bob AI: Populate src/pages/PortfolioPage.tsx (snippet builder, 3 sections) --- src/pages/PortfolioPage.tsx | 112 ++++++------------------------------ 1 file changed, 17 insertions(+), 95 deletions(-) diff --git a/src/pages/PortfolioPage.tsx b/src/pages/PortfolioPage.tsx index 0ed46f5..e487230 100644 --- a/src/pages/PortfolioPage.tsx +++ b/src/pages/PortfolioPage.tsx @@ -1,99 +1,21 @@ -import React from "react"; -import { routes } from "@/routes"; -import NavbarCentered from "@/components/ui/NavbarCentered"; -import HeroSplitKpi from "@/components/sections/hero/HeroSplitKpi"; -import MetricsFeatureCards from "@/components/sections/metrics/MetricsFeatureCards"; -import FeaturesIconCards from "@/components/sections/features/FeaturesIconCards"; -import FooterSimple from "@/components/sections/footer/FooterSimple"; +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 GridOrCarousel from "@/components/ui/GridOrCarousel"; export default function PortfolioPage() { return ( -
- ({ name: r.label, href: r.path }))} - ctaButton={{ text: "Connect Wallet", href: "#" }} - /> - -
- - - - - -
- - -
+ <> +

Your Portfolio

+

Portfolio Overview

$0.00

Total Value Locked

+
$0.00

Unclaimed Fees

+
0.00%

Average APY

+
0

Active Pools

+

Your Portfolio

Real-Time Analytics

View live performance metrics, including APY, TVL, and accumulated fees for your active positions.

+

Position Management

Easily adjust your price ranges, add or remove liquidity, and harvest your earned rewards.

+

Capital Efficiency

Analyze your concentrated liquidity performance to ensure your capital is maximizing returns.

+ ); -} \ No newline at end of file +} -- 2.49.1