commit 99a60c5b80437defa306d447732970b902cfa862 Author: shialoth Date: Fri Feb 21 18:23:37 2025 +0530 intial setup diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ef6a52 --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/README.md b/README.md new file mode 100644 index 0000000..7721c28 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Collano diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..c85fb67 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,16 @@ +import { dirname } from "path"; +import { fileURLToPath } from "url"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const compat = new FlatCompat({ + baseDirectory: __dirname, +}); + +const eslintConfig = [ + ...compat.extends("next/core-web-vitals", "next/typescript"), +]; + +export default eslintConfig; diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 0000000..e9ffa30 --- /dev/null +++ b/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/package.json b/package.json new file mode 100644 index 0000000..309e53c --- /dev/null +++ b/package.json @@ -0,0 +1,30 @@ +{ + "name": "collano", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "clsx": "^2.1.1", + "motion": "^12.4.5", + "next": "15.1.7", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.0.1" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "15.1.7", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } +} diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 0000000..1a69fd2 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/public/images/body-bg-2.png b/public/images/body-bg-2.png new file mode 100644 index 0000000..eae138e Binary files /dev/null and b/public/images/body-bg-2.png differ diff --git a/public/images/body-bg.png b/public/images/body-bg.png new file mode 100644 index 0000000..860a0da Binary files /dev/null and b/public/images/body-bg.png differ diff --git a/public/images/sidebar-icon.png b/public/images/sidebar-icon.png new file mode 100644 index 0000000..235fbef Binary files /dev/null and b/public/images/sidebar-icon.png differ diff --git a/public/og-banner.png b/public/og-banner.png new file mode 100644 index 0000000..a49cb55 Binary files /dev/null and b/public/og-banner.png differ diff --git a/src/app/(home)/FAQsSection.tsx b/src/app/(home)/FAQsSection.tsx new file mode 100644 index 0000000..b545099 --- /dev/null +++ b/src/app/(home)/FAQsSection.tsx @@ -0,0 +1,130 @@ +"use client"; +import Link from "next/link"; +import { useRef, useState } from "react"; + +interface IFAQ { + question: string; + answer: string; +} + +function FAQ({ question, answer }: IFAQ) { + const [isActive, setIsActive] = useState(false); + const contentRef = useRef(null); + + return ( +
setIsActive(!isActive)} + className="py-4 border-b border-white/10 cursor-pointer overflow-hidden" + > +
+

+ + + + {question} +

+
+ +
+

