diff --git a/.gitignore b/.gitignore index ec8a36a..9362fce 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ web-build/ # macOS .DS_Store +.vscode/settings.json diff --git a/API.js b/API.js index 72b879e..661ff4c 100644 --- a/API.js +++ b/API.js @@ -270,6 +270,9 @@ const API = { getCourses() { return getCall("/user/courses"); }, + getRecentCourses() { + return getCall("/posts/course/recent"); + }, searchCourses(query){ return getCall("/user/groups/search", query ? {query, courses: true} : {courses: true}).then((data)=>{ if(data.status == "ok"){ diff --git a/App.js b/App.js index 84eb426..9cf0939 100644 --- a/App.js +++ b/App.js @@ -3,7 +3,7 @@ import React, { useState, useRef, useEffect } from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; -import { Provider as PaperProvider, DefaultTheme, Appbar, Button, } from 'react-native-paper'; +import { Provider as PaperProvider, DefaultTheme, Appbar, Button } from 'react-native-paper'; import MaterialIcons from 'react-native-vector-icons/MaterialIcons'; import Login from "./Views/Login.js" import Feed from "./Views/Feed.js" @@ -18,7 +18,7 @@ import * as Notifications from 'expo-notifications'; import API from './API.js'; import i18n from "./i18nMessages.js"; import NewPostView from './Views/NewPost.js'; -import { TouchableOpacity, View } from 'react-native'; +import { TouchableOpacity, View, Image } from 'react-native'; import MenuView from './Views/Menu.js'; import ProfileSettings from './Views/ProfileSettings.js'; import InviteView from './Views/Invite.js'; @@ -229,7 +229,15 @@ export default function App() { {props.navigation.canGoBack() ? { props.navigation.goBack(); }} /> : <>} - + ( + + )} mode="text" >EMI Fellowship + } titleStyle={{}}/> + {alert("Chats are comming soon.")}} /> {props.navigation.navigate("Search")}} /> {props.navigation.navigate("Notifications")}} /> diff --git a/Views/Menu.js b/Views/Menu.js index cb5f107..a3ed606 100644 --- a/Views/Menu.js +++ b/Views/Menu.js @@ -23,16 +23,16 @@ let MenuView = ({navigation})=>{ imageStyle={{resizeMode:"contain", opacity: 0.05}} > - {navigation.navigate("ProfileSettings")}} left={props => } /> - } /> - {navigation.navigate("Logout")}} left={props => } /> + {navigation.navigate("ProfileSettings")}} left={props => } /> + } /> + {navigation.navigate("Logout")}} left={props => } /> - {navigation.navigate("Invite")}} left={props => } /> - } /> + {navigation.navigate("Invite")}} left={props => } /> + } /> - Lenguage: + Language: changeLang(newValue)} value={value}> diff --git a/Views/ProfileSettings.js b/Views/ProfileSettings.js index 2a0ded3..2afb798 100644 --- a/Views/ProfileSettings.js +++ b/Views/ProfileSettings.js @@ -1,6 +1,6 @@ import React from "react"; -import { View, ImageBackground, ScrollView } from "react-native"; -import { Text, TextInput, Button, Divider, Checkbox } from "react-native-paper"; +import { View, ImageBackground, ScrollView, Picker } from "react-native"; +import { Text, TextInput, Button, Divider, Checkbox, RadioButton } from "react-native-paper"; import i18n from "../i18nMessages.js"; import Moment from 'moment'; import 'moment/min/locales'; @@ -118,7 +118,14 @@ let ProfileSettings = ()=>{ value={description} onChangeText={text => setDescription(text)} /> - + Language: + + + + + + + Preview: @@ -126,45 +133,40 @@ let ProfileSettings = ()=>{ - Optional: - - - + {i18n.t("message.optional")}: + + + + {i18n.t("message.birthday")} setName(text)} /> setLastName(text)} /> setLastName(text)} /> setLastName(text)} /> setLastName(text)} - /> - setLastName(text)} diff --git a/i18nMessages.js b/i18nMessages.js index c8fde1c..c46af3e 100644 --- a/i18nMessages.js +++ b/i18nMessages.js @@ -17,6 +17,7 @@ const messages = { profile: "Profile", settings: 'Settings', logout: "Logout", + about: 'about', statusUpdate: "New Post", newsPost: "News Post", post: "Post", @@ -65,6 +66,12 @@ const messages = { update: "Update", invalidEmail: "Email address is invalid!", reviewPassword: "Please review your passwrod.", + updatePhoto: "Update Photo", + optional: "Optional", + birthday: "Birthday", + localMinistry: "Local Ministry", + ocupation: "Ocupation", + country: 'Country', }, }, es: { @@ -80,6 +87,7 @@ const messages = { profile: "Perfil", settings: 'Configuraciones', logout: "Cerrar Sesión", + about: 'Acerca', statusUpdate: "Publicación Nueva", newsPost: "Noticias?", post: "Publica", @@ -128,6 +136,12 @@ const messages = { update: "Actualizar", invalidEmail: "El correo electronico es invalido!", reviewPassword: "Revisa la constraseña introducida.", + updatePhoto: "Nueva foto", + optional: "Opcional", + birthday: "Cumpleaños", + localMinistry: "Ministerio Local", + ocupation: "Ocupación", + country: 'Pais', }, } }