Add linkedinUrl support to BlogCardOne
This commit is contained in:
@@ -11,6 +11,7 @@ import FaqDouble from "@/components/sections/faq/FaqDouble";
|
||||
import TimelineProcessFlow from "@/components/cardStack/layouts/timelines/TimelineProcessFlow";
|
||||
import BlogCardOne from "@/components/sections/blog/BlogCardOne";
|
||||
import HeroLogo from "@/components/sections/hero/HeroLogo";
|
||||
import ContactCenter from "@/components/sections/contact/ContactCenter";
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
@@ -210,17 +211,16 @@ export default function LandingPage() {
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplit
|
||||
tag="Get in Touch"
|
||||
title="Join the Conversation"
|
||||
description="Subscribe to receive updates on cognitive liberty research, policy developments, and opportunities to support evidence-based discourse on neural technology."
|
||||
<ContactCenter
|
||||
tag="Connect"
|
||||
title="Engage with Experts"
|
||||
description="Get personalized insights into cognitive enhancement technologies."
|
||||
useInvertedBackground="noInvert"
|
||||
imageSrc="https://img.b2bpic.net/free-photo/still-life-illustrating-ethics-concept_23-2149412286.jpg"
|
||||
imageAlt="Ethical balance and responsibility visualization"
|
||||
mediaPosition="left"
|
||||
tagIcon={MessageCircle}
|
||||
inputPlaceholder="your@email.com"
|
||||
buttonText="Subscribe"
|
||||
termsText="We respect your privacy. You can unsubscribe anytime. Your data supports cognitive liberty advocacy."
|
||||
buttonText="Contact Us"
|
||||
termsText="Privacy Policy"
|
||||
ariaLabel="Contact section"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import OverlayArrowButton from "@/components/shared/OverlayArrowButton";
|
||||
import { cls, shouldUseInvertedText } from "@/lib/utils";
|
||||
import { useTheme } from "@/providers/themeProvider/ThemeProvider";
|
||||
import type { LucideIcon } from "lucide-react";
|
||||
import { LinkedIn } from "lucide-react";
|
||||
import type { ButtonConfig, CardAnimationType, TitleSegment } from "@/components/cardStack/types";
|
||||
import type { TextboxLayout, InvertedBackground } from "@/providers/themeProvider/config/constants";
|
||||
|
||||
@@ -21,6 +22,7 @@ type BlogCard = {
|
||||
authorName: string;
|
||||
authorAvatar: string;
|
||||
date: string;
|
||||
linkedinUrl?: string;
|
||||
onBlogClick?: () => void;
|
||||
};
|
||||
|
||||
@@ -136,6 +138,11 @@ const BlogCardItem = memo(({
|
||||
<div className="flex flex-col">
|
||||
<p className={cls("text-sm font-medium", shouldUseLightText ? "text-background" : "text-foreground", authorNameClassName)}>
|
||||
{blog.authorName}
|
||||
{blog.linkedinUrl && (
|
||||
<a href={blog.linkedinUrl} target="_blank" rel="noopener noreferrer" className="ml-1">
|
||||
<LinkedIn size={16} />
|
||||
</a>
|
||||
)}
|
||||
</p>
|
||||
<p className={cls("text-xs", shouldUseLightText ? "text-background/75" : "text-foreground/75", dateClassName)}>
|
||||
{blog.date}
|
||||
@@ -244,4 +251,4 @@ const BlogCardOne = ({
|
||||
|
||||
BlogCardOne.displayName = "BlogCardOne";
|
||||
|
||||
export default BlogCardOne;
|
||||
export default BlogCardOne;
|
||||
Reference in New Issue
Block a user