Merge branch 'front-end' into back-end

This commit is contained in:
Sosokker 2024-11-21 12:56:38 +07:00
commit 9c61be2ad3
4 changed files with 132 additions and 123 deletions

View File

@ -31,6 +31,11 @@ const nextConfig = {
hostname: "assets.republic.com", hostname: "assets.republic.com",
pathname: "/**", pathname: "/**",
}, },
{
protocol: "https",
hostname: "media.licdn.com",
pathname: "/**",
},
], ],
}, },
}; };

View File

@ -0,0 +1,18 @@
import Image from "next/image";
interface FounderCardProps {
image: string;
name: string;
position: string;
background: string;
}
export default function FounderCard(props: FounderCardProps) {
return (
<div className="flex flex-col justify-center items-center p-3 border-3">
<Image src={props.image} alt="profile" width={160} height={160} className="rounded-full w-32" />
<h1 className="font-bold text-2xl mt-5">{props.name}</h1>
<p className="text-sm text-neutral-500">{props.position}</p>
<span className="max-w-xs break-words text-base mt-5 justify-self-center">{props.background}</span>
</div>
);
}

View File

@ -1,139 +1,105 @@
"use client"; "use client";
import { Separator } from "@/components/ui/separator"; import { Separator } from "@/components/ui/separator";
import InfoCard from "./infoCard"; import InfoCard from "./infoCard";
import FounderCard from "./founderCard";
export default function About() { export default function About() {
// Static data for the cards // Static data for the cards
const cardData = [
{
imageSrc: "https://avatars.githubusercontent.com/u/86756025",
name: "Pattadon Loyprasert",
description:
"Driven by a passion for innovation, Pattadon leads B2D Ventures with the belief that" +
"every great idea deserves the resources and support to thrive. Hes dedicated to" +
"helping entrepreneurs turn visions into reality.",
},
{
imageSrc: "https://avatars.githubusercontent.com/u/22256420",
name: "Sirin Puenggun",
description:
"Sirin brings a wealth of experience in empowering entrepreneurs, aiming to" +
"create an ecosystem where bold ideas meet the right partners. Hes committed to" +
"making a lasting impact on the entrepreneurial world.",
},
{
imageSrc: "https://avatars.githubusercontent.com/u/108450436",
name: "Naytitorn Chaovirachot",
description:
"With a strong foundation in collaboration and trust, Naytitorn is focused" +
"on building lasting partnerships that help drive the success of both investors and founders." +
"He thrives on turning challenges into growth opportunities.",
},
{
imageSrc: "https://avatars.githubusercontent.com/u/114897362",
name: "Nantawat Sukrisunt",
description:
"Nantawat is a passionate advocate for innovation and teamwork." +
"He strives to foster a community where both investors and startups can achieve" +
"their full potential, creating a future where collaboration leads to success.",
},
];
const imageData = { const imageData = {
img1: "https://assets.republic.com/assets/static_pages/about/growth_opportunities/individual_investors-0e85dfd02359a24ac4b232be008c7168fc57d3437a2f526f5d5889b874b20221.png", img1: "https://assets.republic.com/assets/static_pages/about/growth_opportunities/individual_investors-0e85dfd02359a24ac4b232be008c7168fc57d3437a2f526f5d5889b874b20221.png",
img2: "https://assets.republic.com/assets/static_pages/about/growth_opportunities/accredited_investors-42d6aa046861adb7f0648f26ca3f798b07f3b13bf7024f7dc17c17acb78fdf2c.png", img2: "https://assets.republic.com/assets/static_pages/about/growth_opportunities/accredited_investors-42d6aa046861adb7f0648f26ca3f798b07f3b13bf7024f7dc17c17acb78fdf2c.png",
img3: "https://assets.republic.com/assets/static_pages/about/growth_opportunities/entrepreneurs-a0ff450c2f3ba0cea82e2c55cd9265ad5612455c79ec831adaa2c94d09a0e617.png", img3: "https://assets.republic.com/assets/static_pages/about/growth_opportunities/entrepreneurs-a0ff450c2f3ba0cea82e2c55cd9265ad5612455c79ec831adaa2c94d09a0e617.png",
}; };
const founderData = [
{
name: "Sirisilp Kongsilp",
position: "Tech, Business",
profileLogo:
"https://media.licdn.com/dms/image/v2/C5603AQE6NwFfhOWqrw/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1642637269980?e=1737590400&v=beta&t=zh3GpG_d5lSxxZyFn6_RMgVtjz7lacqlpDwZ84BRpAA",
background:
"Founder and CEO of Perception, a holographic computer startup focused on innovative technologies like VR/AR and human-computer interaction. ",
},
];
return ( return (
<div className="container max-w-screen-xl p-10"> <div className="container">
<div className="flex flex-col items-center justify-center"> <div className=" bg-neutral-100 dark:bg-neutral-800 w-full pb-5">
<h1 className="mt-3 font-bold text-lg md:text-5xl font-black">Growth opportunities for all sides </h1> <div className="flex flex-col items-center justify-center">
<h1 className="mt-3 font-bold text-lg md:text-5xl font-black">of the investment market</h1> <h1 className="mt-3 text-lg md:text-5xl font-black">Growth opportunities for all sides </h1>
<h1 className="text-gray-500 text-2xl mt-1"> <h1 className="mt-3 text-lg md:text-5xl font-black">of the investment market</h1>
B2DVentures is where both accredited and non-accredited investors meet <h1 className="text-gray-500 text-2xl mt-1">
</h1> B2DVentures is where both accredited and non-accredited investors meet
<h1 className="text-gray-500 text-2xl">entrepreneurs and access high-growth potential deals across a range</h1> </h1>
<h1 className="text-gray-500 text-2xl">of private markets.</h1> <h1 className="text-gray-500 text-2xl">
</div> entrepreneurs and access high-growth potential deals across a range
<div className="mt-10"> </h1>
<div className="grid grid-cols-1 md:grid-cols-[1fr,auto,1fr] gap-3"> <h1 className="text-gray-500 text-2xl">of private markets.</h1>
</div>
<div className="mt-10">
<div className="grid grid-cols-1 md:grid-cols-[0.5fr,auto,0.5fr] gap-3">
<InfoCard
imageSrc={imageData.img1}
imageAlt="Image1"
heading="Individual investors"
content={[
"B2DVentures's success has been built off our hundreds",
"of sourced private deals, all available for",
"investment from you with as little as $10 or as ",
"much as $124,000.",
]}
link="/deals"
buttonText="Explore opportunities"
/>
<Separator orientation="vertical" className="dark:bg-white" />
<InfoCard
imageSrc={imageData.img2}
imageAlt="Image2"
heading="Accredited investors"
content={[
"The benefits of the Republic platform, optimized for",
"accredited investors. Access a curated investor",
"portal for unique private investment opportunities. ",
]}
link="/dataroom/overview"
buttonText="Learn more"
/>
</div>
<Separator className="mt-5 mb-5 dark:bg-white" />
<InfoCard <InfoCard
imageSrc={imageData.img1} imageSrc={imageData.img3}
imageAlt="Image1" imageAlt="Image3"
heading="Individual investors" heading="Entrepreneurs"
content={[ content={[
"B2DVentures's success has been built off our hundreds", "Seek funding from a wider base of diverse",
"of sourced private deals, all available for", "investors while simultaneously growing a loyal",
"investment from you with as little as $10 or as ", "base and leveraging Republic's private investment",
"much as $124,000.", "network.",
]} ]}
link="/deals" link="/project/apply"
buttonText="Explore opportunities" buttonText="Raise money"
/>
<Separator orientation="vertical" />
<InfoCard
imageSrc={imageData.img2}
imageAlt="Image2"
heading="Accredited investors"
content={[
"The benefits of the Republic platform, optimized for",
"accredited investors. Access a curated investor",
"portal for unique private investment opportunities. ",
]}
link="/dataroom/overview"
buttonText="Learn more"
/> />
</div> </div>
<Separator className="mt-5 mb-5" />
<InfoCard
imageSrc={imageData.img3}
imageAlt="Image3"
heading="Entrepreneurs"
content={[
"Seek funding from a wider base of diverse",
"investors while simultaneously growing a loyal",
"base and leveraging Republics private investment",
"network.",
]}
link="/project/apply"
buttonText="Raise money"
/>
</div> </div>
<div className="flex flex-col items-center justify-center mt-24">
{/* <div className="border border-border rounded-md"> <h1 className="font-black text-5xl ">Built by an experience team with deep </h1>
<p className="p-5"> <h1 className="font-black text-5xl ">expertise in private investing</h1>
Welcome to B2D Ventures! We&apos;re a dynamic platform committed to bridging the gap between visionary <h1 className="text-gray-500 text-2xl mt-2">B2D Ventures was established by innovators with experience in</h1>
entrepreneurs and passionate investors. Our mission is to empower innovation by connecting groundbreaking <h1 className="text-gray-500 text-2xl">top investment platforms and entrepreneurial ecosystems. Since then,</h1>
ideas with the resources they need to thrive. Through B2D Ventures, we foster a community where investors and <h1 className="text-gray-500 text-2xl">we have built a team and a network of the top people from</h1>
innovators come together to transform concepts into impactful, real-world solutions. <h1 className="text-gray-500 text-2xl">the startup, venture capital, and investment worlds.</h1>
</p> <div className="mt-10">
<p className="p-5"> {founderData.map((profile) => {
At B2D Ventures, we believe in the power of collaboration. Whether you&apos;re an investor looking to support return (
the next big idea or a founder aiming to bring your vision to life, our platform offers the tools and <FounderCard
connections to make it happen. Join us on a journey to reshape industries, drive positive change, and make a image={profile.profileLogo}
lasting impact. name={profile.name}
</p> position={profile.position}
<p className="p-5">Let&apos;s build the future, together.</p> background={profile.background}
</div> */} />
);
{/* <div className="mt-10 text-center"> })}
<h2 className="font-bold text-lg md:text-3xl">Our Team</h2> </div>
<Separator className="my-3" /> </div>
</div> */}
{/* Card Section */}
{/* <div className="mt-10 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6">
{cardData.map((card, index) => (
<div key={index} className="bg-white rounded-lg shadow-lg overflow-hidden">
<Image src={card.imageSrc} width={460} height={460} alt={card.name} className="w-full h-48 object-cover" />
<div className="p-4">
<h3 className="pt-5 text-xl font-semibold text-gray-800 text-center">{card.name}</h3>
<p className="pt-5 text-gray-600 mt-2">{card.description}</p>
</div>
</div>
))}
</div> */}
</div> </div>
); );
} }

