From 342e608b3a514764688f76811d556ba6a618ddb3 Mon Sep 17 00:00:00 2001 From: Neeldhara Misra Date: Tue, 22 Jul 2025 11:20:08 +0530 Subject: [PATCH] Improve Zeckendorf Search Trick: label cards 1-8, add spoiler mode with highlights, use emoji buttons --- src/components/ZeckendorfSearchTrick.tsx | 32 ++++++++++++++++++++---- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/src/components/ZeckendorfSearchTrick.tsx b/src/components/ZeckendorfSearchTrick.tsx index 53b89e9..b2f3a56 100644 --- a/src/components/ZeckendorfSearchTrick.tsx +++ b/src/components/ZeckendorfSearchTrick.tsx @@ -57,6 +57,7 @@ const ZeckendorfSearchTrick = ({ showSocialShare = true }: ZeckendorfSearchTrick const [showResult, setShowResult] = useState(false); const [isOneByOne, setIsOneByOne] = useState(false); const [isRandomized, setIsRandomized] = useState(true); + const [isSpoiler, setIsSpoiler] = useState(false); const [currentCardIndex, setCurrentCardIndex] = useState(0); const [cards, setCards] = useState>([]); @@ -72,7 +73,7 @@ const ZeckendorfSearchTrick = ({ showSocialShare = true }: ZeckendorfSearchTrick // Generate cards with optional randomization const generateCards = () => { - const baseCards = FIBONACCI_NUMBERS.map(fib => { + const baseCards = FIBONACCI_NUMBERS.map((fib, index) => { const numbers: number[] = []; // Check numbers from 1 to 33 to see which ones contain this Fibonacci number for (let i = 1; i <= 33; i++) { @@ -83,7 +84,7 @@ const ZeckendorfSearchTrick = ({ showSocialShare = true }: ZeckendorfSearchTrick return { id: fib, - title: `Card ${fib}`, + title: `Card ${index + 1}`, numbers: numbers }; }); @@ -116,6 +117,11 @@ const ZeckendorfSearchTrick = ({ showSocialShare = true }: ZeckendorfSearchTrick setCurrentCardIndex(0); }; + // Handle spoiler toggle + const handleSpoilerToggle = (checked: boolean) => { + setIsSpoiler(checked); + }; + // Navigation functions for one-by-one mode const goToPreviousCard = () => { setCurrentCardIndex(prev => Math.max(0, prev - 1)); @@ -252,6 +258,15 @@ const ZeckendorfSearchTrick = ({ showSocialShare = true }: ZeckendorfSearchTrick +
+ + +
+