From 858aa31c03e8642bd5baa5b2c53b10a3adf2a415 Mon Sep 17 00:00:00 2001 From: Juthatip McDevitt Date: Wed, 17 Jul 2024 23:25:20 -0500 Subject: [PATCH] updated calendar page --- todo_app/.gitignore | 1 + todo_app/app.json | 2 +- todo_app/app/(authenticate)/login.js | 4 +- todo_app/app/(tabs)/calendar/index.js | 14 +- todo_app/assets/images/list.png | Bin 35762 -> 0 bytes todo_app/package-lock.json | 607 ++++++++++++++++++++++++++ todo_app/package.json | 5 + 7 files changed, 625 insertions(+), 8 deletions(-) delete mode 100644 todo_app/assets/images/list.png diff --git a/todo_app/.gitignore b/todo_app/.gitignore index f33ee8b..61aa68b 100644 --- a/todo_app/.gitignore +++ b/todo_app/.gitignore @@ -1,5 +1,6 @@ node_modules/ .expo/ +.idea/ dist/ npm-debug.* *.jks diff --git a/todo_app/app.json b/todo_app/app.json index cfaae4c..24e7122 100644 --- a/todo_app/app.json +++ b/todo_app/app.json @@ -24,7 +24,7 @@ "web": { "bundler": "metro", "output": "static", - "favicon": "./assets/images/favicon.png" + "favicon": "./assets/images/logo.png" }, "plugins": [ "expo-router" diff --git a/todo_app/app/(authenticate)/login.js b/todo_app/app/(authenticate)/login.js index f5325de..892fda6 100644 --- a/todo_app/app/(authenticate)/login.js +++ b/todo_app/app/(authenticate)/login.js @@ -31,13 +31,11 @@ const login = () => { }; axios.post("http://localhost:3030/login", user).then((res) => { const token = res.data.token; - AsyncStorage.setItem("authToken", token); + AsyncStorage.setItem("authToken", JSON.stringify(token)); router.replace("/(tabs)/home") }) }; - - return ( diff --git a/todo_app/app/(tabs)/calendar/index.js b/todo_app/app/(tabs)/calendar/index.js index 361d8f5..5819628 100644 --- a/todo_app/app/(tabs)/calendar/index.js +++ b/todo_app/app/(tabs)/calendar/index.js @@ -1,10 +1,16 @@ -import { StyleSheet, Text, View } from 'react-native' -import React from 'react' +import { StyleSheet, Text, View } from 'react-native'; +import React, { useState } from 'react'; +import moment from 'moment'; +import {Calendar} from "react-native-calendars"; + const index = () => { + const today = moment().format("MMM Do YYYY"); + const [selectedDate, setSelectedDate] = useState(today); + return ( - - index + + setPickDate(day.dateString)}/> ) } diff --git a/todo_app/assets/images/list.png b/todo_app/assets/images/list.png deleted file mode 100644 index dc1170f560e20d11a6781316723b566baf91418a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35762 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 diff --git a/todo_app/package-lock.json b/todo_app/package-lock.json index 1680856..737cde5 100644 --- a/todo_app/package-lock.json +++ b/todo_app/package-lock.json @@ -9,7 +9,9 @@ "version": "1.0.0", "dependencies": { "@expo/vector-icons": "^14.0.2", + "@react-native-async-storage/async-storage": "1.23.1", "@react-navigation/native": "^6.0.2", + "axios": "^1.7.2", "expo": "~51.0.20", "expo-constants": "~16.0.2", "expo-font": "~12.0.8", @@ -19,10 +21,13 @@ "expo-status-bar": "~1.12.1", "expo-system-ui": "~3.0.7", "expo-web-browser": "~13.0.3", + "moment": "^2.30.1", "react": "18.2.0", "react-dom": "18.2.0", "react-native": "0.74.3", + "react-native-calendars": "^1.1305.0", "react-native-gesture-handler": "~2.16.1", + "react-native-modals": "^0.22.3", "react-native-reanimated": "~3.10.1", "react-native-safe-area-context": "4.10.1", "react-native-screens": "3.31.1", @@ -4257,6 +4262,17 @@ "react": "^16.8 || ^17.0 || ^18.0" } }, + "node_modules/@react-native-async-storage/async-storage": { + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.23.1.tgz", + "integrity": "sha512-Qd2kQ3yi6Y3+AcUlrHxSLlnBvpdCEMVGFlVBneVOjaFaPU61g1huc38g339ysXspwY1QZA2aNhrk/KlHGO+ewA==", + "dependencies": { + "merge-options": "^3.0.4" + }, + "peerDependencies": { + "react-native": "^0.0.0-0 || >=0.60 <1.0" + } + }, "node_modules/@react-native-community/cli": { "version": "13.6.9", "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-13.6.9.tgz", @@ -7078,6 +7094,102 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" + }, + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", @@ -7086,6 +7198,46 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-generator/node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/babel-generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -7177,6 +7329,93 @@ "node": ">=8" } }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-flow-react-proptypes": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-flow-react-proptypes/-/babel-plugin-flow-react-proptypes-9.2.0.tgz", + "integrity": "sha512-gmClrDpTB1H27mh+6/8iliV5BzGic5F9DO7INAd/30sSkg4XZd7LTbv4z06usuUHS8SzXibwotk8ct51IZ5OaQ==", + "dependencies": { + "babel-core": "^6.25.0", + "babel-template": "^6.25.0", + "babel-traverse": "^6.25.0", + "babel-types": "^6.25.0" + } + }, + "node_modules/babel-plugin-flow-react-proptypes/node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-plugin-flow-react-proptypes/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/babel-plugin-flow-react-proptypes/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-plugin-flow-react-proptypes/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-plugin-flow-react-proptypes/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/babel-plugin-flow-react-proptypes/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-plugin-flow-react-proptypes/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", @@ -7479,6 +7718,186 @@ "@babel/core": "^7.0.0" } }, + "node_modules/babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "dependencies": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "node_modules/babel-register/node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-register/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/babel-register/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-register/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-register/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/babel-register/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-register/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-register/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "bin": { + "babylon": "bin/babylon.js" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -8184,6 +8603,13 @@ "node": ">=6.6.0" } }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, "node_modules/core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", @@ -8678,6 +9104,17 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", @@ -9833,6 +10270,25 @@ "node": ">=0.4.0" } }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/fontfaceobserver": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", @@ -10173,6 +10629,25 @@ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -10279,6 +10754,18 @@ "react-is": "^16.7.0" } }, + "node_modules/home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hosted-git-info": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", @@ -10721,6 +11208,17 @@ "node": ">=0.10.0" } }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -10850,6 +11348,14 @@ "node": ">=8" } }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -13862,6 +14368,17 @@ "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==" }, + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -14507,6 +15024,14 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, "node_modules/mrmime": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", @@ -15336,6 +15861,14 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -15379,6 +15912,11 @@ "react-is": "^16.13.1" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -15647,6 +16185,23 @@ } } }, + "node_modules/react-native-calendars": { + "version": "1.1305.0", + "resolved": "https://registry.npmjs.org/react-native-calendars/-/react-native-calendars-1.1305.0.tgz", + "integrity": "sha512-KcT7fhDo8Tx2vx2q6RtyYGHRgKp2siY183czD95U+swytT6m1HAWEX5bZFpl/c4oih0IamAB0qoGOMJCWkYweQ==", + "dependencies": { + "hoist-non-react-statics": "^3.3.1", + "lodash": "^4.17.15", + "memoize-one": "^5.2.1", + "prop-types": "^15.5.10", + "react-native-swipe-gestures": "^1.0.5", + "recyclerlistview": "^4.0.0", + "xdate": "^0.8.0" + }, + "optionalDependencies": { + "moment": "^2.29.4" + } + }, "node_modules/react-native-gesture-handler": { "version": "2.16.2", "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.16.2.tgz", @@ -15676,6 +16231,18 @@ "react": "^16.6.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-native-modals": { + "version": "0.22.3", + "resolved": "https://registry.npmjs.org/react-native-modals/-/react-native-modals-0.22.3.tgz", + "integrity": "sha512-tdjUfvgBhXFTt9p5kQcuAc1BS83H1yrD3p6hHL62LCnJl9rwUdiPlMX0Hmoeac5jw88FzmZv1M20wxgV8mh3ng==", + "dependencies": { + "babel-plugin-flow-react-proptypes": "^9.1.1", + "prop-types": "^15.6.0" + }, + "peerDependencies": { + "react-native": ">=0.50.0" + } + }, "node_modules/react-native-reanimated": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.10.1.tgz", @@ -15718,6 +16285,11 @@ "react-native": "*" } }, + "node_modules/react-native-swipe-gestures": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/react-native-swipe-gestures/-/react-native-swipe-gestures-1.0.5.tgz", + "integrity": "sha512-Ns7Bn9H/Tyw278+5SQx9oAblDZ7JixyzeOczcBK8dipQk2pD7Djkcfnf1nB/8RErAmMLL9iXgW0QHqiII8AhKw==" + }, "node_modules/react-native-web": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.19.12.tgz", @@ -15958,6 +16530,20 @@ "node": ">=0.10.0" } }, + "node_modules/recyclerlistview": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/recyclerlistview/-/recyclerlistview-4.2.1.tgz", + "integrity": "sha512-NtVYjofwgUCt1rEsTp6jHQg/47TWjnO92TU2kTVgJ9wsc/ely4HnizHHa+f/dI7qaw4+zcSogElrLjhMltN2/g==", + "dependencies": { + "lodash.debounce": "4.0.8", + "prop-types": "15.8.1", + "ts-object-utils": "0.0.5" + }, + "peerDependencies": { + "react": ">= 15.2.1", + "react-native": ">= 0.30.0" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -16045,6 +16631,17 @@ "resolved": "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz", "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==" }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -17406,6 +18003,11 @@ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" }, + "node_modules/ts-object-utils": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/ts-object-utils/-/ts-object-utils-0.0.5.tgz", + "integrity": "sha512-iV0GvHqOmilbIKJsfyfJY9/dNHCs969z3so90dQWsO1eMMozvTpnB1MEaUbb3FYtZTGjv5sIy/xmslEz0Rg2TA==" + }, "node_modules/tslib": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", @@ -18121,6 +18723,11 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/xdate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/xdate/-/xdate-0.8.2.tgz", + "integrity": "sha512-sNBlLfOC8S3V0vLDEUianQOXcTsc9j4lfeKU/klHe0RjHAYn0CXsSttumTot8dzalboV8gZbH38B+WcCIBjhFQ==" + }, "node_modules/xml-name-validator": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", diff --git a/todo_app/package.json b/todo_app/package.json index 49b5798..3891d1e 100644 --- a/todo_app/package.json +++ b/todo_app/package.json @@ -16,7 +16,9 @@ }, "dependencies": { "@expo/vector-icons": "^14.0.2", + "@react-native-async-storage/async-storage": "1.23.1", "@react-navigation/native": "^6.0.2", + "axios": "^1.7.2", "expo": "~51.0.20", "expo-constants": "~16.0.2", "expo-font": "~12.0.8", @@ -26,10 +28,13 @@ "expo-status-bar": "~1.12.1", "expo-system-ui": "~3.0.7", "expo-web-browser": "~13.0.3", + "moment": "^2.30.1", "react": "18.2.0", "react-dom": "18.2.0", "react-native": "0.74.3", + "react-native-calendars": "^1.1305.0", "react-native-gesture-handler": "~2.16.1", + "react-native-modals": "^0.22.3", "react-native-reanimated": "~3.10.1", "react-native-safe-area-context": "4.10.1", "react-native-screens": "3.31.1",