import React, {Component} from 'react';
import {BrowserRouter as Router, Route, Redirect} from 'react-router-dom';
import Login from '../login/login';
import Profile from "../profiles/profile";
import 'semantic-ui-css/semantic.min.css';
import HeaderComp from '../template/header';
import './App.css';
import UserLogin from "../../repository/login_repo";
import UserJobs from "../work/user_jobs";
import UserInternships from "../work/user_internships";
import UserProjects from "../work/user_projects";
import CompanyJobs from "../work/company_jobs";
import TeamProjects from "../work/team_projects";
import TeamJobs from "../work/team_jobs";
import CompanyInternships from "../work/company_internships";
import RegisterUser from "../register/register_user_form";
import RegisterCompany from "../register/register_company_form";
import RegisterTeam from "../register/register_team_form";
import Search from "../filter/search";
import EditUser from "../account_edit/user_edit";
import EditCompany from "../account_edit/company_edit";
import EditTeam from "../account_edit/team_edit";
import JobRegister from "../work_register/job_register";
import InternshipRegister from "../work_register/internship_register";
import ProjectRegister from "../work_register/project_register";
import EditJob from "../work_edit/test";
class App extends Component{
constructor(props) {
super(props);
this.state = {
logged: false,
error: null,
success: null,
currentUser: {
}
}
}
render(){
return(
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
}/>
} />
} />
} />
}/>
}/>
);
}
removeState = () => {
this.setState({
logged: false,
error: null,
currentUser: {}
})
}
updateUser = (user) =>{
this.setState({
currentUser: user
})
}
setSuccess = (message) => {
this.setState({
success: message,
error: null
})
}
updateJobs = (job) => {
this.setState(prevState => ({
currentUser:{
...prevState.currentUser,
jobs: [...prevState.currentUser.jobs, job]
}
}))
}
updateInternships = (internship) => {
this.setState(prevState => ({
currentUser:{
...prevState.currentUser,
internships: [...prevState.currentUser.internships, internship]
}
}))
}
updateProjects = (project) => {
this.setState(prevState => ({
currentUser:{
...prevState.currentUser,
projects: [...prevState.currentUser.projects, project]
}
}))
}
editJob = (job, index) => {
this.setState(prevState => ({
currentUser:{
...prevState.currentUser,
jobs: Object.assign([],this.state.jobs,{[index]: job})
}
}))
}
editInternship = (internship, index) => {
this.setState(prevState => ({
currentUser:{
...prevState.currentUser,
internships: Object.assign([],this.state.jobs,{[index]: internship})
}
}))
}
editProject = (project, index) => {
this.setState(prevState => ({
currentUser:{
...prevState.currentUser,
projects: Object.assign([],this.state.jobs,{[index]: project})
}
}))
}
attemptLogin = (email, password, type) => {
UserLogin.login(email, password, type).then((res) =>{
if(res.data.email==null){
this.setState({
logged: false,
error: res.data.error,
});
}else{
this.setState({
logged: true,
currentUser: res.data,
error: null,
});
}
});
if(this.state.currentUser.email!=null){
return ;
}
}
}
export default App;