diff --git a/package.json b/package.json index bcaefee..d613472 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,9 @@ "dependencies": { "react": "^17.0.2", "react-dom": "^17.0.2", - "react-scripts": "4.0.3" + "react-router": "^5.2.1", + "react-router-dom": "^5.3.0", + "react-scripts": "^4.0.3" }, "scripts": { "start": "react-scripts start", diff --git a/src/App.js b/src/App.js index e358583..6155040 100644 --- a/src/App.js +++ b/src/App.js @@ -1,12 +1,24 @@ import React from 'react'; -import logo from './logo.svg'; import './App.css'; +import TodoList from './containers/TodoList/TodoList'; +import {BrowserRouter, Route, Redirect, Switch} from 'react-router-dom'; +import NewTodo from './containers/TodoList/NewTodo/NewTodo'; +import TodoDetail from './components/TodoDetail/TodoDetail'; function App() { return ( -
-
+ +
+ + } /> + + + +

Not Found

}/> +
+
+
+ ); } - export default App; diff --git a/src/components/Todo/Todo.js b/src/components/Todo/Todo.js index e69de29..7438d6d 100644 --- a/src/components/Todo/Todo.js +++ b/src/components/Todo/Todo.js @@ -0,0 +1,14 @@ +import React from "react"; +import "./Todo.css"; + +const Todo = (props) => { + return ( +
+
+ {props.title} +
+ {props.done &&
} +
+ ) +} +export default Todo; diff --git a/src/components/TodoDetail/TodoDetail.js b/src/components/TodoDetail/TodoDetail.js index e69de29..3bc23c2 100644 --- a/src/components/TodoDetail/TodoDetail.js +++ b/src/components/TodoDetail/TodoDetail.js @@ -0,0 +1,26 @@ +import React from "react"; +import './TodoDetail.css'; + +const TodoDetail = (props) => { + return ( +
+
+
+ Name: +
+
+ {props.title} +
+
+
+
+ Content: +
+
+ {props.content} +
+
+
+ ); +}; +export default TodoDetail; diff --git a/src/containers/TodoList/NewTodo/NewTodo.js b/src/containers/TodoList/NewTodo/NewTodo.js index e69de29..307ab2d 100644 --- a/src/containers/TodoList/NewTodo/NewTodo.js +++ b/src/containers/TodoList/NewTodo/NewTodo.js @@ -0,0 +1,39 @@ +import React, {Component} from "react"; +import './NewTodo.css' +import {Redirect} from 'react-router-dom'; + +class NewTodo extends Component { + state = { + title: '', + content: '', + submitted: false, + } + + postTodoHandler = () => { + const data = { + title: this.state.title, content:this.state.content + }; + alert('Submitted\n' + data.title + "\n" + data.content); + this.setState({submitted: true}); + // this.props.history.push('/todos'); + } + + render() { + if (this.state.submitted) { + return + } + return ( +
+

Add a Todo

+ + this.setState({title: event.target.value})}/> + +