;
-}
-
-export default Page;
diff --git a/src/app/books/[bookId]/RelatedBooks.tsx b/src/app/author/[bookId]/RelatedBooks.tsx
similarity index 100%
rename from src/app/books/[bookId]/RelatedBooks.tsx
rename to src/app/author/[bookId]/RelatedBooks.tsx
diff --git a/src/app/books/[bookId]/page.tsx b/src/app/author/[bookId]/page.tsx
similarity index 100%
rename from src/app/books/[bookId]/page.tsx
rename to src/app/author/[bookId]/page.tsx
diff --git a/src/app/author/analytics/page.tsx b/src/app/author/analytics/page.tsx
deleted file mode 100644
index 970e76d..0000000
--- a/src/app/author/analytics/page.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-function Page(){
- return(
-
Page
- )
-}
-
-
-
-export default Page;
\ No newline at end of file
diff --git a/src/app/author/earnings/page.tsx b/src/app/author/earnings/page.tsx
deleted file mode 100644
index fb7c9ca..0000000
--- a/src/app/author/earnings/page.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-function Page(){
- return(
-
Page
- )
-}
-
-
-
-export default Page;
\ No newline at end of file
diff --git a/src/app/author/publications/page.tsx b/src/app/author/publications/page.tsx
deleted file mode 100644
index fb7c9ca..0000000
--- a/src/app/author/publications/page.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-function Page(){
- return(
-
Page
- )
-}
-
-
-
-export default Page;
\ No newline at end of file
diff --git a/src/app/books/page.tsx b/src/app/books/page.tsx
new file mode 100644
index 0000000..c7d3e99
--- /dev/null
+++ b/src/app/books/page.tsx
@@ -0,0 +1,598 @@
+"use client";
+
+import { useState } from "react";
+import Image from "next/image";
+import imgbook from "../../../public/Cover.png";
+import { Star, CheckCircle, ArrowLeft, Share, Heart } from "lucide-react";
+import author from "@/assets/images/author1.png";
+import crypto from "@/assets/icons/strk.png";
+import NavBar from "@/components/landingpage/NavBar";
+import Footer from "@/components/landingpage/Footer";
+
+interface BookCard {
+ id: string;
+ title: string;
+ author: string;
+ price: number;
+ rating: number;
+ image: string;
+ isVerified?: boolean;
+}
+
+interface BookDetails extends BookCard {
+ description: string;
+ fullDescription: string;
+ reviews: number;
+ genre: string[];
+ pageCount: number;
+ language: string;
+ datePublished: string;
+ isbn: string;
+ publisherDescription: string;
+ authorBio: string;
+ authorImage: string;
+ cryptoPrice: string;
+}
+
+const bookData: BookCard = {
+ id: "1",
+ title: "Native Invisibility",
+ author: "Darrin Collins",
+ price: 10,
+ rating: 4.5,
+ image: "/book-cover.png",
+ isVerified: true,
+};
+
+const bookDetails: BookDetails = {
+ ...bookData,
+ description:
+ '"Native Invisibility" delves into the complex and often insidious ways in which indigenous peoples and their unique experiences are rendered unseen and unheard in the modern era.',
+ fullDescription:
+ '"Native Invisibility" delves into the complex and often insidious ways in which indigenous peoples and their unique experiences are rendered unseen and unheard in the modern era. This comprehensive exploration examines the systematic marginalization of indigenous voices across various sectors of society, from media representation to political discourse, educational curricula to economic opportunities.',
+ reviews: 109,
+ genre: ["Fiction", "Comic"],
+ pageCount: 21,
+ language: "English",
+ datePublished: "12 April, 2025",
+ isbn: "978-3-16-148410-0",
+ publisherDescription:
+ "Native Invisibility unveils the crucial ways indigenous cultures are often unseen in our modern world. This vital book fosters understanding and action for recognition and justice.",
+ authorBio:
+ "Darrin Collins is a dedicated researcher and writer deeply committed to exploring issues of cultural visibility, marginalization, and the intersection of identity and technology. His work in Native Invisibility reflects a long-standing interest in amplifying underrepresented voices and fostering a more equitable understanding of diverse experiences in the contemporary world.",
+ authorImage: "/placeholder.svg?height=60&width=60",
+ cryptoPrice: "193 STRK",
+};
+
+const BookDetailsModal = ({
+ book,
+ isOpen,
+ onClose,
+}: {
+ book: BookDetails;
+ isOpen: boolean;
+ onClose: () => void;
+}) => {
+ const [showFullDescription, setShowFullDescription] = useState(false);
+
+ if (!isOpen) return null;
+
+ return (
+
+ Welcome to Community and Events section of the admin dashboard! Here, you can manage community interactions, events, and engagement activities. This space is designed to help you foster a vibrant community around your platform, ensuring that users have a place to connect, share, and participate in events.
+
+ Welcome to the Content Management section of the admin dashboard! Here, you can manage all aspects of content on your platform, including articles, blogs, and other media. This space is designed to help you maintain a rich and engaging content library for your users.
+
+ >
+
+ );
+}
\ No newline at end of file
diff --git a/src/app/dashboard/admin/notifications/page.tsx b/src/app/dashboard/admin/notifications/page.tsx
new file mode 100644
index 0000000..39bd566
--- /dev/null
+++ b/src/app/dashboard/admin/notifications/page.tsx
@@ -0,0 +1,20 @@
+"use-client";
+import { Header } from "@/components/dashboard/header";
+
+
+export default function Notifications() {
+
+ return (
+ <>
+
+
+
+
Notification
+
+ Welcome to the Notification section of the admin dashboard! Here, you can manage all aspects of notifications on your platform, including user alerts, system messages, and other important communications. This space is designed to help you keep users informed and engaged with timely updates and announcements.
+
+
+
+ >
+ );
+}
diff --git a/src/app/dashboard/admin/page.tsx b/src/app/dashboard/admin/page.tsx
new file mode 100644
index 0000000..8452c0d
--- /dev/null
+++ b/src/app/dashboard/admin/page.tsx
@@ -0,0 +1,28 @@
+"use-client";
+import StarknetProvider from "@/components/blockchain/StarknetProviders";
+import { WalletProvider } from "@/components/blockchain/wallet-connect-context";
+import { Header } from "@/components/dashboard/header";
+
+
+export default function DashboardHome() {
+
+ return (
+ <>
+
+
+
+
+ Welcome to Transactions section of the admin dashboard! Here, you can manage and monitor all transactions on your platform. This space is designed to help you ensure the integrity and security of financial activities, providing insights into transaction history, status, and details. You can also handle any issues related to transactions efficiently.
+
+ Welcome to user management section of the admin dashboard! Here, you can manage all aspects of user accounts, including registration, profiles, and permissions. This space is designed to help you maintain a secure and organized user base, ensuring that users have the appropriate access and capabilities within your platform.
+
+
+
+ >
+ );
+}
diff --git a/src/app/reader-dashboard/components/book-modal.tsx b/src/app/dashboard/readers/components/book-modal.tsx
similarity index 98%
rename from src/app/reader-dashboard/components/book-modal.tsx
rename to src/app/dashboard/readers/components/book-modal.tsx
index ba220ce..b83fb23 100644
--- a/src/app/reader-dashboard/components/book-modal.tsx
+++ b/src/app/dashboard/readers/components/book-modal.tsx
@@ -3,9 +3,9 @@
import { ArrowLeft, MoreHorizontal, Star, X } from "lucide-react"
import Image from "next/image"
import { useEffect, useState } from "react"
-import { BookReaderModal } from "../components/book-reader-modal"
-import imgbook from "../../../../public/Cover.png"
-import imgbook1 from "../../../../public/user1.svg"
+import { BookReaderModal } from "./book-reader-modal"
+import imgbook from "../../../../../public/Cover.png"
+import imgbook1 from "../../../../../public/user1.svg"
interface BookModalProps {
book: {
id: string
diff --git a/src/app/reader-dashboard/components/book-reader-modal.tsx b/src/app/dashboard/readers/components/book-reader-modal.tsx
similarity index 100%
rename from src/app/reader-dashboard/components/book-reader-modal.tsx
rename to src/app/dashboard/readers/components/book-reader-modal.tsx
diff --git a/src/app/dashboard/readers/components/collection-modal.tsx b/src/app/dashboard/readers/components/collection-modal.tsx
new file mode 100644
index 0000000..3fa614f
--- /dev/null
+++ b/src/app/dashboard/readers/components/collection-modal.tsx
@@ -0,0 +1,219 @@
+"use client"
+
+import { ArrowLeft, Bell, CheckCircle, Star, Plus } from "lucide-react"
+import Image from "next/image"
+import { useEffect } from "react"
+import imgbook from "../../../../../public/Cover.png";
+import imgbook1 from "../../../../../public/user1.svg"
+
+interface CollectionBook {
+ id: string
+ title: string
+ author: string
+ rating: number
+ status: "read" | "unread" | "progress"
+ progress?: number
+ verified?: boolean
+}
+
+interface CollectionModalProps {
+ collection: {
+ title: string
+ rating: number
+ totalReviews: number
+ bookCount: number
+ collaborators: string[]
+ books: CollectionBook[]
+ }
+ onClose: () => void
+ onBookClick: (book: CollectionBook) => void
+}
+
+const collectionData = {
+ title: "By Best Books",
+ rating: 4.5,
+ totalReviews: 500,
+ bookCount: 5,
+ collaborators: ["You", "Oluwa_Dami"],
+ books: [
+ {
+ id: "collection-1",
+ title: "Love at Night 1",
+ author: "Darrin Collins",
+ rating: 4.5,
+ status: "read" as const,
+ verified: true,
+ },
+ {
+ id: "collection-2",
+ title: "Seven Elements",
+ author: "Darrin Collins",
+ rating: 4.5,
+ status: "read" as const,
+ verified: true,
+ },
+ {
+ id: "collection-3",
+ title: "Figo",
+ author: "Darrin Collins",
+ rating: 4.5,
+ status: "progress" as const,
+ progress: 5,
+ verified: true,
+ },
+ ],
+}
+
+export function CollectionModal({ onClose, onBookClick }: Omit) {
+ // Close modal on escape key
+ useEffect(() => {
+ const handleEscape = (e: KeyboardEvent) => {
+ if (e.key === "Escape") {
+ onClose()
+ }
+ }
+ document.addEventListener("keydown", handleEscape)
+ return () => document.removeEventListener("keydown", handleEscape)
+ }, [onClose])
+
+ // Prevent body scroll when modal is open
+ useEffect(() => {
+ document.body.style.overflow = "hidden"
+ return () => {
+ document.body.style.overflow = "unset"
+ }
+ }, [])
+
+ const getStatusBadge = (book: CollectionBook) => {
+ switch (book.status) {
+ case "read":
+ return Completed
+ case "progress":
+ return (
+
+ {book.progress}% Read
+
+ )
+ case "unread":
+ return Unread
+ }
+ }
+
+ return (
+
+
+ {/* Header */}
+
+
+
+
Collections
+
+
+
+
+
+
+
+
+ Joseph Yanum
+
+
+
+
+
@joeyanum
+
+
+
+
+
+ {/* Collection Info */}
+
+
+
{collectionData.title}
+
+
+
+
+ {collectionData.rating}
+ of {collectionData.totalReviews} Review
+
+ )
+}
diff --git a/src/app/reader-dashboard/components/header-reader.tsx b/src/app/dashboard/readers/components/header-reader.tsx
similarity index 89%
rename from src/app/reader-dashboard/components/header-reader.tsx
rename to src/app/dashboard/readers/components/header-reader.tsx
index e7d2ed7..9910ee6 100644
--- a/src/app/reader-dashboard/components/header-reader.tsx
+++ b/src/app/dashboard/readers/components/header-reader.tsx
@@ -1,8 +1,8 @@
import { Bell } from "lucide-react";
import Image from "next/image";
-import user from "../../../../public/user1.svg";
-import check from "../../../../public/check.svg";
-import Logo from "../../../../public/logo.svg";
+import user from "../../../../../public/user1.svg";
+import check from "../../../../../public/check.svg";
+import Logo from "../../../../../public/logo.svg";
export function HeaderReader() {
return (
@@ -37,7 +37,7 @@ export function HeaderReader() {
+ )
+}
diff --git a/src/app/reader-dashboard/discussions-and-clubs/ClubCard.tsx b/src/app/dashboard/readers/discussions-and-clubs/ClubCard.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/ClubCard.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/ClubCard.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/[id]/page.tsx b/src/app/dashboard/readers/discussions-and-clubs/[id]/page.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/[id]/page.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/[id]/page.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/components/AddGuest.tsx b/src/app/dashboard/readers/discussions-and-clubs/components/AddGuest.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/components/AddGuest.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/components/AddGuest.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/components/ClubDetails.tsx b/src/app/dashboard/readers/discussions-and-clubs/components/ClubDetails.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/components/ClubDetails.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/components/ClubDetails.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/components/ClubDiscussion.tsx b/src/app/dashboard/readers/discussions-and-clubs/components/ClubDiscussion.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/components/ClubDiscussion.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/components/ClubDiscussion.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/components/ClubToolBar.tsx b/src/app/dashboard/readers/discussions-and-clubs/components/ClubToolBar.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/components/ClubToolBar.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/components/ClubToolBar.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/components/CreateEvent.tsx b/src/app/dashboard/readers/discussions-and-clubs/components/CreateEvent.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/components/CreateEvent.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/components/CreateEvent.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/components/Modal.tsx b/src/app/dashboard/readers/discussions-and-clubs/components/Modal.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/components/Modal.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/components/Modal.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/components/ScheduleEvent.tsx b/src/app/dashboard/readers/discussions-and-clubs/components/ScheduleEvent.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/components/ScheduleEvent.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/components/ScheduleEvent.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/components/StartEvent.tsx b/src/app/dashboard/readers/discussions-and-clubs/components/StartEvent.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/components/StartEvent.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/components/StartEvent.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/components/SuccessModal.tsx b/src/app/dashboard/readers/discussions-and-clubs/components/SuccessModal.tsx
similarity index 100%
rename from src/app/reader-dashboard/discussions-and-clubs/components/SuccessModal.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/components/SuccessModal.tsx
diff --git a/src/app/reader-dashboard/discussions-and-clubs/page.tsx b/src/app/dashboard/readers/discussions-and-clubs/page.tsx
similarity index 99%
rename from src/app/reader-dashboard/discussions-and-clubs/page.tsx
rename to src/app/dashboard/readers/discussions-and-clubs/page.tsx
index 5c1245a..6361571 100644
--- a/src/app/reader-dashboard/discussions-and-clubs/page.tsx
+++ b/src/app/dashboard/readers/discussions-and-clubs/page.tsx
@@ -94,6 +94,7 @@ export default function DiscussionDashboard() {
closeModal();
}
+
return (
diff --git a/src/app/reader-dashboard/layout.tsx b/src/app/dashboard/readers/layout.tsx
similarity index 83%
rename from src/app/reader-dashboard/layout.tsx
rename to src/app/dashboard/readers/layout.tsx
index 23b324b..dd5bd25 100644
--- a/src/app/reader-dashboard/layout.tsx
+++ b/src/app/dashboard/readers/layout.tsx
@@ -4,7 +4,7 @@
import type React from "react";
import { Sidebar } from "./components/reader-side-navbar";
import "@/app/globals.css";
-import {HeaderReader} from "./components/header-reader";
+
export default function RootLayout({
children,
@@ -13,7 +13,7 @@ export default function RootLayout({
}) {
return (
<>
-
+
+
+ {authorAvatars && authorAvatars.length > 0 && (
+
+ {authorAvatars.length} Authors you follow are members
+
+ )}
+
+
+
+
+ );
+}
diff --git a/src/app/dashboard/writers/discussions-and-clubs/[id]/page.tsx b/src/app/dashboard/writers/discussions-and-clubs/[id]/page.tsx
new file mode 100644
index 0000000..4747871
--- /dev/null
+++ b/src/app/dashboard/writers/discussions-and-clubs/[id]/page.tsx
@@ -0,0 +1,191 @@
+"use client";
+
+import { Header } from "@/components/dashboard/header";
+import { Camera, Mic } from "lucide-react";
+
+export default function LiveEventPage() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ 🔴 Live
+
+
+ 93
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Native Invisibility
+
+
+ By Darrin Collins ✔
+
+
+ Vibrant book club dedicated to exploring the vast and magical
+ realms of fantasy literature. From epic sagas and dark fantasy
+ to urban magic and whimsical tales, we delve into all corners of
+ the genre.
+
+
+
+
+
+
+ Host
+
+ Aisha Musa
+
+
+
+
+
+
+
+ Guest
+
+ Hana Yamal
+
+
+
+
+
+
+
+
+
+
Viewers
+
+ 92 Watching
+
+
+
+ {Array.from({ length: 4 }).map((_, i) => (
+
+
+
Darrin Collins
+
+ ))}
+
+
+
+
+
+
+ Live Chat
+
+
+
+
+
+
+
+ Young John
+
+
+
+ I disagree with Peace. I believe Umar deserved a second chance
+ after what he did
+
+
+
+
+
+
+
+ Ahmed Aliyu
+
+
+
Why do you feel that way?
+
+
+
+
+ You
+
+
+ You're saying you don't agree with 'Peace' on this one
+
+
+
+
+
+
+
+ Tony Tony
+
+
+
+ What makes you think he deserved that second chance?
+
+ {club.authorAvatars?.length > 0 && (
+
+ {club.authorAvatars.length} Authors you follow are members
+
+ )}
+
+
+
+
+
+
+
+ Vibrant book club dedicated to exploring the vast and magical realms
+ of fantasy literature. From epic sagas and dark fantasy to urban
+ magic and whimsical tales, we delve into all corners of the genre.
+
+ );
+}
diff --git a/src/app/dashboard/writers/discussions-and-clubs/components/ClubDiscussion.tsx b/src/app/dashboard/writers/discussions-and-clubs/components/ClubDiscussion.tsx
new file mode 100644
index 0000000..5335a45
--- /dev/null
+++ b/src/app/dashboard/writers/discussions-and-clubs/components/ClubDiscussion.tsx
@@ -0,0 +1,209 @@
+import { useState } from "react";
+
+interface ClubDiscussionProps {
+ startEvent: () => void;
+}
+
+export default function ClubDiscussion({ startEvent }: ClubDiscussionProps) {
+ const [activeTab, setActiveTab] = useState("discussion");
+
+ const tabs = [
+ { id: "discussion", label: "Discussion" },
+ { id: "live", label: "Live", badge: 1 },
+ { id: "about", label: "About" },
+ { id: "members", label: "Members" },
+ ];
+
+ const eventTabs = [
+ {
+ id: "discussion",
+ label: "Discussion",
+ badge: 2,
+ event: {
+ title: "Native Invisibility",
+ author: "Darrin Collins",
+ verified: true,
+ description:
+ "Delves into the complex and often insidious ways in which indigenous peoples and their unique experiences are rendered unseen and unheard in the modern era.",
+ live: false,
+ timeAgo: "2 weeks ago",
+ image: "/images/bookCover1.png",
+ },
+ },
+ {
+ id: "live",
+ label: "Live",
+ badge: null,
+ event: {
+ title: "Native Invisibility",
+ author: "Darrin Collins",
+ verified: true,
+ description:
+ "Delves into the complex and often insidious ways in which indigenous peoples and their unique experiences are rendered unseen and unheard in the modern era.",
+ live: true,
+ timeAgo: "Live now",
+ image: "/images/bookCover1.png",
+ },
+ },
+
+ {
+ id: "discussion",
+ label: "Discussion",
+ badge: null,
+ event: {
+ title: "Native Invisibility",
+ author: "Darrin Collins",
+ verified: true,
+ description:
+ "Delves into the complex and often insidious ways in which indigenous peoples and their unique experiences are rendered unseen and unheard in the modern era.",
+ live: true,
+ timeAgo: "Live now",
+ image: "/images/bookCover1.png",
+ },
+ },
+ ];
+
+ return (
+
+
+
+
+
+ Fantasy Enthusiasts
+
+
+ Vibrant book club dedicated to exploring the vast and magical realms
+ of fantasy literature. From epic sagas and dark fantasy to urban
+ magic and whimsical tales, we delve into all corners of the genre.
+
+ >
+
+ );
+}
+
+export default EarningsPage;
diff --git a/src/app/writer-dashboard/layout.tsx b/src/app/dashboard/writers/layout.tsx
similarity index 100%
rename from src/app/writer-dashboard/layout.tsx
rename to src/app/dashboard/writers/layout.tsx
diff --git a/src/app/writer-dashboard/manage-content/BookContentStep.tsx b/src/app/dashboard/writers/manage-content/BookContentStep.tsx
similarity index 98%
rename from src/app/writer-dashboard/manage-content/BookContentStep.tsx
rename to src/app/dashboard/writers/manage-content/BookContentStep.tsx
index 12c82c2..bb2491b 100644
--- a/src/app/writer-dashboard/manage-content/BookContentStep.tsx
+++ b/src/app/dashboard/writers/manage-content/BookContentStep.tsx
@@ -2,8 +2,8 @@
import type React from "react";
import { ChevronDown } from "lucide-react";
-import ebook1 from "../../../../public/ebook1.svg";
-import ebook2 from "../../../../public/ebook2.svg";
+import ebook1 from "../../../../../public/ebook1.svg";
+import ebook2 from "../../../../../public/ebook2.svg";
import Image from "next/image";
interface BookContentStepProps {
diff --git a/src/app/writer-dashboard/manage-content/BookCreationFlow.tsx b/src/app/dashboard/writers/manage-content/BookCreationFlow.tsx
similarity index 100%
rename from src/app/writer-dashboard/manage-content/BookCreationFlow.tsx
rename to src/app/dashboard/writers/manage-content/BookCreationFlow.tsx
diff --git a/src/app/writer-dashboard/manage-content/BookDetailsStep.tsx b/src/app/dashboard/writers/manage-content/BookDetailsStep.tsx
similarity index 99%
rename from src/app/writer-dashboard/manage-content/BookDetailsStep.tsx
rename to src/app/dashboard/writers/manage-content/BookDetailsStep.tsx
index 499580b..48128f5 100644
--- a/src/app/writer-dashboard/manage-content/BookDetailsStep.tsx
+++ b/src/app/dashboard/writers/manage-content/BookDetailsStep.tsx
@@ -5,8 +5,8 @@ import { useState } from "react";
import { ChevronDown, X } from "lucide-react";
import ContributorTypeModal from "./ContributorTypeModal";
import ContributorDetailsModal from "./ContributorDetailsModal";
-import ebook1 from "../../../../public/ebook1.svg";
-import user from "../../../../public/user1.svg";
+import ebook1 from "../../../../../public/ebook1.svg";
+import user from "../../../../../public/ebook2.svg";
import Image from "next/image";
interface BookDetailsStepProps {
diff --git a/src/app/writer-dashboard/manage-content/ContributorDetailsModal.tsx b/src/app/dashboard/writers/manage-content/ContributorDetailsModal.tsx
similarity index 97%
rename from src/app/writer-dashboard/manage-content/ContributorDetailsModal.tsx
rename to src/app/dashboard/writers/manage-content/ContributorDetailsModal.tsx
index 32d0e8a..03459ae 100644
--- a/src/app/writer-dashboard/manage-content/ContributorDetailsModal.tsx
+++ b/src/app/dashboard/writers/manage-content/ContributorDetailsModal.tsx
@@ -3,7 +3,7 @@
import React, { useState } from "react";
import { X } from "lucide-react";
import Image from "next/image";
-import user from "../../../../public/user1.svg";
+import user from "../../../../../public/user1.svg";
interface ContributorDetailsModalProps {
type: string;
diff --git a/src/app/writer-dashboard/manage-content/ContributorTypeModal.tsx b/src/app/dashboard/writers/manage-content/ContributorTypeModal.tsx
similarity index 100%
rename from src/app/writer-dashboard/manage-content/ContributorTypeModal.tsx
rename to src/app/dashboard/writers/manage-content/ContributorTypeModal.tsx
diff --git a/src/app/writer-dashboard/manage-content/Manage-content.tsx b/src/app/dashboard/writers/manage-content/Manage-content.tsx
similarity index 97%
rename from src/app/writer-dashboard/manage-content/Manage-content.tsx
rename to src/app/dashboard/writers/manage-content/Manage-content.tsx
index b108c64..d2a1766 100644
--- a/src/app/writer-dashboard/manage-content/Manage-content.tsx
+++ b/src/app/dashboard/writers/manage-content/Manage-content.tsx
@@ -219,13 +219,13 @@ import { ChevronRight, Link, Search } from "lucide-react";
import { StatCard } from "@/components/dashboard/stat-card";
import { BookCard } from "@/components/dashboard/book-card";
import { CollectionCard } from "@/components/dashboard/collection-card";
-import publish from "../../../../public/published.svg";
-import regular from "../../../../public/regular.svg";
-import nft from "../../../../public/dolls.svg";
-import series from "../../../../public/series.svg";
-import collection from "../../../../public/collect.svg";
-import review from "../../../../public/review.svg";
-import draft from "../../../../public/draft.svg";
+import publish from "../../../../../public/published.svg";
+import regular from "../../../../../public/regular.svg";
+import nft from "../../../../../public/dolls.svg";
+import series from "../../../../../public/series.svg";
+import collection from "../../../../../public/collect.svg";
+import review from "../../../../../public/review.svg";
+import draft from "../../../../../public/draft.svg";
import PublishTypeModal from "./PublishTypeModal";
import BookCreationFlow from "./BookCreationFlow";
diff --git a/src/app/writer-dashboard/manage-content/PreviewModal.tsx b/src/app/dashboard/writers/manage-content/PreviewModal.tsx
similarity index 96%
rename from src/app/writer-dashboard/manage-content/PreviewModal.tsx
rename to src/app/dashboard/writers/manage-content/PreviewModal.tsx
index 2f87d82..53f9474 100644
--- a/src/app/writer-dashboard/manage-content/PreviewModal.tsx
+++ b/src/app/dashboard/writers/manage-content/PreviewModal.tsx
@@ -2,10 +2,10 @@
import React, { useState } from "react";
import { X } from "lucide-react";
-import ebook1 from "../../../../public/ebook1.svg";
-import coin2 from "../../../../public/coin2.svg";
-import play from "../../../../public/play.svg";
-import check from "../../../../public/check.svg";
+import ebook1 from "../../../../../public/ebook1.svg";
+import coin2 from "../../../../../public/coin2.svg";
+import play from "../../../../../public/play.svg";
+import check from "../../../../../public/check.svg";
import Image from "next/image";
import BookPreviewModal from "./book-preview-modal";
@@ -68,7 +68,7 @@ const PreviewModal: React.FC = ({
By Darrin Collins
-
+
diff --git a/src/app/writer-dashboard/manage-content/PricingStep.tsx b/src/app/dashboard/writers/manage-content/PricingStep.tsx
similarity index 95%
rename from src/app/writer-dashboard/manage-content/PricingStep.tsx
rename to src/app/dashboard/writers/manage-content/PricingStep.tsx
index d5e8584..d42dd40 100644
--- a/src/app/writer-dashboard/manage-content/PricingStep.tsx
+++ b/src/app/dashboard/writers/manage-content/PricingStep.tsx
@@ -1,12 +1,12 @@
"use client";
import React, { useState } from "react";
-import ebook1 from "../../../../public/ebook1.svg";
-import pricing1 from "../../../../public/pricing1.svg";
-import pricing2 from "../../../../public/pricing2.svg";
-import coin1 from "../../../../public/coin1.svg";
-import coin2 from "../../../../public/coin2.svg";
-import play from "../../../../public/play.svg";
+import ebook1 from "../../../../../public/ebook1.svg";
+import pricing1 from "../../../../../public/pricing1.svg";
+import pricing2 from "../../../../../public/pricing2.svg";
+import coin1 from "../../../../../public/coin1.svg";
+import coin2 from "../../../../../public/coin2.svg";
+import play from "../../../../../public/play.svg";
import Image from "next/image";
import BookPreviewModal from "./book-preview-modal";
diff --git a/src/app/writer-dashboard/manage-content/ProgressStepper.tsx b/src/app/dashboard/writers/manage-content/ProgressStepper.tsx
similarity index 100%
rename from src/app/writer-dashboard/manage-content/ProgressStepper.tsx
rename to src/app/dashboard/writers/manage-content/ProgressStepper.tsx
diff --git a/src/app/writer-dashboard/manage-content/PublishTypeModal.tsx b/src/app/dashboard/writers/manage-content/PublishTypeModal.tsx
similarity index 95%
rename from src/app/writer-dashboard/manage-content/PublishTypeModal.tsx
rename to src/app/dashboard/writers/manage-content/PublishTypeModal.tsx
index 8df894a..b39b15f 100644
--- a/src/app/writer-dashboard/manage-content/PublishTypeModal.tsx
+++ b/src/app/dashboard/writers/manage-content/PublishTypeModal.tsx
@@ -2,9 +2,9 @@
import type React from "react";
import { X } from "lucide-react";
-import create1 from "../../../../public/create1.svg";
-import create2 from "../../../../public/create2.svg";
-import create3 from "../../../../public/create3.svg";
+import create1 from "../../../../../public/create1.svg";
+import create2 from "../../../../../public/create2.svg";
+import create3 from "../../../../../public/create3.svg";
import Image from "next/image";
interface PublishTypeModalProps {
diff --git a/src/app/writer-dashboard/manage-content/PublishingNft/Pricing.tsx b/src/app/dashboard/writers/manage-content/PublishingNft/Pricing.tsx
similarity index 96%
rename from src/app/writer-dashboard/manage-content/PublishingNft/Pricing.tsx
rename to src/app/dashboard/writers/manage-content/PublishingNft/Pricing.tsx
index e57ea4f..816eb9c 100644
--- a/src/app/writer-dashboard/manage-content/PublishingNft/Pricing.tsx
+++ b/src/app/dashboard/writers/manage-content/PublishingNft/Pricing.tsx
@@ -2,9 +2,9 @@
import type React from "react";
import Image from "next/image";
-import basildocument from "../../../../../public/basildocument.png";
-import dollar from "../../../../../public/dollar.svg";
-import stark from "../../../../../public/stark.svg";
+import basildocument from "../../../../../../public/basildocument.png";
+import dollar from "../../../../../../public/dollar.svg";
+import stark from "../../../../../../public/stark.svg";
type BookData = {
diff --git a/src/app/writer-dashboard/manage-content/PublishingNft/bookContent.tsx b/src/app/dashboard/writers/manage-content/PublishingNft/bookContent.tsx
similarity index 98%
rename from src/app/writer-dashboard/manage-content/PublishingNft/bookContent.tsx
rename to src/app/dashboard/writers/manage-content/PublishingNft/bookContent.tsx
index eef2ccd..c7b757f 100644
--- a/src/app/writer-dashboard/manage-content/PublishingNft/bookContent.tsx
+++ b/src/app/dashboard/writers/manage-content/PublishingNft/bookContent.tsx
@@ -2,8 +2,8 @@
import React, { useState, ChangeEvent } from "react";
import Image from "next/image";
-import fluentdocument from "../../../../../public/fluentdocument.png";
-import basildocument from "../../../../../public/basildocument.png";
+import fluentdocument from "../../../../../../public/fluentdocument.png";
+import basildocument from "../../../../../../public/basildocument.png";
type BookData = {
bookTitle: string;
diff --git a/src/app/writer-dashboard/manage-content/PublishingNft/bookDetail.tsx b/src/app/dashboard/writers/manage-content/PublishingNft/bookDetail.tsx
similarity index 98%
rename from src/app/writer-dashboard/manage-content/PublishingNft/bookDetail.tsx
rename to src/app/dashboard/writers/manage-content/PublishingNft/bookDetail.tsx
index 60c9b16..bd9fdcc 100644
--- a/src/app/writer-dashboard/manage-content/PublishingNft/bookDetail.tsx
+++ b/src/app/dashboard/writers/manage-content/PublishingNft/bookDetail.tsx
@@ -3,7 +3,7 @@
import React, { useState } from "react";
import GenreTag from "./genre";
import Image from "next/image";
-import basildocument from "../../../../../public/basildocument.png";
+import basildocument from "../../../../../../public/basildocument.png";
const AVAILABLE_GENRES = ["Fiction", "Drama", "Science Fiction", "Fantasy", "Mystery", "Romance"];
diff --git a/src/app/writer-dashboard/manage-content/PublishingNft/genre.tsx b/src/app/dashboard/writers/manage-content/PublishingNft/genre.tsx
similarity index 100%
rename from src/app/writer-dashboard/manage-content/PublishingNft/genre.tsx
rename to src/app/dashboard/writers/manage-content/PublishingNft/genre.tsx
diff --git a/src/app/writer-dashboard/manage-content/PublishingNft/page.tsx b/src/app/dashboard/writers/manage-content/PublishingNft/page.tsx
similarity index 100%
rename from src/app/writer-dashboard/manage-content/PublishingNft/page.tsx
rename to src/app/dashboard/writers/manage-content/PublishingNft/page.tsx
diff --git a/src/app/writer-dashboard/manage-content/StepIndicator.tsx b/src/app/dashboard/writers/manage-content/StepIndicator.tsx
similarity index 100%
rename from src/app/writer-dashboard/manage-content/StepIndicator.tsx
rename to src/app/dashboard/writers/manage-content/StepIndicator.tsx
diff --git a/src/app/writer-dashboard/manage-content/SuccessModal.tsx b/src/app/dashboard/writers/manage-content/SuccessModal.tsx
similarity index 95%
rename from src/app/writer-dashboard/manage-content/SuccessModal.tsx
rename to src/app/dashboard/writers/manage-content/SuccessModal.tsx
index 31df169..3f48779 100644
--- a/src/app/writer-dashboard/manage-content/SuccessModal.tsx
+++ b/src/app/dashboard/writers/manage-content/SuccessModal.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import success_done from "../../../../public/Done.svg";
+import success_done from "../../../../../public/Done.svg";
import { X } from "lucide-react";
import Image from "next/image";
diff --git a/src/app/writer-dashboard/manage-content/book-preview-modal.tsx b/src/app/dashboard/writers/manage-content/book-preview-modal.tsx
similarity index 98%
rename from src/app/writer-dashboard/manage-content/book-preview-modal.tsx
rename to src/app/dashboard/writers/manage-content/book-preview-modal.tsx
index 6087c4d..19377a1 100644
--- a/src/app/writer-dashboard/manage-content/book-preview-modal.tsx
+++ b/src/app/dashboard/writers/manage-content/book-preview-modal.tsx
@@ -14,8 +14,8 @@ import {
Bell,
} from "lucide-react";
import Image from "next/image";
-import user from "../../../../public/user1.svg";
-import check from "../../../../public/check.svg";
+import user from "../../../../../public/user1.svg";
+import check from "../../../../../public/check.svg";
interface BookPreviewModalProps {
isOpen: boolean;
@@ -111,7 +111,8 @@ const BookPreviewModal: React.FC = ({
Joseph Yanum
-
+
+
@joeyyanum
diff --git a/src/app/writer-dashboard/manage-content/example.tsx b/src/app/dashboard/writers/manage-content/example.tsx
similarity index 100%
rename from src/app/writer-dashboard/manage-content/example.tsx
rename to src/app/dashboard/writers/manage-content/example.tsx
diff --git a/src/app/writer-dashboard/manage-content/loading.tsx b/src/app/dashboard/writers/manage-content/loading.tsx
similarity index 100%
rename from src/app/writer-dashboard/manage-content/loading.tsx
rename to src/app/dashboard/writers/manage-content/loading.tsx
diff --git a/src/app/writer-dashboard/manage-content/page.tsx b/src/app/dashboard/writers/manage-content/page.tsx
similarity index 74%
rename from src/app/writer-dashboard/manage-content/page.tsx
rename to src/app/dashboard/writers/manage-content/page.tsx
index 76200b7..01b8ca9 100644
--- a/src/app/writer-dashboard/manage-content/page.tsx
+++ b/src/app/dashboard/writers/manage-content/page.tsx
@@ -1,12 +1,13 @@
-import React from "react";
+import React, { useState } from "react";
import { Header } from "@/components/dashboard/header";
import ManageContent from "./Manage-content";
export default function Home() {
+
return (
-
+
diff --git a/src/app/writer-dashboard/notifications/notification-detail.tsx b/src/app/dashboard/writers/notifications/notification-detail.tsx
similarity index 97%
rename from src/app/writer-dashboard/notifications/notification-detail.tsx
rename to src/app/dashboard/writers/notifications/notification-detail.tsx
index 07cbc2b..7cb4454 100644
--- a/src/app/writer-dashboard/notifications/notification-detail.tsx
+++ b/src/app/dashboard/writers/notifications/notification-detail.tsx
@@ -2,7 +2,7 @@
import { MoveLeft, Trash2 } from "lucide-react";
import Image from "next/image";
-import soon from "../../../../public/coming-soon.png"
+import soon from "../../../../../public/coming-soon.png"
interface NotificationDetailPageProps {
diff --git a/src/app/writer-dashboard/notifications/page.tsx b/src/app/dashboard/writers/notifications/page.tsx
similarity index 100%
rename from src/app/writer-dashboard/notifications/page.tsx
rename to src/app/dashboard/writers/notifications/page.tsx
diff --git a/src/app/dashboard/writers/page.tsx b/src/app/dashboard/writers/page.tsx
new file mode 100644
index 0000000..5f1d5a0
--- /dev/null
+++ b/src/app/dashboard/writers/page.tsx
@@ -0,0 +1,75 @@
+import { BookOpen } from "lucide-react";
+import { Header } from "@/components/dashboard/header";
+import StarknetProvider from "@/components/blockchain/StarknetProviders";
+import { WalletProvider } from "@/components/blockchain/wallet-connect-context";
+
+
+export default function Dashboard() {
+
+ return (
+
+
+
+
+
+
+
Monthly Sales
+
+
+ Sales chart would be displayed here
+
+
+
+
+
+
+
Recent Activity
+
+ {[1, 2, 3, 4].map((item) => (
+
+
+
+
+
+
New book published
+
+ Native Invisibility - 2 hours ago
+
+
+
+ ))}
+
+
+
+
+
Top Performing Books
+
+ {[1, 2, 3, 4].map((item) => (
+
+
+
+
+
Native Invisibility
+
+ 124 sales this month
+
+
+
+
$1,240
+
+ ))}
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/app/writer-dashboard/profile/component/ProfileForm.tsx b/src/app/dashboard/writers/profile/component/ProfileForm.tsx
similarity index 100%
rename from src/app/writer-dashboard/profile/component/ProfileForm.tsx
rename to src/app/dashboard/writers/profile/component/ProfileForm.tsx
diff --git a/src/app/writer-dashboard/profile/component/Social.tsx b/src/app/dashboard/writers/profile/component/Social.tsx
similarity index 100%
rename from src/app/writer-dashboard/profile/component/Social.tsx
rename to src/app/dashboard/writers/profile/component/Social.tsx
diff --git a/src/app/writer-dashboard/profile/component/UpdatePasswordForm.tsx b/src/app/dashboard/writers/profile/component/UpdatePasswordForm.tsx
similarity index 100%
rename from src/app/writer-dashboard/profile/component/UpdatePasswordForm.tsx
rename to src/app/dashboard/writers/profile/component/UpdatePasswordForm.tsx
diff --git a/src/app/writer-dashboard/profile/component/genre.tsx b/src/app/dashboard/writers/profile/component/genre.tsx
similarity index 100%
rename from src/app/writer-dashboard/profile/component/genre.tsx
rename to src/app/dashboard/writers/profile/component/genre.tsx
diff --git a/src/app/writer-dashboard/profile/component/profileHeader.tsx b/src/app/dashboard/writers/profile/component/profileHeader.tsx
similarity index 98%
rename from src/app/writer-dashboard/profile/component/profileHeader.tsx
rename to src/app/dashboard/writers/profile/component/profileHeader.tsx
index cc53047..96f0ff5 100644
--- a/src/app/writer-dashboard/profile/component/profileHeader.tsx
+++ b/src/app/dashboard/writers/profile/component/profileHeader.tsx
@@ -30,7 +30,7 @@ export function ProfileHeader() {
Joseph Yanum
-
+
@joeyyanum
diff --git a/src/app/writer-dashboard/profile/component/profilesidebar.tsx b/src/app/dashboard/writers/profile/component/profilesidebar.tsx
similarity index 87%
rename from src/app/writer-dashboard/profile/component/profilesidebar.tsx
rename to src/app/dashboard/writers/profile/component/profilesidebar.tsx
index 77456ad..256ad4b 100644
--- a/src/app/writer-dashboard/profile/component/profilesidebar.tsx
+++ b/src/app/dashboard/writers/profile/component/profilesidebar.tsx
@@ -13,22 +13,22 @@ export function ProfileSidebar() {
{
label: "Profile Details",
- href: "/dashboard/profile",
+ href: "/dashboard/writers/profile",
},
{
label: "Genre Specialization",
- href: "/dashboard/profile/genre",
+ href: "/dashboard/writers/profile/genre",
},
{
label: "Password",
- href: "/dashboard/profile/password",
+ href: "/dashboard/writers/profile/password",
},
{
label: "Social",
- href: "/dashboard/profile/social",
+ href: "/dashboard/writers/profile/social",
},
];
diff --git a/src/app/writer-dashboard/profile/genre/page.tsx b/src/app/dashboard/writers/profile/genre/page.tsx
similarity index 100%
rename from src/app/writer-dashboard/profile/genre/page.tsx
rename to src/app/dashboard/writers/profile/genre/page.tsx
diff --git a/src/app/writer-dashboard/profile/layout.tsx b/src/app/dashboard/writers/profile/layout.tsx
similarity index 92%
rename from src/app/writer-dashboard/profile/layout.tsx
rename to src/app/dashboard/writers/profile/layout.tsx
index aba9fef..eadf875 100644
--- a/src/app/writer-dashboard/profile/layout.tsx
+++ b/src/app/dashboard/writers/profile/layout.tsx
@@ -3,14 +3,16 @@ import "@/app/globals.css";
import { ProfileSidebar } from "./component/profilesidebar";
import { Header } from "@/components/dashboard/header";
+
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
+
return (
<>
-
+