This commit is contained in:
dmitry-vsl
2025-05-30 19:59:02 +00:00
parent 1a30311de4
commit 75b1c5e942
30 changed files with 959 additions and 832 deletions

View File

@@ -1,15 +1,9 @@
import Footer from './Footer.js'
import AddTodo from '../containers/AddTodo.js'
import VisibleTodoList from '../containers/VisibleTodoList.js'
import Footer from "./Footer.js"
import AddTodo from "../containers/AddTodo.js"
import VisibleTodoList from "../containers/VisibleTodoList.js"
const h = React.createElement
const App = () => (
h('div', null,
h(AddTodo),
h(VisibleTodoList),
h(Footer),
)
)
const App = () => h("div", null, h(AddTodo), h(VisibleTodoList), h(Footer))
export default App

View File

@@ -1,15 +1,16 @@
import FilterLink from '../containers/FilterLink.js'
import { VisibilityFilters } from '../actions/index.js'
import FilterLink from "../containers/FilterLink.js"
import { VisibilityFilters } from "../actions/index.js"
const h = React.createElement
const Footer = () => (
h('div', null,
h('span', null, 'Show: '),
h(FilterLink, {filter: VisibilityFilters.SHOW_ALL}, 'All'),
h(FilterLink, {filter: VisibilityFilters.SHOW_ACTIVE}, 'Active'),
h(FilterLink, {filter: VisibilityFilters.SHOW_COMPLETED}, 'Completed'),
const Footer = () =>
h(
"div",
null,
h("span", null, "Show: "),
h(FilterLink, { filter: VisibilityFilters.SHOW_ALL }, "All"),
h(FilterLink, { filter: VisibilityFilters.SHOW_ACTIVE }, "Active"),
h(FilterLink, { filter: VisibilityFilters.SHOW_COMPLETED }, "Completed"),
)
)
export default Footer

View File

@@ -1,13 +1,16 @@
const h = React.createElement
const Link = ({ active, children, onClick }) => (
h('button', {
onClick,
disabled: active,
style:{
marginLeft: '4px',
}
}, children)
)
const Link = ({ active, children, onClick }) =>
h(
"button",
{
onClick,
disabled: active,
style: {
marginLeft: "4px",
},
},
children,
)
export default Link

View File

@@ -1,12 +1,15 @@
const h = React.createElement
const Todo = ({ onClick, completed, text }) => (
h('li', {
onClick,
style: {
textDecoration: completed ? 'line-through' : 'none'
const Todo = ({ onClick, completed, text }) =>
h(
"li",
{
onClick,
style: {
textDecoration: completed ? "line-through" : "none",
},
},
}, text)
)
text,
)
export default Todo

View File

@@ -1,17 +1,18 @@
import Todo from './Todo.js'
import Todo from "./Todo.js"
const h = React.createElement
const TodoList = ({ todos, toggleTodo }) => (
h('ul', null,
const TodoList = ({ todos, toggleTodo }) =>
h(
"ul",
null,
todos.map(todo =>
h(Todo, {
key: todo.id,
...todo,
onClick: () => toggleTodo(todo.id),
})
)
}),
),
)
)
export default TodoList