diff --git a/app/components/HistoryPopup.tsx b/app/components/HistoryPopup.tsx index a5a3b19..9ee368d 100644 --- a/app/components/HistoryPopup.tsx +++ b/app/components/HistoryPopup.tsx @@ -8,11 +8,19 @@ interface HistoryPopupProps { likedSchemes: ColorScheme[]; dislikedSchemes: ColorScheme[]; onClose: () => void; + onClearHistory: () => void; // Add this line isDarkMode: boolean; outputFormat: string; } -const HistoryPopup: React.FC = ({ likedSchemes, dislikedSchemes, onClose, isDarkMode, outputFormat }) => { +const HistoryPopup: React.FC = ({ + likedSchemes, + dislikedSchemes, + onClose, + onClearHistory, // Add this line + isDarkMode, + outputFormat +}) => { const handleDownload = (scheme: ColorScheme) => { let content: string; let fileExtension: string; @@ -60,7 +68,7 @@ const HistoryPopup: React.FC = ({ likedSchemes, dislikedSchem /> @@ -75,9 +83,17 @@ const HistoryPopup: React.FC = ({ likedSchemes, dislikedSchem

Color Scheme History

- +
+ + +
{renderSchemeGrid(likedSchemes, "Liked Schemes")} {renderSchemeGrid(dislikedSchemes, "Disliked Schemes")} diff --git a/app/page.tsx b/app/page.tsx index 07f9eae..e56ef6c 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -9,7 +9,6 @@ import HelpDialog from "./components/HelpDialog"; import { ColorScheme, knownSchemes, generateRandomScheme, generateSchemeFromGeneticAlgorithm } from './utils/colorSchemes'; import { AnimatePresence } from 'framer-motion'; import { CodeSample } from './utils/types'; - export default function Home() { const [schemes, setSchemes] = useState([]); @@ -111,6 +110,13 @@ export default function Home() { setIsHelpOpen(!isHelpOpen); }; + const handleClearHistory = () => { + setLikedSchemes([]); + setDislikedSchemes([]); + localStorage.removeItem('likedSchemes'); + localStorage.removeItem('dislikedSchemes'); + }; + return (
@@ -154,6 +160,7 @@ export default function Home() { likedSchemes={likedSchemes} dislikedSchemes={dislikedSchemes} onClose={toggleHistory} + onClearHistory={handleClearHistory} // Add this line isDarkMode={isDarkMode} outputFormat={outputFormat} />