-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0322fd36.1eff5766.js
More file actions
1 lines (1 loc) · 2.43 KB
/
0322fd36.1eff5766.js
File metadata and controls
1 lines (1 loc) · 2.43 KB
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{171:function(e,t,n){"use strict";n.r(t);var o=n(0),a=n.n(o),r=n(180),c=n(231),u=(n(77),n(207)),i=n(208);function l(){var e=Object(u.a)(["\n color: green;\n"]);return l=function(){return e},e}var s=i.a.div(l()),d=function(e){var t=e.todo,n=e.onComplete;return a.a.createElement(s,null,a.a.createElement("label",null,a.a.createElement("input",{type:"checkbox",onClick:function(){return n(t)}}),t.value))};function f(){var e=Object(u.a)(["\n color: blue;\n min-height: 25vh;\n"]);return f=function(){return e},e}var E=function(e){this.value=e,this.id=Date.now(),this.isDone=!1},O=i.a.div(f()),v={todos:[],currentValue:""};function m(e,t){switch(t[0]){case"CHANGE_TODO_VALUE":return Object.assign({},e,{currentValue:t[1]});case"ADD_TODOS":return Object.assign({},e,{todos:[].concat(e.todos,t[1])});case"COMPLETE_TODO":return Object.assign({},e,{todos:[].concat(e.todos.filter((function(e){return e.id!==t[1].id})),[t[1]])});default:return e}}function g(e){var t=e.todoService,n=Object(o.useReducer)(m,v),r=n[0],c=r.currentValue,u=r.todos,i=n[1],l=u.filter((function(e){return!e.isDone}));function s(e){t&&t.save(e)}function f(){if(c){var e=new E(c);i(["ADD_TODOS",[e]]),i(["CHANGE_TODO_VALUE",""]),s(e)}}function g(e){var t=Object.assign({},e,{isDone:!0});i(["COMPLETE_TODO",t]),s(t)}return Object(o.useEffect)((function(){t&&i(["ADD_TODOS",t.getTodos()])}),[]),a.a.createElement(O,null,a.a.createElement("h3",null,"My Todo List"),a.a.createElement("label",null,"Todo: ",a.a.createElement("input",{value:c,onChange:function(e){i(["CHANGE_TODO_VALUE",e.target.value])},onKeyUp:function(e){"Enter"===e.key&&f()}})),a.a.createElement("button",{onClick:f},"Add"),a.a.createElement("div",null,l.length>0&&a.a.createElement("span",null,"My active todos:"),a.a.createElement(a.a.Fragment,null,l.map((function(e){return a.a.createElement(d,{key:"todo-"+e.id,todo:e,onComplete:g})})))))}var D=function(){function e(e){this.localStorage=e}var t=e.prototype;return t.getTodos=function(){var e=this.localStorage.getItem("todos");return e?JSON.parse(e):[]},t.save=function(e){if(e&&e.value&&e.id){var t=this.getTodos().filter((function(t){return t.id!==e.id}));this.localStorage.setItem("todos",JSON.stringify([].concat(t,[e])))}},e}();t.default=function(){return a.a.createElement(c.a,{fallback:a.a.createElement(g,null)},(function(){return a.a.createElement(r.a,{title:"TodoList"},a.a.createElement(g,{todoService:new D(localStorage)}))}))}}}]);