From f327c92573a1a52acba6f664dc16d17499f233d1 Mon Sep 17 00:00:00 2001 From: Emily Liu Date: Sat, 2 Jan 2021 02:05:05 -0500 Subject: [PATCH] on/off switch for notifs - no actual notifs yet --- app/App.js | 11 +++- app/Images.js | 2 + app/Languages/en.js | 7 ++- app/Languages/es.js | 7 ++- app/Notifications.js | 122 ++++++++++++++++++++++++++++++++++++++++++ app/Settings.js | 19 +++++-- app/assets/lang.png | Bin 0 -> 5808 bytes app/assets/notifs.png | Bin 0 -> 5289 bytes yarn.lock | 97 +++++++++++++++++++++++++++++++-- 9 files changed, 255 insertions(+), 10 deletions(-) create mode 100644 app/Notifications.js create mode 100644 app/assets/lang.png create mode 100644 app/assets/notifs.png diff --git a/app/App.js b/app/App.js index f2fa58a..53dba63 100644 --- a/app/App.js +++ b/app/App.js @@ -30,8 +30,6 @@ import Ionicons from 'react-native-vector-icons/Ionicons'; import I18n from './i18n'; import AsyncStorage from '@react-native-community/async-storage' - - const Tab = createBottomTabNavigator(); AsyncStorage.getItem('language') @@ -40,6 +38,15 @@ AsyncStorage.getItem('language') I18n.locale = token; }); +AsyncStorage.getItem('announcementNotifs') + .then((token) => { + console.log("announcementNotifs: " + token); + }); +AsyncStorage.getItem('eventNotifs') + .then((token) => { + console.log("eventNotifs: " + token); + }); + class App extends React.Component { state = { loaded: false diff --git a/app/Images.js b/app/Images.js index ec26ac4..666fc48 100644 --- a/app/Images.js +++ b/app/Images.js @@ -29,6 +29,8 @@ const Images = { announcements:require('./assets/announcements.png'), resources:require('./assets/resources.png'), polls:require('./assets/polls.png'), + notifs:require('./assets/notifs.png'), + lang:require('./assets/lang.png'), } export default Images; \ No newline at end of file diff --git a/app/Languages/en.js b/app/Languages/en.js index d279ac9..590675b 100644 --- a/app/Languages/en.js +++ b/app/Languages/en.js @@ -47,12 +47,17 @@ export default { }, settings: { settings: "Settings", - language: "Language" + language: "Language", + notifications: "Notifications", }, language: { SelectLanguage: "Select Language", English: "English", Spanish: "Spanish", note: "*App will reload on language change" + }, + notifications: { + announcements: "Announcements", + events: "Calendar Events" } } \ No newline at end of file diff --git a/app/Languages/es.js b/app/Languages/es.js index 1c3d2bc..05a6805 100644 --- a/app/Languages/es.js +++ b/app/Languages/es.js @@ -47,12 +47,17 @@ export default { }, settings: { settings: "Configuraciones", - language: "Idioma" + language: "Idioma", + notifications: "ESNotifications" }, language: { SelectLanguage: "Seleccione el idioma", English: "Inglés", Spanish: "Español", note: "*La aplicación se recargará al cambiar de idioma" + }, + notifications: { + announcements: "ESAnnouncements", + events: "ESCalendar Events" } } \ No newline at end of file diff --git a/app/Notifications.js b/app/Notifications.js new file mode 100644 index 0000000..69c0754 --- /dev/null +++ b/app/Notifications.js @@ -0,0 +1,122 @@ +import React, { Component, useState } from 'react'; +import { + Platform, + StyleSheet, + TouchableOpacity, + Text, + ScrollView, + View, + Switch +} from 'react-native'; +import I18n from './i18n'; +import AsyncStorage from '@react-native-community/async-storage' + +const STORAGE_KEY_ANNOUNCEMENT = "announcementNotifs" +const STORAGE_KEY_EVENT = "eventNotifs" + +function parseBoolean (val) { + + if (val == "true") { + return true; + } + else if (val == "false") { + return false; + } +} + +function AnnouncementNotifs() { + + const [ isEnabled, setIsEnabled ] = React.useState() + + React.useEffect(() => { + const checkAsync = async () => { + const value = await AsyncStorage.getItem('announcementNotifs') + if (value !== undefined || value !== null){ + + setIsEnabled(parseBoolean(value)) + } else { + setIsEnabled(false) + AsyncStorage.setItem('announcementNotifs', JSON.stringify('false')) + } + } + checkAsync() + }, []) + + const toggleSwitch = () => { + AsyncStorage.getItem('announcementNotifs') + .then((token) => { + const temp = parseBoolean(token) + AsyncStorage.setItem('announcementNotifs', JSON.stringify(!temp)) + setIsEnabled(!isEnabled) + }) + } + return ( + + {I18n.t('notifications.announcements')} + + + ) +} + +function EventNotifs() { + const [ isEnabled, setIsEnabled ] = React.useState() + + React.useEffect(() => { + const checkAsync = async () => { + const value = await AsyncStorage.getItem('eventNotifs') + if (value !== undefined || value !== null){ + + setIsEnabled(parseBoolean(value)) + } else { + setIsEnabled(false) + AsyncStorage.setItem('eventNotifs', JSON.stringify('false')) + } + } + checkAsync() + }, []) + + const toggleSwitch = () => { + AsyncStorage.getItem('eventNotifs') + .then((token) => { + const temp = parseBoolean(token) + AsyncStorage.setItem('eventNotifs', JSON.stringify(!temp)) + setIsEnabled(!isEnabled) + }) + } + + return ( + + {I18n.t('notifications.events')} + + + ) +} + +class Notifications extends Component { + + + render() { + + return ( + + + + + + ); + } +} + +export default Notifications \ No newline at end of file diff --git a/app/Settings.js b/app/Settings.js index bd3b247..489a294 100644 --- a/app/Settings.js +++ b/app/Settings.js @@ -23,11 +23,12 @@ import { import styles from './styles/morestyles' import LinearGradient from 'react-native-linear-gradient' - +import Images from './Images' import { NavigationContainer } from '@react-navigation/native' import { createStackNavigator } from '@react-navigation/stack' import I18n from './i18n'; import Language from './Language' +import Notifications from './Notifications' const Stack = createStackNavigator() @@ -42,10 +43,12 @@ class SettingSwitch extends React.Component { this.props.navigation.navigate(item.key)}> + {I18n.t('settings.' + item.key)} } @@ -69,7 +72,7 @@ class Settings extends React.Component { name="Chooser" component={SettingSwitch} options={{ - title:'Settingss', + title:'Settings', headerTitleStyle:styles.headerTitle, headerBackground: ()=>background }} @@ -84,6 +87,16 @@ class Settings extends React.Component { headerBackground: ()=>background }} /> + background + }} + /> ) diff --git a/app/assets/lang.png b/app/assets/lang.png new file mode 100644 index 0000000000000000000000000000000000000000..d9313a2096f33768d628b9365c959e9d0a97de89 GIT binary patch literal 5808 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 literal 0 HcmV?d00001 diff --git a/yarn.lock b/yarn.lock index 507c651..85159a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -711,6 +711,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.12.0", "@babel/runtime@^7.3.1": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" + integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.0.0", "@babel/template@^7.10.4", "@babel/template@^7.3.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" @@ -1025,10 +1032,9 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@k3rn31p4nic/google-translate-api@^1.1.1": +"@k3rn31p4nic/google-translate-api@github:k3rn31p4nic/google-translate-api": version "1.1.1" - resolved "https://registry.yarnpkg.com/@k3rn31p4nic/google-translate-api/-/google-translate-api-1.1.1.tgz#3869854f7540bbb82afc1b61890281f5513e1717" - integrity sha512-vg3zLYXhUmdwrNxmoKOfYSJzB8lHKDnqR7L/SYQQKCYkxsj2syK/cJMAcK5fQC0hfwgexxUaWhR2p2gGEe3nVw== + resolved "https://codeload.github.com/k3rn31p4nic/google-translate-api/tar.gz/b15b464fb0a8fa4d58bc90d3d251250a8a71e907" dependencies: got "^11.1.1" @@ -1787,6 +1793,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== +axios@^0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.20.0.tgz#057ba30f04884694993a8cd07fa394cff11c50bd" + integrity sha512-ANA4rr2BDcmmAQLOKft2fufrtuvlqR+cXNNinUmvfeSNCOF98PZL+7M/v1zIdGo7OLjEA9J2gXJL+j4zGsl0bA== + dependencies: + follow-redirects "^1.10.0" + babel-eslint@10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -3007,6 +3020,11 @@ eventemitter3@^3.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== +events@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== + exec-sh@^0.3.2: version "0.3.4" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" @@ -3306,6 +3324,11 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +follow-redirects@^1.10.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.1.tgz#5f69b813376cee4fd0474a3aba835df04ab763b7" + integrity sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -3628,6 +3651,13 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +html-parse-stringify2@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz#dc5670b7292ca158b7bc916c9a6735ac8872834a" + integrity sha1-3FZwtyksoVi3vJFsmmc1rIhyg0o= + dependencies: + void-elements "^2.0.1" + http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" @@ -3666,6 +3696,23 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +i18n-js@3.0.11: + version "3.0.11" + resolved "https://registry.yarnpkg.com/i18n-js/-/i18n-js-3.0.11.tgz#f9e96bdb641c5b9d6be12759d7c422089987ef02" + integrity sha512-v7dG3kYJTQTyox3NqDabPDE/ZotWntyMI9kh4cYi+XlCSnsIR+KBTS2opPyObL8WndnklcLzbNU92FP/mLge3Q== + +i18next-react-native-language-detector@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/i18next-react-native-language-detector/-/i18next-react-native-language-detector-1.0.2.tgz#5c47482611a44262302a363d5be34a42b11ddfc6" + integrity sha1-XEdIJhGkQmIwKjY9W+NKQrEd38Y= + +i18next@^19.8.4: + version "19.8.4" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.8.4.tgz#447718f2a26319b8debdbcc6fbc1a9761be7316b" + integrity sha512-FfVPNWv+felJObeZ6DSXZkj9QM1Ivvh7NcFCgA8XPtJWHz0iXVa9BUy+QY8EPrCLE+vWgDfV/sc96BgXVo6HAA== + dependencies: + "@babel/runtime" "^7.12.0" + iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -5390,6 +5437,11 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.5" +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -6003,6 +6055,13 @@ prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" +properties-reader@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/properties-reader/-/properties-reader-2.2.0.tgz#41d837fe143d8d5f2386b6a869a1975c0b2c595c" + integrity sha512-CgVcr8MwGoBKK24r9TwHfZkLLaNFHQ6y4wgT9w/XzdpacOOi5ciH4hcuLechSDAwXsfrGQtI2JTutY2djOx2Ow== + dependencies: + mkdirp "^1.0.4" + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -6068,6 +6127,14 @@ react-devtools-core@^4.6.0: shell-quote "^1.6.1" ws "^7" +react-i18next@^11.8.5: + version "11.8.5" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.8.5.tgz#a093335822e36252cda6efc0f55facef6253643f" + integrity sha512-2jY/8NkhNv2KWBnZuhHxTn13aMxAbvhiDUNskm+1xVVnrPId78l8fA7fCyVeO3XU1kptM0t4MtvxV1Nu08cjLw== + dependencies: + "@babel/runtime" "^7.3.1" + html-parse-stringify2 "2.0.1" + react-is@^16.12.0, react-is@^16.13.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -6098,6 +6165,13 @@ react-native-gesture-handler@^1.7.0: invariant "^2.2.4" prop-types "^15.7.2" +react-native-i18n@^2.0.15: + version "2.0.15" + resolved "https://registry.yarnpkg.com/react-native-i18n/-/react-native-i18n-2.0.15.tgz#09b5a9836116fa7dbd0054c46e2d1014c1ef3c65" + integrity sha512-V8VwUP0TLda3oJvgt5tdnFaOV7WXPhTjCTLO7sXI3C2SHggSbD4bCUryMzNJhesimJidH21V2Owvj4zAylHoQQ== + dependencies: + i18n-js "3.0.11" + react-native-iphone-x-helper@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.0.tgz#84fd13e6b89cc3aa4daa80ec514bf15cb724d86d" @@ -6108,6 +6182,11 @@ react-native-linear-gradient@^2.5.6: resolved "https://registry.yarnpkg.com/react-native-linear-gradient/-/react-native-linear-gradient-2.5.6.tgz#96215cbc5ec7a01247a20890888aa75b834d44a0" integrity sha512-HDwEaXcQIuXXCV70O+bK1rizFong3wj+5Q/jSyifKFLg0VWF95xh8XQgfzXwtq0NggL9vNjPKXa016KuFu+VFg== +react-native-locale-detector@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/react-native-locale-detector/-/react-native-locale-detector-1.0.1.tgz#c002261ecb60619e5952257c8c7fa31c2c15ed30" + integrity sha1-wAImHstgYZ5ZUiV8jH+jHCwV7TA= + react-native-ratings@^7.2.0: version "7.3.0" resolved "https://registry.yarnpkg.com/react-native-ratings/-/react-native-ratings-7.3.0.tgz#32e11e4ed944ba8adbbc995d601df3f131619b6f" @@ -7251,6 +7330,13 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +translate-google-api@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/translate-google-api/-/translate-google-api-1.0.4.tgz#562073926d4fa069ea4c105a69c0af9e1536bd92" + integrity sha512-KVXmo4+64/H1vIbnzf2zNiJ2JLeEB3jrEnNRP2EFNAGNqna/5bmw/Cps3pCHu0n3BzTOoWh9u6wFvrRYdzQ6Iw== + dependencies: + axios "^0.20.0" + tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -7502,6 +7588,11 @@ vlq@^1.0.0: resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468" integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w== +void-elements@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" + integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= + w3c-hr-time@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"