Commit cc6ec4b4 authored by Hasitha Samarasekara's avatar Hasitha Samarasekara

Merge branch 'IT18063288' into 'master'

It18063288

See merge request !10
parents 1d289fec 828e015e
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const ALResultsSchema = new Schema({
student_id:{type:mongoose.Schema.Types.ObjectId,ref: 'Post'},
year:{type:String,required:false},
stream: {type:String,required:true},
subject01:{type:String,required:true},
subject02:{type:String,required:true},
subject03:{type:String,required:true},
subject01Result:{type:String,required:true},
subject02Result:{type:String,required:true},
subject03Result:{type:String,required:true},
generalEnglish:{type:String},
commonGeneralTest:{type:String},
image:{type:String},
verified: {
type: Boolean,
default: false
}
});
const ALevelResults = mongoose.model('ALevelResults',ALResultsSchema);
module.exports = ALevelResults;
\ No newline at end of file
......@@ -14,13 +14,12 @@ const userSchema = new Schema({
tutor_image:{type:String},
tutor_Stream:{type:String},
tutor_subjects:[{type:String}],
isOnlineClass:{type:Boolean},
isHomeVisit:{type:Boolean},
isInstitute:{type:Boolean},
tutor_class_type:[{type:String}],
tutor_main_district:{type:String},
tutor_main_city:{type:String},
tutor_main_city:[{type:String}],
tutor_medium:{type:String},
tutor_instituteIDList:[{type:String}],
tutor_qualification:{type:String},
tutor_instituteIDList:[{type:mongoose.Schema.Types.ObjectId,ref: 'Post'}],
}, {
timestamps:true,
});
......
const router = require('express').Router();
let ALevelResults = require('../models/studentALResult.model');
const mongoose = require("mongoose");
router.route('/add').post(async(req,res) =>{
const results = await ALevelResults.findOne({
student_id:req.body.student_id
})
console.log(req.body);
const student_id = mongoose.Types.ObjectId(req.body.student_id);
const year = req.body.year;
const stream = req.body.stream;
const subject01 = req.body.subject01;
const subject02 = req.body.subject02;
const subject03 = req.body.subject03;
const subject01Result = req.body.subject01Result;
const subject02Result = req.body.subject02Result;
const subject03Result = req.body.subject03Result;
const generalEnglish = req.body.generalEnglish;
const commonGeneralTest = req.body.commonGeneralTest;
const image = req.body.image;
const newResult = new ALevelResults({
student_id,
year,
stream,
subject01,
subject02,
subject03,
subject01Result,
subject02Result,
subject03Result,
generalEnglish,
commonGeneralTest,
image,
});
if(!results){
newResult.save().then(()=>{
res.json('Item update!');
})
}
else {
ALevelResults.findById(req.body.student_id, function(err, details){
if(!details){
req.status(404).send("data is not found");
}
else {
details.year = year;
details.stream = stream;
details.subject01 = subject01;
details.subject02 = subject02;
details.subject03 = subject03;
details.subject01Result = subject01Result;
details.subject02Result = subject02Result;
details.subject03Result = subject03Result;
details.generalEnglish = generalEnglish;
details.commonGeneralTest = commonGeneralTest;
details.image = image;
details.save().then( () => {
res.json('results updated!');
})
.catch(err => {
res.status(400).send("Update not possible");
});
}
})
}
});
module.exports = router;
\ No newline at end of file
......@@ -5,6 +5,7 @@ let userAccount = require('../models/userAccount.user.model');
const nodemailer = require('nodemailer');
const cred = require('../email-config/config');
const mongoose = require("mongoose");
////////////////////////////////////////////////////////////////////////////////////////
......@@ -33,6 +34,27 @@ router.route('/').get((req,res) =>{
.catch(err => res.status(400).json('Eroor: '+ err));
});
router.route('/getFilteredList').post((req,res) =>{
console.log(req.body);
tutor.find({
"tutor_Stream" : {'$regex': req.body.selectedStream, '$options': 'i'},
"tutor_subjects" : {'$regex': req.body.selectedSubject, '$options': 'i'},
"tutor_main_district" : {'$regex': req.body.selectedDistrict, '$options': 'i'},
"tutor_main_city" : {'$regex': req.body.selectedCity, '$options': 'i'},
"tutor_medium" : {'$regex': req.body.selectedLanguage, '$options': 'i'},
"tutor_class_type" : {'$regex': req.body.selectedClassType, '$options': 'i'},
})
.then(tutors => {
//console.log(tutors);
res.json(tutors)
})
.catch(err => res.status(400).json('Eroor: '+ err));
});
router.route('/add').post(async(req,res) =>{
console.log("Tutor Registration began")
......@@ -47,13 +69,19 @@ router.route('/add').post(async(req,res) =>{
const tutor_image = req.body.tutor_image;
const tutor_Stream = req.body.tutor_Stream;
const tutor_subjects = req.body.tutor_subjects;
const isOnlineClass = req.body.isOnlineClass;
const isHomeVisit = req.body.isHomeVisit;
const isInstitute = req.body.isInstitute;
const tutor_class_type = req.body.tutor_class_type;
const tutor_main_district = req.body.tutor_main_district;
const tutor_main_city = req.body.tutor_main_city;
const tutor_medium = req.body.tutor_medium;
const tutor_instituteIDList = req.body.tutor_instituteIDList;
const tutor_qualification = req.body.tutor_qualification;
let instituteObjectIDList = [];
req.body.tutor_instituteIDList.map(inst =>{
instituteObjectIDList.push(mongoose.Types.ObjectId(inst));
})
const tutor_instituteIDList = instituteObjectIDList;
//checking if the user is already exist in the database
const user = await tutor.findOne({
......@@ -73,13 +101,12 @@ router.route('/add').post(async(req,res) =>{
tutor_image,
tutor_Stream,
tutor_subjects,
isOnlineClass,
isHomeVisit,
isInstitute,
tutor_class_type,
tutor_main_district,
tutor_main_city,
tutor_medium,
tutor_instituteIDList
tutor_instituteIDList,
tutor_qualification
});
newTutor.save()
.then(tutor => {
......
......@@ -28,6 +28,7 @@ const instituteRouter = require('./routes/institute.route');
const userAccount = require('./routes/userAccount.route');
const questionManage = require('./routes/question.route');
const financeRouter = require('./routes/finance.route');
const studentResult = require('./routes/studentALResult.route');
app.use('/studentSingUp',studentRouter);
app.use('/tutorSingUp',tutorRouter);
......@@ -35,6 +36,7 @@ app.use('/instituteSingUp',instituteRouter);
app.use('/userAccount',userAccount);
app.use('/questions', questionManage);
app.use('/admin/finance', financeRouter);
app.use('/studentResults', studentResult);
app.listen(port, () => {
console.log(`Server is running on Port: ${port}`);
......
......@@ -6856,6 +6856,12 @@
"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
},
"fuse.js": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.6.1.tgz",
"integrity": "sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==",
"optional": true
},
"gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
......@@ -12599,6 +12605,14 @@
"workbox-webpack-plugin": "5.1.4"
}
},
"react-select-search": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/react-select-search/-/react-select-search-3.0.8.tgz",
"integrity": "sha512-9RfhAr7mv0NUGA2NDs50OHfqPplU3NAhJQlfKqB1pfSPO9uHu4J0Uc0LLRCym7zkp+7Ps+UMKyJoYBtt1fUJNg==",
"requires": {
"fuse.js": "^3.4.5"
}
},
"react-star-rating-component": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/react-star-rating-component/-/react-star-rating-component-1.4.1.tgz",
......
......@@ -12,6 +12,7 @@
"react-dropdown": "^1.9.2",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.3",
"react-select-search": "^3.0.8",
"react-star-rating-component": "^1.4.1",
"sweetalert": "^2.1.2",
"web-vitals": "^1.1.1"
......
......@@ -11,9 +11,10 @@ import SignUp from "./Components/SignUp";
import beforeConfirmation from "./Components/beforeConfirmation";
import VerifiedAccount from "./Components/AccountVerified";
import Dashboard from "./Components/Admin/Dashboard";
import StudentDashboard from "./Components/Student/StudentDashboard";
import QuestionDetails from "./Components/IT18050240/question_details"
import QuestionLayout from "./Components/IT18050240/question_layout"
import AdminQuestionManagement from "./Components/IT18050240/admin_question_management.js"
//import AdminQuestionManagement from "./Components/IT18050240/admin_question_management.js"
import QuestionBank from "./Components/IT18050240/question_bank"
function App() {
......@@ -26,16 +27,21 @@ function App() {
<Route path="/SignUp" exact component={SignUp}/>
<Route path="/beforeConfirm" exact component={beforeConfirmation}/>
<Route path="/AccountVerified/:id" exact component={VerifiedAccount}/>
{/*<Route path="/studentDashboard" exact component={StudentDashboard}/>*/}
{/*<Route path="/" exact component={Dashboard}/>*/}
<Switch>
<Route path="/admin"><Dashboard/></Route>
<Route path="/studentDashboard"><StudentDashboard/></Route>
<Route path="/questiondetails" exact component={QuestionDetails}/>
<Route path="/question" exact component={QuestionLayout}/>
<Route path="/questionmanagement" exact component={AdminQuestionManagement}/>
{/*<Route path="/questionmanagement" exact component={AdminQuestionManagement}/>*/}
<Route path="/questionbank" exact component={QuestionBank}/>
<Route path="/edititem/:id" exact component={AdminQuestionManagement}/>
{/*<Route path="/edititem/:id" exact component={AdminQuestionManagement}/>*/}
</Switch>
</div>
</Router>
);
......
......@@ -3,13 +3,18 @@ import Dropdown from 'react-dropdown';
import StarRatingComponent from 'react-star-rating-component';
import 'react-dropdown/style.css';
import MianImage from "../Images/mainimage2.jpg";
import RecommendIcon from "../Images/recomended.png";
import ItemNav from "./Navbar";
import {Route} from "react-router-dom";
import HomeFooter from "./HomePage/HomeFooter";
import TestTeacher from "../Images/teacher.jpg";
import Location from "../Images/location.png";
import Star from "../Images/star.png";
import ReviewImg from "../Images/note.png";
import Calender from "../Images/calender.png";
import StarBackGround from "../Images/starboarder.png";
import ItemNav from "./Navbar";
import axios from "axios";
import * as configs from "../Config/config";
import TutorCard from "./HomePage/TutorCard";
export default class Home extends Component{
constructor(props) {
......@@ -23,26 +28,83 @@ export default class Home extends Component{
'Katana', 'Kelaniya', 'Mahara', 'Minuwandoga', 'Mirigama', 'Negombo', 'Wattala'],
isSelectedDistrict : false,
citiesList : [],
classTypes : ['Individual class', 'Group class', 'Hall class', 'Online class'],
classTypes : ['Home Visit', 'Institute', 'Online class'],
mediums : ['Sinhala Medium', 'English Medium', 'Tamil Medium'],
streams : ['Commerce stream','Physical Science Stream ','Biological Science Stream','Technology Stream','Art Stream'],
subjects : ['Economics','Geography','Business statistics','Business Studies',
'Accounting','Logic & Scientific Method','History of India','History of Europe','History of Modern World',
'English','French','German','Agricultural Science','Mathematics','Political Science','Combined Mathematics','Information & Communication Technology'],
district : '',
isRecommend : true,
selectedStream : '',
selectedSubject : '',
selectedDistrict : '',
selectedCity : '',
selectedClassType : '',
selectedLanguage : '',
TutorFilteredList : [],
};
this.FindCities = this.FindCities.bind(this);
this.FindTutor = this.FindTutor.bind(this);
this.ResetFilters = this.ResetFilters.bind(this);
this.OnChangeStream = this.OnChangeStream.bind(this);
this.OnChangeSubject = this.OnChangeSubject.bind(this);
this.OnChangeDistrict = this.OnChangeDistrict.bind(this);
this.OnChangeCity = this.OnChangeCity.bind(this);
this.OnChangeClassType = this.OnChangeClassType.bind(this);
this.OnChangeLanguage = this.OnChangeLanguage.bind(this);
}
componentDidMount() {
axios.get(configs.BASE_URL + '/instituteSingUp/' )
.then(response =>{
if(response.data.length > 0){
console.log(response.data);
this.setState({
instituteList : response.data
})
}
})
}
OnChangeStream(e) {
this.setState({
selectedStream: e
});
}
OnChangeSubject(e) {
this.setState({
selectedSubject: e
});
}
OnChangeDistrict(e) {
this.setState({
selectedDistrict: e
});
}
OnChangeCity(e) {
this.setState({
selectedCity: e
});
}
OnChangeClassType(e) {
this.setState({
selectedClassType: e
});
}
OnChangeLanguage(e) {
this.setState({
selectedLanguage: e
});
}
FindCities(value){
this.setState({
isSelectedDistrict : true,
district : value
selectedDistrict : value
}, () => {
let dist = this.state[value]
......@@ -54,12 +116,44 @@ export default class Home extends Component{
});
}
ResetFilters(){
window.location.reload();
}
FindTutor(){
console.log(this.state.districts)
console.log(this.state.districts.map)
console.log(this.state.classTypes)
const Filters = {
selectedStream:this.state.selectedStream,
selectedSubject:this.state.selectedSubject,
selectedDistrict:this.state.selectedDistrict,
selectedCity:this.state.selectedCity,
selectedClassType:this.state.selectedClassType,
selectedLanguage:this.state.selectedLanguage,
}
if(this.state.selectedStream != "" && this.state.selectedSubject != ""){
axios.post(configs.BASE_URL + '/tutorSingUp/getFilteredList', Filters)
.then(res =>{
this.setState({
TutorFilteredList : res.data
})
// console.log(this.state.TutorFilteredList);
})
}
else {
alert("Please at least select Stream and Subject");
}
}
render() {
return (
<div className="App" style={{padding:'10px',paddingTop:'0px'}}>
......@@ -89,13 +183,13 @@ export default class Home extends Component{
</div>
<div className="row">
<div className="col-6">
<select className="form-control">
<select className="form-control"onChange={e => this.OnChangeStream(e.target.value)} >
<option value="" disabled selected>All Streams</option>
{this.state.streams.map((dis) => <option key={dis} value={dis}>{dis}</option> )}
</select>
</div>
<div className="col-6">
<select className="form-control">
<select className="form-control" onChange={e => this.OnChangeSubject(e.target.value)}>
<option value="" disabled selected>All Subjects</option>
{this.state.subjects.map((dis) => <option key={dis} value={dis}>{dis}</option> )}
</select>
......@@ -121,7 +215,7 @@ export default class Home extends Component{
</select>
</div>
<div className="col-6">
<select className="form-control"
<select className="form-control" onChange={e => this.OnChangeCity(e.target.value)}
disabled={!this.state.isSelectedDistrict}>
<option value="" disabled selected>All Cities</option>
{this.state.citiesList && this.state.citiesList.map((dis) => <option
......@@ -139,13 +233,13 @@ export default class Home extends Component{
</div>
<div className="row">
<div className="col-6">
<select className="form-control">
<select className="form-control" onChange={e => this.OnChangeClassType(e.target.value)}>
<option value="" disabled selected>All Class Types</option>
{this.state.classTypes.map((dis) => <option key={dis} value={dis}>{dis}</option> )}
</select>
</div>
<div className="col-6">
<select className="form-control">
<select className="form-control" onChange={e => this.OnChangeLanguage(e.target.value)}>
<option value="" disabled selected>All Languages</option>
{this.state.mediums.map((dis) => <option key={dis} value={dis}>{dis}</option> )}
</select>
......@@ -158,10 +252,11 @@ export default class Home extends Component{
</div>
<div className="row">
<button className="form-control" style={{background:"#8D4433", color:"white", margin:'10px'}}
onClick={this.FindTutor}><b>Reset</b></button>
onClick={this.ResetFilters}><b>Reset</b></button>
</div>
<div className="row">
<button className="form-control" style={{background:"#086232", color:"white", margin:'10px'}}><b>Find Tutor</b></button>
<button className="form-control" style={{background:"#086232", color:"white", margin:'10px'}}
onClick={this.FindTutor}><b>Find Tutor</b></button>
</div>
</div>
......@@ -169,77 +264,13 @@ export default class Home extends Component{
<div className="row" style={{background:'#F5F4ED', marginLeft:'50px', marginRight:'50px', marginTop:'10px'}}>
<h5 style={{margin:'10px'}}>0 Results</h5>
</div>
<div className="row" style={{background:'#F5F4ED', marginLeft:'50px', marginRight:'50px', marginTop:'5px'}}>
<div className="col-8">
<div className="row">
<div className="col-7" style={{margin:'5px', border:'solid', padding:'10px', borderColor:'#216E9B'}}>
<div className="row">
<div className="col-4">
<img src={TestTeacher} style={{width:'90px', height:'80px'}}/>
<div className="row" style={{width:'80%',background:'#216E9B',
marginLeft:'10px',marginTop:'5px',justifyContent:'center'}}>
<h5 style={{color:'white',float:'center',marginBottom:'10px',marginTop:'5px'}}>98.5%</h5>
</div>
</div>
<div className="col-6" style={{margin:'0px'}}>
<div className="row">
<h6 style={{color:'#2D5F5D',float:'left'}}>Accounting</h6>
</div>
<div className="row">
<h5 style={{color:'#2D5F5D'}}>Ms.Surani Perera</h5>
</div>
<div className="row">
<label style={{color:'#2D5F5D'}}>Bsc.Management (Special) J'Pura</label>
</div>
<div className="row">
<div className="col-1">
<img src={Location} style={{width:'20px', height:'20px', marginLeft:'-10px'}}/>
</div>
<div className="col-10">
<label style={{color:'#2D5F5D',paddingLeft:'0px', marginLeft:'-5px',float:'left'}}>Kadawatha, Kgoda</label>
</div>
</div>
</div>
<div className="col-1">
</div>
</div>
</div>
<div className="col-4" style={{margin:'5px', border:'solid', padding:'10px', borderColor:'#216E9B'}}>
<div className="row">
<div className="col-1">
<img src={Star} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col" >
<h5 style={{float:"left"}}>5</h5>
</div>
</div>
<div className="row">
<div className="col-1">
<img src={ReviewImg} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col">
<h5 style={{float:"left"}}>23 reviews</h5>
</div>
</div>
<div className="row">
<div className="col-1">
<img src={Calender} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col">
<h5 style={{float:"left"}}>6y experience</h5>
</div>
</div>
<div className="row">
<button className="form-control" style={{background:"#216E9B", color:"white", marginLeft:'15px', marginRight:'15px'}}><b>View Profile</b></button>
</div>
</div>
<div className="">
{this.state.TutorFilteredList.length > 0 ? this.state.TutorFilteredList.map( (card)=>{ return(<TutorCard data={card}/>)} ) : <div>Empty</div>}
</div>
</div>
<div className="col-3">
</div>
<div className="app-main__outer">
</div>
<HomeFooter/>
</div>
</div>
......
import React, {Component} from "react";
import TestTeacher from "../../Images/teacher.jpg";
import Location from "../../Images/location.png";
import Star from "../../Images/star.png";
import ReviewImg from "../../Images/note.png";
import Calender from "../../Images/calender.png";
export default class HomeFooter extends Component{
constructor(props) {
super(props);
this.state = {
};
//this.FindTutor = this.FindTutor.bind(this);
}
render() {
return(
<div>
{/* Footer */}
<div className="app-wrapper-footer">
<div className="app-footer">
<div className="app-footer__inner">
<div className="app-footer-left">
<ul className="nav">
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link">Copyright &copy; 2021</a>
</li>
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link" style={{color:"red",marginLeft:"-25px"}}>SMART COACH</a>
</li>
</ul>
</div>
<div className="app-footer-right">
<ul className="nav">
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link">Engineered By</a>
</li>
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link" style={{color:"red",marginLeft:"-25px"}}>2021-049</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
)
}
}
\ No newline at end of file
import React, {Component} from "react";
import TestTeacher from "../../Images/teacher.jpg";
import Location from "../../Images/location.png";
import Star from "../../Images/star.png";
import ReviewImg from "../../Images/note.png";
import Calender from "../../Images/calender.png";
import RecommendIcon from "../../Images/recomended.png";
export default class TutorCard extends Component{
render() {
return(
<div className="main-card mb-3 card">
<div className="row" style={{background:'#F5F4ED', marginLeft:'50px', marginRight:'50px', marginTop:'10px', marginBottom:'10px'}}>
<div className="col-9">
<div className="row" style={{background:'#F8F8F8'}}>
<div className="col-8" style={{margin:'5px', border:'solid', padding:'10px', borderColor:'#216E9B'}}>
<div className="row">
<div className="col-4">
<img src={TestTeacher} style={{width:'90px', height:'80px'}}/>
<div className="row" style={{width:'80%',background:'#216E9B',
marginLeft:'10px',marginTop:'5px',justifyContent:'center'}}>
<h5 style={{color:'white',float:'center',marginBottom:'10px',marginTop:'5px'}}>98.5%</h5>
</div>
</div>
<div className="col-6" style={{margin:'0px'}}>
<div className="row">
<h6 style={{color:'#2D5F5D',float:'left'}}>
{this.props.data.tutor_subjects.map((subject) =>{return(<span style={{display:'inLineBlock'}}>|| {subject} </span>)})}
</h6>
</div>
<div className="row">
<h5 style={{color:'#2D5F5D'}}>{this.props.data.tutor_name}</h5>
</div>
<div className="row">
<label style={{color:'#2D5F5D', display:'inline-block',overflow:'hidden',
whiteSpace:'nowrap', textOverflow:'ellipsis'}}>{this.props.data.tutor_qualification}</label>
</div>
<div className="row">
<div className="col-1">
<img src={Location} style={{width:'20px', height:'20px', marginLeft:'-10px'}}/>
</div>
<div className="col" style={{display:'inline-block',overflow:'hidden',
whiteSpace:'nowrap', textOverflow:'ellipsis'}}>
<label style={{color:'#2D5F5D',paddingLeft:'0px', marginLeft:'-5px',float:'left',display:'inline-block',overflow:'hidden',
whiteSpace:'nowrap', textOverflow:'ellipsis'}}>
{this.props.data.tutor_main_city.map((city) =>{return(<span> {city} | </span>)})}
</label>
</div>
</div>
</div>
<div className="col-1">
</div>
</div>
</div>
<div className="col" style={{margin:'5px', border:'solid', padding:'10px', borderColor:'#216E9B'}}>
<div className="row">
<div className="col-1">
<img src={Star} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col" >
<h5 style={{float:"left"}}>5</h5>
</div>
</div>
<div className="row">
<div className="col-1">
<img src={ReviewImg} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col">
<h5 style={{float:"left"}}>23 reviews</h5>
</div>
</div>
<div className="row">
<div className="col-1">
<img src={Calender} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col">
<h5 style={{float:"left"}}>6y experience</h5>
</div>
</div>
<div className="row">
<button className="form-control" style={{background:"#216E9B", color:"white", marginLeft:'15px', marginRight:'15px'}}><b>View Profile</b></button>
</div>
</div>
</div>
</div>
<div className="col" style={{background:'#F8F8F8'}}>
<div>
<br/>
</div>
<img src={RecommendIcon} style={{width:'100px', height:'90px', float:'left', margin:'10px'}}/>
</div>
</div>
{/*{console.log("In Tutor Card")}*/}
{/*{console.log(this.props)}*/}
</div>
)
}
}
\ No newline at end of file
......@@ -18,8 +18,10 @@ export default class SignUp extends Component {
'English', 'French', 'German', 'Agricultural Science', 'Mathematics', 'Political Science', 'Combined Mathematics', 'Information & Communication Technology'],
district: '',
userSelectedSubject: [],
tutorSelectedCity:[],
newSubject: '',
tempSubjectList: [],
tempCityList: [],
instituteList: ['Sakya Nugegoda', 'Montana Kiribathgoda', 'Wasiti Kiribathgoda'],
newInstitute: '',
userSelectedInstitutes: [],
......@@ -63,7 +65,7 @@ export default class SignUp extends Component {
InstituteStreet : '',
InstituteApartment : '',
InstituteRegistrationNo : '',
tutorQualification:'',
}
......@@ -105,6 +107,9 @@ export default class SignUp extends Component {
this.OnChangeInstituteStreet = this.OnChangeInstituteStreet.bind(this);
this.OnChangeInstituteCity = this.OnChangeInstituteCity.bind(this);
this.OnChangeInstituteRegistrationNo = this.OnChangeInstituteRegistrationNo.bind(this);
this.OnChangeQualification = this.OnChangeQualification.bind(this);
this.onClickAddCityButton = this.onClickAddCityButton.bind(this);
this.onClickCityRemoveButton = this.onClickCityRemoveButton.bind(this);
}
componentDidMount() {
......@@ -203,6 +208,51 @@ export default class SignUp extends Component {
})
}
OnChangeCity(e){
this.setState({
city : e
});
}
onClickAddCityButton(){
let oldCity = []
let temCitytList02 = []
if (this.state.city !== '') {
console.log("City : " + this.state.city);
oldCity = this.state.tutorSelectedCity.slice();
oldCity.push(this.state.city);
this.setState({
tutorSelectedCity: oldCity
}, () => {
for (let i = 0; i < this.state.tutorSelectedCity.length; i++) {
temCitytList02.push(this.state.tutorSelectedCity[i] + ' | ');
}
this.setState({
tempCityList: temCitytList02
})
})
console.log("City List : " + oldCity);
}
}
onClickCityRemoveButton() {
let oldCity = [];
let oldCity02 = [];
oldCity = this.state.tutorSelectedCity.slice();
oldCity02 = this.state.tempCityList.slice();
let popped = oldCity.pop();
let popped2 = oldCity02.pop();
this.setState({
tutorSelectedCity: oldCity,
tempCityList: oldCity02
})
}
onChangeInstituteDropDown(value) {
// console.log(value);
......@@ -431,12 +481,7 @@ export default class SignUp extends Component {
});
}
OnChangeCity(e){
this.setState({
city : e
});
}
onChangeStream(e){
this.setState({
......@@ -472,6 +517,12 @@ export default class SignUp extends Component {
}
OnChangeQualification(e){
this.setState({
tutorQualification : e.target.value
});
}
OnChangeInstituteRegistrationNo(e){
this.setState({
InstituteRegistrationNo : e.target.value
......@@ -499,7 +550,7 @@ export default class SignUp extends Component {
InstituteApartment : '',
InstituteStreet : '',
InstituteCity : '',
tutorQualification : '',
})
......@@ -579,7 +630,17 @@ export default class SignUp extends Component {
)
}
console.log('ID Lists : ' + instituteIDs)
let ClassType = [];
if(this.state.isCheckedInstituteOnlineClass){
ClassType.push("Online class");
}
if(this.state.isCheckedInstituteHomeVisit){
ClassType.push("Home Visit");
}
if(this.state.isCheckedInstitute){
ClassType.push("Institute");
}
const Tutor = {
tutor_name : this.state.name,
tutor_nic : this.state.nic,
......@@ -591,14 +652,13 @@ export default class SignUp extends Component {
tutor_status : this.state.marriageStatus,
tutor_image : '',
tutor_Stream : this.state.tutorStream,
tutor_subjects : this.state.tempSubjectList,
isOnlineClass : this.state.isCheckedInstituteOnlineClass,
isHomeVisit : this.state.isCheckedInstituteHomeVisit,
isInstitute : this.state.isCheckedInstitute,
tutor_subjects : this.state.userSelectedSubject,
tutor_class_type : ClassType,
tutor_instituteIDList : instituteIDs,
tutor_main_district : this.state.district,
tutor_main_city : this.state.city,
tutor_medium : this.state.medium
tutor_main_city : this.state.tutorSelectedCity,
tutor_medium : this.state.medium,
tutor_qualification : this.state.tutorQualification
}
console.log(Tutor)
......@@ -893,8 +953,8 @@ export default class SignUp extends Component {
<select className="form-control" style={{width: '90%'}}
onChange={e => this.onChangeGender(e.target.value)}>
<option disabled selected>Select the Gender</option>
<option>Male</option>
<option>Female</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
......@@ -1202,8 +1262,8 @@ export default class SignUp extends Component {
<select className="form-control" style={{width: '90%'}}
onChange={e => this.onChangeGender(e.target.value)}>
<option value="0" disabled selected>Select the Gender</option>
<option value="1">Male</option>
<option value="2">Female</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
......@@ -1514,7 +1574,7 @@ export default class SignUp extends Component {
</div>
<div className="col-10">
<h5 style={{float: 'left', color: '#216E9B'}}>Select Class Conduct District and Main City</h5>
<h5 style={{float: 'left', color: '#216E9B'}}>Select Class Conduct District and Main Cities</h5>
</div>
<div className="col-1">
......@@ -1525,7 +1585,7 @@ export default class SignUp extends Component {
<div className="col-1">
</div>
<div className="col-10" style={{textAlign: '-webkit-center'}}>
<div className="col" style={{textAlign: '-webkit-center'}}>
<select className="form-control" style={{width: '90%'}}
onChange={e => this.FindCities(e.target.value)}>
<option value="" disabled selected>Select District</option>
......@@ -1541,7 +1601,7 @@ export default class SignUp extends Component {
<div className="col-1">
</div>
<div className="col-10" style={{textAlign: '-webkit-center'}}>
<div className="col" style={{textAlign: '-webkit-center'}}>
<select className="form-control" style={{width: '90%'}}
onChange={e => this.OnChangeCity(e.target.value)}>
<option value="" disabled selected>Select City</option>
......@@ -1550,9 +1610,45 @@ export default class SignUp extends Component {
</select>
</div>
<div className="col-3">
<button type="button" className="btn btn-primary"
onClick={this.onClickAddCityButton}
style={{
width: '40px',
marginTop: '0px',
backgroundColor: '#265077',
borderColor: '#216E9B',
float: 'left'
}}><b>+</b></button>
</div>
</div>
<div className="row" style={{marginTop: '20px', marginBottom: '0px'}}>
<div className="col-1">
</div>
<div className="col-8">
<label style={{
float: 'left',
color: '#216E9B'
}}>{this.state.tempCityList}</label>
</div>
<div className="col-3">
{this.state.tempCityList.length > 0 ?
<button type="button" className="btn btn-primary"
onClick={this.onClickCityRemoveButton}
style={{
width: '40px',
marginTop: '0px',
backgroundColor: '#265077',
borderColor: '#216E9B',
float: 'left'
}}><b>-</b></button>
:
<div>
</div>
}
</div>
</div>
<div className="row" style={{marginTop: '10px', marginBottom: '0px'}}>
<div className="col-1">
......@@ -1581,6 +1677,31 @@ export default class SignUp extends Component {
</div>
</div>
<div className="row" style={{marginTop: '10px', marginBottom: '0px'}}>
<div className="col-1">
</div>
<div className="col-10">
<h5 style={{float: 'left', color: '#216E9B'}}>Add Your Highest Qualification</h5>
</div>
<div className="col-1">
</div>
</div>
<div className="row" style={{marginTop: '0px', marginBottom: '10px'}}>
<div className="col-1">
</div>
<div className="col" style={{textAlign: '-webkit-center'}}>
<input type="text" id="tutorQualfication" className="form-control"
placeholder="Qualification"
onChange={this.OnChangeQualification}
style={{width: '90%'}} required/>
</div>
<div className="col-1">
</div>
</div>
<div className="row" style={{marginTop: '0px', marginBottom: '10px'}}>
<div className="col-1">
......
import React, {Component} from "react";
import VerifiedIcon from "../../Images/verified.png";
import NotVerifiedIcon from "../../Images/nveified.png";
import MainIcon from "../../Images/grades.png"
import axios from "axios";
import * as configs from "../../Config/config";
export default class ALResults extends Component{
constructor(props) {
super(props);
this.state = {
studentID:'',
streams: ['Commerce stream', 'Physical Science Stream ', 'Biological Science Stream', 'Technology Stream', 'Art Stream'],
subjects: ['Economics', 'Geography', 'Business statistics', 'Business Studies',
'Accounting', 'Logic & Scientific Method', 'History of India', 'History of Europe', 'History of Modern World',
'English', 'French', 'German', 'Agricultural Science', 'Mathematics', 'Political Science', 'Combined Mathematics', 'Information & Communication Technology'],
resultsVerified : false,
year:'',
stream: '',
sub01:'',
sub02:'',
sub03:'',
sub01Result:'',
sub02Result:'',
sub03Result:'',
gEng:'',
CGTest:'',
selectedFile: null,
};
this.onFileChange = this.onFileChange.bind(this);
this.onFileUpload = this.onFileUpload.bind(this);
this.onChangeYear = this.onChangeYear.bind(this);
this.onChangeStream = this.onChangeStream.bind(this);
this.onChangeSubject01 = this.onChangeSubject01.bind(this);
this.onChangeSubject02 = this.onChangeSubject02.bind(this);
this.onChangeSubject03 = this.onChangeSubject03.bind(this);
this.onChangeSubject01Result = this.onChangeSubject01Result.bind(this);
this.onChangeSubject02Result = this.onChangeSubject02Result.bind(this);
this.onChangeSubject03Result = this.onChangeSubject03Result.bind(this);
this.onChangeGenEng = this.onChangeGenEng.bind(this);
this.onChangeComGenTest = this.onChangeComGenTest.bind(this);
this.onSubmitResults = this.onSubmitResults.bind(this);
this.onChangeSID = this.onChangeSID.bind(this);
}
onChangeYear(e){
this.setState({
year: e.target.value
});
}
onChangeStream(e) {
this.setState({
stream: e
});
}
onChangeSubject01(value) {
this.setState({
sub01: value
})
}
onChangeSubject02(value) {
this.setState({
sub02: value
})
}
onChangeSubject03(value) {
this.setState({
sub03: value
})
}
onChangeSubject01Result(e) {
this.setState({
sub01Result: e.target.value
})
}
onChangeSubject02Result(e) {
this.setState({
sub02Result: e.target.value
})
}
onChangeSubject03Result(e) {
this.setState({
sub03Result: e.target.value
})
}
onChangeGenEng(e){
this.setState({
gEng: e.target.value
});
}
onChangeComGenTest(e){
this.setState({
CGTest: e.target.value
});
}
onChangeSID(e){
this.setState({
studentID: e.target.value
});
}
onSubmitResults(e){
//let student_id = '60fc1aaf718c264214061846';
const newResult = {
student_id:this.state.studentID,
year:this.state.year,
stream:this.state.stream,
subject01:this.state.sub01,
subject02:this.state.sub02,
subject03:this.state.sub03,
subject01Result:this.state.sub01Result,
subject02Result:this.state.sub02Result,
subject03Result:this.state.sub03Result,
generalEnglish:this.state.gEng,
commonGeneralTest:this.state.CGTest,
image:'',
}
console.log(newResult);
axios.post(configs.BASE_URL + '/studentResults/add', newResult)
.then(res =>{
})
}
onFileChange = event => {
// Update the state
this.setState({ selectedFile: event.target.files[0] });
};
onFileUpload = () => {
// Create an object of formData
const formData = new FormData();
// Update the formData object
formData.append(
"myFile",
this.state.selectedFile,
this.state.selectedFile.name
);
// Details of the uploaded file
console.log(this.state.selectedFile);
// Request made to the backend api
// Send formData object
//axios.post("api/uploadfile", formData);
};
fileData = () => {
if (this.state.selectedFile) {
return (
<div>
<h6>File Details:</h6>
<p>File Name: {this.state.selectedFile.name}</p>
<p>File Type: {this.state.selectedFile.type}</p>
<p>
Last Modified:{" "}
{this.state.selectedFile.lastModifiedDate.toDateString()}
</p>
</div>
);
} else {
return (
<div>
<br />
<h6>Choose before Pressing the Upload button</h6>
</div>
);
}
};
render() {
return(
<div>
<div className="app-page-title">
<div className="page-title-wrapper">
<div className="page-title-heading">
<div className="page-title-icon">
<img src={MainIcon} style={{width:'40px', height:'40px'}}/>
</div>
<div>
<h3>Student A/Level Results</h3>
</div>
</div>
</div>
</div>
<div className="main-card mb-3 card" style={{padding:'30px'}}>
<div className="row" style={{padding:'10px'}}>
<div className="col">
<span style={{float:'right'}}>{this.state.resultsVerified == true ?
<h5 style={{color:'Blue'}}>Verified</h5> :
<h5 style={{color:'Red'}}>Not Verified</h5>}</span>
</div>
<div className="col-1" >
{this.state.resultsVerified == true ?
<img src={VerifiedIcon} style={{width:'20px', height:'20px'}}/> :
<img src={NotVerifiedIcon} style={{width:'20px', height:'20px'}}/> }
</div>
</div>
<div className="row">
</div>
<div className="row" style={{padding:'5px'}}>
<div className="col-2">
<span style={{float:'right'}}>StudentID (Temporary)</span>
</div>
<div className="col">
<input type="text" id="password" className="form-control" placeholder="s_id" onChange={this.onChangeSID} required/>
</div>
<div className="col">
</div>
<div className="col">
</div>
</div>
<div className="row" style={{padding:'5px'}}>
<div className="col-2">
<span style={{float:'right'}}>Year</span>
</div>
<div className="col">
<input type="text" id="password" className="form-control" placeholder="A/L Batch(Year)" onChange={this.onChangeYear} required/>
</div>
<div className="col">
</div>
<div className="col">
</div>
</div>
<div className="row" style={{padding:'5px'}}>
<div className="col-2">
<span style={{float:'right'}}>Stream</span>
</div>
<div className="col">
<select className="form-control" style={{width: '100%'}}
onChange={e => this.onChangeStream(e.target.value)}>
<option value="" disabled selected>Select Stream</option>
{this.state.streams.map((dis) => <option key={dis}
value={dis}>{dis}</option>)}
</select>
</div>
<div className="col">
</div>
<div className="col">
</div>
</div>
<div className="row" style={{padding:'5px'}}>
<div className="col-2">
<span style={{float:'right'}}>Subject 01</span>
</div>
<div className="col">
<select className="form-control" style={{width: '100%'}}
onChange={e => this.onChangeSubject01(e.target.value)}>
<option value="" disabled selected>Select Subject</option>
{this.state.subjects.map((dis) => <option key={dis}
value={dis}>{dis}</option>)}
</select>
</div>
<div className="col-1">
<span>Result</span>
</div>
<div className="col">
<input type="text" id="subj01" className="form-control" placeholder="result"
style={{width:'30%'}} onChange={this.onChangeSubject01Result} required/>
</div>
</div>
<div className="row" style={{padding:'5px'}}>
<div className="col-2">
<span style={{float:'right'}}>Subject 02</span>
</div>
<div className="col">
<select className="form-control" style={{width: '100%'}}
onChange={e => this.onChangeSubject02(e.target.value)}>
<option value="" disabled selected>Select Subject</option>
{this.state.subjects.map((dis) => <option key={dis}
value={dis}>{dis}</option>)}
</select>
</div>
<div className="col-1">
<span>Result</span>
</div>
<div className="col">
<input type="text" id="subj02" className="form-control" placeholder="result"
style={{width:'30%'}} onChange={this.onChangeSubject02Result} required/>
</div>
</div>
<div className="row" style={{padding:'5px'}}>
<div className="col-2">
<span style={{float:'right'}}>Subject 03</span>
</div>
<div className="col">
<select className="form-control" style={{width: '100%'}}
onChange={e => this.onChangeSubject03(e.target.value)}>
<option value="" disabled selected>Select Subject</option>
{this.state.subjects.map((dis) => <option key={dis}
value={dis}>{dis}</option>)}
</select>
</div>
<div className="col-1">
<span>Result</span>
</div>
<div className="col">
<input type="text" id="subj03" className="form-control" placeholder="result"
style={{width:'30%'}} onChange={this.onChangeSubject03Result} required/>
</div>
</div>
<div className="row" style={{padding:'5px'}}>
<div className="col-2">
<span style={{float:'right'}}>General English</span>
</div>
<div className="col">
<input type="text" id="subj01" className="form-control" placeholder="result"
style={{width:'30%'}} onChange={this.onChangeGenEng} required/>
</div>
<div className="col-1">
</div>
<div className="col">
</div>
</div>
<div className="row" style={{padding:'5px'}}>
<div className="col-2">
<span style={{float:'right'}}>Common General Test</span>
</div>
<div className="col">
<input type="text" id="subj01" className="form-control" placeholder="result"
style={{width:'30%'}} onChange={this.onChangeComGenTest} required/>
</div>
<div className="col-1">
</div>
<div className="col">
</div>
</div>
<div className="row" style={{padding:'5px'}}>
<div className="col-2">
<span style={{float:'right'}}>Upload the image of result sheet</span>
</div>
<div className="col-4">
<input type="file" className="form-control"
style={{width:'100%'}} onChange={this.onFileChange}/>
</div>
<div className="col">
{/*<button className="btn btn-primary" style={{width:'50%',marginTop: '0px', backgroundColor: '#8C8C8C', borderColor: '#216E9B', float:'left'}}*/}
{/* onClick={this.onFileUpload}>Upload</button>*/}
</div>
<div className="col">
</div>
</div>
<div className="row">
<div className="col-2">
</div>
<div className="col">
{this.fileData()}
</div>
<div className="col">
</div>
</div>
<div className="row" style={{margin : '20px'}}>
<div className="col">
<button className="btn btn-primary" style={{width:'30%',marginTop: '0px', backgroundColor: '#265077', borderColor: '#216E9B'}}
onClick={this.onSubmitResults}>Submit Results</button>
</div>
</div>
</div>
</div>
)
}
}
\ No newline at end of file
import React, {Component} from 'react';
// import {NavLink, Route} from 'react-router-dom';
import {Link, Route} from "react-router-dom";
import {NavLink} from "react-router-dom";
import ALResults from "./ALResults";
export default class StudentDashboard extends Component {
render() {
return (
<div>
<meta charSet="utf-8"/>
<meta httpEquiv="X-UA-Compatible" content="IE=edge"/>
<meta httpEquiv="Content-Language" content="en"/>
<meta httpEquiv="Content-Type" content="text/html; charset=utf-8"/>
<title>SMART COACH - Student Dashboard</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, shrink-to-fit=no"/>
<div className="app-container app-theme-white body-tabs-shadow fixed-sidebar fixed-header">
<div className="app-header header-shadow">
<div className="app-header__logo">
<div className="logo-src"/>
<div className="header__pane ml-auto">
<div>
<button type="button" className="hamburger close-sidebar-btn hamburger--elastic"data-class="closed-sidebar">
<span className="hamburger-box">
<span className="hamburger-inner"/>
</span>
</button>
</div>
</div>
</div>
<div className="app-header__mobile-menu">
<div>
<button type="button" className="hamburger hamburger--elastic mobile-toggle-nav">
<span className="hamburger-box">
<span className="hamburger-inner"/>
</span>
</button>
</div>
</div>
<div className="app-header__menu">
<span>
<button type="button" className="btn-icon btn-icon-only btn btn-primary btn-sm mobile-toggle-header-nav">
<span className="btn-icon-wrapper">
<i className="fa fa-ellipsis-v fa-w-6"/>
</span>
</button>
</span>
</div>
<div className="app-header__content">
<div className="app-header-left">
{/* Search Bar */}
<div className="search-wrapper">
<div className="input-holder">
<input type="text" className="search-input" placeholder="Type to search"/>
<button className="search-icon"><span/></button>
</div>
<button className="close"/>
</div>
</div>
<div className="app-header-right">
<div className="header-btn-lg pr-0">
<div className="widget-content p-0">
<div className="widget-content-wrapper">
<div className="widget-content-left">
<div className="btn-group">
<div className="dropdown1">
<img width="42" className="rounded-circle" src="DashboardAssets/images/user.jpg" alt=""/>
<i className="fa fa-angle-down ml-2 opacity-8"/>
<div className="dropdown-content1 dropdown-menu-right">
<button type="button" className="dropdown-item">User Account</button>
<button type="button" className="dropdown-item" style={{color:"red"}}>Sign Out</button>
</div>
</div>
</div>
</div>
<div className="widget-content-left ml-3 header-user-info">
<div className="widget-heading">
Bandara Dissanayake
</div>
<div className="widget-subheading">
Tutor
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="ui-theme-settings">
<button type="button" id="TooltipDemo" className="btn-open-options btn btn-outline-secondary btn-warning" style={{color:"black"}}>
<i className="fa fa-cog fa-w-16 fa-spin fa-2x"/>
</button>
<div className="theme-settings__inner">
<div className="scrollbar-container">
<div className="theme-settings__options-wrapper">
<h3 className="themeoptions-heading">Layout Options
</h3>
<div className="p-3">
<ul className="list-group">
<li className="list-group-item">
<div className="widget-content p-0">
<div className="widget-content-wrapper">
<div className="widget-content-left mr-3">
<div className="switch has-switch switch-container-class"
data-class="fixed-header">
<div className="switch-animate switch-on">
<input type="checkbox" defaultChecked data-toggle="toggle" data-onstyle="success"/>
</div>
</div>
</div>
<div className="widget-content-left">
<div className="widget-heading">
Fixed Header
</div>
<div className="widget-subheading">
Makes the header top fixed, always visible!
</div>
</div>
</div>
</div>
</li>
<li className="list-group-item">
<div className="widget-content p-0">
<div className="widget-content-wrapper">
<div className="widget-content-left mr-3">
<div className="switch has-switch switch-container-class" data-class="fixed-sidebar">
<div className="switch-animate switch-on">
<input type="checkbox" data-toggle="toggle" data-onstyle="success"/>
</div>
</div>
</div>
<div className="widget-content-left">
<div className="widget-heading">
Fixed Sidebar
</div>
<div className="widget-subheading">
Makes the sidebar left fixed, always visible!
</div>
</div>
</div>
</div>
</li>
<li className="list-group-item">
<div className="widget-content p-0">
<div className="widget-content-wrapper">
<div className="widget-content-left mr-3">
<div className="switch has-switch switch-container-class"
data-class="fixed-footer">
<div className="switch-animate switch-off">
<input type="checkbox" data-toggle="toggle" data-onstyle="success"/>
</div>
</div>
</div>
<div className="widget-content-left">
<div className="widget-heading">Fixed Footer
</div>
<div className="widget-subheading">
Makes the app footer bottom fixed, always visible!
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
<h3 className="themeoptions-heading">
<div>
Header Options
</div>
<button type="button" className="btn-pill btn-shadow btn-wide ml-auto btn btn-focus btn-sm switch-header-cs-class" data-class>
Restore Default
</button>
</h3>
<div className="p-3">
<ul className="list-group">
<li className="list-group-item">
<h5 className="pb-2">Choose Color Scheme</h5>
<div className="theme-settings-swatches">
<div className="swatch-holder bg-primary switch-header-cs-class" data-class="bg-primary header-text-light"></div>
<div className="swatch-holder bg-secondary switch-header-cs-class" data-class="bg-secondary header-text-light"></div>
<div className="swatch-holder bg-success switch-header-cs-class"data-class="bg-success header-text-dark"></div>
<div className="swatch-holder bg-info switch-header-cs-class"ata-class="bg-info header-text-dark"></div>
<div className="swatch-holder bg-warning switch-header-cs-class"data-class="bg-warning header-text-dark"></div>
<div className="swatch-holder bg-danger switch-header-cs-class"data-class="bg-danger header-text-light"></div>
<div className="swatch-holder bg-light switch-header-cs-class"data-class="bg-light header-text-dark"></div>
<div className="swatch-holder bg-dark switch-header-cs-class"data-class="bg-dark header-text-light"></div>
<div className="swatch-holder bg-focus switch-header-cs-class"data-class="bg-focus header-text-light"></div>
<div className="swatch-holder bg-alternate switch-header-cs-class"data-class="bg-alternate header-text-light"></div>
<div className="divider"></div>
<div className="swatch-holder bg-vicious-stance switch-header-cs-class" data-class="bg-vicious-stance header-text-light"></div>
<div className="swatch-holder bg-midnight-bloom switch-header-cs-class" data-class="bg-midnight-bloom header-text-light"></div>
<div className="swatch-holder bg-night-sky switch-header-cs-class" data-class="bg-night-sky header-text-light"></div>
<div className="swatch-holder bg-slick-carbon switch-header-cs-class" data-class="bg-slick-carbon header-text-light"></div>
<div className="swatch-holder bg-asteroid switch-header-cs-class" data-class="bg-asteroid header-text-light"></div>
<div className="swatch-holder bg-royal switch-header-cs-class" data-class="bg-royal header-text-light"></div>
<div className="swatch-holder bg-warm-flame switch-header-cs-class" data-class="bg-warm-flame header-text-dark"></div>
<div className="swatch-holder bg-night-fade switch-header-cs-class" data-class="bg-night-fade header-text-dark"></div>
<div className="swatch-holder bg-sunny-morning switch-header-cs-class" data-class="bg-sunny-morning header-text-dark"></div>
<div className="swatch-holder bg-tempting-azure switch-header-cs-class" data-class="bg-tempting-azure header-text-dark"></div>
<div className="swatch-holder bg-amy-crisp switch-header-cs-class" data-class="bg-amy-crisp header-text-dark"></div>
<div className="swatch-holder bg-heavy-rain switch-header-cs-class" data-class="bg-heavy-rain header-text-dark"></div>
<div className="swatch-holder bg-mean-fruit switch-header-cs-class" data-class="bg-mean-fruit header-text-dark"></div>
<div className="swatch-holder bg-malibu-beach switch-header-cs-class" data-class="bg-malibu-beach header-text-light"></div>
<div className="swatch-holder bg-deep-blue switch-header-cs-class" data-class="bg-deep-blue header-text-dark"></div>
<div className="swatch-holder bg-ripe-malin switch-header-cs-class" data-class="bg-ripe-malin header-text-light"></div>
<div className="swatch-holder bg-arielle-smile switch-header-cs-class" data-class="bg-arielle-smile header-text-light"></div>
<div className="swatch-holder bg-plum-plate switch-header-cs-class" data-class="bg-plum-plate header-text-light"></div>
<div className="swatch-holder bg-happy-fisher switch-header-cs-class" data-class="bg-happy-fisher header-text-dark"></div>
<div className="swatch-holder bg-happy-itmeo switch-header-cs-class" data-class="bg-happy-itmeo header-text-light"></div>
<div className="swatch-holder bg-mixed-hopes switch-header-cs-class" data-class="bg-mixed-hopes header-text-light"></div>
<div className="swatch-holder bg-strong-bliss switch-header-cs-class" data-class="bg-strong-bliss header-text-light"></div>
<div className="swatch-holder bg-grow-early switch-header-cs-class" data-class="bg-grow-early header-text-light"></div>
<div className="swatch-holder bg-love-kiss switch-header-cs-class" data-class="bg-love-kiss header-text-light"></div>
<div className="swatch-holder bg-premium-dark switch-header-cs-class" data-class="bg-premium-dark header-text-light"></div>
<div className="swatch-holder bg-happy-green switch-header-cs-class" data-class="bg-happy-green header-text-light"></div>
</div>
</li>
</ul>
</div>
<h3 className="themeoptions-heading">
<div>Sidebar Options</div>
<button type="button" className="btn-pill btn-shadow btn-wide ml-auto btn btn-focus btn-sm switch-sidebar-cs-class" data-class>
Restore Default
</button>
</h3>
<div className="p-3">
<ul className="list-group">
<li className="list-group-item">
<h5 className="pb-2">Choose Color Scheme</h5>
<div className="theme-settings-swatches">
<div className="swatch-holder bg-primary switch-sidebar-cs-class" data-class="bg-primary sidebar-text-light"></div>
<div className="swatch-holder bg-secondary switch-sidebar-cs-class" data-class="bg-secondary sidebar-text-light"></div>
<div className="swatch-holder bg-success switch-sidebar-cs-class" data-class="bg-success sidebar-text-dark"></div>
<div className="swatch-holder bg-info switch-sidebar-cs-class" data-class="bg-info sidebar-text-dark"></div>
<div className="swatch-holder bg-warning switch-sidebar-cs-class" data-class="bg-warning sidebar-text-dark"></div>
<div className="swatch-holder bg-danger switch-sidebar-cs-class" data-class="bg-danger sidebar-text-light"></div>
<div className="swatch-holder bg-light switch-sidebar-cs-class" data-class="bg-light sidebar-text-dark"></div>
<div className="swatch-holder bg-dark switch-sidebar-cs-class" data-class="bg-dark sidebar-text-light"></div>
<div className="swatch-holder bg-focus switch-sidebar-cs-class" data-class="bg-focus sidebar-text-light"></div>
<div className="swatch-holder bg-alternate switch-sidebar-cs-class" data-class="bg-alternate sidebar-text-light"></div>
<div className="divider"></div>
<div className="swatch-holder bg-vicious-stance switch-sidebar-cs-class" data-class="bg-vicious-stance sidebar-text-light"></div>
<div className="swatch-holder bg-midnight-bloom switch-sidebar-cs-class" data-class="bg-midnight-bloom sidebar-text-light"></div>
<div className="swatch-holder bg-night-sky switch-sidebar-cs-class" data-class="bg-night-sky sidebar-text-light"></div>
<div className="swatch-holder bg-slick-carbon switch-sidebar-cs-class" data-class="bg-slick-carbon sidebar-text-light"></div>
<div className="swatch-holder bg-asteroid switch-sidebar-cs-class" data-class="bg-asteroid sidebar-text-light"></div>
<div className="swatch-holder bg-royal switch-sidebar-cs-class" data-class="bg-royal sidebar-text-light"></div>
<div className="swatch-holder bg-warm-flame switch-sidebar-cs-class" data-class="bg-warm-flame sidebar-text-dark"></div>
<div className="swatch-holder bg-night-fade switch-sidebar-cs-class" data-class="bg-night-fade sidebar-text-dark"></div>
<div className="swatch-holder bg-sunny-morning switch-sidebar-cs-class" data-class="bg-sunny-morning sidebar-text-dark"></div>
<div className="swatch-holder bg-tempting-azure switch-sidebar-cs-class" data-class="bg-tempting-azure sidebar-text-dark"></div>
<div className="swatch-holder bg-amy-crisp switch-sidebar-cs-class" data-class="bg-amy-crisp sidebar-text-dark"></div>
<div className="swatch-holder bg-heavy-rain switch-sidebar-cs-class" data-class="bg-heavy-rain sidebar-text-dark"></div>
<div className="swatch-holder bg-mean-fruit switch-sidebar-cs-class" data-class="bg-mean-fruit sidebar-text-dark"></div>
<div className="swatch-holder bg-malibu-beach switch-sidebar-cs-class" data-class="bg-malibu-beach sidebar-text-light"></div>
<div className="swatch-holder bg-deep-blue switch-sidebar-cs-class" data-class="bg-deep-blue sidebar-text-dark"></div>
<div className="swatch-holder bg-ripe-malin switch-sidebar-cs-class" data-class="bg-ripe-malin sidebar-text-light"></div>
<div className="swatch-holder bg-arielle-smile switch-sidebar-cs-class" data-class="bg-arielle-smile sidebar-text-light"></div>
<div className="swatch-holder bg-plum-plate switch-sidebar-cs-class" data-class="bg-plum-plate sidebar-text-light"></div>
<div className="swatch-holder bg-happy-fisher switch-sidebar-cs-class" data-class="bg-happy-fisher sidebar-text-dark"></div>
<div className="swatch-holder bg-happy-itmeo switch-sidebar-cs-class" data-class="bg-happy-itmeo sidebar-text-light"></div>
<div className="swatch-holder bg-mixed-hopes switch-sidebar-cs-class" data-class="bg-mixed-hopes sidebar-text-light"></div>
<div className="swatch-holder bg-strong-bliss switch-sidebar-cs-class" data-class="bg-strong-bliss sidebar-text-light"></div>
<div className="swatch-holder bg-grow-early switch-sidebar-cs-class" data-class="bg-grow-early sidebar-text-light"></div>
<div className="swatch-holder bg-love-kiss switch-sidebar-cs-class" data-class="bg-love-kiss sidebar-text-light"></div>
<div className="swatch-holder bg-premium-dark switch-sidebar-cs-class" data-class="bg-premium-dark sidebar-text-light"></div>
<div className="swatch-holder bg-happy-green switch-sidebar-cs-class" data-class="bg-happy-green sidebar-text-light"></div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div className="app-main">
<div className="app-sidebar sidebar-shadow">
<div className="app-header__logo">
<div className="logo-src"/>
<div className="header__pane ml-auto">
<div>
<button type="button" className="hamburger close-sidebar-btn hamburger--elastic" data-class="closed-sidebar">
<span className="hamburger-box">
<span className="hamburger-inner"/>
</span>
</button>
</div>
</div>
</div>
<div className="app-header__mobile-menu">
<div>
<button type="button" className="hamburger hamburger--elastic mobile-toggle-nav">
<span className="hamburger-box">
<span className="hamburger-inner"/>
</span>
</button>
</div>
</div>
<div className="app-header__menu">
<span>
<button type="button" className="btn-icon btn-icon-only btn btn-primary btn-sm mobile-toggle-header-nav">
<span className="btn-icon-wrapper">
<i className="fa fa-ellipsis-v fa-w-6"/>
</span>
</button>
</span>
</div>
{/* Side Bar */}
<div className="scrollbar-sidebar">
<div className="app-sidebar__inner">
<ul className="vertical-nav-menu">
{/*<li>*/}
{/* <NavLink activeClassName='mm-active' to={"/studentDashboard"}>*/}
{/* <i className="metismenu-icon fa fa-tachometer"></i>*/}
{/* Student Dashboard*/}
{/* </NavLink>*/}
{/* <Link to={"/admin"}>*/}
{/* <i className="metismenu-icon fa fa-tachometer"></i>*/}
{/* Dashboard*/}
{/* </Link>*/}
{/*</li>*/}
<li>
<a href="#">
<i className="metismenu-icon fa fa-calendar"></i>
Discussion Forms
<i className="metismenu-state-icon fa fa-caret-down"></i>
</a>
<ul>
<li>
<a href="#">
<i className="metismenu-icon"></i>
19-Acc-Sasip
</a>
</li>
<li>
<a href="#">
<i className="metismenu-icon"></i>
19-Econ-Skya
</a>
</li>
</ul>
</li>
<li>
<a href="#">
<i className="metismenu-icon fa fa-graduation-cap"></i>
My classes
<i className="metismenu-state-icon fa fa-caret-down"></i>
</a>
<ul>
<li>
<a href="#">
<i className="metismenu-icon"></i>
19-Acc-Sasip
</a>
</li>
<li>
<a href="#">
<i className="metismenu-icon"></i>
19-Econ-Skya
</a>
</li>
<li>
<a href="#">
<i className="metismenu-icon"></i>
19-BS-Skya
</a>
</li>
</ul>
</li>
<li>
<a href="#">
<i className="metismenu-icon fa fa-dollar-sign"></i>
Student Profile
<i className="metismenu-state-icon fa fa-caret-down"></i>
</a>
<ul>
<li>
<NavLink
to={"/studentDashboard"}>
<i className="metismenu-icon"></i>
Profile
</NavLink>
</li>
<li>
<NavLink to={"/studentDashboard"}>
<i className="metismenu-icon"></i>
Exam Marks
</NavLink>
</li>
<li>
<NavLink to={"/studentDashboard/ALResults"}>
<i className="metismenu-icon"></i>
A/L - Results
</NavLink>
</li>
</ul>
</li>
<li>
<a href="#">
<i className="metismenu-icon fa fa-file-pdf-o"></i>
Reports
<i className="metismenu-state-icon fa fa-caret-down"></i>
</a>
<ul>
<li>
<a href="#">
<i className="metismenu-icon"></i>
Attendance Report
</a>
</li>
<li>
<a href="#">
<i className="metismenu-icon"></i>
Student Progress Report
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
{/* End of Side Bar */}
</div>
<div className="app-main__outer">
<div className="app-main__inner">
{/* ------------------------------Content---------------------------------------- */}
<Route path="/studentDashboard/ALResults" exact component={ALResults}/>
{/* <Route path="/admin/finance/add" exact component={AddFinance} />*/}
{/* <Route path={"/admin/finance/edit/:id"} exact component={EditFinance}/>*/}
</div>
{/* Footer */}
<div className="app-wrapper-footer">
<div className="app-footer">
<div className="app-footer__inner">
<div className="app-footer-left">
<ul className="nav">
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link">Copyright &copy; 2021</a>
</li>
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link" style={{color:"red",marginLeft:"-25px"}}>SMART COACH</a>
</li>
</ul>
</div>
<div className="app-footer-right">
<ul className="nav">
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link">Engineered By</a>
</li>
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link" style={{color:"red",marginLeft:"-25px"}}>2021-049</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
)
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment