···11+import React from "react";
12import { ButtonPrimary } from "../../components/Buttons";
33+import { TextBlock, ImageBlock } from "./blocks";
2435export const Card = (props: {
46 children: React.ReactNode;
···1921 <div
2022 id={props.id}
2123 className={`
2222- p-3 w-[calc(100vw-12px)] md:w-[calc(50vw-24px)] max-w-prose
2424+ cardWrapper w-[calc(100vw-12px)] md:w-[calc(50vw-24px)] max-w-prose
2525+ relative
2626+ grow flex flex-col
2727+ overflow-y-scroll no-scrollbar
2828+ snap-center
2329 bg-bg-card rounded-lg border
2424- grow flex flex-col gap-2
2525- snap-center
2626- overflow-y-scroll no-scrollbar
2727- ${props.focused ? "shadow-md border-border" : "border-border-light"}`}
3030+ ${props.focused ? "shadow-md border-border" : "border-border-light"}
3131+3232+ `}
2833 >
2929- {props.children}
3030- <AddCardButton
3434+ <CardContent />
3535+ </div>
3636+ {/* <AddCardButton
3137 setCards={props.setCards}
3238 cards={props.cards}
3339 card={props.card}
···4147 index={props.index}
4248 />
4349 )}
4444- <div className="flex justify-between">
5050+ <div className="flex justify-between">
4551 <FocusCardButton
4652 setFocusedCardIndex={props.setFocusedCardIndex}
4753 index={props.index}
···5258 index={props.index}
5359 cardWidth={props.cardWidth}
5460 />
5555- </div>
5656-5757- <div>
5858- {" "}
5959- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ac quam
6060- in tortor sollicitudin lobortis. Quisque vitae massa sit amet quam
6161- tristique maximus. Aliquam cursus bibendum nunc eu tempor. Ut metus
6262- orci, ornare quis rutrum in, pulvinar in nulla. Morbi sapien lectus,
6363- consectetur quis ultricies at, porttitor sit amet mi. Donec ex lectus,
6464- condimentum in ligula ut, luctus sodales magna. Vivamus porta pulvinar
6565- sapien vel sagittis. Aliquam vel sem scelerisque, bibendum lectus et,
6666- dignissim dolor. Fusce ullamcorper ante in purus pellentesque, quis
6767- iaculis ex egestas. Vestibulum vel leo in orci commodo ultricies quis
6868- a elit. Etiam vehicula magna in turpis iaculis efficitur. Aliquam
6969- massa tortor, dapibus et tellus a, volutpat tempus leo. Cras ac nisl
7070- semper, porttitor ante eget, feugiat quam. Nulla nibh nulla,
7171- vestibulum in dolor eu, dapibus sodales nisl. Proin lacus orci, congue
7272- id accumsan ut, lobortis in libero. Integer eget massa dictum, ornare
7373- lacus et, aliquam enim. Ut ornare urna vel pharetra dictum. Nullam
7474- fermentum, purus ac faucibus fringilla, elit enim posuere massa,
7575- volutpat porta lacus arcu vel eros. Integer sagittis dolor nec velit
7676- vulputate pulvinar. Quisque vel orci orci. Donec augue ipsum, lobortis
7777- in sapien aliquam, interdum cursus ipsum. Donec consectetur tristique
7878- elit. Sed volutpat congue luctus. Mauris vitae arcu eu ex congue
7979- molestie. Aliquam erat volutpat. Fusce sed ipsum eros. Donec semper
8080- neque ut dolor aliquam hendrerit. Praesent et tincidunt nisi. Integer
8181- sollicitudin urna eros, non aliquam neque semper in. Nulla eu nunc at
8282- urna auctor bibendum ut eu mauris. Nullam ultricies lorem ut nibh
8383- tristique, vitae euismod tellus placerat. Aliquam euismod, augue ac
8484- sollicitudin molestie, neque tellus bibendum arcu, quis sollicitudin
8585- ipsum risus eget dolor. Phasellus consectetur pellentesque urna in
8686- maximus. Curabitur dignissim tortor quis lorem elementum scelerisque.
8787- Vestibulum ac rutrum nisl. Sed neque turpis, commodo a augue a,
8888- hendrerit pretium dui. Cras ut augue vehicula, scelerisque sem ac,
8989- dictum justo. Phasellus egestas lorem sed est elementum finibus. Proin
9090- ultrices rutrum neque, at varius arcu pellentesque in. Quisque
9191- suscipit elit eu ante viverra bibendum et quis mauris. Sed
9292- pellentesque aliquet dolor at tempus. Donec eu nulla in ligula cursus
9393- ultrices. Sed quis tristique purus. Duis semper, urna in facilisis
9494- dapibus, leo ligula gravida tortor, vitae dignissim lorem orci vitae
9595- ante. Integer auctor ipsum vitae risus scelerisque facilisis. Vivamus
9696- molestie in purus eu hendrerit. Ut laoreet tortor ut vestibulum
9797- gravida. Curabitur in orci a quam lacinia iaculis id ut ipsum. Ut nec
9898- lorem sed mauris condimentum semper eget vitae lorem. Aenean pretium
9999- ipsum sit amet massa auctor feugiat. Maecenas malesuada imperdiet leo,
100100- non tempus nibh suscipit eget. Fusce eu diam ligula. Quisque at ornare
101101- massa. Suspendisse potenti. Fusce convallis, dolor rutrum elementum
102102- commodo, lacus dui vestibulum lectus, non maximus quam metus finibus
103103- libero.
104104- </div>
105105- </div>
6161+ </div> */}
10662 </>
10763 );
10864};
···193149 </ButtonPrimary>
194150 );
195151};
152152+153153+const CardContent = () => {
154154+ return (
155155+ <div className=" p-3 sm:p-4 flex flex-col gap-1 z-10">
156156+ <h3>Card Title</h3>
157157+158158+ <div className="flex flex-col">
159159+ <TextBlock
160160+ lines={6}
161161+ defaultValue="It is a truth universally acknowledged, that a single man in possession of a good fortune must be in want of a wife. However little known the feelings or views of such a man may be on his first entering a neighbourhood, this truth is so well fixed in the minds of the surrounding families, that he is considered as the rightful property of some one or other of their daughters."
162162+ />
163163+ <TextBlock
164164+ lines={2}
165165+ defaultValue="“My dear Mr. Bennet,” said his lady to him one day, “have you heard that Netherfield Park is let at last?”"
166166+ />
167167+ <TextBlock
168168+ lines={1}
169169+ defaultValue="Mr. Bennet replied that he had not."
170170+ />
171171+ <TextBlock
172172+ lines={2}
173173+ defaultValue="“But it is,” returned she; “for Mrs. Long has just been here, and she told me all about it.”"
174174+ />
175175+ <TextBlock lines={1} defaultValue="Mr. Bennet made no answer." />
176176+ <TextBlock
177177+ lines={2}
178178+ defaultValue="“Do not you want to know who has taken it?” cried his wife, impatiently."
179179+ />
180180+ <TextBlock
181181+ lines={1}
182182+ defaultValue="“You want to tell me, and I have no objection to hearing it.”"
183183+ />
184184+ <TextBlock lines={1} defaultValue="" />
185185+ <ImageBlock>
186186+ <img src="./test-image.jpg" alt="An image" />
187187+ </ImageBlock>
188188+ <ImageBlock>
189189+ <img src="./test-image-2.jpg" alt="An image" />
190190+ </ImageBlock>
191191+ </div>
192192+ </div>
193193+ );
194194+};
+1-1
app/test/page.tsx
···13131414export default function Index() {
1515 let [cardRef, { width: cardWidth }] = useMeasure();
1616- let [cards, setCards] = useState([0]);
1616+ let [cards, setCards] = useState([0, 1]);
1717 let [focusedCardIndex, setFocusedCardIndex] = useState(0);
1818 let [pageBGImage, setPageBGImage] = useState({
1919 url: "./test-image.jpg",