diff --git a/components/widgets/ResponsiveAppBar.js b/components/widgets/ResponsiveAppBar.js index 09ee18c..dc6e614 100644 --- a/components/widgets/ResponsiveAppBar.js +++ b/components/widgets/ResponsiveAppBar.js @@ -24,7 +24,7 @@ import MenuItem from '@mui/material/MenuItem'; import AdbIcon from '@mui/icons-material/Adb'; //const pages = ['Home', 'Tutorials', 'About Us', 'Navigation Graph']; -const pages = ['Home', 'About Us'] +const pages = ['Home', 'About Us', 'Help','Contribute'] const ResponsiveAppBar = (props) => { const [anchorElNav, setAnchorElNav] = React.useState(null); diff --git a/pages/help/index.js b/pages/help/index.js new file mode 100644 index 0000000..08c9b18 --- /dev/null +++ b/pages/help/index.js @@ -0,0 +1,293 @@ +import ResponsiveAppBar from "../../components/widgets/ResponsiveAppBar"; +import isulogo from "../../components/images/ISULogo.png"; + +import { + createTheme, + ThemeProvider, + Container, + Box, + Typography, + CssBaseline, + Link, +} from "@mui/material"; + +const backgroundLinks = [ + { + label: "Computational problem", + url: "https://en.wikipedia.org/wiki/Computational_problem", + }, + { + label: "Algorithm", + url: "https://en.wikipedia.org/wiki/Algorithm", + }, + { + label: "List of algorithms", + url: "https://en.wikipedia.org/wiki/List_of_algorithms", + }, + { + label: "Complexity class", + url: "https://en.wikipedia.org/wiki/Complexity_class", + }, + { + label: "P (complexity)", + url: "https://en.wikipedia.org/wiki/P_(complexity)", + }, + { + label: "NP (complexity)", + url: "https://en.wikipedia.org/wiki/NP_(complexity)", + }, + { + label: "NP-hardness", + url: "https://en.wikipedia.org/wiki/NP-hardness", + }, + { + label: "NP-completeness", + url: "https://en.wikipedia.org/wiki/NP-completeness", + }, + { + label: "Karp's 21 NP-complete problems", + url: "https://en.wikipedia.org/wiki/Karp%27s_21_NP-complete_problems", + }, + { + label: "List of NP-complete problems", + url: "https://en.wikipedia.org/wiki/List_of_NP-complete_problems", + }, + { + label: "Many-one reduction", + url: "https://en.wikipedia.org/wiki/Many-one_reduction", + }, + { + label: "Gadget (computer science)", + url: "https://en.wikipedia.org/wiki/Gadget_(computer_science)", + }, + { + label: "Approximation algorithm", + url: "https://en.wikipedia.org/wiki/Approximation_algorithm", + }, +]; + +const accessLinks = [ + { + label: "RESTful API", + url: "https://api.redux.portneuf.cose.isu.edu/swagger/index.html", + }, +]; + +const theme = createTheme({ + palette: { + mode: "light", + primary: { main: "#3F3F46" }, + secondary: { main: "#F47C20" }, + background: { + default: "#F9FAFB", + paper: "#FFFFFF", + }, + text: { + primary: "#111827", + secondary: "#4B5563", + }, + }, + typography: { + fontFamily: + 'Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif', + }, +}); + +const sectionCardStyle = { + background: "#FFFFFF", + borderRadius: "16px", + border: "1px solid #E5E7EB", + padding: { xs: 3, md: 4 }, + boxShadow: "0 8px 24px rgba(0,0,0,0.04)", + transition: "all 0.25s ease", + "&:hover": { + borderColor: "#F47C20", + boxShadow: "0 12px 30px rgba(0,0,0,0.07)", + }, +}; + +const innerCard = { + background: "#F9FAFB", + border: "1px solid #E5E7EB", + borderRadius: "10px", + px: 1.2, + py: 1, + transition: "all 0.2s ease", + "&:hover": { + borderColor: "#F47C20", + background: "#FFFFFF", + }, +}; + +function SectionTitle({ children }) { + return ( + + {children} + + ); +} + +export default function HelpPage() { + return ( + + + + + + + + + + WELCOME TO REDUX + + + Redux is a dynamic, interactive computer science knowledgebase + consisting of canonical computer science problems, solutions, + and reduction algorithms. The following pages provide helpful + background to the organization of problems, solutions, and + reductions in Redux based on the concept of complexity classes: + + + + {backgroundLinks.map((link, index) => ( + + + {link.label} + + {index < backgroundLinks.length - 1 ? ", " : "."} + + ))} + + + + + ACCESS REDUX CONTENT + + + All of the content of the Redux knowledge base can be accessed + directly via: + + + + {accessLinks.map((link) => ( + + + {link.label} + + + ))} + + + + C# Library import{" "} + + (instructions coming soon) + + + + + + + + + + + + + + + ); +}