diff --git a/apps/web/src/app/(home)/_components/testimonials.tsx b/apps/web/src/app/(home)/_components/testimonials.tsx
index aed50a9..ea6598a 100644
--- a/apps/web/src/app/(home)/_components/testimonials.tsx
+++ b/apps/web/src/app/(home)/_components/testimonials.tsx
@@ -1,8 +1,7 @@
"use client";
+import { motion } from "framer-motion";
import { Terminal } from "lucide-react";
-import { motion } from "motion/react";
-import { useMemo } from "react";
import { Tweet } from "react-tweet";
const TWEET_IDS = [
@@ -13,9 +12,11 @@ const TWEET_IDS = [
"1933149770639614324",
"1937599252173128103",
"1930511724702285885",
+ "1945204056063913989",
"1912836377365905496",
"1907817662215757853",
"1933216760896934060",
+ "1942558041704182158",
"1937383786637094958",
"1931709370003583004",
"1929147326955704662",
@@ -27,29 +28,39 @@ const TWEET_IDS = [
"1917640304758514093",
"1907831059275735353",
"1912924558522524039",
+ "1945054982870282575",
"1933150129738981383",
"1911490975173607495",
"1930104047845158972",
"1913773945523953713",
+ "1944937093387706572",
"1904241046898556970",
"1913834145471672652",
+ "1946245671880966269",
"1930514202260635807",
"1931589579749892480",
"1904144343125860404",
"1917610656477348229",
"1904215768272654825",
"1931830211013718312",
+ "1944895251811893680",
"1913833079342522779",
"1930449311848087708",
+ "1942680754384953790",
"1907723601731530820",
+ "1944553262792810603",
"1904233896851521980",
"1930294868808515726",
+ "1943290033383047237",
"1913801258789491021",
"1907841646513005038",
"1904301540422070671",
+ "1944208789617471503",
"1912837026925195652",
"1904338606409531710",
+ "1942965795920679188",
"1904318186750652606",
+ "1943656585294643386",
"1908568583799484519",
"1913018977321693448",
"1904179661086556412",
@@ -61,20 +72,18 @@ const TWEET_IDS = [
];
export default function Testimonials() {
- // Split tweets into 3 columns
- const columns = useMemo(() => {
- const col1: string[] = [];
- const col2: string[] = [];
- const col3: string[] = [];
+ const getResponsiveColumns = (numCols: number) => {
+ const columns: string[][] = Array(numCols)
+ .fill(null)
+ .map(() => []);
TWEET_IDS.forEach((tweetId, index) => {
- if (index % 3 === 0) col1.push(tweetId);
- else if (index % 3 === 1) col2.push(tweetId);
- else col3.push(tweetId);
+ const colIndex = index % numCols;
+ columns[colIndex].push(tweetId);
});
- return [col1, col2, col3];
- }, []);
+ return columns;
+ };
const containerVariants = {
hidden: { opacity: 0 },
@@ -92,8 +101,43 @@ export default function Testimonials() {
},
};
+ const TweetCard = ({
+ tweetId,
+ index,
+ }: {
+ tweetId: string;
+ index: number;
+ }) => (
+