e.stopPropagation()}
>
-
-
+
@@ -70,15 +70,15 @@ export default function ProfileCompletionModal({
experience and connect you with the right opportunities.
-
+
-
-
);
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/src/components/layout/Footer.tsx b/src/components/layout/Footer.tsx
deleted file mode 100644
index f1f436c..0000000
--- a/src/components/layout/Footer.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-function Footer (){
- return(
-
Footer
- )
-}
-
-
-export default Footer;
\ No newline at end of file
diff --git a/src/components/layout/Header.tsx b/src/components/layout/Header.tsx
deleted file mode 100644
index 8e633cd..0000000
--- a/src/components/layout/Header.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-function Header(){
- return(
-
Header
- )
-}
-
-
-export default Header;
\ No newline at end of file
diff --git a/src/lib/MockData.ts b/src/lib/MockData.ts
index 9a66898..743cb29 100644
--- a/src/lib/MockData.ts
+++ b/src/lib/MockData.ts
@@ -1,36 +1,448 @@
import { Book } from "./interfaces/BookInterface";
+import { TransactionHistoryInterface } from "./interfaces/TransactionIHistoryInterface";
-const bookData: Book[] = [
- { id: 1, bookTitle: "Native Invisibility", author: "Darrin Collins", isNFT: true, image: "/images/bookCover1.png", price: 15, rating: 4, date: new Date("2024-04-01") },
- { id: 2, bookTitle: "Whispers of Tomorrow", author: "Lena Fitzgerald", isNFT: false, image: "/images/bookCover1.png", price: 22, rating: 3, date: new Date("2024-03-28") },
- { id: 3, bookTitle: "Echoes of the Forgotten", author: "Marcus Reed", isNFT: true, image: "/images/bookCover1.png", price: 30, rating: 5, date: new Date("2024-04-20") },
- { id: 4, bookTitle: "Fragments of Reality", author: "Sophia Turner", isNFT: false, image: "/images/bookCover1.png", price: 18, rating: 2, date: new Date("2024-04-15") },
- { id: 5, bookTitle: "The Last Horizon", author: "Isaiah Brooks", isNFT: true, image: "/images/bookCover1.png", price: 35, rating: 5, date: new Date("2024-02-10") },
- { id: 6, bookTitle: "Silent Songs", author: "Amelia Hart", isNFT: false, image: "/images/bookCover1.png", price: 27, rating: 3, date: new Date("2024-01-30") },
- { id: 7, bookTitle: "Beyond the Edge", author: "Noah Chambers", isNFT: true, image: "/images/bookCover1.png", price: 24, rating: 4, date: new Date("2024-04-22") },
- { id: 8, bookTitle: "Twilight's Embrace", author: "Olivia Bennett", isNFT: false, image: "/images/bookCover1.png", price: 20, rating: 2, date: new Date("2024-03-12") },
- { id: 9, bookTitle: "Shadows and Sparks", author: "Ethan Cruz", isNFT: true, image: "/images/bookCover1.png", price: 32, rating: 5, date: new Date("2024-04-19") },
- { id: 10, bookTitle: "Canvas of Dreams", author: "Maya Jensen", isNFT: false, image: "/images/bookCover1.png", price: 14, rating: 1, date: new Date("2024-03-05") },
- { id: 11, bookTitle: "Winds of Destiny", author: "Lucas Hayes", isNFT: true, image: "/images/bookCover1.png", price: 38, rating: 5, date: new Date("2024-04-23") },
- { id: 12, bookTitle: "Mirror of Illusions", author: "Ella Simmons", isNFT: false, image: "/images/bookCover1.png", price: 17, rating: 2, date: new Date("2024-02-28") },
- { id: 13, bookTitle: "Veil of Secrets", author: "Gabriel Vaughn", isNFT: true, image: "/images/bookCover1.png", price: 29, rating: 4, date: new Date("2024-04-18") },
- { id: 14, bookTitle: "Tides of Memory", author: "Chloe Monroe", isNFT: false, image: "/images/bookCover1.png", price: 19, rating: 3, date: new Date("2024-01-18") },
- { id: 15, bookTitle: "Broken Compass", author: "Henry Castillo", isNFT: true, image: "/images/bookCover1.png", price: 36, rating: 5, date: new Date("2024-04-21") },
- { id: 16, bookTitle: "Letters to Nowhere", author: "Aria Flores", isNFT: false, image: "/images/bookCover1.png", price: 12, rating: 2, date: new Date("2024-03-07") },
- { id: 17, bookTitle: "Crimson Skies", author: "Leo Montgomery", isNFT: true, image: "/images/bookCover1.png", price: 25, rating: 5, date: new Date("2024-04-11") },
- { id: 18, bookTitle: "Paths Uncharted", author: "Zoe Wallace", isNFT: false, image: "/images/bookCover1.png", price: 21, rating: 3, date: new Date("2024-02-25") },
- { id: 19, bookTitle: "Silent Reverie", author: "Nathaniel West", isNFT: true, image: "/images/bookCover1.png", price: 34, rating: 4, date: new Date("2024-04-16") },
- { id: 20, bookTitle: "Gates of Tomorrow", author: "Lily Armstrong", isNFT: false, image: "/images/bookCover1.png", price: 13, rating: 1, date: new Date("2024-02-11") },
- { id: 21, bookTitle: "Beneath the Surface", author: "Mason Ellis", isNFT: true, image: "/images/bookCover1.png", price: 40, rating: 5, date: new Date("2024-04-26") },
- { id: 22, bookTitle: "Embers of Hope", author: "Grace Nolan", isNFT: false, image: "/images/bookCover1.png", price: 16, rating: 2, date: new Date("2024-03-18") },
- { id: 23, bookTitle: "River of Stars", author: "Sebastian Keller", isNFT: true, image: "/images/bookCover1.png", price: 28, rating: 4, date: new Date("2024-04-24") },
- { id: 24, bookTitle: "Secrets of the Deep", author: "Isla Warner", isNFT: false, image: "/images/bookCover1.png", price: 23, rating: 3, date: new Date("2024-01-15") },
- { id: 25, bookTitle: "Ashes and Echoes", author: "Owen Sharp", isNFT: true, image: "/images/bookCover1.png", price: 39, rating: 5, date: new Date("2024-04-17") },
- { id: 26, bookTitle: "Whispers in the Wind", author: "Sienna Cross", isNFT: false, image: "/images/bookCover1.png", price: 11, rating: 2, date: new Date("2024-03-09") },
- { id: 27, bookTitle: "Lanterns of the Past", author: "Caleb Drake", isNFT: true, image: "/images/bookCover1.png", price: 37, rating: 5, date: new Date("2024-04-13") },
- { id: 28, bookTitle: "Moonlight Sonata", author: "Hannah Frost", isNFT: false, image: "/images/bookCover1.png", price: 26, rating: 4, date: new Date("2024-03-01") },
- { id: 29, bookTitle: "Valley of Mist", author: "Dominic Rhodes", isNFT: true, image: "/images/bookCover1.png", price: 31, rating: 5, date: new Date("2024-04-12") },
- { id: 30, bookTitle: "Songs of the Sea", author: "Penelope Brooks", isNFT: false, image: "/images/bookCover1.png", price: 15, rating: 2, date: new Date("2024-02-07") },
+export const bookData: Book[] = [
+ {
+ id: 1,
+ bookTitle: "Native Invisibility",
+ author: "Darrin Collins",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 15,
+ rating: 4,
+ date: new Date("2024-04-01"),
+ },
+ {
+ id: 2,
+ bookTitle: "Whispers of Tomorrow",
+ author: "Lena Fitzgerald",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 22,
+ rating: 3,
+ date: new Date("2024-03-28"),
+ },
+ {
+ id: 3,
+ bookTitle: "Echoes of the Forgotten",
+ author: "Marcus Reed",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 30,
+ rating: 5,
+ date: new Date("2024-04-20"),
+ },
+ {
+ id: 4,
+ bookTitle: "Fragments of Reality",
+ author: "Sophia Turner",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 18,
+ rating: 2,
+ date: new Date("2024-04-15"),
+ },
+ {
+ id: 5,
+ bookTitle: "The Last Horizon",
+ author: "Isaiah Brooks",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 35,
+ rating: 5,
+ date: new Date("2024-02-10"),
+ },
+ {
+ id: 6,
+ bookTitle: "Silent Songs",
+ author: "Amelia Hart",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 27,
+ rating: 3,
+ date: new Date("2024-01-30"),
+ },
+ {
+ id: 7,
+ bookTitle: "Beyond the Edge",
+ author: "Noah Chambers",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 24,
+ rating: 4,
+ date: new Date("2024-04-22"),
+ },
+ {
+ id: 8,
+ bookTitle: "Twilight's Embrace",
+ author: "Olivia Bennett",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 20,
+ rating: 2,
+ date: new Date("2024-03-12"),
+ },
+ {
+ id: 9,
+ bookTitle: "Shadows and Sparks",
+ author: "Ethan Cruz",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 32,
+ rating: 5,
+ date: new Date("2024-04-19"),
+ },
+ {
+ id: 10,
+ bookTitle: "Canvas of Dreams",
+ author: "Maya Jensen",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 14,
+ rating: 1,
+ date: new Date("2024-03-05"),
+ },
+ {
+ id: 11,
+ bookTitle: "Winds of Destiny",
+ author: "Lucas Hayes",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 38,
+ rating: 5,
+ date: new Date("2024-04-23"),
+ },
+ {
+ id: 12,
+ bookTitle: "Mirror of Illusions",
+ author: "Ella Simmons",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 17,
+ rating: 2,
+ date: new Date("2024-02-28"),
+ },
+ {
+ id: 13,
+ bookTitle: "Veil of Secrets",
+ author: "Gabriel Vaughn",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 29,
+ rating: 4,
+ date: new Date("2024-04-18"),
+ },
+ {
+ id: 14,
+ bookTitle: "Tides of Memory",
+ author: "Chloe Monroe",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 19,
+ rating: 3,
+ date: new Date("2024-01-18"),
+ },
+ {
+ id: 15,
+ bookTitle: "Broken Compass",
+ author: "Henry Castillo",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 36,
+ rating: 5,
+ date: new Date("2024-04-21"),
+ },
+ {
+ id: 16,
+ bookTitle: "Letters to Nowhere",
+ author: "Aria Flores",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 12,
+ rating: 2,
+ date: new Date("2024-03-07"),
+ },
+ {
+ id: 17,
+ bookTitle: "Crimson Skies",
+ author: "Leo Montgomery",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 25,
+ rating: 5,
+ date: new Date("2024-04-11"),
+ },
+ {
+ id: 18,
+ bookTitle: "Paths Uncharted",
+ author: "Zoe Wallace",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 21,
+ rating: 3,
+ date: new Date("2024-02-25"),
+ },
+ {
+ id: 19,
+ bookTitle: "Silent Reverie",
+ author: "Nathaniel West",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 34,
+ rating: 4,
+ date: new Date("2024-04-16"),
+ },
+ {
+ id: 20,
+ bookTitle: "Gates of Tomorrow",
+ author: "Lily Armstrong",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 13,
+ rating: 1,
+ date: new Date("2024-02-11"),
+ },
+ {
+ id: 21,
+ bookTitle: "Beneath the Surface",
+ author: "Mason Ellis",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 40,
+ rating: 5,
+ date: new Date("2024-04-26"),
+ },
+ {
+ id: 22,
+ bookTitle: "Embers of Hope",
+ author: "Grace Nolan",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 16,
+ rating: 2,
+ date: new Date("2024-03-18"),
+ },
+ {
+ id: 23,
+ bookTitle: "River of Stars",
+ author: "Sebastian Keller",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 28,
+ rating: 4,
+ date: new Date("2024-04-24"),
+ },
+ {
+ id: 24,
+ bookTitle: "Secrets of the Deep",
+ author: "Isla Warner",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 23,
+ rating: 3,
+ date: new Date("2024-01-15"),
+ },
+ {
+ id: 25,
+ bookTitle: "Ashes and Echoes",
+ author: "Owen Sharp",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 39,
+ rating: 5,
+ date: new Date("2024-04-17"),
+ },
+ {
+ id: 26,
+ bookTitle: "Whispers in the Wind",
+ author: "Sienna Cross",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 11,
+ rating: 2,
+ date: new Date("2024-03-09"),
+ },
+ {
+ id: 27,
+ bookTitle: "Lanterns of the Past",
+ author: "Caleb Drake",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 37,
+ rating: 5,
+ date: new Date("2024-04-13"),
+ },
+ {
+ id: 28,
+ bookTitle: "Moonlight Sonata",
+ author: "Hannah Frost",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 26,
+ rating: 4,
+ date: new Date("2024-03-01"),
+ },
+ {
+ id: 29,
+ bookTitle: "Valley of Mist",
+ author: "Dominic Rhodes",
+ isNFT: true,
+ image: "/images/bookCover1.png",
+ price: 31,
+ rating: 5,
+ date: new Date("2024-04-12"),
+ },
+ {
+ id: 30,
+ bookTitle: "Songs of the Sea",
+ author: "Penelope Brooks",
+ isNFT: false,
+ image: "/images/bookCover1.png",
+ price: 15,
+ rating: 2,
+ date: new Date("2024-02-07"),
+ },
];
-export default bookData;
+export const transactionHistoryData: TransactionHistoryInterface[] = [
+ {
+ transactionId: "Tran-124B",
+ transactionType: "Monthly Payment",
+ amount: 10.99,
+ status: true,
+ date: new Date("2024-02-07"),
+ },
+ {
+ transactionId: "Tran-124C",
+ transactionType: "Book Purchase",
+ amount: 79.09,
+ status: true,
+ date: new Date("2024-04-25"),
+ },
+ {
+ transactionId: "Tran-124D",
+ transactionType: "Withdraw",
+ amount: 1560.0,
+ status: false,
+ date: new Date("2024-04-20"),
+ },
+ {
+ transactionId: "Tran-124E",
+ transactionType: "NFT Royalties",
+ amount: 7.02,
+ status: true,
+ date: new Date("2024-04-18"),
+ },
+ {
+ transactionId: "Tran-124F",
+ transactionType: "NFT Royalties",
+ amount: 8.09,
+ status: true,
+ date: new Date("2024-04-18"),
+ },
+ {
+ transactionId: "Tran-124G",
+ transactionType: "Utility Bill",
+ amount: 45.99,
+ status: true,
+ date: new Date("2024-03-14"),
+ },
+ {
+ transactionId: "Tran-124H",
+ transactionType: "Subscription Fee",
+ amount: 5.0,
+ status: false,
+ date: new Date("2024-05-02"),
+ },
+ {
+ transactionId: "Tran-124I",
+ transactionType: "Airtime Recharge",
+ amount: 3.5,
+ status: true,
+ date: new Date("2024-01-27"),
+ },
+ {
+ transactionId: "Tran-124J",
+ transactionType: "Loan Repayment",
+ amount: 500.0,
+ status: true,
+ date: new Date("2024-03-10"),
+ },
+ {
+ transactionId: "Tran-124K",
+ transactionType: "Gift Card Purchase",
+ amount: 50.0,
+ status: false,
+ date: new Date("2024-02-21"),
+ },
+ {
+ transactionId: "Tran-124L",
+ transactionType: "Course Fee",
+ amount: 120.0,
+ status: true,
+ date: new Date("2024-03-05"),
+ },
+ {
+ transactionId: "Tran-124M",
+ transactionType: "Insurance Premium",
+ amount: 250.0,
+ status: true,
+ date: new Date("2024-01-12"),
+ },
+ {
+ transactionId: "Tran-124N",
+ transactionType: "Refund",
+ amount: 99.99,
+ status: true,
+ date: new Date("2024-04-09"),
+ },
+ {
+ transactionId: "Tran-124O",
+ transactionType: "Consultation Fee",
+ amount: 30.0,
+ status: false,
+ date: new Date("2024-05-01"),
+ },
+ {
+ transactionId: "Tran-124P",
+ transactionType: "Web Hosting",
+ amount: 15.0,
+ status: true,
+ date: new Date("2024-03-16"),
+ },
+ {
+ transactionId: "Tran-124Q",
+ transactionType: "Conference Ticket",
+ amount: 200.0,
+ status: true,
+ date: new Date("2024-04-02"),
+ },
+ {
+ transactionId: "Tran-124R",
+ transactionType: "Donation",
+ amount: 25.0,
+ status: false,
+ date: new Date("2024-02-18"),
+ },
+ {
+ transactionId: "Tran-124S",
+ transactionType: "Freelance Payment",
+ amount: 350.0,
+ status: true,
+ date: new Date("2024-04-29"),
+ },
+ {
+ transactionId: "Tran-124T",
+ transactionType: "Ticket Booking",
+ amount: 60.0,
+ status: true,
+ date: new Date("2024-05-03"),
+ },
+ {
+ transactionId: "Tran-124U",
+ transactionType: "NFT Sale",
+ amount: 1000.0,
+ status: true,
+ date: new Date("2024-04-22"),
+ },
+];
diff --git a/src/lib/hooks/useIsMobile.ts b/src/lib/hooks/useIsMobile.ts
new file mode 100644
index 0000000..22fed35
--- /dev/null
+++ b/src/lib/hooks/useIsMobile.ts
@@ -0,0 +1,17 @@
+import { useEffect, useState } from 'react';
+
+export default function useIsMobile(breakpoint = 768) {
+ const [isMobile, setIsMobile] = useState(false);
+
+ useEffect(() => {
+ const handleResize = () => {
+ setIsMobile(window.innerWidth <= breakpoint);
+ };
+
+ handleResize(); // initial check
+ window.addEventListener('resize', handleResize);
+ return () => window.removeEventListener('resize', handleResize);
+ }, [breakpoint]);
+
+ return isMobile;
+}
diff --git a/src/lib/interfaces/EarningTabInterface.ts b/src/lib/interfaces/EarningTabInterface.ts
new file mode 100644
index 0000000..ceb0e3d
--- /dev/null
+++ b/src/lib/interfaces/EarningTabInterface.ts
@@ -0,0 +1,8 @@
+
+
+export interface EarningTab {
+ title: string;
+ amount: number;
+ border: string
+}
+
diff --git a/src/lib/interfaces/PaymentPropInterface.ts b/src/lib/interfaces/PaymentPropInterface.ts
new file mode 100644
index 0000000..7a31996
--- /dev/null
+++ b/src/lib/interfaces/PaymentPropInterface.ts
@@ -0,0 +1,8 @@
+
+
+
+export interface PaymentPropInterface {
+wallet: string;
+amount: number;
+walletAddress: string
+}
\ No newline at end of file
diff --git a/src/lib/interfaces/RevenueChartInterface.ts b/src/lib/interfaces/RevenueChartInterface.ts
new file mode 100644
index 0000000..4ee3d84
--- /dev/null
+++ b/src/lib/interfaces/RevenueChartInterface.ts
@@ -0,0 +1,6 @@
+export interface RevenueChartInterface {
+ name: string;
+ color: string;
+ value: number;
+ percentage: string;
+}
diff --git a/src/lib/interfaces/TransactionIHistoryInterface.ts b/src/lib/interfaces/TransactionIHistoryInterface.ts
new file mode 100644
index 0000000..1c5f718
--- /dev/null
+++ b/src/lib/interfaces/TransactionIHistoryInterface.ts
@@ -0,0 +1,10 @@
+
+
+
+export interface TransactionHistoryInterface {
+ transactionId: string;
+ transactionType: string;
+ amount: number;
+ status: boolean;
+ date: Date;
+}
\ No newline at end of file
diff --git a/src/lib/interfaces/WalletAddressType.ts b/src/lib/interfaces/WalletAddressType.ts
new file mode 100644
index 0000000..b653e35
--- /dev/null
+++ b/src/lib/interfaces/WalletAddressType.ts
@@ -0,0 +1,4 @@
+export interface WalletAddressType {
+ braavos: string
+ argent: string
+}
\ No newline at end of file
diff --git a/src/lib/utils.ts b/src/lib/utils.ts
index bd0c391..46f28b5 100644
--- a/src/lib/utils.ts
+++ b/src/lib/utils.ts
@@ -4,3 +4,53 @@ import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}
+
+
+interface WalletAddressType {
+ braavos: string
+ argent: string
+}
+
+export const handlePaste = async (
+ walletType: string,
+ setWalletAddress: React.Dispatch
>,
+) => {
+ try {
+ if (!navigator.clipboard) {
+ throw new Error("Clipboard API not available")
+ }
+
+ const clipboardText = await navigator.clipboard.readText()
+
+
+ setWalletAddress((prev) => ({
+ ...prev,
+ [walletType]: clipboardText.trim(),
+ }))
+
+ console.log(`Pasted to ${walletType}:`, clipboardText.trim())
+ return clipboardText.trim()
+ } catch (error) {
+ console.error("Failed to read clipboard:", error)
+
+
+ const fallbackText = prompt("Clipboard access denied. Please paste your wallet address:")
+ if (fallbackText) {
+ setWalletAddress((prev) => ({
+ ...prev,
+ [walletType]: fallbackText.trim(),
+ }))
+ return fallbackText.trim()
+ }
+
+ return null
+ }
+}
+
+
+
+export const formatDate = (date: Date) =>
+ date.toLocaleDateString("en-GB", {
+ day: "2-digit",
+ month: "long",
+ });