+
+
+ ); +} + +export default function FAQsSection() { + const faqs: IFAQ[] = [ + { + question: "Do I need ChatGPT plus for a subscription?", + answer: + "No you don't! This subscription is completely different from ChatGPT plus.", + }, + { + question: "Do I need my own API key for a subscription?", + answer: + "No you don't! This subscription is completely different from ChatGPT plus.", + }, + { + question: "How can I cancel my subscription?", + answer: + "No you don't! This subscription is completely different from ChatGPT plus.", + }, + { + question: "How long will it take for support to respond?", + answer: + "No you don't! This subscription is completely different from ChatGPT plus.", + }, + { + question: "What should I do if I encounter a problem?", + answer: + "No you don't! This subscription is completely different from ChatGPT plus.", + }, + ]; + + return ( +
+
+

+ FAQs +

+ +

+ Frequently Asked Question +

+ +

+ Answers to all your most asked questions +

+ +
+ {faqs.map((faq, index) => ( + + ))} +
+ +

+ Still have questions?
Reach out to{" "} + + support@collano.ai + +

+
+
+ ); +} diff --git a/src/app/(home)/FeaturesSection.tsx b/src/app/(home)/FeaturesSection.tsx new file mode 100644 index 0000000..2ba5f6b --- /dev/null +++ b/src/app/(home)/FeaturesSection.tsx @@ -0,0 +1,108 @@ +"use client"; +import Image from "next/image"; +import { JSX } from "react"; +import img1 from "@/assets/images/feature-1.svg"; +import img2 from "@/assets/images/feature-2.svg"; +import img3 from "@/assets/images/feature-3.svg"; +import img4 from "@/assets/images/feature-4.svg"; +import img5 from "@/assets/images/feature-5.svg"; + +interface IFeature { + img: JSX.Element; + title: string; + description: string; +} + +export default function FeaturesSection() { + const features: IFeature[] = [ + { + img: , + title: "Feature 01", + description: + "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + }, + { + img: , + title: "Feature 02", + description: + "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + }, + { + img: , + title: "Feature 03", + description: + "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + }, + { + img: , + title: "Feature 04", + description: + "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + }, + { + img: , + title: "Feature 05", + description: + "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + }, + ]; + + return ( +
+
+

+ Key Features +

+ +

+ The Intelligence Layer for BNB Smart Chain +

+ +

+ Collano is an advanced, open-source platform that seamlessly + integrates state-of-the-art language
models with BNB Smart + Chain technology. We've created an intelligent interface that + understands your
needs and executes complex blockchain + operations with unprecedented ease. +

+ +
+ {features.map((feature, index) => { + return ( +
+ {feature.img} + +
+

+ {feature.title} +

+ +

+ {feature.description} +

+
+
+ ); + })} +
+
+
+ ); +} diff --git a/src/app/(home)/HeroSection.tsx b/src/app/(home)/HeroSection.tsx new file mode 100644 index 0000000..c1ca1c5 --- /dev/null +++ b/src/app/(home)/HeroSection.tsx @@ -0,0 +1,65 @@ +"use client"; +import { ColourfulText } from "@/components/ui/colourful-text"; +import Link from "next/link"; +import Image from "next/image"; +import img1 from "@/assets/images/hero-section-1.png"; +import img2 from "@/assets/images/hero-section-2.png"; +import img3 from "@/assets/images/hero-section-3.png"; +import img4 from "@/assets/images/hero-section-4.png"; + +export default function HeroSection() { + return ( +
+
+
+
+ CA : 0xdadkaddasdhkjzhkjhdkh2k3hksjhadkjhk23jhajd +
+ +

+ Your Intelligent Copilot
for{" "} + +

+ +

+ Collano is your intelligent companion for the BNB Smart Chain + ecosystem,
revolutionizing how users interact with blockchain + technology through natural
language understanding and + automated assistance. +

+ + + Get Started + +
+ + + + + + + + +
+
+ ); +} diff --git a/src/app/(home)/RoadmapSection.tsx b/src/app/(home)/RoadmapSection.tsx new file mode 100644 index 0000000..cf35794 --- /dev/null +++ b/src/app/(home)/RoadmapSection.tsx @@ -0,0 +1,225 @@ +"use client"; +import { JSX, useState } from "react"; + +interface IPhase { + icon: JSX.Element; + title: string; + subTitle: string; + bigTitle: string; + description: JSX.Element; +} + +export default function RoadmapSection() { + const [activePhase, setActivePhase] = useState(0); + + const phases: IPhase[] = [ + { + icon: ( + + + + ), + title: "Phase 01", + subTitle: "Q1 - 2025", + bigTitle: "Phase 01 - Heading about Phase 01", + description: ( + <> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ • Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat.
+ • Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur.
+ • Excepteur sint occaecat cupidatat non proident, sunt in culpa qui + officia deserunt mollit anim id est laborum.
+ • Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat.
+ • Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur.
• Excepteur sint + occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. + + ), + }, + { + icon: ( + + + + ), + title: "Phase 02", + subTitle: "Q2 - 2025", + bigTitle: "Phase 02 - Heading about Phase 02", + description: ( + <> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ • Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat.
+ • Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur.
+ • Excepteur sint occaecat cupidatat non proident, sunt in culpa qui + officia deserunt mollit anim id est laborum.
+ • Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat.
+ • Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur.
• Excepteur sint + occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. + + ), + }, + { + icon: ( + + + + ), + title: "Phase 03", + subTitle: "Q3 - 2025", + bigTitle: "Phase 03 - Heading about Phase 03", + description: ( + <> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ • Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat.
+ • Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur.
+ • Excepteur sint occaecat cupidatat non proident, sunt in culpa qui + officia deserunt mollit anim id est laborum.
+ • Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat.
+ • Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur.
• Excepteur sint + occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. + + ), + }, + { + icon: ( + + + + ), + title: "Phase 04", + subTitle: "Q4 - 2025", + bigTitle: "Phase 04 - Heading about Phase 04", + description: ( + <> + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ • Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat.
+ • Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur.
+ • Excepteur sint occaecat cupidatat non proident, sunt in culpa qui + officia deserunt mollit anim id est laborum.
+ • Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat.
+ • Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur.
• Excepteur sint + occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. + + ), + }, + ]; + + return ( +
+
+

+ Roadmap +

+ +

+ From Hero to SuperHero, we keep building +

+ +

+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum + dolore eu fugiat nulla pariatur.
Excepteur sint occaecat + cupidatat non proident. +

+ +
+ {phases.map((phase, index) => { + return ( +
{ + setActivePhase(index); + }} + className={`py-5 px-7 border ${ + activePhase === index + ? "border-[#09C04C] bg-[#09C04C]/10" + : "border-white/10 bg-white/10" + } rounded-xl flex items-center gap-4 cursor-pointer duration-200`} + > + {phase.icon} + +
+

+ {phase.subTitle} +

+ +

+ {phase.title} +

+
+
+ ); + })} +
+ +
+

+ {phases[activePhase].bigTitle} +

+ +

+ {phases[activePhase].description} +

+
+
+
+ ); +} diff --git a/src/app/(home)/TokenomicsSection.tsx b/src/app/(home)/TokenomicsSection.tsx new file mode 100644 index 0000000..651356f --- /dev/null +++ b/src/app/(home)/TokenomicsSection.tsx @@ -0,0 +1,62 @@ +import Image from "next/image"; +import img1 from "@/assets/images/tokenomics.png"; + +export default function TokenomicsSection() { + return ( +
+
+

+ Tokenomics +

+ +

+ Tokenomics clear as transparent glass +

+ +

+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum + dolore eu fugiat nulla
pariatur. Excepteur sint occaecat + cupidatat non proident. +

+ +
+
+
+

+ Supply +

+ +

+ 90% Circulating Supply +

+ +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+
+ +
+

+ Allocations +

+ +

+ 10% Dev Allocations +

+ +

+ Team Allocations : 5% (Vested with a linear cliff)
{" "} + Strategic Partnerships and Marketing : 5% +

+
+
+ +
+ +
+
+
+
+ ); +} diff --git a/src/app/(home)/page.tsx b/src/app/(home)/page.tsx new file mode 100644 index 0000000..1d1b7c6 --- /dev/null +++ b/src/app/(home)/page.tsx @@ -0,0 +1,30 @@ +import Navbar from "@/components/Navbar"; +import Footer from "@/components/Footer"; +import HeroSection from "./HeroSection"; +import FeaturesSection from "./FeaturesSection"; +import RoadmapSection from "./RoadmapSection"; +import TokenomicsSection from "./TokenomicsSection"; +import FAQsSection from "./FAQsSection"; + +export default function Home() { + return ( +
+ + + + + + + + +
+
+ ); +} diff --git a/src/app/dashboard/home/page.tsx b/src/app/dashboard/home/page.tsx new file mode 100644 index 0000000..48ff93c --- /dev/null +++ b/src/app/dashboard/home/page.tsx @@ -0,0 +1,920 @@ +"use client"; +import { useState } from "react"; +import { JSX } from "react"; +import Link from "next/link"; +import Image from "next/image"; +import logoImg from "@/assets/images/brand/logo.svg"; + +interface IItem { + icon: JSX.Element; + title: string; +} + +export default function DashboardHome() { + const [isWalletPopupActive, setIsWalletPopupActive] = useState(true); + + const items: IItem[] = [ + { + icon: ( + + + + + + ), + title: "Write", + }, + { + icon: ( + + + + + ), + title: "Grammar", + }, + { + icon: ( + + + + + + ), + title: "Translate", + }, + { + icon: ( + + + + + ), + title: "Detect", + }, + { + icon: ( + + + + + + + ), + title: "MindMap", + }, + { + icon: ( + + + + + + + + + + + ), + title: "Bots", + }, + { + icon: ( + + + + + ), + title: "Documents", + }, + { + icon: ( + + + + + + + ), + title: "PDFs", + }, + ]; + + return ( +
+
+
+
+ + + +

+ Beta +

+ + +
+ +

+ Your Conversations +

+ +
+ + Getting Started with... + + + + Lorem Ipsum.. + + + + Duis aute irure... + + + + Dolor in reprehenderit... + + + + Excepteur sint... + + + + Ut enim ad minim... + + + + Lorem ipsum dolor... + +
+
+ +
+
+

+ + + + + + {" "} + 0x..........abcd +

+ + +
+ +
+ +
+

© 2025 Collano Labs

+ +
+ + + + + + + + + + + +
+
+
+
+ +
+
+
+

+ COLLANO v1.0 +

+ +

+ Welcome John 👋 +

+ +

We’re glad to see you today

+
+ +
+ {items.map((item, index) => { + return ( +
+ {item.icon} + +

{item.title}

+
+ ); + })} +
+
+ +
+
+ + + +
+ +
+ + +
+

+ Press{" "} + + + + {" "} + to send +

+ + +
+
+
+
+
+ +
+ + +
+

+ My Wallet +

+ +

+ $29.02 +

+ +

+ 0xabcd...123{" "} + + + + + + + + + +

+ +
+
{ + setIsWalletPopupActive(false); + }} + className="w-full p-3 border border-white/25 bg-white/10 hover:bg-white/15 rounded-lg flex justify-between items-center cursor-pointer duration-200" + > +
+ + + + + + + + + + + + + + + +

+ Uniswap
UNI +

+
+ +

0.0068123546875413

+
+ +
{ + setIsWalletPopupActive(false); + }} + className="w-full p-3 border border-white/25 bg-white/10 hover:bg-white/15 rounded-lg flex justify-between items-center cursor-pointer duration-200" + > +
+ + + + + + + + + + + + + + + +

