Skip to content

Instantly share code, notes, and snippets.

@ryansolid
Last active August 2, 2019 06:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryansolid/6eddfad16b6747a5af29d574ba4ca8b0 to your computer and use it in GitHub Desktop.
Save ryansolid/6eddfad16b6747a5af29d574ba4ca8b0 to your computer and use it in GitHub Desktop.
Todos: TodoApp
const TodoApp = () => {
const [store, {
addTodo, toggleAll, editTodo,
removeTodo, clearCompleted, setVisibility
}] = createTodosStore(),
locationHandler = () =>
setVisibility(location.hash.slice(2) || 'all'
);
window.addEventListener('hashchange', locationHandler);
onCleanup(() =>
window.removeEventListener('hashchange', locationHandler)
);
return <section class='todoapp'>
<TodoHeader addTodo={addTodo} />
<Show when={(store.todos.length > 0)}>
<TodoList {...{store, toggleAll, editTodo, removeTodo}}/>
<TodoFooter store={store} clearCompleted={clearCompleted} />
</Show>
</section>
}
createRoot(() => document.body.insertBefore(
<TodoApp />,
document.body.firstChild
));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment