mirror of
https://github.com/guilhermewerner/tomasulo-simulator
synced 2025-06-15 13:24:20 +00:00
Add program context
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
import '@/styles/globals.css'
|
import '@/styles/globals.css'
|
||||||
|
import { ProgramContextProvider } from '../src/ProgramContext';
|
||||||
|
|
||||||
export default function App({ Component, pageProps }) {
|
export default function App({ Component, pageProps }) {
|
||||||
return <Component {...pageProps} />
|
return <ProgramContextProvider><Component {...pageProps} /></ProgramContextProvider>
|
||||||
}
|
}
|
||||||
|
@ -11,8 +11,20 @@ import NavDropdown from 'react-bootstrap/NavDropdown'
|
|||||||
import Row from 'react-bootstrap/Row'
|
import Row from 'react-bootstrap/Row'
|
||||||
import Col from 'react-bootstrap/Col'
|
import Col from 'react-bootstrap/Col'
|
||||||
import Button from 'react-bootstrap/Button';
|
import Button from 'react-bootstrap/Button';
|
||||||
|
import { useRouter } from 'next/router';
|
||||||
|
import { useContext } from 'react';
|
||||||
|
import { ProgramContext } from '../src/ProgramContext';
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
|
const router = useRouter();
|
||||||
|
const { updateProgram } = useContext(ProgramContext);
|
||||||
|
|
||||||
|
const handleClick = () => {
|
||||||
|
const program = { name: 'John', age: 25 };
|
||||||
|
updateProgram(program);
|
||||||
|
router.push('/runner');
|
||||||
|
};
|
||||||
|
|
||||||
const [instructionStatus, setInstructionStatus] = useState([]);
|
const [instructionStatus, setInstructionStatus] = useState([]);
|
||||||
|
|
||||||
const geraTabelaParaInserirInstrucoes = (nInst) => {
|
const geraTabelaParaInserirInstrucoes = (nInst) => {
|
||||||
@ -109,9 +121,7 @@ export default function Home() {
|
|||||||
<h3>Instructions</h3>
|
<h3>Instructions</h3>
|
||||||
</Col>
|
</Col>
|
||||||
<Col className="text-end">
|
<Col className="text-end">
|
||||||
<Link href="/runner">
|
<Button className="ms-4" variant="primary" onClick={handleClick}>Execute</Button>
|
||||||
<Button className="ms-4" variant="primary">Execute</Button>
|
|
||||||
</Link>
|
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
<Row className="mb-3">
|
<Row className="mb-3">
|
||||||
|
@ -9,8 +9,12 @@ import Row from 'react-bootstrap/Row'
|
|||||||
import Col from 'react-bootstrap/Col'
|
import Col from 'react-bootstrap/Col'
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import Button from 'react-bootstrap/Button';
|
import Button from 'react-bootstrap/Button';
|
||||||
|
import { useContext } from 'react';
|
||||||
|
import { ProgramContext } from '../src/ProgramContext';
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
|
const { program } = useContext(ProgramContext);
|
||||||
|
|
||||||
let baseI = {
|
let baseI = {
|
||||||
issue: null,
|
issue: null,
|
||||||
exeCompleta: null,
|
exeCompleta: null,
|
||||||
|
17
src/ProgramContext.js
Normal file
17
src/ProgramContext.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import { createContext, useState } from 'react';
|
||||||
|
|
||||||
|
export const ProgramContext = createContext(null);
|
||||||
|
|
||||||
|
export const ProgramContextProvider = ({ children }) => {
|
||||||
|
const [program, setProgram] = useState({});
|
||||||
|
|
||||||
|
const updateProgram = (newObject) => {
|
||||||
|
setProgram(newObject);
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<ProgramContext.Provider value={{ program, updateProgram }}>
|
||||||
|
{children}
|
||||||
|
</ProgramContext.Provider>
|
||||||
|
);
|
||||||
|
};
|
Reference in New Issue
Block a user