import React, { useState } from 'react';
import {
SafeAreaView,
StyleSheet,
ScrollView,
View,
Text,
StatusBar,
Image,
TouchableOpacity
} from 'react-native';
import {
Header,
LearnMoreLinks,
Colors,
DebugInstructions,
ReloadInstructions,
} from 'react-native/Libraries/NewAppScreen';
import I18n from './i18n';
import { url } from './resources/fetchInfo.json'
import LinearGradient from 'react-native-linear-gradient';
class StudentWeek extends React.Component {
constructor(props) {
super(props)
this.state = {
isLoading: true,
hobbyExpanded: false,
achievementExpanded: false,
messageExpanded: false,
hobbyArrow:require('./assets/expand.png'),
achievementArrow:require('./assets/expand.png'),
messageArrow:require('./assets/expand.png')
}
}
clickHobby() {
if (!this.state.hobbyExpanded) this.setState({hobbyExpanded:true, hobbyArrow: require('./assets/collapse.png')});
else this.setState({hobbyExpanded: false,hobbyArrow:require('./assets/expand.png')});
}
clickAchievements() {
if (!this.state.achievementExpanded) this.setState({achievementExpanded:true, achievementArrow: require('./assets/collapse.png')});
else this.setState({achievementExpanded: false, achievementArrow:require('./assets/expand.png')});
}
clickMessages() {
if (!this.state.messageExpanded) this.setState({messageExpanded:true, messageArrow: require('./assets/collapse.png')});
else this.setState({messageExpanded: false, messageArrow:require('./assets/expand.png')});
}
componentDidMount() {
fetch(`${url}/api/`+String(I18n.locale).split('-')[0]+`/student`,{
headers: {
'Cache-Control': 'no-cache'
}}
).then((response) => {
return response.text();
}).then((json) => {
const data = JSON.parse(json)
data.sort((a,b)=>a.id-b.id)
this.setState({data: data,isLoading:false});
console.log(this.state.data)
}).catch((error) => console.error(error))
}
render() {
if (this.state.isLoading) {
return
} else {
if (this.state.data.length==0) {
return (
No student of the week
)
} else {
console.log(this.state.data[this.state.data.length-1].image)
const iconURI = this.state.data[this.state.data.length-1].image !== undefined?`data:image/png;charset=utf-8;base64,${this.state.data[this.state.data.length-1].image}`:'';
const hobbyText = ({this.state.data[this.state.data.length-1].hobbies})
const achievementText = ({this.state.data[this.state.data.length-1].achievements})
const messageText = ({this.state.data[this.state.data.length-1].messages})
return (
{this.state.data[this.state.data.length-1].name}
{I18n.t('student.Grade')} {this.state.data[this.state.data.length-1].grade}
{I18n.t('student.Hobbies')}
{this.state.hobbyExpanded?:}
{this.state.hobbyExpanded?hobbyText:<>>}
{I18n.t('student.Achievements')}
{this.state.achievementExpanded?:}
{this.state.achievementExpanded?achievementText:<>>}
{I18n.t('student.Messages')}
{this.state.messageExpanded?:}
{this.state.messageExpanded?messageText:<>>}
)
}
}
}
}
export default StudentWeek;