Skip to content

Commit 97595a8

Browse files
authored
Merge pull request #5 from legend4tech/build-pages
feat: added ai simulation and about page
2 parents c997675 + a7ffbc2 commit 97595a8

25 files changed

Lines changed: 1021 additions & 185 deletions

packages/nextjs/.eslintrc.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
{
2-
"extends": "next"
3-
}
2+
"extends": "next",
3+
"rules": {
4+
"react/no-unescaped-entities": "off",
5+
"@next/next/no-img-element": "warn"
6+
}
7+
}

packages/nextjs/app/about/page.tsx

Lines changed: 332 additions & 0 deletions
Large diffs are not rendered by default.

packages/nextjs/app/blockexplorer/address/[address]/page.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,21 @@ import {
1919
import { useScaffoldStarkProfile } from "~~/hooks/scaffold-stark/useScaffoldStarkProfile";
2020
import useScaffoldStrkBalance from "~~/hooks/scaffold-stark/useScaffoldStrkBalance";
2121

22+
// Add these type definitions
23+
type TxCall = {
24+
functionCalled?: string;
25+
[key: string]: any;
26+
};
27+
28+
type Transaction = {
29+
transactionHash?: string;
30+
blockNumber?: number;
31+
timestamp?: number;
32+
fromAddress?: string;
33+
txCalls?: TxCall[];
34+
[key: string]: any;
35+
};
36+
2237
interface AddressDetailsProps {
2338
params: Promise<{
2439
address: string;
@@ -458,7 +473,7 @@ export default function AddressDetails({ params }: AddressDetailsProps) {
458473
</tr>
459474
</thead>
460475
<tbody>
461-
{transactionsData.map((txn, index) => {
476+
{transactionsData.map((txn: Transaction, index: number) => {
462477
const age = txn.timestamp
463478
? Math.floor((Date.now() / 1000 - txn.timestamp) / 60)
464479
: null;

packages/nextjs/app/login/page.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,24 @@ import { X } from "lucide-react"
44
import { LoginForm } from "~~/components/auth/login-form"
55

66
export const metadata: Metadata = {
7-
title: "Login | BrickChain",
8-
description: "Sign in to your BrickChain account",
7+
title: "Login | reAI",
8+
description: "Sign in to your reAI account",
99
}
1010

1111
export default function LoginPage() {
1212
return (
1313
<div className="min-h-screen bg-white flex items-center justify-center p-4">
1414
<div className="w-full max-w-md">
1515
<div className="relative bg-white border border-gray-200 rounded-2xl p-8 shadow-sm">
16-
16+
{/* Close button */}
17+
<Link href="/" className="absolute top-4 right-4 p-2 text-gray-400 hover:text-gray-600 transition-colors">
18+
<X className="w-5 h-5" />
19+
</Link>
1720

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

2427
{/* Form */}

packages/nextjs/app/onboarding/page.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import Link from "next/link"
33
import { Users, Building2, CheckCircle2, Briefcase, Building } from "lucide-react"
44

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

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

2020
{/* Cards */}
@@ -50,15 +50,15 @@ export default function OnboardingPage() {
5050
{/* Features */}
5151
<div className="space-y-3">
5252
<div className="flex items-center gap-3">
53-
<CheckCircle2 className="w-5 h-5 text-emerald-500 shrink-0" />
53+
<CheckCircle2 className="w-5 h-5 text-emerald-500 flex-shrink-0" />
5454
<span className="text-gray-700">Low minimum investment</span>
5555
</div>
5656
<div className="flex items-center gap-3">
57-
<CheckCircle2 className="w-5 h-5 text-emerald-500 shrink-0" />
57+
<CheckCircle2 className="w-5 h-5 text-emerald-500 flex-shrink-0" />
5858
<span className="text-gray-700">Instant liquidity</span>
5959
</div>
6060
<div className="flex items-center gap-3">
61-
<CheckCircle2 className="w-5 h-5 text-emerald-500 shrink-0" />
61+
<CheckCircle2 className="w-5 h-5 text-emerald-500 flex-shrink-0" />
6262
<span className="text-gray-700">Passive income</span>
6363
</div>
6464
</div>
@@ -95,15 +95,15 @@ export default function OnboardingPage() {
9595
{/* Features */}
9696
<div className="space-y-3">
9797
<div className="flex items-center gap-3">
98-
<CheckCircle2 className="w-5 h-5 text-blue-500 shrink-0" />
98+
<CheckCircle2 className="w-5 h-5 text-blue-500 flex-shrink-0" />
9999
<span className="text-gray-700">List properties</span>
100100
</div>
101101
<div className="flex items-center gap-3">
102-
<CheckCircle2 className="w-5 h-5 text-blue-500 shrink-0" />
102+
<CheckCircle2 className="w-5 h-5 text-blue-500 flex-shrink-0" />
103103
<span className="text-gray-700">Earn commissions</span>
104104
</div>
105105
<div className="flex items-center gap-3">
106-
<CheckCircle2 className="w-5 h-5 text-blue-500 shrink-0" />
106+
<CheckCircle2 className="w-5 h-5 text-blue-500 flex-shrink-0" />
107107
<span className="text-gray-700">Manage listings</span>
108108
</div>
109109
</div>

packages/nextjs/app/signup/page.tsx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import type { Metadata } from "next"
22
import Link from "next/link"
33
import { X } from "lucide-react"
4-
import { RealtorSignupForm } from "~~/components/auth/realtor-signup-form"
54
import { InvestorSignupForm } from "~~/components/auth/investor-signup-form"
6-
5+
import { RealtorSignupForm } from "~~/components/auth/realtor-signup-form"
76

87
export const metadata: Metadata = {
9-
title: "Sign Up | BrickChain",
10-
description: "Create your BrickChain account",
8+
title: "Sign Up | reAI",
9+
description: "Create your reAI account",
1110
}
1211

1312
type SearchParams = Promise<{ [key: string]: string | string[] | undefined }>
@@ -21,15 +20,18 @@ export default async function SignupPage(props: { searchParams: SearchParams })
2120
<div className="min-h-screen bg-white flex items-center justify-center p-4">
2221
<div className="w-full max-w-md">
2322
<div className="relative bg-white border border-gray-200 rounded-2xl p-8 shadow-sm">
24-
23+
{/* Close button */}
24+
<Link href="/" className="absolute top-4 right-4 p-2 text-gray-400 hover:text-gray-600 transition-colors">
25+
<X className="w-5 h-5" />
26+
</Link>
2527

2628
{/* Header */}
2729
<div className="text-center mb-8">
2830
<h1 className="text-3xl font-bold text-gray-900 mb-2">
2931
{isRealtor ? "Register as realtor" : "Create Account"}
3032
</h1>
3133
<p className="text-gray-600">
32-
{isRealtor ? "Fill in your details to get started" : "Join BrickChain and start investing"}
34+
{isRealtor ? "Fill in your details to get started" : "Join reAI and start investing"}
3335
</p>
3436
</div>
3537

packages/nextjs/components/landing/footer.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
"use client"
21

32
export function Footer() {
43
return (
@@ -8,11 +7,11 @@ export function Footer() {
87
<div>
98
<div className="flex items-center gap-2 mb-4">
109
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-emerald-600">
11-
<span className="text-sm font-bold text-white">BC</span>
10+
<span className="text-sm font-bold text-white">rA</span>
1211
</div>
13-
<span className="font-bold text-gray-900">BrickChain</span>
12+
<span className="font-bold text-gray-900">reAI</span>
1413
</div>
15-
<p className="text-sm text-gray-600">Democratizing real estate investment through blockchain technology.</p>
14+
<p className="text-sm text-gray-600">AI-powered real estate investment through blockchain technology.</p>
1615
</div>
1716

1817
<div>
@@ -80,7 +79,7 @@ export function Footer() {
8079
</div>
8180

8281
<div className="border-t border-gray-200 pt-8 flex flex-col sm:flex-row justify-between items-center gap-4">
83-
<p className="text-sm text-gray-600">© 2025 BrickChain. All rights reserved.</p>
82+
<p className="text-sm text-gray-600">© 2025 reAI. All rights reserved.</p>
8483
<div className="flex gap-6">
8584
<a href="#" className="text-gray-600 hover:text-emerald-600 transition-colors">
8685
Twitter

packages/nextjs/components/landing/header.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import { useState } from "react"
44
import { Menu, X } from "lucide-react"
5-
import { Button } from "../ui/button"
5+
import { Button } from "~~/components/ui/button"
66
import Link from "next/link"
77
import { WelcomeModal } from "./welcome-modal"
88

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

2525
<nav className="hidden gap-8 md:flex">
@@ -29,9 +29,9 @@ export function Header() {
2929
<Link href="/properties" className="text-sm text-gray-600 hover:text-emerald-600 transition-colors">
3030
Properties
3131
</Link>
32-
<a href="#" className="text-sm text-gray-600 hover:text-emerald-600 transition-colors">
32+
<Link href="/about" className="text-sm text-gray-600 hover:text-emerald-600 transition-colors">
3333
About
34-
</a>
34+
</Link>
3535
<a href="#" className="text-sm text-gray-600 hover:text-emerald-600 transition-colors">
3636
Contact
3737
</a>
@@ -67,9 +67,9 @@ export function Header() {
6767
<Link href="/properties" className="text-sm text-gray-600 hover:text-emerald-600">
6868
Properties
6969
</Link>
70-
<a href="#" className="text-sm text-gray-600 hover:text-emerald-600">
70+
<Link href="/about" className="text-sm text-gray-600 hover:text-emerald-600">
7171
About
72-
</a>
72+
</Link>
7373
<a href="#" className="text-sm text-gray-600 hover:text-emerald-600">
7474
Contact
7575
</a>

0 commit comments

Comments
 (0)