diff --git a/next.config.js b/next.config.js index e3a94aa6..ec6022d9 100644 --- a/next.config.js +++ b/next.config.js @@ -5,6 +5,10 @@ const nextConfig = { { protocol: "https", hostname: "png.pngtree.com" + }, + { + protocol: "https", + hostname: "encrypted-tbn0.gstatic.com" } ] } diff --git a/src/app/ideation/components/ContributionCard.tsx b/src/app/ideation/components/ContributionCard.tsx index 675bc4d9..a532659b 100644 --- a/src/app/ideation/components/ContributionCard.tsx +++ b/src/app/ideation/components/ContributionCard.tsx @@ -9,7 +9,10 @@ function ContributionCard() {

Test User

- diff --git a/src/app/ideation/components/IdeationContainer.tsx b/src/app/ideation/components/IdeationContainer.tsx index acb9b201..4d1fa1b4 100644 --- a/src/app/ideation/components/IdeationContainer.tsx +++ b/src/app/ideation/components/IdeationContainer.tsx @@ -1,38 +1,30 @@ -import { ContributionCard, VoteCard } from "."; +import { ContributionCard, VoteCard, type Ideation } from "."; -function IdeationContainer() { +function IdeationContainer({ + title, + project_idea, + vision_statement, + users, + voted, + own_idea, + contributed_by, +}: Ideation) { return (
- +
-

- Real Estate Crowdsourcing -

+

{title}

Project Idea

- A real estate crowdsourcing application is a platform that allows - individuals to invest in real estate properties without needing to - purchase entire properties themselves. Through the application, - investors can pool their money together to fund a real estate project, - and then receive a portion of the profits once the project is - complete. The platform typically offers a range of real estate - projects for investors to choose from, and provides tools to help - investors track their investments and receive regular updates on the - progress of each project. + {project_idea}

Vision Statement

- Our vision is to democratize real estate investment by creating an - inclusive platform that enables everyone to invest in real estate - projects, regardless of their financial status. We strive to provide a - seamless experience for our users by offering a wide range of - investment options and easy-to-use tools to monitor their investments. - Our goal is to empower individuals to take control of their financial - future and build wealth through real estate investments. + {vision_statement}

diff --git a/src/app/ideation/components/VoteCard.tsx b/src/app/ideation/components/VoteCard.tsx index ffe6ae77..dccef002 100644 --- a/src/app/ideation/components/VoteCard.tsx +++ b/src/app/ideation/components/VoteCard.tsx @@ -1,16 +1,25 @@ import { Avatar, Button } from "@/components"; -function VoteCard() { +interface VoteCardProps { + users: string[]; + voted: boolean; +} + +function VoteCard({ users, voted }: VoteCardProps) { return (
-

4

+

+ {users.length} +

Votes

- - - -
diff --git a/src/app/ideation/components/fixtures/ideation.ts b/src/app/ideation/components/fixtures/ideation.ts new file mode 100644 index 00000000..12c17fb3 --- /dev/null +++ b/src/app/ideation/components/fixtures/ideation.ts @@ -0,0 +1,62 @@ +export interface Ideation { + id?: number; + title: string; + project_idea: string; + vision_statement: string; + users: string[]; + contributed_by: { + name: string; + avatar?: string; + }; + voted: boolean; + own_idea: boolean; +} + +export const ideation = [ + { + id: 1, + title: "Real Estate Crowdsourcing", + project_idea: `A real estate crowdsourcing application is a platform that allows + individuals to invest in real estate properties without needing to + purchase entire properties themselves. Through the application, + investors can pool their money together to fund a real estate project, + and then receive a portion of the profits once the project is + complete. The platform typically offers a range of real estate + projects for investors to choose from, and provides tools to help + investors track their investments and receive regular updates on the + progress of each project.`, + vision_statement: `Our vision is to democratize real estate investment by creating an + inclusive platform that enables everyone to invest in real estate + projects, regardless of their financial status. We strive to provide a + seamless experience for our users by offering a wide range of + investment options and easy-to-use tools to monitor their investments. + Our goal is to empower individuals to take control of their financial + future and build wealth through real estate investments.`, + users: ["Test User 1", "Test User 2", "Test User 3"], + contributed_by: { + name: "Test User 1", + avatar: + "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQm3RFDZM21teuCMFYx_AROjt-AzUwDBROFww&usqp=CAU", + }, + voted: true, + own_idea: true, + }, + { + id: 2, + title: "Toys Exchange App", + project_idea: `A toy exchange app is an online platform where users can trade or swap toys with each other. The app + may include features like listing available toys for trade, searching for specific toys, messaging with + other users to arrange exchanges, and rating the reliability of other users. This type of app can be a great + way for families to save money by swapping gently used toys instead of buying new ones.`, + vision_statement: `Our vision for a toy exchange app is an online platform where users can trade or swap toys + with each other. The app may include features like listing available toys for trade, searching for specific toys, + messaging with other users to arrange exchanges, and rating the reliability of other users. This type of app can be a + great way for families to save money by swapping gently used toys instead of buying new ones.`, + users: ["Test User 1", "Test User 2"], + contributed_by: { + name: "Test User 2", + }, + voted: false, + own_idea: false, + }, +]; diff --git a/src/app/ideation/components/index.ts b/src/app/ideation/components/index.ts index b605f4fb..a5c98d9f 100644 --- a/src/app/ideation/components/index.ts +++ b/src/app/ideation/components/index.ts @@ -3,3 +3,4 @@ export { default as IdeationContainer } from "./IdeationContainer"; export { default as VoteDescriptionCard } from "./VoteDescriptionCard"; export { default as VoteCard } from "./VoteCard"; export { default as ContributionCard } from "./ContributionCard"; +export { ideation, type Ideation } from "./fixtures/ideation"; diff --git a/src/app/ideation/page.tsx b/src/app/ideation/page.tsx index 0a537db5..ad98a635 100644 --- a/src/app/ideation/page.tsx +++ b/src/app/ideation/page.tsx @@ -1,11 +1,26 @@ -import { CreateIdeationContainer, IdeationContainer } from "./components"; +import { + CreateIdeationContainer, + IdeationContainer, + ideation, +} from "./components"; function IdeationPage() { return (
-
+
- + {ideation.map((i) => ( + + ))}
); diff --git a/src/components/Button.tsx b/src/components/Button.tsx index e3dbb0af..4ac01707 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -1,6 +1,6 @@ import { ReactNode } from "react"; -interface ButtonProps { +interface ButtonProps extends React.ButtonHTMLAttributes { title: string; children: ReactNode; customClassName?: string; @@ -10,12 +10,14 @@ export default function Button({ title, children, customClassName, + ...attributes }: ButtonProps) { return (