Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions packages/nextjs/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{
"extends": "next"
}
"extends": "next",
"rules": {
"react/no-unescaped-entities": "off",
"@next/next/no-img-element": "warn"
}
}
332 changes: 332 additions & 0 deletions packages/nextjs/app/about/page.tsx

Large diffs are not rendered by default.

17 changes: 16 additions & 1 deletion packages/nextjs/app/blockexplorer/address/[address]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,21 @@ import {
import { useScaffoldStarkProfile } from "~~/hooks/scaffold-stark/useScaffoldStarkProfile";
import useScaffoldStrkBalance from "~~/hooks/scaffold-stark/useScaffoldStrkBalance";

// Add these type definitions
type TxCall = {
functionCalled?: string;
[key: string]: any;
};

type Transaction = {
transactionHash?: string;
blockNumber?: number;
timestamp?: number;
fromAddress?: string;
txCalls?: TxCall[];
[key: string]: any;
};

interface AddressDetailsProps {
params: Promise<{
address: string;
Expand Down Expand Up @@ -458,7 +473,7 @@ export default function AddressDetails({ params }: AddressDetailsProps) {
</tr>
</thead>
<tbody>
{transactionsData.map((txn, index) => {
{transactionsData.map((txn: Transaction, index: number) => {
const age = txn.timestamp
? Math.floor((Date.now() / 1000 - txn.timestamp) / 60)
: null;
Expand Down
11 changes: 7 additions & 4 deletions packages/nextjs/app/login/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,24 @@ import { X } from "lucide-react"
import { LoginForm } from "~~/components/auth/login-form"

export const metadata: Metadata = {
title: "Login | BrickChain",
description: "Sign in to your BrickChain account",
title: "Login | reAI",
description: "Sign in to your reAI account",
}

export default function LoginPage() {
return (
<div className="min-h-screen bg-white flex items-center justify-center p-4">
<div className="w-full max-w-md">
<div className="relative bg-white border border-gray-200 rounded-2xl p-8 shadow-sm">

{/* Close button */}
<Link href="/" className="absolute top-4 right-4 p-2 text-gray-400 hover:text-gray-600 transition-colors">
<X className="w-5 h-5" />
</Link>

{/* Header */}
<div className="text-center mb-8">
<h1 className="text-3xl font-bold text-gray-900 mb-2">Welcome Back</h1>
<p className="text-gray-600">Sign in to your BrickChain account</p>
<p className="text-gray-600">Sign in to your reAI account</p>
</div>

{/* Form */}
Expand Down
18 changes: 9 additions & 9 deletions packages/nextjs/app/onboarding/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import Link from "next/link"
import { Users, Building2, CheckCircle2, Briefcase, Building } from "lucide-react"

export const metadata: Metadata = {
title: "Choose Your Path | BrickChain",
description: "Select how you'd like to join the BrickChain ecosystem",
title: "Choose Your Path | reAI",
description: "Select how you'd like to join the reAI ecosystem",
}

export default function OnboardingPage() {
Expand All @@ -14,7 +14,7 @@ export default function OnboardingPage() {
{/* Header */}
<div className="text-center mb-12">
<h1 className="text-4xl font-bold text-gray-900 mb-3">Choose Your Path</h1>
<p className="text-lg text-gray-600">Select how you'd like to join the BrickChain ecosystem</p>
<p className="text-lg text-gray-600">Select how you'd like to join the reAI ecosystem</p>
</div>

{/* Cards */}
Expand Down Expand Up @@ -50,15 +50,15 @@ export default function OnboardingPage() {
{/* Features */}
<div className="space-y-3">
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-emerald-500 shrink-0" />
<CheckCircle2 className="w-5 h-5 text-emerald-500 flex-shrink-0" />
<span className="text-gray-700">Low minimum investment</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-emerald-500 shrink-0" />
<CheckCircle2 className="w-5 h-5 text-emerald-500 flex-shrink-0" />
<span className="text-gray-700">Instant liquidity</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-emerald-500 shrink-0" />
<CheckCircle2 className="w-5 h-5 text-emerald-500 flex-shrink-0" />
<span className="text-gray-700">Passive income</span>
</div>
</div>
Expand Down Expand Up @@ -95,15 +95,15 @@ export default function OnboardingPage() {
{/* Features */}
<div className="space-y-3">
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-blue-500 shrink-0" />
<CheckCircle2 className="w-5 h-5 text-blue-500 flex-shrink-0" />
<span className="text-gray-700">List properties</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-blue-500 shrink-0" />
<CheckCircle2 className="w-5 h-5 text-blue-500 flex-shrink-0" />
<span className="text-gray-700">Earn commissions</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-blue-500 shrink-0" />
<CheckCircle2 className="w-5 h-5 text-blue-500 flex-shrink-0" />
<span className="text-gray-700">Manage listings</span>
</div>
</div>
Expand Down
14 changes: 8 additions & 6 deletions packages/nextjs/app/signup/page.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import type { Metadata } from "next"
import Link from "next/link"
import { X } from "lucide-react"
import { RealtorSignupForm } from "~~/components/auth/realtor-signup-form"
import { InvestorSignupForm } from "~~/components/auth/investor-signup-form"

import { RealtorSignupForm } from "~~/components/auth/realtor-signup-form"

export const metadata: Metadata = {
title: "Sign Up | BrickChain",
description: "Create your BrickChain account",
title: "Sign Up | reAI",
description: "Create your reAI account",
}

type SearchParams = Promise<{ [key: string]: string | string[] | undefined }>
Expand All @@ -21,15 +20,18 @@ export default async function SignupPage(props: { searchParams: SearchParams })
<div className="min-h-screen bg-white flex items-center justify-center p-4">
<div className="w-full max-w-md">
<div className="relative bg-white border border-gray-200 rounded-2xl p-8 shadow-sm">

{/* Close button */}
<Link href="/" className="absolute top-4 right-4 p-2 text-gray-400 hover:text-gray-600 transition-colors">
<X className="w-5 h-5" />
</Link>

{/* Header */}
<div className="text-center mb-8">
<h1 className="text-3xl font-bold text-gray-900 mb-2">
{isRealtor ? "Register as realtor" : "Create Account"}
</h1>
<p className="text-gray-600">
{isRealtor ? "Fill in your details to get started" : "Join BrickChain and start investing"}
{isRealtor ? "Fill in your details to get started" : "Join reAI and start investing"}
</p>
</div>

Expand Down
9 changes: 4 additions & 5 deletions packages/nextjs/components/landing/footer.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
"use client"

export function Footer() {
return (
Expand All @@ -8,11 +7,11 @@ export function Footer() {
<div>
<div className="flex items-center gap-2 mb-4">
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-emerald-600">
<span className="text-sm font-bold text-white">BC</span>
<span className="text-sm font-bold text-white">rA</span>
</div>
<span className="font-bold text-gray-900">BrickChain</span>
<span className="font-bold text-gray-900">reAI</span>
</div>
<p className="text-sm text-gray-600">Democratizing real estate investment through blockchain technology.</p>
<p className="text-sm text-gray-600">AI-powered real estate investment through blockchain technology.</p>
</div>

<div>
Expand Down Expand Up @@ -80,7 +79,7 @@ export function Footer() {
</div>

<div className="border-t border-gray-200 pt-8 flex flex-col sm:flex-row justify-between items-center gap-4">
<p className="text-sm text-gray-600">© 2025 BrickChain. All rights reserved.</p>
<p className="text-sm text-gray-600">© 2025 reAI. All rights reserved.</p>
<div className="flex gap-6">
<a href="#" className="text-gray-600 hover:text-emerald-600 transition-colors">
Twitter
Expand Down
14 changes: 7 additions & 7 deletions packages/nextjs/components/landing/header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { useState } from "react"
import { Menu, X } from "lucide-react"
import { Button } from "../ui/button"
import { Button } from "~~/components/ui/button"
import Link from "next/link"
import { WelcomeModal } from "./welcome-modal"

Expand All @@ -17,9 +17,9 @@ export function Header() {
<div className="flex items-center justify-between py-4">
<Link href="/" className="flex items-center gap-2">
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-emerald-600">
<span className="text-sm font-bold text-white">BC</span>
<span className="text-sm font-bold text-white">rA</span>
</div>
<span className="text-xl font-bold text-gray-900">BrickChain</span>
<span className="text-xl font-bold text-gray-900">reAI</span>
</Link>

<nav className="hidden gap-8 md:flex">
Expand All @@ -29,9 +29,9 @@ export function Header() {
<Link href="/properties" className="text-sm text-gray-600 hover:text-emerald-600 transition-colors">
Properties
</Link>
<a href="#" className="text-sm text-gray-600 hover:text-emerald-600 transition-colors">
<Link href="/about" className="text-sm text-gray-600 hover:text-emerald-600 transition-colors">
About
</a>
</Link>
<a href="#" className="text-sm text-gray-600 hover:text-emerald-600 transition-colors">
Contact
</a>
Expand Down Expand Up @@ -67,9 +67,9 @@ export function Header() {
<Link href="/properties" className="text-sm text-gray-600 hover:text-emerald-600">
Properties
</Link>
<a href="#" className="text-sm text-gray-600 hover:text-emerald-600">
<Link href="/about" className="text-sm text-gray-600 hover:text-emerald-600">
About
</a>
</Link>
<a href="#" className="text-sm text-gray-600 hover:text-emerald-600">
Contact
</a>
Expand Down
Loading
Loading