diff --git a/assets/js/Dashboard.jsx b/assets/js/Dashboard.jsx
index c317fa5a8aa4b22997fddec9c9483602f1a79e08..c1b9287f6905481fbd3953a870bdf7fbbfd3a801 100755
--- a/assets/js/Dashboard.jsx
+++ b/assets/js/Dashboard.jsx
@@ -1,20 +1,53 @@
 import React from 'react';
 import TopMenu from './components/TopMenu';
-import Footer from './components/Footer'
+import Server from './lib/Server';
+
+
+const defaultPicture = 'http://semantic-ui.com/images/avatar/small/elliot.jpg';
 
 export default class Dashboard extends React.Component {
   static propTypes = {
+    user: React.PropTypes.object.isRequired,
+    route: React.PropTypes.object.isRequired,
+    params: React.PropTypes.object.isRequired,
     children: React.PropTypes.oneOfType([
       React.PropTypes.arrayOf(React.PropTypes.node),
       React.PropTypes.node,
     ]).isRequired,
   };
 
+  static getInfo(user) {
+    const role = user.role;
+    if (role === 'student') {
+      return user.data.student;
+    } else if (role === 'company') {
+      return user.data.company;
+    }
+
+    return 0;
+  }
+
+  constructor(props) {
+    super(props);
+    /* istanbul ignore next */
+    const data = Dashboard.getInfo(this.props.user);
+    this.state = {
+      id: data.id,
+      name: data.name,
+      email: data.user.email,
+      photo: data.photo,
+    };
+  }
+
+
   render = () => (
     <div>
-      <TopMenu />
-      <div className="content"> {this.props.children} </div>
-      <Footer />
+      <TopMenu
+        name={this.state.name} email={this.state.email}
+        photo={this.state.photo ? this.state.photo : defaultPicture}
+      />
+      {this.props.children}
     </div>
   )
 }
+
diff --git a/assets/js/VacancyPage.jsx b/assets/js/VacancyPage.jsx
index 438defe00d070801a2e770dd02e95791f7f20b67..98425697314a791cb8f1596bf06ceb409ee06e63 100644
--- a/assets/js/VacancyPage.jsx
+++ b/assets/js/VacancyPage.jsx
@@ -61,7 +61,6 @@ export default class VacancyPage extends React.Component {
       return (
         <VacancyList key={1} userId={this.state.id} url={`/companies/${this.state.id}/vacancies/`} type="company" />
       );
-    }
 
     return (
       <div>
diff --git a/assets/js/components/TopMenu.jsx b/assets/js/components/TopMenu.jsx
index 43319101a03cefeb8bdcadaf9be8db0b7cd4a573..96b27829853fd2799b338d840b67c5d105996556 100644
--- a/assets/js/components/TopMenu.jsx
+++ b/assets/js/components/TopMenu.jsx
@@ -1,15 +1,22 @@
 import React from 'react';
-import { Menu, Image } from 'semantic-ui-react';
+import { Menu, Image, Popup, Button, Card } from 'semantic-ui-react';
 import { Link, browserHistory } from 'react-router';
-
 import Server from '../lib/Server';
 import Storage from '../lib/Storage';
 
 export default class TopMenu extends React.Component {
 
+  static propTypes = {
+    // user: React.PropTypes.object.isRequired,
+    name: React.PropTypes.string.isRequired,
+    email: React.PropTypes.string.isRequired,
+    photo: React.PropTypes.any.isRequired,
+  };
+
   constructor(props) {
     super(props);
     /* istanbul ignore next */
+    // console.log(this.props.user);
     this.state = { activeItem: 'home' };
     this.logout = this.logout.bind(this);
   }
@@ -25,13 +32,32 @@ export default class TopMenu extends React.Component {
 
   render() {
     const { activeItem } = this.state;
+
     return (
       <Menu color="blue" pointing secondary>
         <Image as="a" size="small" src="/assets/img/logo.png" href="/" />
         <Menu.Menu position="right">
           <Menu.Item as={Link} to="/home" name="home" active={activeItem === 'home'} onClick={this.handleItemClick} />
-          <Menu.Item as={Link} to="/profile" name="profil" active={activeItem === 'profil'} onClick={this.handleItemClick} />
-          <Menu.Item as={Link} onClick={this.logout} name="logout" />
+          <Menu.Item as={Link} to="/profil" name="profile" onClick={this.handleItemClick} />
+          <Menu.Item>
+            <Popup
+              trigger={<Image
+                as={Link} to="/profil" src={this.props.photo} avatar
+                onClick={this.handleItemClick}
+              />}
+              flowing
+              hoverable
+            >
+
+              <Card
+                header={this.props.name}
+                description={this.props.email}
+              />
+              <Button as={Link} onClick={this.logout} name="logout" color="blue" size="tiny">Logout</Button>
+
+            </Popup>
+
+          </Menu.Item>
         </Menu.Menu>
       </Menu>
     );
diff --git a/assets/js/index.jsx b/assets/js/index.jsx
index 76c1a224bd3ed72d17a4468eaeaa29bbdee3f37c..da2d971a4d0291da5bea562418d5914165e88e46 100644
--- a/assets/js/index.jsx
+++ b/assets/js/index.jsx
@@ -86,11 +86,12 @@ export default class App extends React.Component {
     const commonUser = this.authorization(['admin', 'student', 'company']);
     const grownups = this.authorization(['admin', 'company', 'supervisor']);
     const facultyMember = this.authorization(['admin', 'student', 'supervisor']);
+    const all = this.authorization(['admin', 'company', 'student', 'supervisor']);
 
     return (
       <Router history={browserHistory}>
         <Route path="/login" component={Login} />
-        <Route component={Dashboard} onEnter={this.handleAuth}>
+        <Route component={all(Dashboard)} onEnter={this.handleAuth} own>
           <Route path="/transcript/:id" component={company(TranscriptPage)} />
           <Route path="/lowongan" component={commonUser(VacancyPage)} />
           <Route path="/admin-lowongan" component={AdminVacancyPage} />