From 69478f1b5d3488524e8955dbc7f3bcf17dead57f Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 11 Feb 2026 17:56:26 +0100 Subject: [PATCH] Simple navbar --- public/nexa-text.png | Bin 0 -> 11755 bytes public/nexa-text.svg | 14 +++++++ src/app/globals.css | 15 ++++++++ src/app/markets/page.tsx | 2 +- src/components/layout/Navbar.tsx | 43 ++++++++++++++++++--- src/components/ui/button.tsx | 64 +++++++++++++++++++++++++++++++ 6 files changed, 131 insertions(+), 7 deletions(-) create mode 100644 public/nexa-text.png create mode 100644 public/nexa-text.svg create mode 100644 src/components/ui/button.tsx diff --git a/public/nexa-text.png b/public/nexa-text.png new file mode 100644 index 0000000000000000000000000000000000000000..371f282cdbcb7055fdcbf9333a33c9602960c9de GIT binary patch literal 11755 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 N002ovPDHLkV1j|9k|_WH literal 0 HcmV?d00001 diff --git a/public/nexa-text.svg b/public/nexa-text.svg new file mode 100644 index 0000000..522ae4e --- /dev/null +++ b/public/nexa-text.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/app/globals.css b/src/app/globals.css index a52d7e8..7e80476 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -48,6 +48,8 @@ } :root { + --radius: 0.325rem; + /* Base surfaces */ --background: oklch(0.13 0.01 260); /* deep charcoal */ --foreground: oklch(0.98 0 0); @@ -110,4 +112,17 @@ body { @apply bg-background text-foreground; } +} + +body { + @apply bg-background text-foreground; +} + + +@font-face { + font-family: 'Researcher'; + src: url('/font/researcher-regular-400.ttf') format('truetype'); + font-weight: normal; + font-style: normal; + font-display: swap; } \ No newline at end of file diff --git a/src/app/markets/page.tsx b/src/app/markets/page.tsx index 55c1f5a..80576b8 100644 --- a/src/app/markets/page.tsx +++ b/src/app/markets/page.tsx @@ -5,7 +5,7 @@ import Statusbar from "@/components/layout/Statusbar"; export default function Markets() { return ( -
+
diff --git a/src/components/layout/Navbar.tsx b/src/components/layout/Navbar.tsx index 6098186..44e6f0b 100644 --- a/src/components/layout/Navbar.tsx +++ b/src/components/layout/Navbar.tsx @@ -1,7 +1,38 @@ +import Link from "next/link"; +import { Button } from "../ui/button"; + +const links = [ + { + path: "/markets", + name: "Markets", + }, + { + path: "/trackers", + name: "Trackers", + }, +]; + export default function Navbar() { - return ( -
- -
- ) -} \ No newline at end of file + return ( + + ); +} diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx new file mode 100644 index 0000000..b5ea4ab --- /dev/null +++ b/src/components/ui/button.tsx @@ -0,0 +1,64 @@ +import * as React from "react" +import { cva, type VariantProps } from "class-variance-authority" +import { Slot } from "radix-ui" + +import { cn } from "@/lib/utils" + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-primary/90", + destructive: + "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", + outline: + "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50", + secondary: + "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: + "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2 has-[>svg]:px-3", + xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3", + sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5", + lg: "h-10 rounded-md px-6 has-[>svg]:px-4", + icon: "size-9", + "icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3", + "icon-sm": "size-8", + "icon-lg": "size-10", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +function Button({ + className, + variant = "default", + size = "default", + asChild = false, + ...props +}: React.ComponentProps<"button"> & + VariantProps & { + asChild?: boolean + }) { + const Comp = asChild ? Slot.Root : "button" + + return ( + + ) +} + +export { Button, buttonVariants }