From 056fe8de5c5c5e4845f0d35672ad332e20933d89 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 00:50:06 +0100 Subject: [PATCH 01/13] Market UI (simple layout) --- package-lock.json | 11 +++ package.json | 1 + src/app/globals.css | 9 ++ src/app/market/components/MarketSidebar.tsx | 25 ++++++ src/app/market/page.tsx | 18 ++++ src/components/ui/input.tsx | 21 +++++ src/components/ui/resizable.tsx | 53 ++++++++++++ src/components/ui/separator.tsx | 28 +++++++ src/components/ui/tabs.tsx | 91 +++++++++++++++++++++ 9 files changed, 257 insertions(+) create mode 100644 src/app/market/components/MarketSidebar.tsx create mode 100644 src/app/market/page.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/resizable.tsx create mode 100644 src/components/ui/separator.tsx create mode 100644 src/components/ui/tabs.tsx diff --git a/package-lock.json b/package-lock.json index 59921e1..2d2fd81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "radix-ui": "^1.4.3", "react": "19.2.3", "react-dom": "19.2.3", + "react-resizable-panels": "^4.6.4", "tailwind-animations": "^1.0.1", "tailwind-merge": "^3.4.0", "tailwind-motlib": "^1.0.4" @@ -6753,6 +6754,16 @@ } } }, + "node_modules/react-resizable-panels": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/react-resizable-panels/-/react-resizable-panels-4.6.4.tgz", + "integrity": "sha512-E7Szs1xyaMZ7xOI2gG4TECNz4r/gmpV1AsXyZRnER6OQnfFf9uclFmrHHZR3h/iF8vQS+nQ1LKyZv9bzwGxPSg==", + "license": "MIT", + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, "node_modules/react-style-singleton": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", diff --git a/package.json b/package.json index 8b3d99b..4f8f3f2 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "radix-ui": "^1.4.3", "react": "19.2.3", "react-dom": "19.2.3", + "react-resizable-panels": "^4.6.4", "tailwind-animations": "^1.0.1", "tailwind-merge": "^3.4.0", "tailwind-motlib": "^1.0.4" diff --git a/src/app/globals.css b/src/app/globals.css index 5b22053..7d4df37 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -48,6 +48,9 @@ --radius-2xl: calc(var(--radius) + 8px); --radius-3xl: calc(var(--radius) + 12px); --radius-4xl: calc(var(--radius) + 16px); + + --color-bullish: var(--bullish); + --color-bearish: var(--bearish); } :root { @@ -106,6 +109,12 @@ --sidebar-border: oklch(1 0 0 / 10%); --sidebar-ring: oklch(0.6 0.12 285); + + /* Bullish - vibrant SOL mint */ + --bullish: oklch(0.72 0.18 165); + + /* Bearish - destructive/coral red */ + --bearish: oklch(0.62 0.2 30); } @layer base { diff --git a/src/app/market/components/MarketSidebar.tsx b/src/app/market/components/MarketSidebar.tsx new file mode 100644 index 0000000..2e85c90 --- /dev/null +++ b/src/app/market/components/MarketSidebar.tsx @@ -0,0 +1,25 @@ +import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"; + +export default function MarketSidebar() { + return ( +
+
+ + + + Buy + + + Sell + + + +
+ ); +} diff --git a/src/app/market/page.tsx b/src/app/market/page.tsx new file mode 100644 index 0000000..5ac5202 --- /dev/null +++ b/src/app/market/page.tsx @@ -0,0 +1,18 @@ +"use client"; + +import Navbar from "@/components/layout/Navbar"; +import Statusbar from "@/components/layout/Statusbar"; +import MarketSidebar from "./components/MarketSidebar"; + +export default function Market() { + return ( +
+ +
+
+ +
+ {/* */} +
+ ); +} diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx new file mode 100644 index 0000000..8916905 --- /dev/null +++ b/src/components/ui/input.tsx @@ -0,0 +1,21 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Input({ className, type, ...props }: React.ComponentProps<"input">) { + return ( + + ) +} + +export { Input } diff --git a/src/components/ui/resizable.tsx b/src/components/ui/resizable.tsx new file mode 100644 index 0000000..bbd25cc --- /dev/null +++ b/src/components/ui/resizable.tsx @@ -0,0 +1,53 @@ +"use client" + +import { GripVerticalIcon } from "lucide-react" +import * as ResizablePrimitive from "react-resizable-panels" + +import { cn } from "@/lib/utils" + +function ResizablePanelGroup({ + className, + ...props +}: ResizablePrimitive.GroupProps) { + return ( + + ) +} + +function ResizablePanel({ ...props }: ResizablePrimitive.PanelProps) { + return +} + +function ResizableHandle({ + withHandle, + className, + ...props +}: ResizablePrimitive.SeparatorProps & { + withHandle?: boolean +}) { + return ( + div]:rotate-90", + className + )} + {...props} + > + {withHandle && ( +
+ +
+ )} +
+ ) +} + +export { ResizableHandle, ResizablePanel, ResizablePanelGroup } diff --git a/src/components/ui/separator.tsx b/src/components/ui/separator.tsx new file mode 100644 index 0000000..4c24b2a --- /dev/null +++ b/src/components/ui/separator.tsx @@ -0,0 +1,28 @@ +"use client" + +import * as React from "react" +import { Separator as SeparatorPrimitive } from "radix-ui" + +import { cn } from "@/lib/utils" + +function Separator({ + className, + orientation = "horizontal", + decorative = true, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Separator } diff --git a/src/components/ui/tabs.tsx b/src/components/ui/tabs.tsx new file mode 100644 index 0000000..7f73dcd --- /dev/null +++ b/src/components/ui/tabs.tsx @@ -0,0 +1,91 @@ +"use client" + +import * as React from "react" +import { cva, type VariantProps } from "class-variance-authority" +import { Tabs as TabsPrimitive } from "radix-ui" + +import { cn } from "@/lib/utils" + +function Tabs({ + className, + orientation = "horizontal", + ...props +}: React.ComponentProps) { + return ( + + ) +} + +const tabsListVariants = cva( + "rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col", + { + variants: { + variant: { + default: "bg-muted", + line: "gap-1 bg-transparent", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +function TabsList({ + className, + variant = "default", + ...props +}: React.ComponentProps & + VariantProps) { + return ( + + ) +} + +function TabsTrigger({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function TabsContent({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants } From fe862559fc89a92aace99d12a40a973c24f60478 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 01:05:40 +0100 Subject: [PATCH 02/13] Small improvements --- src/app/globals.css | 2 +- src/app/market/components/MarketSidebar.tsx | 21 ++++++++++++++------- src/app/market/page.tsx | 6 ++++-- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/app/globals.css b/src/app/globals.css index 7d4df37..d44b6a6 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -114,7 +114,7 @@ --bullish: oklch(0.72 0.18 165); /* Bearish - destructive/coral red */ - --bearish: oklch(0.62 0.2 30); + --bearish: oklch(63.35% 0.2171 4.38); } @layer base { diff --git a/src/app/market/components/MarketSidebar.tsx b/src/app/market/components/MarketSidebar.tsx index 2e85c90..4063bd2 100644 --- a/src/app/market/components/MarketSidebar.tsx +++ b/src/app/market/components/MarketSidebar.tsx @@ -1,24 +1,31 @@ -import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; export default function MarketSidebar() { return ( -
-
- - +
+
placeholder
+ + Buy Sell + + +
buy placeholder
+
+ + sell placeholder +
); diff --git a/src/app/market/page.tsx b/src/app/market/page.tsx index 5ac5202..eb017dd 100644 --- a/src/app/market/page.tsx +++ b/src/app/market/page.tsx @@ -9,10 +9,12 @@ export default function Market() {
-
+
+ +
- {/* */} +
); } From 610c6229f99f6614892e1f1bd3f1b4ae4e5ac1d3 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 01:05:57 +0100 Subject: [PATCH 03/13] Small improvements --- src/app/market/components/MarketSidebar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/market/components/MarketSidebar.tsx b/src/app/market/components/MarketSidebar.tsx index 4063bd2..d0e7e6a 100644 --- a/src/app/market/components/MarketSidebar.tsx +++ b/src/app/market/components/MarketSidebar.tsx @@ -24,7 +24,7 @@ export default function MarketSidebar() {
buy placeholder
- sell placeholder +
buy placeholder
From dc52bd7e352dd637fbcd3377afab09ad6be217d1 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 01:06:09 +0100 Subject: [PATCH 04/13] Small improvements --- src/app/market/components/MarketSidebar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/market/components/MarketSidebar.tsx b/src/app/market/components/MarketSidebar.tsx index d0e7e6a..13a95f1 100644 --- a/src/app/market/components/MarketSidebar.tsx +++ b/src/app/market/components/MarketSidebar.tsx @@ -24,7 +24,7 @@ export default function MarketSidebar() {
buy placeholder
-
buy placeholder
+
sell placeholder
From df906779752f99026b8097a6c9c32ec91cfce957 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 01:14:59 +0100 Subject: [PATCH 05/13] Collapsible --- src/app/market/components/MarketSidebar.tsx | 32 ----------- .../components/market-sidebar/BuySell.tsx | 55 +++++++++++++++++++ .../market-sidebar/MarketSidebar.tsx | 10 ++++ src/app/market/page.tsx | 2 +- 4 files changed, 66 insertions(+), 33 deletions(-) delete mode 100644 src/app/market/components/MarketSidebar.tsx create mode 100644 src/app/market/components/market-sidebar/BuySell.tsx create mode 100644 src/app/market/components/market-sidebar/MarketSidebar.tsx diff --git a/src/app/market/components/MarketSidebar.tsx b/src/app/market/components/MarketSidebar.tsx deleted file mode 100644 index 13a95f1..0000000 --- a/src/app/market/components/MarketSidebar.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; - -export default function MarketSidebar() { - return ( -
-
placeholder
- - - - Buy - - - Sell - - - - -
buy placeholder
-
- -
sell placeholder
-
-
-
- ); -} diff --git a/src/app/market/components/market-sidebar/BuySell.tsx b/src/app/market/components/market-sidebar/BuySell.tsx new file mode 100644 index 0000000..d8209aa --- /dev/null +++ b/src/app/market/components/market-sidebar/BuySell.tsx @@ -0,0 +1,55 @@ +import { Button } from "@/components/ui/button"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { ChevronDown, ChevronUp } from "lucide-react"; +import { useState } from "react"; + +export default function BuySell() { + const [isCollapsed, setIsCollapsed] = useState(false); + + return ( + +
+ + + Buy + + + Sell + + + + {/* The Toggle Button */} + +
+ + {/* Conditional Rendering or Height Hiding */} + {!isCollapsed && ( + <> + +
buy placeholder
+
+ +
sell placeholder
+
+ + )} +
+ ); +} diff --git a/src/app/market/components/market-sidebar/MarketSidebar.tsx b/src/app/market/components/market-sidebar/MarketSidebar.tsx new file mode 100644 index 0000000..0c4360f --- /dev/null +++ b/src/app/market/components/market-sidebar/MarketSidebar.tsx @@ -0,0 +1,10 @@ +import BuySell from "./BuySell"; + +export default function MarketSidebar() { + return ( +
+
placeholder
+ +
+ ); +} diff --git a/src/app/market/page.tsx b/src/app/market/page.tsx index eb017dd..0fdde39 100644 --- a/src/app/market/page.tsx +++ b/src/app/market/page.tsx @@ -2,7 +2,7 @@ import Navbar from "@/components/layout/Navbar"; import Statusbar from "@/components/layout/Statusbar"; -import MarketSidebar from "./components/MarketSidebar"; +import MarketSidebar from "./components/market-sidebar/MarketSidebar"; export default function Market() { return ( From e801be30acb8d2ad74f0fa5298587c814ef3eac4 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 01:47:46 +0100 Subject: [PATCH 06/13] Token info --- .../market-sidebar/MarketSidebar.tsx | 2 + .../components/market-sidebar/TokenInfo.tsx | 126 ++++++++++++++++++ src/modules/tokens/types.ts | 2 +- 3 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 src/app/market/components/market-sidebar/TokenInfo.tsx diff --git a/src/app/market/components/market-sidebar/MarketSidebar.tsx b/src/app/market/components/market-sidebar/MarketSidebar.tsx index 0c4360f..3e2f192 100644 --- a/src/app/market/components/market-sidebar/MarketSidebar.tsx +++ b/src/app/market/components/market-sidebar/MarketSidebar.tsx @@ -1,10 +1,12 @@ import BuySell from "./BuySell"; +import TokenInfo from "./TokenInfo"; export default function MarketSidebar() { return (
placeholder
+
); } diff --git a/src/app/market/components/market-sidebar/TokenInfo.tsx b/src/app/market/components/market-sidebar/TokenInfo.tsx new file mode 100644 index 0000000..b8e1fb9 --- /dev/null +++ b/src/app/market/components/market-sidebar/TokenInfo.tsx @@ -0,0 +1,126 @@ +import { cn } from "@/lib/utils"; +import { Token, TokenLiveData } from "@/modules/tokens/types"; +import { + BoxesIcon, + ChartCandlestick, + ChefHatIcon, + CrosshairIcon, + FlameIcon, + GhostIcon, + LucideIcon, + ShieldIcon, + UsersIcon, + UserStarIcon, +} from "lucide-react"; + +export default function TokenInfo() { + const info: Token = { + mint: "", + symbol: "", + name: "", + }; + + const liveData: TokenLiveData = { + topHolder: 67, + devHold: 20, + snipersHold: 30, + insidersHold: 10, + bundleHold: 3, + }; + + return ( +
+
+
+
+ + + + + + +
+ +
+ + + +
+ +
CA and DA placeholder
+
+
+ ); +} + +function DataCard({ + label, + value, + className, + icon: Icon, +}: { + icon: LucideIcon; + label: string; + value: string; + className: string; +}) { + return ( +
+
+ + {value} +
+
{label}
+
+ ); +} diff --git a/src/modules/tokens/types.ts b/src/modules/tokens/types.ts index 8a3f3fb..3ef2e0d 100644 --- a/src/modules/tokens/types.ts +++ b/src/modules/tokens/types.ts @@ -3,7 +3,7 @@ export interface Token { symbol: string; name: string; logoURI?: string; - twitterPost: { + twitterPost?: { link: string; author: { username: string; From c18c63377eafdf6ba6bce61a056d6cbaf12dba53 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 02:13:49 +0100 Subject: [PATCH 07/13] Simple market chart --- package-lock.json | 28 ++++++ package.json | 2 + .../components/market-sidebar/Chart.tsx | 96 +++++++++++++++++++ src/app/market/page.tsx | 3 +- 4 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 src/app/market/components/market-sidebar/Chart.tsx diff --git a/package-lock.json b/package-lock.json index 2d2fd81..8860fa6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,8 @@ "dependencies": { "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "lightweight-charts": "^5.1.0", + "lightweight-charts-react-components": "^1.4.0", "lucide-react": "^0.563.0", "next": "16.1.6", "radix-ui": "^1.4.3", @@ -4600,6 +4602,12 @@ "express": ">= 4.11" } }, + "node_modules/fancy-canvas": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fancy-canvas/-/fancy-canvas-2.1.0.tgz", + "integrity": "sha512-nifxXJ95JNLFR2NgRV4/MxVP45G9909wJTEKz5fg/TZS20JJZA6hfgRVh/bC9bwl2zBtBNcYPjiBE4njQHVBwQ==", + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -5716,6 +5724,26 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/lightweight-charts": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/lightweight-charts/-/lightweight-charts-5.1.0.tgz", + "integrity": "sha512-jEAYR4ODYeyNZcWUigsoLTl52rbPmgXnvd5FLIv/ZoA/2sSDw63YKnef8n4yhzum7W926yHeFwlm7ididKb7YQ==", + "license": "Apache-2.0", + "dependencies": { + "fancy-canvas": "2.1.0" + } + }, + "node_modules/lightweight-charts-react-components": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/lightweight-charts-react-components/-/lightweight-charts-react-components-1.4.0.tgz", + "integrity": "sha512-FWzEiQDhQaQ04l6kV2fzsODK6jCrzbLOai+r6oEvCqC3tniXjKUAFHbTUlemII7PfiWYwyVAVgl1XRv72Q8Phw==", + "license": "MIT", + "peerDependencies": { + "lightweight-charts": ">=5 < 6", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", diff --git a/package.json b/package.json index 4f8f3f2..cbe478e 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,8 @@ "dependencies": { "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "lightweight-charts": "^5.1.0", + "lightweight-charts-react-components": "^1.4.0", "lucide-react": "^0.563.0", "next": "16.1.6", "radix-ui": "^1.4.3", diff --git a/src/app/market/components/market-sidebar/Chart.tsx b/src/app/market/components/market-sidebar/Chart.tsx new file mode 100644 index 0000000..5d6bde0 --- /dev/null +++ b/src/app/market/components/market-sidebar/Chart.tsx @@ -0,0 +1,96 @@ +import { CandlestickSeries, Chart } from "lightweight-charts-react-components"; + +export default function MarketChart() { + return ( + + + + ); +} diff --git a/src/app/market/page.tsx b/src/app/market/page.tsx index 0fdde39..bb40490 100644 --- a/src/app/market/page.tsx +++ b/src/app/market/page.tsx @@ -3,6 +3,7 @@ import Navbar from "@/components/layout/Navbar"; import Statusbar from "@/components/layout/Statusbar"; import MarketSidebar from "./components/market-sidebar/MarketSidebar"; +import Chart from "./components/market-sidebar/Chart"; export default function Market() { return ( @@ -10,7 +11,7 @@ export default function Market() {
- +
From f59a6cab8f302a07f5c999d5b9b5fc0d6d00e18e Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 02:42:14 +0100 Subject: [PATCH 08/13] Improved landing page button UI --- src/app/page.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index fc98459..3c71610 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -32,8 +32,8 @@ export default function Landing() {

- Catch rugs before they happen, execute trades at Solana - speed, and automate the research pro traders do. + Catch rugs before they happen, execute trades at Solana speed, and + automate the research pro traders do.

@@ -41,7 +41,7 @@ export default function Landing() { href="/markets" className="animate-fade-in-up animate-duration-500 animate-delay-200" > - @@ -50,7 +50,7 @@ export default function Landing() { href="https://github.com/nexa-sol/nexa-trade?tab=readme-ov-file#-nexa-roadmap--alpha-release" target="_blank" > - From 52f9e47cec3fe43ce1b1c62e1f9740aaaa3d229c Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 02:46:56 +0100 Subject: [PATCH 09/13] Improved landing page UX by placing primary button on the right --- src/app/page.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 3c71610..475bb5f 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -38,15 +38,7 @@ export default function Landing() {
- - - @@ -54,6 +46,14 @@ export default function Landing() { View Roadmap + + +
From 5b072cd2abecab2dd062fa5d7b8e2d83f65ed0ce Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 02:51:35 +0100 Subject: [PATCH 10/13] Improved landing page UI/UX by centering hero --- src/app/page.tsx | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 475bb5f..bd57fb8 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -22,21 +22,29 @@ export default function Landing() { {/* Hero */} -
-
-

+
+
+

Your copilot for
memecoin trading

-

+

Catch rugs before they happen, execute trades at Solana speed, and automate the research pro traders do.

-
+
+ + + - - -
From e8cb05b286fe2829b7089784f8010ee49fc4a3b3 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 03:00:30 +0100 Subject: [PATCH 11/13] Replaced CTA again --- src/app/page.tsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index bd57fb8..950006a 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -37,14 +37,6 @@ export default function Landing() {

- - - + + +

@@ -61,7 +61,7 @@ export default function Landing() { {/* Features */}
- + {[ { icon: Shield, From fef385f24615b87cd7da3d775966c1f46f467a21 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 03:01:54 +0100 Subject: [PATCH 12/13] Improved card background color --- src/app/globals.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/globals.css b/src/app/globals.css index d44b6a6..16bfb74 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -60,7 +60,7 @@ --background: oklch(0.13 0.01 260); /* deep charcoal */ --foreground: oklch(0.98 0 0); - --card: oklch(0.18 0.015 260); + --card: oklch(15.349% 0.00726 258.438); --card-foreground: oklch(0.98 0 0); --popover: oklch(0.18 0.015 260); From f3a736087ff2ee853dc382b71ef77a557d90968b Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 18 Feb 2026 19:34:43 +0100 Subject: [PATCH 13/13] Market/mint --- .../{ => [mint]}/components/market-sidebar/BuySell.tsx | 0 .../market/{ => [mint]}/components/market-sidebar/Chart.tsx | 0 .../components/market-sidebar/MarketSidebar.tsx | 0 .../{ => [mint]}/components/market-sidebar/TokenInfo.tsx | 0 src/app/market/{ => [mint]}/page.tsx | 0 src/app/markets/components/TokenCard.tsx | 6 +++--- 6 files changed, 3 insertions(+), 3 deletions(-) rename src/app/market/{ => [mint]}/components/market-sidebar/BuySell.tsx (100%) rename src/app/market/{ => [mint]}/components/market-sidebar/Chart.tsx (100%) rename src/app/market/{ => [mint]}/components/market-sidebar/MarketSidebar.tsx (100%) rename src/app/market/{ => [mint]}/components/market-sidebar/TokenInfo.tsx (100%) rename src/app/market/{ => [mint]}/page.tsx (100%) diff --git a/src/app/market/components/market-sidebar/BuySell.tsx b/src/app/market/[mint]/components/market-sidebar/BuySell.tsx similarity index 100% rename from src/app/market/components/market-sidebar/BuySell.tsx rename to src/app/market/[mint]/components/market-sidebar/BuySell.tsx diff --git a/src/app/market/components/market-sidebar/Chart.tsx b/src/app/market/[mint]/components/market-sidebar/Chart.tsx similarity index 100% rename from src/app/market/components/market-sidebar/Chart.tsx rename to src/app/market/[mint]/components/market-sidebar/Chart.tsx diff --git a/src/app/market/components/market-sidebar/MarketSidebar.tsx b/src/app/market/[mint]/components/market-sidebar/MarketSidebar.tsx similarity index 100% rename from src/app/market/components/market-sidebar/MarketSidebar.tsx rename to src/app/market/[mint]/components/market-sidebar/MarketSidebar.tsx diff --git a/src/app/market/components/market-sidebar/TokenInfo.tsx b/src/app/market/[mint]/components/market-sidebar/TokenInfo.tsx similarity index 100% rename from src/app/market/components/market-sidebar/TokenInfo.tsx rename to src/app/market/[mint]/components/market-sidebar/TokenInfo.tsx diff --git a/src/app/market/page.tsx b/src/app/market/[mint]/page.tsx similarity index 100% rename from src/app/market/page.tsx rename to src/app/market/[mint]/page.tsx diff --git a/src/app/markets/components/TokenCard.tsx b/src/app/markets/components/TokenCard.tsx index 51e0fdd..bf0c96a 100644 --- a/src/app/markets/components/TokenCard.tsx +++ b/src/app/markets/components/TokenCard.tsx @@ -40,13 +40,13 @@ export default function TokenCard({ token }: { token: Token }) { " onClick={(e) => { if (e.ctrlKey || e.metaKey) { - window.open(`/token/${token.mint}`, "_blank", "noopener,noreferrer"); + window.open(`/market/${token.mint}`, "_blank", "noopener,noreferrer"); } else { - router.push(`/token/${token.mint}`); + router.push(`/market/${token.mint}`); } }} onContextMenu={() => - window.open(`/token/${token.mint}`, "_blank", "noopener,noreferrer") + window.open(`/market/${token.mint}`, "_blank", "noopener,noreferrer") } > {/* Left: logo */}