{"version":3,"sources":["redux/modules/greeting.js","redux/modules/auth.js","redux/modules/todos.js","redux/modules/index.js","redux/store.js","reportWebVitals.js","components/Greeting/Greeting.js","components/Greeting/GreetingTime.js","components/Greeting/GreetingTimeToggle.js","components/Greeting/GreetingMessage.js","containers/GreetingContainer.js","components/BackGround/getListbg.js","components/BackGround/Background.js","components/Todo/TodoButton.js","components/Todo/DropDownTitle.js","components/Todo/InputTodo.js","components/Todo/TodoList.js","components/Todo/TodoListContainer.js","components/Todo/NewTodoOrTodoList.js","components/Todo/TodoModal.js","containers/TodoContainer.js","App.js","index.js"],"names":["FETCH_NOW_TIME","TOGGLE_TIME","GREETING_MORNING","GREETING_AFTERNOON","GREETING_EVENING","getNowTime","now","Date","hours","getHours","minutes","getMinutes","initialState","time","toggle","greeting","authUser","isAuthed","SIGN_IN","SIGN_OUT","authReducer","state","action","type","payload","ADD_TODO","TOGGLE_TODO","DELETE_TODO","nextNumber","todosReducer","concat","todo","map","number","completed","filter","rootReducer","combineReducers","auth","todos","middlewares","thunk","logger","store","createStore","composeWithDevTools","applyMiddleware","StoreProvider","props","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","StyledContainer","styled","div","Greeting","children","StyledTime","GreetingTime","StyledTimeIcon","MdMoreHoriz","StyledTimeToggle","motion","span","StyledToggleButton","StyledCircle","StyledTriangle","GoTriangleUp","StyledDiv","GreetingTimeToggle","onClick","onToggle","visible","useState","toggleButton","setToggleButton","initial","opacity","animate","transition","duration","exit","className","StyledMessage","GreetingMessage","message","userName","GreetingContainer","useSelector","dispatch","useDispatch","clock12Ver","clock23Ver","clock","setVisible","displayName","useEffect","setInterval","AnimatePresence","getList","a","process","API_URL","Axios","get","response","data","Img","img","SpanLocation","PhotoList","List","setList","getListbg","getfetch","fullUrl","urls","regular","getLoc","location","city","country","user","name","src","StyledButton","button","TodoButton","StyledTitleButton","StyledDropDown","DropDownTitle","title","setTitle","dropDown","setDropDown","todosLength","length","doneLength","InputTodo","onCreate","text","setText","value","onChange","e","target","onKeyDown","key","placeholder","TodoList","onRemove","id","htmlFor","StyledTodoLists","TodoListContainer","StyledGetStarted","NewTodoOrTodoList","input","setInput","StyledModal","TodoModal","y","StyledTodoContainer","TodoContainer","addTodo","toggleTodo","deleteTodo","App","ReactDOM","render","document","getElementById"],"mappings":"mMAAMA,EAAiB,0BACjBC,EAAc,uBACdC,EAAmB,4BACnBC,EAAqB,8BACrBC,EAAmB,4BAQnBC,EAAa,WACjB,IAAMC,EAAM,IAAIC,KACVC,EAAQF,EAAIG,WACZC,EAAUJ,EAAIK,aASpB,MAAO,CAPS,UACJ,IAAVH,EAAc,IAAMA,EAAQA,EAAQ,GAAKA,EAAQ,GAAKA,EADxC,YAEZE,EAAU,GAAK,IAAMA,EAAUA,GACnB,UAAgB,IAAVF,EAAc,IAAMA,EAAQA,EAAlC,YACdE,EAAU,GAAK,IAAMA,EAAUA,GAGDF,IAG5BI,EAAe,CACnBC,KAAMR,IACNS,QAAQ,EACRC,SAAU,MC9BZ,I,IAAMH,EAAe,CACnBI,SAAU,KACVC,SAAU,MAGNC,EAAU,eACVC,EAAW,gBA2BFC,EAdK,WAAmC,IAAlCC,EAAiC,uDAAzBT,EAAcU,EAAW,uCACpD,OAAQA,EAAOC,MACb,KAAKL,EACH,MAAO,CACLF,SAAUM,EAAOE,QAAQR,SACzBC,UAAU,GAEd,KAAKE,EACH,OAAOP,EACT,QACE,OAAOS,IC7BPI,EAAW,WACXC,EAAc,cACdC,EAAc,cAEhBC,EAAa,EAoBXhB,EAAe,GAmBNiB,EAjBM,WAAmC,IAAlCR,EAAiC,uDAAzBT,EAAcU,EAAW,uCACrD,OAAQA,EAAOC,MACb,KAAKE,EACH,OAAOJ,EAAMS,OAAOR,EAAOS,MAC7B,KAAKL,EACH,OAAOL,EAAMW,KAAI,SAAAD,GAAI,OACnBA,EAAKE,SAAWX,EAAOW,OAAvB,2BACSF,GADT,IACeG,WAAYH,EAAKG,YAC5BH,KAER,KAAKJ,EACH,OAAON,EAAMc,QAAO,SAAAJ,GAAI,OAAIA,EAAKE,SAAWX,EAAOW,UACrD,QACE,OAAOZ,IC5BEe,EANKC,0BAAgB,CAClCtB,SH2Ba,WAAiD,IAA/BM,EAA8B,uDAAtBT,EAAcU,EAAQ,uCAC7D,OAAQA,EAAOC,MACb,KAAKvB,EACH,OAAO,2BACFqB,GADL,IAEER,KAAMR,MAEV,KAAKJ,EACH,OAAO,2BACFoB,GADL,IAEER,KAAMR,IACNS,QAASO,EAAMP,SAEnB,KAAKZ,EACH,OAAO,2BACFmB,GADL,IAEEN,SAAU,mBAEd,KAAKZ,EACH,OAAO,2BACFkB,GADL,IAEEN,SAAU,qBAEd,KAAKX,EACH,OAAO,2BACFiB,GADL,IAEEN,SAAU,mBAEd,QACE,OAAOM,IGvDXiB,KAAMlB,EACNmB,MAAOV,I,eCDHW,EAAc,CAACC,IAAOC,KAEfC,EAAQC,sBACnBR,EACAS,8BAAoBC,kBAAe,WAAf,EAAmBN,KAG5BO,EAAgB,SAAAC,GAC3B,OAAO,cAAC,IAAD,aAAUL,MAAOA,GAAWK,KCHtBC,EAZS,SAAAC,GAClBA,GAAeA,aAAuBC,UACxC,6BAAqBC,MAAK,YAAkD,IAA/CC,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAON,GACPO,EAAQP,O,4BCJRQ,EAAkBC,IAAOC,IAAV,6VAaN,SAASC,EAAT,GAAiC,IAAbC,EAAY,EAAZA,SACjC,OAAO,cAACJ,EAAD,UAAkBI,ICb3B,IAAMC,EAAaJ,IAAOC,IAAV,yJASD,SAASI,EAAT,GAA2C,IAAnBnD,EAAkB,EAAlBA,KAAMiD,EAAY,EAAZA,SAC3C,OACE,eAACC,EAAD,WACGlD,EACAiD,K,2CCVDG,GAAiBN,YAAOO,IAAPP,CAAH,yRAgBdQ,GAAmBR,YAAOS,KAAOC,KAAdV,CAAH,iXAiBhBW,GAAqBX,YAAOS,KAAOC,KAAdV,CAAH,iWAkBlBY,GAAeZ,YAAOS,KAAOC,KAAdV,CAAH,sMAaZa,GAAiBb,YAAOc,IAAPd,CAAH,iMAUde,GAAYf,IAAOC,IAAV,yOAaA,SAASe,GAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,QAASC,EAAqB,EAArBA,SAAUC,EAAW,EAAXA,QAAW,EACjCC,oBAAS,GADwB,mBAClEC,EADkE,KACpDC,EADoD,KAGzE,OACE,qCACE,cAAChB,GAAD,CAAgBW,QAASA,IACxBE,GACC,eAACX,GAAD,CACES,QAAS,WACPC,IACAI,GAAiBD,IAEnBE,QAAS,CAAEC,QAAS,GACpBC,QAAS,CAAED,QAAS,GACpBE,WAAY,CACVC,SAAU,IAEZC,KAAM,CAAEJ,QAAS,GAVnB,UAYE,eAACT,GAAD,2BAEE,cAACJ,GAAD,CAAoBkB,UAAWR,EAAe,GAAK,MAAnD,SACE,cAACT,GAAD,CAAciB,UAAWR,EAAe,GAAK,aAGjD,cAACR,GAAD,UCpHV,IAAMiB,GAAgB9B,IAAOU,KAAV,6GAOJ,SAASqB,GAAT,GAAiD,IAAtBC,EAAqB,EAArBA,QAASC,EAAY,EAAZA,SACjD,OACE,eAACH,GAAD,WACGE,EACAC,K,aCCQ,SAASC,KAAqB,IAAD,EACPC,aAAY,SAAAzE,GAAK,OAAIA,EAAMN,YAAtDF,EADkC,EAClCA,KAAMC,EAD4B,EAC5BA,OAAQC,EADoB,EACpBA,SADoB,EAEX+E,aAAY,SAAAzE,GAAK,OAAIA,EAAMiB,QAAlDtB,EAFkC,EAElCA,SAAUC,EAFwB,EAExBA,SACZ8E,EAAWC,cAHyB,cAKFnF,EALE,GAKnCoF,EALmC,KAKvBC,EALuB,KAKX1F,EALW,KAMpC2F,EAAQrF,EAASmF,EAAaC,EANM,EAQZnB,oBAAS,GARG,mBAQnCD,EARmC,KAQ1BsB,EAR0B,KAUtCR,EAAW,QACX3E,IACF2E,EAAW5E,EAASqF,aAyBtB,OAdAC,qBAAU,WACRC,aAAY,WACVR,EVlC6B,CAAExE,KAAMvB,MUmCpC,OACF,CAAC+F,IAEJO,qBAAU,WACJ,EAAI9F,GAASA,EAAQ,IAAIuF,EVrCK,CAAExE,KAAMrB,IUsCtC,GAAKM,GAASA,EAAQ,IAAIuF,EVrCM,CAAExE,KAAMpB,KUsCxC,GAAKK,GAASA,EAAQ,IAAGuF,EVrCK,CAAExE,KAAMnB,MUsCzC,CAACI,EAAOuF,IAKT,eAAClC,EAAD,WACE,cAACG,EAAD,CAAcnD,KAAMsF,EAApB,SACE,cAACK,GAAA,EAAD,UACE,cAAC7B,GAAD,CACEE,SA3BO,WACfkB,EVxB6B,CAAExE,KAAMtB,KUmD7B2E,QAxBM,WACdwB,GAAYtB,IAwBJA,QAASA,QAIf,cAACY,GAAD,CAAiBC,QAAS5E,EAAU6E,SAAUA,O,2DC7DrC,SAAea,KAA9B,gC,gDAAe,6BAAAC,EAAA,4DACGC,8CACVC,EAFO,2DACGD,8CADH,iEASNE,KAAMC,IAAIF,GAASxD,MAAK,SAAA2D,GAAQ,OAAIA,EAASC,SATvC,4C,sBCEf,I,GAAMC,GAAMtD,IAAOuD,IAAV,wLAWHC,GAAexD,IAAOU,KAAV,iTAiBH,SAAS+C,KAAa,IAAD,EACVrC,mBAAS,MADC,mBAC3BsC,EAD2B,KACrBC,EADqB,KAWlC,GARAhB,qBAAU,YACM,yCAAG,6BAAAI,EAAA,sEACIa,KADJ,OACTP,EADS,OAEfM,EAAQN,GAFO,2CAAH,qDAIdQ,KACC,KAEEH,EACH,OAAO,KAGT,IACMI,EAAUJ,EAAK,GAAGK,KAAKC,QADZ,6CAIXC,EAASP,EAAK,GAAGQ,SACjBC,EAAOF,EAAOE,KACdC,EAAUH,EAAOG,QAEjBF,EADOR,EAAK,GAAGW,KAAKC,KACF,iBAASH,EAAO,KAAOC,EAE/C,OACE,qCACE,cAACd,GAAD,CAAKiB,IAAKT,IACV,cAACN,GAAD,UAAeU,OC1DrB,I,kBAAMM,GAAexE,IAAOyE,OAAV,2VAuBHC,GAJI,SAAC,GAAiB,IAAfzD,EAAc,EAAdA,QACpB,OAAO,cAACuD,GAAD,CAAcvD,QAASA,EAAvB,mBCnBH0D,GAAoB3E,IAAOC,IAAV,iTAkBjB2E,GAAiB5E,IAAOC,IAAV,0dAyBP4E,GAAgB,SAAC,GAAgC,IAA9BC,EAA6B,EAA7BA,MAAOC,EAAsB,EAAtBA,SAAUnG,EAAY,EAAZA,MAAY,EAC3BwC,oBAAS,GADkB,mBACpD4D,EADoD,KAC1CC,EAD0C,KAKrDC,EAActG,EAAMuG,OACpBC,EAAaxG,EAAMJ,QAAO,SAAAJ,GAAI,OAAIA,EAAKG,aAAW4G,OAExD,OACE,eAACR,GAAD,WACE,6BACE,wBAAQ1D,QATE,kBAAMgE,GAAaD,IAS7B,SAA2BF,MAE7B,cAACF,GAAD,UACGI,GACC,qCACE,yBAAQ/D,QAbA,kBAAM8D,EAAS,UAavB,mBAAmCG,KACnC,yBAAQjE,QAbD,kBAAM8D,EAAS,SAatB,kBAAiCK,cC7DhCC,GAAY,SAAC,GAAkB,IAAhBC,EAAe,EAAfA,SAAe,EACjBlE,mBAAS,IADQ,mBAClCmE,EADkC,KAC5BC,EAD4B,KAUzC,OACE,uBACE5H,KAAK,OACL6H,MAAOF,EACPG,SAZa,SAAAC,GAAC,OAAIH,EAAQG,EAAEC,OAAOH,QAanCI,UAZc,SAAAF,GACF,UAAVA,EAAEG,MACJR,EAASC,GACTC,EAAQ,MAURO,YAAY,cClBLC,GAAW,SAAC,GAAkC,IAAhC5H,EAA+B,EAA/BA,KAAM8C,EAAyB,EAAzBA,SAAU+E,EAAe,EAAfA,SACzC,OACE,+BACE,uBACErI,KAAK,WACLqD,QAAS,kBAAMC,EAAS9C,EAAKE,SAC7B4H,GAAE,eAAU9H,EAAKE,UAEnB,uBAAO6H,QAAO,eAAU/H,EAAKE,QAA7B,SAAwCF,EAAKmH,OAC7C,wBAAQtE,QAAS,kBAAMgF,EAAS7H,EAAKE,SAArC,8BCLA8H,GAAkBpG,IAAOC,IAAV,8wCAsERoG,GAAoB,SAAC,GAM3B,IALLzH,EAKI,EALJA,MACA0G,EAII,EAJJA,SACApE,EAGI,EAHJA,SACA+E,EAEI,EAFJA,SACAnB,EACI,EADJA,MAEA,MAAc,UAAVA,EAEA,eAACsB,GAAD,WACE,6BACGxH,EAAMP,KAAI,SAAAD,GAAI,OACb,cAAC,GAAD,CAEEA,KAAMA,EACN8C,SAAUA,EACV+E,SAAUA,GAHL7H,EAAKE,aAOhB,cAAC,GAAD,CAAWgH,SAAUA,OAGN,SAAVR,EAEP,eAACsB,GAAD,WACE,6BACGxH,EAAMP,KACL,SAAAD,GAAI,OACFA,EAAKG,WACH,cAAC,GAAD,CAEEH,KAAMA,EACN8C,SAAUA,EACV+E,SAAUA,GAHL7H,EAAKE,aAQpB,cAAC,GAAD,CAAWgH,SAAUA,YAhBpB,GC5FHgB,GAAmBtG,IAAOC,IAAV,2oBAqCTsG,GAAoB,SAAC,GAM3B,IALL3H,EAKI,EALJA,MACA0G,EAII,EAJJA,SACApE,EAGI,EAHJA,SACA+E,EAEI,EAFJA,SACAnB,EACI,EADJA,MACI,EACsB1D,oBAAS,GAD/B,mBACGoF,EADH,KACUC,EADV,KAIJ,OAAK7H,EAAMuG,OAcT,cAAC,GAAD,CACEvG,MAAOA,EACP0G,SAAUA,EACVpE,SAAUA,EACV+E,SAAUA,EACVnB,MAAOA,IAjBP,eAACwB,GAAD,WACE,4DACCE,EACC,cAAC,GAAD,CAAWlB,SAAUA,IAErB,wBAAQrE,QATA,kBAAMwF,GAAUD,IASxB,0BCrDJE,GAAc1G,YAAOS,KAAOR,IAAdD,CAAH,qPAkCF2G,GAtBG,SAAC,GAA6C,IAA3C/H,EAA0C,EAA1CA,MAAO0G,EAAmC,EAAnCA,SAAUpE,EAAyB,EAAzBA,SAAU+E,EAAe,EAAfA,SAAe,EACnC7E,mBAAS,SAD0B,mBACtD0D,EADsD,KAC/CC,EAD+C,KAG7D,OACE,eAAC2B,GAAD,CACEnF,QAAS,CAAEC,QAAS,EAAGoF,EAAG,KAC1BnF,QAAS,CAAEmF,EAAG,EAAGpF,QAAS,GAC1BE,WAAY,CAAEC,SAAU,KACxBC,KAAM,CAAEgF,EAAG,IAAKpF,QAAS,GAJ3B,UAME,cAAC,GAAD,CAAesD,MAAOA,EAAOC,SAAUA,EAAUnG,MAAOA,IACxD,cAAC,GAAD,CACEA,MAAOA,EACP0G,SAAUA,EACVpE,SAAUA,EACV+E,SAAUA,EACVnB,MAAOA,QC1BT+B,GAAsB7G,IAAOC,IAAV,oIAQV,SAAS6G,KACtB,IAAMlI,EAAQuD,aAAY,SAAAzE,GAAK,OAAIA,EAAMkB,SACnCwD,EAAWC,cAFqB,EAURjB,oBAAS,GAVD,mBAU/BD,EAV+B,KAUtBsB,EAVsB,KAatC,OACE,eAACoE,GAAD,WACE,cAAChE,GAAA,EAAD,UACG1B,GACC,cAAC,GAAD,CACEvC,MAAOA,EACP0G,SAfO,SAAAC,GACXA,GAAMnD,ElBfS,SAAAmD,GAAI,MAAK,CAC9B3H,KAAME,EACNM,KAAM,CACJE,OAAQL,IACRsH,SkBWmBwB,CAAQxB,KAenBrE,SAbO,SAAA5C,GAAM,OAAI8D,ElBTH,SAAA9D,GAAM,MAAK,CACnCV,KAAMG,EACNO,UkBOoC0I,CAAW1I,KAcrC2H,SAbO,SAAA3H,GAAM,OAAI8D,ElBLH,SAAA9D,GAAM,MAAK,CACnCV,KAAMI,EACNM,UkBGoC2I,CAAW3I,SAiB3C,cAAC,GAAD,CAAY2C,QAdA,kBAAMwB,GAAYtB,SCZrB+F,OAVf,WACE,OACE,qCACE,cAAC,GAAD,IACA,cAAChF,GAAD,IACA,cAAC4E,GAAD,QCLNK,IAASC,OACP,cAAC,EAAD,UACE,cAAC,GAAD,MAEFC,SAASC,eAAe,SAM1BhI,M","file":"static/js/main.d4e24238.chunk.js","sourcesContent":["const FETCH_NOW_TIME = 'greeting/FETCH_NOW_TIME';\nconst TOGGLE_TIME = 'greeting/TOGGLE_TIME';\nconst GREETING_MORNING = 'greeting/GREETING_MORNING';\nconst GREETING_AFTERNOON = 'greeting/GREETING_AFTERNOON';\nconst GREETING_EVENING = 'greeting/GREETING_EVENING';\n\nexport const fetchNowTime = () => ({ type: FETCH_NOW_TIME });\nexport const toggleTime = () => ({ type: TOGGLE_TIME });\nexport const greetingMorning = () => ({ type: GREETING_MORNING });\nexport const greetingAfternoon = () => ({ type: GREETING_AFTERNOON });\nexport const greetingEvening = () => ({ type: GREETING_EVENING });\n\nconst getNowTime = () => {\n const now = new Date();\n const hours = now.getHours();\n const minutes = now.getMinutes();\n\n const clock12Ver = `${\n hours === 0 ? '0' + hours : hours > 12 ? hours - 12 : hours\n }:${minutes < 10 ? '0' + minutes : minutes}`;\n const clock23Ver = `${hours === 0 ? '0' + hours : hours}:${\n minutes < 10 ? '0' + minutes : minutes\n }`;\n\n return [clock12Ver, clock23Ver, hours];\n};\n\nconst initialState = {\n time: getNowTime(),\n toggle: false,\n greeting: null,\n};\n\nexport default function greeting(state = initialState, action) {\n switch (action.type) {\n case FETCH_NOW_TIME:\n return {\n ...state,\n time: getNowTime(),\n };\n case TOGGLE_TIME:\n return {\n ...state,\n time: getNowTime(),\n toggle: !state.toggle,\n };\n case GREETING_MORNING:\n return {\n ...state,\n greeting: 'Good morning, ',\n };\n case GREETING_AFTERNOON:\n return {\n ...state,\n greeting: 'Good afternoon, ',\n };\n case GREETING_EVENING:\n return {\n ...state,\n greeting: 'Good evening, ',\n };\n default:\n return state;\n }\n}\n","const initialState = {\n authUser: null,\n isAuthed: null,\n};\n\nconst SIGN_IN = 'auth/SIGN_IN';\nconst SIGN_OUT = 'auth/SIGN_OUT';\n\nexport const signInAction = currentUser => ({\n type: SIGN_IN,\n payload: {\n authUser: currentUser,\n },\n});\n\nexport const signOutAction = () => ({\n type: SIGN_OUT,\n});\n\nconst authReducer = (state = initialState, action) => {\n switch (action.type) {\n case SIGN_IN:\n return {\n authUser: action.payload.authUser,\n isAuthed: true,\n };\n case SIGN_OUT:\n return initialState;\n default:\n return state;\n }\n};\n\nexport default authReducer;\n","const ADD_TODO = 'ADD_TODO';\nconst TOGGLE_TODO = 'TOGGLE_TODO';\nconst DELETE_TODO = 'DELETE_TODO';\n\nlet nextNumber = 1;\n\nexport const addTodo = text => ({\n type: ADD_TODO,\n todo: {\n number: nextNumber++,\n text,\n },\n});\n\nexport const toggleTodo = number => ({\n type: TOGGLE_TODO,\n number,\n});\n\nexport const deleteTodo = number => ({\n type: DELETE_TODO,\n number,\n});\n\nconst initialState = [];\n\nconst todosReducer = (state = initialState, action) => {\n switch (action.type) {\n case ADD_TODO:\n return state.concat(action.todo);\n case TOGGLE_TODO:\n return state.map(todo =>\n todo.number === action.number\n ? { ...todo, completed: !todo.completed }\n : todo,\n );\n case DELETE_TODO:\n return state.filter(todo => todo.number !== action.number);\n default:\n return state;\n }\n};\n\nexport default todosReducer;\n","import { combineReducers } from 'redux';\nimport greeting from './greeting';\nimport authReducer from './auth';\nimport todosReducer from './todos';\n\nconst rootReducer = combineReducers({\n greeting,\n auth: authReducer,\n todos: todosReducer,\n});\n\nexport default rootReducer;\n","import { applyMiddleware, createStore } from 'redux';\nimport logger from 'redux-logger';\nimport { composeWithDevTools } from 'redux-devtools-extension';\nimport { Provider } from 'react-redux';\nimport rootReducer from './modules';\nimport thunk from 'redux-thunk';\n\nconst middlewares = [thunk, logger];\n\nexport const store = createStore(\n rootReducer,\n composeWithDevTools(applyMiddleware(...middlewares)),\n);\n\nexport const StoreProvider = props => {\n return ;\n};\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport styled from 'styled-components';\n\nconst StyledContainer = styled.div`\n font-family: -apple-system, BlinkMacSystemFont, 'Neue Haas Grotesk Text Pro',\n 'Helvetica Neue', Helvetica, Arial, sans-serif !important;\n height: 100vh;\n\n display: flex;\n justify-content: center;\n align-items: center;\n flex-flow: column;\n text-shadow: 0 1px 5px rgb(0 0 0 / 10%);\n cursor: default;\n`;\n\nexport default function Greeting({ children }) {\n return {children};\n}\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nconst StyledTime = styled.div`\n font-size: 168px;\n letter-spacing: -5px;\n font-weight: 500;\n line-height: 1;\n color: #fff;\n position: relative;\n`;\n\nexport default function GreetingTime({ time, children }) {\n return (\n \n {time}\n {children}\n \n );\n}\n\nGreetingTime.propTypes = {\n time: PropTypes.string.isRequired,\n};\n","import styled from 'styled-components';\nimport { MdMoreHoriz } from 'react-icons/md';\nimport { GoTriangleUp } from 'react-icons/go';\nimport { motion } from 'framer-motion';\nimport { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst StyledTimeIcon = styled(MdMoreHoriz)`\n color: #fff;\n width: 35px;\n position: absolute;\n right: -60px;\n top: 60px;\n border-radius: 50%;\n text-shadow: 0 1px 5px rgb(0 0 0 / 10%);\n cursor: pointer;\n height: 35px;\n\n :hover {\n background: rgba(255, 255, 255, 0.12);\n }\n`;\n\nconst StyledTimeToggle = styled(motion.span)`\n width: 165px;\n box-sizing: border-box;\n padding: 6px 0;\n font-size: 14px;\n display: inline-block;\n letter-spacing: 0;\n vertical-align: center;\n background: rgba(15, 15, 15, 0.925);\n border-radius: 5px;\n border-color: rgba(255, 255, 255, 0.15);\n position: absolute;\n top: 105px;\n right: -185px;\n cursor: pointer;\n`;\n\nconst StyledToggleButton = styled(motion.span)`\n background: #4cbf3f;\n width: 28px;\n height: 18px;\n border-radius: 30px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 0 3px;\n box-sizing: border-box;\n transition-duration: 0.2s;\n\n &.Off {\n background: rgba(255, 255, 255, 0.25);\n justify-content: flex-start;\n }\n`;\n\nconst StyledCircle = styled(motion.span)`\n display: inline-block;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: #fff;\n transition-duration: 0.2s;\n\n &.Off {\n opacity: 0.5;\n }\n`;\n\nconst StyledTriangle = styled(GoTriangleUp)`\n position: absolute;\n top: -19px;\n left: 15px;\n color: rgba(15, 15, 15, 0.925);\n text-shadow: 0 1px 5px rgb(0 0 0 / 10%);\n width: 16px;\n height: 30px;\n`;\n\nconst StyledDiv = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 15px;\n box-sizing: border-box;\n\n :hover {\n background: rgba(255, 255, 255, 0.12);\n }\n`;\n\nexport default function GreetingTimeToggle({ onClick, onToggle, visible }) {\n const [toggleButton, setToggleButton] = useState(true);\n\n return (\n <>\n \n {visible && (\n {\n onToggle();\n setToggleButton(!toggleButton);\n }}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{\n duration: 0.1,\n }}\n exit={{ opacity: 0 }}\n >\n \n 24-hour clock\n \n \n \n \n \n \n )}\n \n );\n}\n\nGreetingTimeToggle.propTypes = {\n onClick: PropTypes.func,\n onToggle: PropTypes.func,\n visible: PropTypes.bool,\n};\n","import styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nconst StyledMessage = styled.span`\n font-size: 54px;\n font-weight: 500;\n line-height: normal;\n color: #fff;\n`;\n\nexport default function GreetingMessage({ message, userName }) {\n return (\n \n {message}\n {userName}\n \n );\n}\n\nGreetingMessage.propTypes = {\n message: PropTypes.string,\n userName: PropTypes.string,\n};\n","import React, { useEffect, useState } from 'react';\nimport Greeting from '../components/Greeting/Greeting';\nimport { useSelector, useDispatch } from 'react-redux';\nimport {\n toggleTime,\n greetingMorning,\n greetingAfternoon,\n greetingEvening,\n fetchNowTime,\n} from '../redux/modules/greeting';\nimport GreetingTime from '../components/Greeting/GreetingTime';\nimport GreetingTimeToggle from '../components/Greeting/GreetingTimeToggle';\nimport GreetingMessage from '../components/Greeting/GreetingMessage';\nimport { AnimatePresence } from 'framer-motion';\n\nexport default function GreetingContainer() {\n const { time, toggle, greeting } = useSelector(state => state.greeting);\n const { authUser, isAuthed } = useSelector(state => state.auth);\n const dispatch = useDispatch();\n\n const [clock12Ver, clock23Ver, hours] = time;\n const clock = toggle ? clock12Ver : clock23Ver;\n\n const [visible, setVisible] = useState(false);\n\n let userName = 'Farid';\n if (isAuthed) {\n userName = authUser.displayName;\n }\n\n const onToggle = () => {\n dispatch(toggleTime());\n };\n\n const onClick = () => {\n setVisible(!visible);\n };\n\n useEffect(() => {\n setInterval(() => {\n dispatch(fetchNowTime());\n }, 30000);\n }, [dispatch]);\n\n useEffect(() => {\n if (4 < hours && hours < 12) dispatch(greetingMorning());\n if (11 < hours && hours < 18) dispatch(greetingAfternoon());\n if (17 < hours || hours < 5) dispatch(greetingEvening());\n }, [hours, dispatch]);\n\n // if (loading) return null;\n\n return (\n \n \n \n \n \n \n \n \n );\n}\n","import Axios from 'axios';\n\nexport default async function getList() {\n const API_KEY = process.env.REACT_APP_UNSPLASH;\n const API_URL = `https://api.unsplash.com/photos/random?client_id=${API_KEY}&query=nature&orientation=landscape&count=1`;\n\n // const API_URL = urlFetch(\n // `https://api.unsplash.com/photos/random?client_id=${API_KEY}&query=nature&orientation=landscape&count=1`,\n // );\n // const photo = Axios.get(API_URL).then(response => response.data);\n\n return Axios.get(API_URL).then(response => response.data);\n\n // end\n}\n","import React, { useEffect, useState } from 'react';\nimport getListbg from './getListbg';\nimport styled from 'styled-components';\n\nconst Img = styled.img`\n width: 100vw;\n height: 100vh;\n background-size: cover;\n background-repeat: no-repeat;\n position: fixed;\n z-index: -1;\n top: 0;\n left: 0;\n`;\n\nconst SpanLocation = styled.span`\n opacity: 0.7;\n transition: opacity 0.3s ease-in;\n font-style: italic;\n font-size: 18px;\n font-weight: 300;\n position: absolute;\n bottom: 25px;\n left: 25px;\n color: white;\n cursor: default;\n &:hover {\n // font-style: normal;\n opacity: 100;\n }\n`;\n\nexport default function PhotoList() {\n const [List, setList] = useState(null);\n\n useEffect(() => {\n const getfetch = async () => {\n const data = await getListbg();\n setList(data);\n };\n getfetch();\n }, []);\n\n if (!List) {\n return null;\n }\n // Image\n const ParamUrl = '&fm=webp&q=75&auto=compress&,enhance&dpr=2'; // Read here https://unsplash.com/documentation#supported-parameters\n const fullUrl = List[0].urls.regular + ParamUrl;\n\n // Location\n const getLoc = List[0].location;\n const city = getLoc.city;\n const country = getLoc.country;\n const name = List[0].user.name;\n const location = name + ', 📍' + city + ', ' + country;\n\n return (\n <>\n \n {location}\n \n );\n}\n","import styled from 'styled-components';\n\nconst StyledButton = styled.button`\n display: inline-block;\n outline: none;\n border: none;\n cursor: pointer;\n font-weight: 600;\n font-size: 16px;\n color: #ffffffd9;\n user-select: none;\n padding: 0 15px;\n line-height: 50px;\n background: inherit;\n /* background-color: white; */\n\n position: absolute;\n bottom: 0;\n right: 0;\n`;\n\nconst TodoButton = ({ onClick }) => {\n return Todo;\n};\n\nexport default TodoButton;\n","import styled from 'styled-components';\nimport { useState } from 'react';\n\nconst StyledTitleButton = styled.div`\n h2 {\n margin: 0;\n margin-bottom: 10px;\n\n button {\n outline: none;\n border: none;\n font-size: 20px;\n font-weight: 600;\n color: #ffffff;\n background-color: inherit;\n padding-left: 0;\n cursor: pointer;\n }\n }\n`;\n\nconst StyledDropDown = styled.div`\n background-color: rgb(51, 51, 51);\n width: 240px;\n border-radius: 5px;\n\n button {\n color: #ffffff;\n font-weight: 600;\n text-align: left;\n cursor: pointer;\n outline: none;\n border: none;\n border-radius: 5px;\n display: block;\n width: 100%;\n padding: 7px 10px;\n background-color: inherit;\n user-select: none;\n\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n }\n`;\n\nexport const DropDownTitle = ({ title, setTitle, todos }) => {\n const [dropDown, setDropDown] = useState(false);\n const onClick = () => setDropDown(!dropDown);\n const viewToday = () => setTitle('Today');\n const viewDone = () => setTitle('Done');\n const todosLength = todos.length;\n const doneLength = todos.filter(todo => todo.completed).length;\n\n return (\n \n

\n \n

\n \n {dropDown && (\n <>\n \n \n \n )}\n \n
\n );\n};\n","import { useState } from 'react';\n\nexport const InputTodo = ({ onCreate }) => {\n const [text, setText] = useState('');\n const onChange = e => setText(e.target.value);\n const onKeyDown = e => {\n if (e.key === 'Enter') {\n onCreate(text);\n setText('');\n }\n };\n\n return (\n \n );\n};\n","export const TodoList = ({ todo, onToggle, onRemove }) => {\n return (\n
  • \n onToggle(todo.number)}\n id={`todo-${todo.number}`}\n />\n \n \n
  • \n );\n};\n","import styled from 'styled-components';\nimport { InputTodo } from './InputTodo';\nimport { TodoList } from './TodoList';\n\nconst StyledTodoLists = styled.div`\n color: #939393;\n\n ul {\n margin: 0;\n padding-left: 0;\n max-height: 385px;\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n width: 10px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(255, 255, 255, 0.3);\n border: 3px solid transparent;\n border-radius: 7px;\n }\n }\n\n li {\n list-style: none;\n margin: 5px 0;\n color: #ffffff;\n position: relative;\n\n label {\n margin-left: 5px;\n }\n\n input[type='checkbox'] {\n border: 0;\n outline: none;\n border-radius: 0;\n border-bottom: 2px solid rgba(255, 255, 255, 0.4);\n margin-left: 0;\n }\n\n button {\n outline: none;\n border: none;\n border-radius: 50%;\n background-color: transparent;\n color: #939393;\n position: absolute;\n right: 10px;\n cursor: pointer;\n\n &:hover {\n background-color: rgba(255, 255, 255, 0.2);\n color: #ffffff;\n }\n }\n }\n\n input[type='text'] {\n color: #ffffff;\n font-weight: 500;\n outline: none;\n border: none;\n background-color: inherit;\n width: 100%;\n }\n\n input:checked + label {\n text-decoration-line: line-through;\n color: #939393;\n }\n`;\n\nexport const TodoListContainer = ({\n todos,\n onCreate,\n onToggle,\n onRemove,\n title,\n}) => {\n if (title === 'Today') {\n return (\n \n
      \n {todos.map(todo => (\n \n ))}\n
    \n \n
    \n );\n } else if (title === 'Done') {\n return (\n \n
      \n {todos.map(\n todo =>\n todo.completed && (\n \n ),\n )}\n
    \n \n
    \n );\n }\n};\n","import { useState } from 'react';\nimport styled from 'styled-components';\nimport { InputTodo } from './InputTodo';\nimport { TodoListContainer } from './TodoListContainer';\n\nconst StyledGetStarted = styled.div`\n color: #939393;\n box-sizing: border-box;\n min-height: 150px;\n padding: 21px;\n text-align: center;\n position: relative;\n\n div {\n font-weight: 500;\n }\n\n button {\n font-weight: 500;\n color: #ffffff;\n background-color: #305040f2;\n outline: none;\n border: none;\n border-radius: 50px;\n padding: 7px 27px;\n cursor: pointer;\n margin-top: 16px;\n }\n\n input[type='text'] {\n color: #ffffff;\n position: absolute;\n bottom: 0;\n left: 0;\n outline: none;\n border: none;\n background-color: inherit;\n font-weight: 500;\n width: 100%;\n }\n`;\n\nexport const NewTodoOrTodoList = ({\n todos,\n onCreate,\n onToggle,\n onRemove,\n title,\n}) => {\n const [input, setInput] = useState(false);\n const onClick = () => setInput(!input);\n\n if (!todos.length) {\n return (\n \n
    Add a todo to get started
    \n {input ? (\n \n ) : (\n \n )}\n
    \n );\n }\n\n return (\n \n );\n};\n","import { useState } from 'react';\nimport styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { DropDownTitle } from './DropDownTitle';\nimport { NewTodoOrTodoList } from './NewTodoOrTodoList';\n\nconst StyledModal = styled(motion.div)`\n box-sizing: border-box;\n width: 320px;\n height: auto;\n padding: 15px;\n padding-right: 5px;\n text-align: left;\n border-radius: 5px;\n background-color: rgba(15, 15, 15, 0.88);\n margin-bottom: 50px;\n`;\n\nconst TodoModal = ({ todos, onCreate, onToggle, onRemove }) => {\n const [title, setTitle] = useState('Today');\n\n return (\n \n \n \n \n );\n};\n\nexport default TodoModal;\n","import { AnimatePresence } from 'framer-motion';\nimport { useState } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport styled from 'styled-components';\nimport TodoButton from '../components/Todo/TodoButton';\nimport TodoModal from '../components/Todo/TodoModal';\nimport { addTodo, deleteTodo, toggleTodo } from '../redux/modules/todos';\n\nconst StyledTodoContainer = styled.div`\n box-sizing: border-box;\n position: fixed;\n bottom: 5px;\n right: 5px;\n background: inherit;\n`;\n\nexport default function TodoContainer() {\n const todos = useSelector(state => state.todos);\n const dispatch = useDispatch();\n\n const onCreate = text => {\n if (text) dispatch(addTodo(text));\n };\n const onToggle = number => dispatch(toggleTodo(number));\n const onRemove = number => dispatch(deleteTodo(number));\n\n const [visible, setVisible] = useState(false);\n const onClick = () => setVisible(!visible);\n\n return (\n \n \n {visible && (\n \n )}\n \n \n \n );\n}\n","import GreetingContainer from './containers/GreetingContainer';\n// import SignContainer from 'containers/SignContainer/SignContainer';\nimport Background from './components/BackGround/Background';\nimport TodoContainer from 'containers/TodoContainer';\n\nfunction App() {\n return (\n <>\n \n \n \n \n );\n}\n\nexport default App;\n","import ReactDOM from 'react-dom';\nimport { StoreProvider } from './redux/store';\nimport reportWebVitals from './reportWebVitals';\nimport App from './App';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root'),\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}