import { GitHub, ArrowDownward } from '@mui/icons-material'; import { Box, Button, Container, createTheme, CssBaseline, IconButton, Paper, ThemeProvider, Tooltip } from '@mui/material'; import 'katex/dist/katex.min.css'; import { useEffect, useRef, useState } from 'react'; import ReactMarkdown from 'react-markdown'; import rehypeKatex from 'rehype-katex'; import remarkMath from 'remark-math'; import FrequencyInput from './components/FrequencyInput'; import StateGrid from './components/StateGrid'; import explanationText from './explanation.md?raw'; import type { Symbol } from './types'; import { getDefaultColors } from './utils/ansLogic'; const theme = createTheme({ palette: { mode: 'light', primary: { main: '#1976d2', }, }, }); function App() { const [symbols, setSymbols] = useState([]); const visualizationRef = useRef(null); useEffect(() => { // Initialize with default symbols: A-1, B-1, C-1 const defaultColors = getDefaultColors(); const defaultSymbols: Symbol[] = [ { name: 'A', frequency: 3, color: defaultColors[0] }, { name: 'B', frequency: 2, color: defaultColors[1] }, { name: 'C', frequency: 1, color: defaultColors[2] }, ]; setSymbols(defaultSymbols); }, []); const scrollToVisualization = () => { visualizationRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' }); }; return ( ); } export default App;