View File

@ -10,7 +10,7 @@ import {
DropdownMenuTrigger, DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"; } from "@/components/ui/dropdown-menu";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
import { Bell, Heart, Wallet, ChartPie } from "lucide-react"; import { Bell, Heart, Wallet, ChartPie, CalendarClock } from "lucide-react";
import { LogoutButton } from "@/components/auth/logoutButton"; import { LogoutButton } from "@/components/auth/logoutButton";
import { useUserRole } from "@/hooks/useUserRole"; import { useUserRole } from "@/hooks/useUserRole";
import CustomTooltip from "../customToolTip"; import CustomTooltip from "../customToolTip";
@ -54,13 +54,25 @@ export const AuthenticatedComponents = ({ uid, avatarUrl, notificationCount }: A
<Wallet className="cursor-pointer" /> <Wallet className="cursor-pointer" />
</Link> </Link>
</CustomTooltip> </CustomTooltip>
{data?.role === "investor" && (
<div className="flex gap-2">
<CustomTooltip message="Calendar">
<Link href="/calendar/">
<CalendarClock />
</Link>
</CustomTooltip>
</div>
)}
{/*chart pie icon for bussiness's dashboard */} {/*chart pie icon for bussiness's dashboard */}
{data?.role === "business" && ( {data?.role === "business" && (
<CustomTooltip message="Dashboard"> <div className="flex gap-2">
<Link href="/dashboard"> <CustomTooltip message="Dashboard">
<ChartPie /> <Link href="/dashboard">
</Link> <ChartPie />
</CustomTooltip> </Link>
</CustomTooltip>
</div>
)} )}
<DropdownMenu> <DropdownMenu>
<DropdownMenuTrigger asChild> <DropdownMenuTrigger asChild>
@ -86,6 +98,14 @@ export const AuthenticatedComponents = ({ uid, avatarUrl, notificationCount }: A
<Link href="/admin">Admin</Link> <Link href="/admin">Admin</Link>
</DropdownMenuItem> </DropdownMenuItem>
)} )}
{data?.role === "business" && (
<>
<DropdownMenuItem>
<Link href="/calendar/manage">Calendar</Link>
</DropdownMenuItem>
<DropdownMenuSeparator />
</>
)}
{data != null && data != undefined && data.role === "business" && ( {data != null && data != undefined && data.role === "business" && (
<DropdownMenuItem> <DropdownMenuItem>
<Link href="/dataroom/manage">Dataroom</Link> <Link href="/dataroom/manage">Dataroom</Link>