Add linkedinUrl support to BlogCardOne

This commit is contained in:
2026-01-26 16:57:07 +02:00
parent be92aaeec8
commit ba75adc930
2 changed files with 17 additions and 10 deletions

View File

@@ -11,6 +11,7 @@ import FaqDouble from "@/components/sections/faq/FaqDouble";
import TimelineProcessFlow from "@/components/cardStack/layouts/timelines/TimelineProcessFlow"; import TimelineProcessFlow from "@/components/cardStack/layouts/timelines/TimelineProcessFlow";
import BlogCardOne from "@/components/sections/blog/BlogCardOne"; import BlogCardOne from "@/components/sections/blog/BlogCardOne";
import HeroLogo from "@/components/sections/hero/HeroLogo"; import HeroLogo from "@/components/sections/hero/HeroLogo";
import ContactCenter from "@/components/sections/contact/ContactCenter";
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -210,17 +211,16 @@ export default function LandingPage() {
</div> </div>
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<ContactSplit <ContactCenter
tag="Get in Touch" tag="Connect"
title="Join the Conversation" title="Engage with Experts"
description="Subscribe to receive updates on cognitive liberty research, policy developments, and opportunities to support evidence-based discourse on neural technology." description="Get personalized insights into cognitive enhancement technologies."
useInvertedBackground="noInvert" useInvertedBackground="noInvert"
imageSrc="https://img.b2bpic.net/free-photo/still-life-illustrating-ethics-concept_23-2149412286.jpg" tagIcon={MessageCircle}
imageAlt="Ethical balance and responsibility visualization"
mediaPosition="left"
inputPlaceholder="your@email.com" inputPlaceholder="your@email.com"
buttonText="Subscribe" buttonText="Contact Us"
termsText="We respect your privacy. You can unsubscribe anytime. Your data supports cognitive liberty advocacy." termsText="Privacy Policy"
ariaLabel="Contact section"
/> />
</div> </div>

View File

@@ -8,6 +8,7 @@ import OverlayArrowButton from "@/components/shared/OverlayArrowButton";
import { cls, shouldUseInvertedText } from "@/lib/utils"; import { cls, shouldUseInvertedText } from "@/lib/utils";
import { useTheme } from "@/providers/themeProvider/ThemeProvider"; import { useTheme } from "@/providers/themeProvider/ThemeProvider";
import type { LucideIcon } from "lucide-react"; import type { LucideIcon } from "lucide-react";
import { LinkedIn } from "lucide-react";
import type { ButtonConfig, CardAnimationType, TitleSegment } from "@/components/cardStack/types"; import type { ButtonConfig, CardAnimationType, TitleSegment } from "@/components/cardStack/types";
import type { TextboxLayout, InvertedBackground } from "@/providers/themeProvider/config/constants"; import type { TextboxLayout, InvertedBackground } from "@/providers/themeProvider/config/constants";
@@ -21,6 +22,7 @@ type BlogCard = {
authorName: string; authorName: string;
authorAvatar: string; authorAvatar: string;
date: string; date: string;
linkedinUrl?: string;
onBlogClick?: () => void; onBlogClick?: () => void;
}; };
@@ -136,6 +138,11 @@ const BlogCardItem = memo(({
<div className="flex flex-col"> <div className="flex flex-col">
<p className={cls("text-sm font-medium", shouldUseLightText ? "text-background" : "text-foreground", authorNameClassName)}> <p className={cls("text-sm font-medium", shouldUseLightText ? "text-background" : "text-foreground", authorNameClassName)}>
{blog.authorName} {blog.authorName}
{blog.linkedinUrl && (
<a href={blog.linkedinUrl} target="_blank" rel="noopener noreferrer" className="ml-1">
<LinkedIn size={16} />
</a>
)}
</p> </p>
<p className={cls("text-xs", shouldUseLightText ? "text-background/75" : "text-foreground/75", dateClassName)}> <p className={cls("text-xs", shouldUseLightText ? "text-background/75" : "text-foreground/75", dateClassName)}>
{blog.date} {blog.date}