+ Uniswap
UNI +

+
+ +

0.0068123546875413

+
+ +
{ + setIsWalletPopupActive(false); + }} + className="w-full p-3 border border-white/25 bg-white/10 hover:bg-white/15 rounded-lg flex justify-between items-center cursor-pointer duration-200" + > +
+ + + + + + + + + + + + + + + +

+ Uniswap
UNI +

+
+ +

0.0068123546875413

+
+
+
+
+ +
+
+ ); +} diff --git a/src/app/delegate/page.tsx b/src/app/delegate/page.tsx new file mode 100644 index 0000000..a685cba --- /dev/null +++ b/src/app/delegate/page.tsx @@ -0,0 +1,188 @@ +"use client"; +import Link from "next/link"; +import Image from "next/image"; +import logoImg from "@/assets/images/brand/logo.svg"; + +export default function Delegate() { + return ( +
+
+
+
+
+ + + +

+ Beta +

+ +
+ +

+ Get Started +

+ +

+ Welcome +

+ +

+ Collano is your intelligent companion for the BNB Smart Chain + ecosystem, revolutionizing how users interact with blockchain + technology through natural language understanding and automated + assistance. +

+
+ +
+
+ + Terms of Service + + + + Privacy Policy + +
+ +
+ + + + + + + + + + + +
+
+ + +
+ +
+
+
+

+ Delegate +

+ +

+ Delegate your wallet +

+ +
+ + + + + + + +

+ 0x625EF1A576fAF469A0685871FAB46B9bE158ed49 +

+
+ +

+ After delegating your wallet, you would be able to access + Collano Labs AI, BNB CoPilot Program +

+ + + + + + + + Delegate + +
+
+
+
+ +
+
+ ); +} diff --git a/src/app/favicon.ico b/src/app/favicon.ico new file mode 100644 index 0000000..fb43070 Binary files /dev/null and b/src/app/favicon.ico differ diff --git a/src/app/globals.css b/src/app/globals.css new file mode 100644 index 0000000..e47b1fb --- /dev/null +++ b/src/app/globals.css @@ -0,0 +1,27 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +html { + scroll-behavior: smooth; +} + +.btn-bg { + border: 1px solid #09c04c; + background: rgba(9, 192, 76, 0.15); + box-shadow: 0px 0px 20px 5px rgba(9, 192, 76, 0.25) inset; +} + +.btn-bg:hover { + border-color: #d1ca0d; + background: rgba(209, 202, 13, 0.15); + box-shadow: 0px 0px 5px 4px rgba(209, 202, 13, 0.25), + 0px 0px 20px 5px rgba(209, 202, 13, 0.25) inset; +} + +.ca-bg { + border: 1px solid #d1ca0d; + background: rgba(209, 202, 13, 0.15); + box-shadow: 0px 0px 5px 4px rgba(209, 202, 13, 0.25), + 0px 0px 20px 5px rgba(209, 202, 13, 0.25) inset; +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..1ffca54 --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,58 @@ +import type { Metadata } from "next"; +import { + DM_Sans, + Geist, + Geist_Mono, + Plus_Jakarta_Sans, +} from "next/font/google"; +import "./globals.css"; + +const dmSans = DM_Sans({ + variable: "--font-dm-sans", + subsets: ["latin"], +}); + +const geist = Geist({ + variable: "--font-geist", + subsets: ["latin"], +}); + +const geistMono = Geist_Mono({ + variable: "--font-geist-mono", + subsets: ["latin"], +}); + +const plusJakartaSans = Plus_Jakarta_Sans({ + variable: "--font-plus-jakarta-sans", + subsets: ["latin"], +}); + +export const metadata: Metadata = { + title: "Collano", + description: + "Collano is your intelligent companion for the BNB Smart Chain ecosystem, revolutionizing how users interact with blockchain technology through natural language understanding and automated assistance.", + openGraph: { + type: "website", + url: "https://ai-proj-10.vercel.app", + title: "Collano", + description: + "Collano is your intelligent companion for the BNB Smart Chain ecosystem, revolutionizing how users interact with blockchain technology through natural language understanding and automated assistance.", + images: `https://ai-proj-10.vercel.app/og-banner.png`, + }, +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + {children} + + + ); +} diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx new file mode 100644 index 0000000..312399a --- /dev/null +++ b/src/app/login/page.tsx @@ -0,0 +1,217 @@ +"use client"; +import Link from "next/link"; +import Image from "next/image"; +import logoImg from "@/assets/images/brand/logo.svg"; +import { motion } from "motion/react"; + +export default function Login() { + return ( +
+
+
+
+ + + + +

+ Beta +

+ +
+ + + Get Started + + + + Welcome + + + + Collano is your intelligent companion for the BNB Smart Chain + ecosystem, revolutionizing how users interact with blockchain + technology through natural language understanding and automated + assistance. + +
+ +
+ + + Terms of Service + + + + Privacy Policy + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ + Authenticate + + + + Sign in to your account + + + + By proceeding you agree to our{" "} + + Terms of Service + {" "} + and{" "} + + Privacy Policy. + + + + + + Log In + + + + + + + +
+
+
+
+ +
+
+ ); +} diff --git a/src/assets/images/brand/footer-logo.png b/src/assets/images/brand/footer-logo.png new file mode 100644 index 0000000..0b2d8ae Binary files /dev/null and b/src/assets/images/brand/footer-logo.png differ diff --git a/src/assets/images/brand/logo.svg b/src/assets/images/brand/logo.svg new file mode 100644 index 0000000..2d719d7 --- /dev/null +++ b/src/assets/images/brand/logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/images/feature-1.svg b/src/assets/images/feature-1.svg new file mode 100644 index 0000000..d1c4aa6 --- /dev/null +++ b/src/assets/images/feature-1.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/feature-2.svg b/src/assets/images/feature-2.svg new file mode 100644 index 0000000..6170ed1 --- /dev/null +++ b/src/assets/images/feature-2.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/feature-3.svg b/src/assets/images/feature-3.svg new file mode 100644 index 0000000..0a48683 --- /dev/null +++ b/src/assets/images/feature-3.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/feature-4.svg b/src/assets/images/feature-4.svg new file mode 100644 index 0000000..15da1a7 --- /dev/null +++ b/src/assets/images/feature-4.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/feature-5.svg b/src/assets/images/feature-5.svg new file mode 100644 index 0000000..5a04b85 --- /dev/null +++ b/src/assets/images/feature-5.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/hero-section-1.png b/src/assets/images/hero-section-1.png new file mode 100644 index 0000000..d482baf Binary files /dev/null and b/src/assets/images/hero-section-1.png differ diff --git a/src/assets/images/hero-section-2.png b/src/assets/images/hero-section-2.png new file mode 100644 index 0000000..1bbae43 Binary files /dev/null and b/src/assets/images/hero-section-2.png differ diff --git a/src/assets/images/hero-section-3.png b/src/assets/images/hero-section-3.png new file mode 100644 index 0000000..16d7ed0 Binary files /dev/null and b/src/assets/images/hero-section-3.png differ diff --git a/src/assets/images/hero-section-4.png b/src/assets/images/hero-section-4.png new file mode 100644 index 0000000..1b4eb5c Binary files /dev/null and b/src/assets/images/hero-section-4.png differ diff --git a/src/assets/images/tokenomics.png b/src/assets/images/tokenomics.png new file mode 100644 index 0000000..6e05bd1 Binary files /dev/null and b/src/assets/images/tokenomics.png differ diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx new file mode 100644 index 0000000..1476931 --- /dev/null +++ b/src/components/Footer.tsx @@ -0,0 +1,63 @@ +import Image from "next/image"; +import logoImg from "@/assets/images/brand/footer-logo.png"; +import Link from "next/link"; + +export default function Footer() { + return ( +
+
+
+
+ +

© 2025 Collano Labs

+ +
+ + + + + + + + + + + +
+ +
+ + Terms of Service + + + + + + Privacy Policy + +
+
+ + +
+
+ ); +} diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx new file mode 100644 index 0000000..7d2b574 --- /dev/null +++ b/src/components/Navbar.tsx @@ -0,0 +1,50 @@ +import Link from "next/link"; +import Image from "next/image"; +import logoImg from "@/assets/images/brand/logo.svg"; + +export default function Navbar() { + return ( + + ); +} diff --git a/src/components/ui/colourful-text.tsx b/src/components/ui/colourful-text.tsx new file mode 100644 index 0000000..dde9e3a --- /dev/null +++ b/src/components/ui/colourful-text.tsx @@ -0,0 +1,54 @@ +"use client"; +import React from "react"; +import { motion } from "motion/react"; + +export function ColourfulText({ text }: { text: string }) { + const colors = [ + "rgb(131, 179, 32)", + "rgb(47, 195, 106)", + "rgb(42, 169, 210)", + "rgb(4, 112, 202)", + "rgb(107, 10, 255)", + "rgb(183, 0, 218)", + "rgb(218, 0, 171)", + "rgb(230, 64, 92)", + "rgb(232, 98, 63)", + "rgb(249, 129, 47)", + ]; + + const [currentColors, setCurrentColors] = React.useState(colors); + const [count, setCount] = React.useState(0); + + React.useEffect(() => { + const interval = setInterval(() => { + const shuffled = [...colors].sort(() => Math.random() - 0.5); + setCurrentColors(shuffled); + setCount((prev) => prev + 1); + }, 5000); + + return () => clearInterval(interval); + }, []); + + return text.split("").map((char, index) => ( + + {char} + + )); +} diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 0000000..cec6ac9 --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { ClassValue, clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} diff --git a/tailwind.config.ts b/tailwind.config.ts new file mode 100644 index 0000000..27ce5e4 --- /dev/null +++ b/tailwind.config.ts @@ -0,0 +1,20 @@ +import type { Config } from "tailwindcss"; + +export default { + content: [ + "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", + "./src/components/**/*.{js,ts,jsx,tsx,mdx}", + "./src/app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + fontFamily: { + dm: ["var(--font-dm-sans)"], + sans: ["var(--font-geist)"], + mono: ["var(--font-geist-mono)"], + serif: ["var(--font-plus-jakarta-sans)"], + }, + }, + }, + plugins: [], +} satisfies Config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..c133409 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +}