11<script >
2- import { onMount } from ' svelte'
3- import AddTodoItem from ' ./AddTodoItem.svelte'
4- import TodoItem from ' ./TodoItem.svelte'
5- import { todoItems } from ' ./store'
6- import { todoStats } from ' ./todoStatsStore'
2+ import { onMount } from ' svelte'
3+ import AddTodoItem from ' ./AddTodoItem.svelte'
4+ import TodoItem from ' ./TodoItem.svelte'
5+ import { todoItems } from ' ./store'
6+ import { todoStats } from ' ./todoStatsStore'
77
8- let mounted = false
9- onMount (() => {
10- mounted = true
11- })
8+ let mounted = false
9+ onMount (() => {
10+ mounted = true
11+ })
1212
13- function handleAddTodoItem (event ) {
14- todoItems .add (event .detail )
15- }
13+ function handleAddTodoItem (event ) {
14+ todoItems .add (event .detail )
15+ }
1616
17- function handleItemChecked (id , checked ) {
18- todoItems .setCheckedStatus (id, checked)
19- }
17+ function handleItemChecked (id , checked ) {
18+ todoItems .setCheckedStatus (id, checked)
19+ }
2020
21- function handleItemRemove (id ) {
22- todoItems .remove (id)
23- }
21+ function handleItemRemove (id ) {
22+ todoItems .remove (id)
23+ }
2424 </script >
2525
2626<div class =" add-todo-item-container" >
27- <AddTodoItem
28- title =' Please type todo here:'
29- buttonTitle ={` Add (${$todoStats .doneCount }/${$todoStats .totalCount }) ` }
30- on:add ={handleAddTodoItem }
31- />
27+ <AddTodoItem
28+ title =' Please type todo here:'
29+ buttonTitle ={` Add (${$todoStats .doneCount }/${$todoStats .totalCount }) ` }
30+ on:add ={handleAddTodoItem }
31+ />
3232</div >
3333
3434{#if mounted }
35- {#if $todoStats .totalCount === 0 }
36- No items yet
37- {:else }
38- <div class =" todo-items-container" >
39- {#each $todoItems as { id, text, checked }, index (id )}
40- <div class =" todo-item-container" >
41- <TodoItem
42- text ={` ${index + 1 }: ${text } ` }
43- {checked }
44- on:checked ={event => handleItemChecked (id , event .detail )}
45- on:remove ={() => handleItemRemove (id )}
46- />
47- </div >
48- {/each }
49- </div >
50- {/if }
35+ {#if $todoStats .totalCount === 0 }
36+ No items yet
37+ {:else }
38+ <div class =" todo-items-container" >
39+ {#each $todoItems as { id, text, checked }, index (id )}
40+ <div class =" todo-item-container" >
41+ <TodoItem
42+ text ={` ${index + 1 }: ${text } ` }
43+ {checked }
44+ on:checked ={event => handleItemChecked (id , event .detail )}
45+ on:remove ={() => handleItemRemove (id )}
46+ />
47+ </div >
48+ {/each }
49+ </div >
50+ {/if }
5151{/if }
5252
5353<style >
54- .add-todo-item-container {
55- margin-bottom : 5px ;
56- }
57- .todo-items-container :not (:last-child ) > .todo-item-container {
58- margin-bottom : 5px ;
59- }
54+ .add-todo-item-container {
55+ margin-bottom : 5px ;
56+ }
57+ .todo-items-container :not (:last-child ) > .todo-item-container {
58+ margin-bottom : 5px ;
59+ }
6060 </style >
0 commit comments