diff --git a/src/App.tsx b/src/App.tsx index 9d18e93..4d27d78 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,7 +1,21 @@ +import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import "./App.css"; +import TodoList from "./containers/TodoList/TodoList" +import NewTodo from "./containers/TodoList/NewTodo/NewTodo" +import TodoDetail from "./components/TodoDetail/TodoDetail" function App() { - return
; + return
+ + + } /> + } /> + } /> + } /> + Not Found} /> + + +
; } export default App; diff --git a/src/components/Todo/Todo.tsx b/src/components/Todo/Todo.tsx index cb0ff5c..92b27f9 100644 --- a/src/components/Todo/Todo.tsx +++ b/src/components/Todo/Todo.tsx @@ -1 +1,19 @@ -export {}; +import "./Todo.css" + +interface IProps { + title: string; + clicked?: React.MouseEventHandler; + done: boolean; +} + +const Todo = (props: IProps) => { + return ( +
+
+ {props.title} +
+ {props.done &&
} +
+ ); +}; +export default Todo; diff --git a/src/components/TodoDetail/TodoDetail.tsx b/src/components/TodoDetail/TodoDetail.tsx index cb0ff5c..e2d27af 100644 --- a/src/components/TodoDetail/TodoDetail.tsx +++ b/src/components/TodoDetail/TodoDetail.tsx @@ -1 +1,25 @@ -export {}; +import "./TodoDetail.css" + +type Props = { + title: string; + content: string; +}; + +const TodoDetail = (props: Props) => { + return ( +
+
+
Name:
+
{props.title}
+
+
+
Content:
+
+ {props.content} +
+
+
+ ); +}; + +export default TodoDetail; diff --git a/src/containers/TodoList/NewTodo/NewTodo.tsx b/src/containers/TodoList/NewTodo/NewTodo.tsx index cb0ff5c..1e2b674 100644 --- a/src/containers/TodoList/NewTodo/NewTodo.tsx +++ b/src/containers/TodoList/NewTodo/NewTodo.tsx @@ -1 +1,44 @@ -export {}; +import { useState } from 'react'; +import { Navigate } from 'react-router-dom'; +import './NewTodo.css'; + +export default function NewTodo() { + const [title, setTitle] = useState(""); + const [content, setContent] = useState(""); + const [submitted, setSubmitted] = useState(false); + + const postTodoHandler = () => { + const data = { title: title, content: content }; + alert("Submitted\n" + data.title + "\n" + data.content); + setSubmitted(true); + }; + + if(submitted) { + return ; + } + else { + return ( +
+

Add a Todo

+ + setTitle(event.target.value) + } + /> + +