Fakultas Ilmu Komputer UI

Commit 2e99dca0 authored by zamil majdy's avatar zamil majdy
Browse files

Merge branch 'Personal/Sirin' into 'UserStory4'

Company Home Page

See merge request !3
parents 5c921954 6fcbc79f
body{
padding: 0;
height: auto;
width: auto;
background-color: black;
}
.center{
text-align: center;
}
......@@ -17,21 +10,26 @@ body{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
body {
font: 300 14px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
margin: 0;
padding: 0;
}
.halamanLowongan{
.applicant{
margin-left: 150px;
margin-right: 150px;
}
.ui.inverted.segment.header{
background-color: #EEEEEE;
color:black;
}
.ui.card.register{
background-color: #EEEEEE;
}
.tabs {
margin-top: 100px;
margin-left: 150px;
margin-right: 150px;
margin-left: 100px;
margin-right: 100px;
background: #fff;
border: 1px solid #e5e5e5;
border-radius: 3px;
......@@ -59,29 +57,21 @@ body {
}
.halamanLogin{
background-image: url("../img/bw.jpg");
background-image: url("../img/bw-blur.png");
background-size: cover;
background-position: center;
background-position: center;
background-attachment: fixed;
height: 700px;
padding-bottom: 80px;
}
.register{
margin-left:180px;
margin-right:110px;
.headerLoginform{
background-color: #2e6da4;
}
.formLogin{
margin: 0 auto;
margin-top: 100px;
margin-top: 80px;
width: 430px;
border: 2px solid transparent;
border-radius: 12px;
border-color:#e8e8e8;
padding: 20px;
background-color: white;
}
.registerModal{
......@@ -95,7 +85,6 @@ padding: 20px;
.formLogin img{
height: 70px !important;
margin:5px;
margin-bottom:30px;
}
.formLogin span{
......@@ -129,17 +118,25 @@ font-size: 32px;
margin-bottom: 10px;
}
.registerForm{
margin: 0 auto;
padding:50px;
background-color: #3B8686;
}
item{
h3{
color:black;
}
h4{
color: black;
}
h5{
color: black;
}
textarea{
width: 800px !important;
height: 160px !important;
......@@ -174,3 +171,10 @@ itemLowongan{
color: black;
}
.ui.pointing.secondary.menu{
background-color: #ffffff;
}
.item.applicantItems{
height: 110px;
}
\ No newline at end of file
import React from 'react';
import Tabs from './components/Tabs';
import Pane from './components/Pane';
import Storage from './lib/Storage';
import VacancyList from './components/VacancyList';
export default class VacancyPage extends React.Component {
constructor(props) {
super(props);
/* istanbul ignore next */
this.state = {
email: '',
password: '',
errorFlag: false,
vacancies: [],
};
this.handleItemClick = this.handleItemClick.bind(this);
}
handleItemClick = (e, { name }) => this.setState({ activeItem: name });
render() {
const student = Storage.get('user-data').student;
return (
<div className="halamanPendaftar">
<Tabs selected={0}>
<Pane label="Lamaran Baru" >
<VacancyList key={1} studentId={student.id} url="/vacancies/" />
</Pane>
<Pane label="Bintangi" >
<VacancyList key={2} status="Batal" studentId={student.id} url={`/students/${student.id}/applied-vacancies/`} />
</Pane>
<Pane label="Semua Lamaran" >
<VacancyList key={3} studentId={student.id} url={`/students/${student.id}/bookmarked-vacancies/`} />
</Pane>
</Tabs>
</div>
);
}
}
import React from 'react';
import CompanyVacancy from './components/CompanyVacancy';
export default class ApplicantPage extends React.Component {
render() {
return (
<CompanyVacancy header="Software Engineer" />
);
}
}
import React from 'react';
import { Grid, Segment, Card } from 'semantic-ui-react';
import { Grid, Segment, Button, Header, Icon, Modal, Form, Input, TextArea, Card, Image} from 'semantic-ui-react';
import LoginForm from './components/LoginForm';
import RegisterModal from './components/RegisterModal';
......@@ -19,20 +19,33 @@ export default class Login extends React.Component {
render = () => (
<div className="halamanLogin">
<Grid columns={2} relaxed>
<div className="headerLogin">
<Header as='h2' icon textAlign='center' >
<Image src='/assets/img/logo.png' size='medium' centered />
<Header.Content >
Kanal Akses Pendaftaran KP Elektronik
</Header.Content>
</Header>
</div>
<Grid stackable columns={2} relaxed>
<Grid.Column>
<Segment basic>
<LoginForm type="company" header="Company Login" imgSrc="logo.png" imgSize="small" />
{this.props.children}
</Segment >
<div className="register">
<Card>
<Card centered className="register" >
<Card.Content>
<Card.Header>
New to us ?
</Card.Header>
<RegisterModal />
<Grid columns={2} relaxed>
<Grid.Column>
<Header as="h3">New to us ?</Header>
</Grid.Column>
<Grid.Column>
<RegisterModal />
</Grid.Column>
</Grid>
</Card.Content>
</Card>
</div>
......
/**
* Created by baisa on 09/04/2017.
*/
import React from 'react';
import ReactTestUtils from 'react-addons-test-utils';
import CompanyVacancy from '../../components/CompanyVacancy';
describe('ApplyModal', () => {
it('renders without problem', () => {
const companyVacancy = ReactTestUtils.renderIntoDocument(
<CompanyVacancy header="header"/>);
expect(companyVacancy).to.exist;
});
}
......@@ -35,7 +35,7 @@ export default class ApplyModal extends React.Component {
render = () => (
<Modal
trigger={<Button onClick={this.handleOpen} floated="right">{this.props.buttonTitle}</Button>}
trigger={<Button primary onClick={this.handleOpen} floated="right">{this.props.buttonTitle}</Button>}
closeIcon="close"
open={this.state.modalOpen}
onClose={this.handleClose}
......
import React from 'react';
import { Segment, Button, Icon, Item } from 'semantic-ui-react';
export default class ApplicantList extends React.Component {
static propTypes = {
header: React.PropTypes.string.isRequired,
};
render() {
return (
<div className="applicant" >
<Button icon="eye" secondary labelPosition="left" content="Lihat Semua Pendaftar" />
<Button icon="add" secondary labelPosition="left" content="Tambah Lowongan Baru" />
<Segment>
<Item.Group divided>
<Item className="applicantItems">
<Item.Image src="/assets/images/wireframe/image.png" siza="tiny" />
<Item.Content>
<Item.Header as="a">{this.props.header}</Item.Header>
<Segment padded basic floated="right">
<Button primary floated="right" >Ubah<Icon name="right chevron" /></Button>
<Segment basic> 5 jam lalu</Segment>
</Segment>
<Item.Extra>
<h3> 105 Pendaftar </h3>
</Item.Extra>
</Item.Content>
</Item>
</Item.Group>
</Segment>
</div>
);
}
}
import React from 'react';
import { Form, Input, Button, Message, Image, Card } from 'semantic-ui-react';
import { Form, Input, Button, Message, Image, Card, Header, Segment } from 'semantic-ui-react';
import { browserHistory } from 'react-router';
import Server from '../lib/Server';
import Storage from '../lib/Storage';
......@@ -51,35 +51,33 @@ export default class LoginForm extends React.Component {
<div className="formLogin" >
<Segment.Group>
<Segment>
<Image src={`./assets/img/${this.props.imgSrc}`} size={this.props.imgSize} verticalAlign="middle" /> <span>{ this.props.header }</span>
</Segment>
<Segment inverted className='header' >
<Form onSubmit={e => this.handleSubmit(e)} error={this.state.errorFlag}>
<div className="formHeader">
<Image src={`./assets/img/${this.props.imgSrc}`} size={this.props.imgSize} verticalAlign="middle" /> <span>{ this.props.header }</span>
</div>
<Form.Group widths="equal">
<Form.Field>
<label htmlFor="id"> Username </label>
<Input type="text" id="username" icon="user" iconPosition="left" placeholder="username" onChange={e => this.handleChange(e, 'username')} required />
</Form.Field>
</Form.Group>
<Form.Group widths="equal">
<Form.Field>
<label htmlFor="password"> Password </label>
<Input type="password" id="password" icon="key" iconPosition="left" placeholder="password" onChange={e => this.handleChange(e, 'password')} required />
</Form.Field>
</Form.Group>
<Button type="submit" fluid color="blue">Login</Button>
<Message
error
content="Login gagal: username atau password salah."
/>
</Form>
</Segment>
</Segment.Group>
</div>
)
}
......@@ -56,7 +56,7 @@ export default class RegisterModal extends React.Component {
};
render = () => (
<Modal trigger={<Button primary floated="right">Register Here!</Button>} closeIcon="close">
<Modal trigger={<Button primary floated="right">Register</Button>} closeIcon="close">
<Header icon="archive" content="Register for More Benefits" />
<Modal.Content>
......@@ -65,7 +65,7 @@ export default class RegisterModal extends React.Component {
<Icon name="signup" circular />
<Header.Content>
Register
</Header.Content>
</Header.Content>
</Header>
<Form.Field required>
<label htmlFor="email">Email</label>
......@@ -108,11 +108,13 @@ export default class RegisterModal extends React.Component {
<label htmlFor="address">Alamat</label>
<Input onChange={this.handleChange} placeholder="Alamat" name="address" required />
</Form.Field>
<Button type="submit" floated="right" color="blue">Submit</Button>
</Form>
</Modal.Content>
<Modal.Actions>
<Button type="submit" color="blue"> <Icon name='checkmark' />Submit</Button>
</Modal.Actions>
</Modal.Content>
<Modal.Actions />
</Modal>
)
}
......
......@@ -5,6 +5,7 @@ import { Segment } from 'semantic-ui-react';
import Dashboard from './Dashboard';
import Login from './Login';
import VacancyPage from './VacancyPage';
import HomeCompany from './HomeCompany';
import Server from './lib/Server';
import Storage from './lib/Storage';
......@@ -43,6 +44,7 @@ export default class App extends React.Component {
<Route path="/" component={VacancyPage} />
<Route path="/profile" component={Profile} />
<Route path="/lowongan" component={VacancyPage} />
<Route path="/company" component={HomeCompany} />
<Route path="/users" component={Profile} />
</Route>
<Route path="/home" onEnter={this.handleHome} />
......
Supports Markdown
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