Skip to content

Commit e467862

Browse files
committed
change planet body layout
1 parent 6b03ea2 commit e467862

10 files changed

Lines changed: 215 additions & 82 deletions

File tree

browser/main/Containers/LoginContainer.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ module.exports = React.createClass({
1616
Auth.attempt()
1717
// TODO: request user data
1818
.then(function (user) {
19-
this.transitionTo('dashboard', {planetName: user.name})
19+
this.transitionTo('dashboard', {userName: user.name, planetName: user.name})
2020
}.bind(this))
2121
e.preventDefault()
2222
},

browser/main/Containers/PlanetContainer.jsx

Lines changed: 57 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ var Link = ReactRouter.Link
55
var ModalBase = require('../Components/ModalBase')
66
var LaunchModal = require('../Components/LaunchModal')
77

8+
var currentUser = {
9+
name: 'testcat',
10+
email: 'testcat@example.com',
11+
profileName: 'Test Cat'
12+
}
13+
814
var userPlanets = [
915
{
1016
id: 1,
@@ -25,34 +31,68 @@ var userPlanets = [
2531

2632
var PlanetNavigator = React.createClass({
2733
propTypes: {
28-
currentPlanet: React.PropTypes.object
34+
currentPlanet: React.PropTypes.object,
35+
currentUser: React.PropTypes.object
2936
},
3037
render: function () {
31-
var planets = userPlanets.map(function (planet) {
38+
var planets = userPlanets.map(function (planet, index) {
3239
return (
33-
<li key={planet.id} className={this.props.currentPlanet.name === planet.name ? 'active' : ''}><a>{planet.profileName[0]}</a></li>
40+
<li key={planet.id} className={this.props.currentPlanet.name === planet.name ? 'active' : ''}>
41+
<a>{planet.profileName[0]}</a>
42+
<div className='shortCut'>{index + 1}</div>
43+
</li>
3444
)
3545
}.bind(this))
3646

3747
return (
3848
<div className='PlanetNavigator'>
49+
<a className='userConfig'>
50+
<img width='50' height='50' src='../vendor/dummy.jpg'/>
51+
</a>
3952
<ul>
4053
{planets}
4154
</ul>
55+
<button className='newPlanet'><i className='fa fa-plus'/></button>
56+
</div>
57+
)
58+
}
59+
})
60+
61+
var PlanetHeader = React.createClass({
62+
propTypes: {
63+
currentPlanet: React.PropTypes.object,
64+
currentUser: React.PropTypes.object
65+
},
66+
render: function () {
67+
var currentPlanetName = this.props.currentPlanet.name
68+
69+
return (
70+
<div className='PlanetHeader'>
71+
<span className='planetName'>{currentPlanetName}</span>
72+
<button className='menuBtn'>
73+
<i className='fa fa-chevron-down'></i>
74+
</button>
75+
<span className='searchInput'>
76+
<i className='fa fa-search'/>
77+
<input type='text' className='inline-input circleInput' placeholder='Search...'/>
78+
</span>
79+
<a className='downloadBtn btn-primary'>Download Mac app</a>
4280
</div>
4381
)
4482
}
4583
})
4684

4785
var PlanetMain = React.createClass({
4886
propTypes: {
49-
currentPlanet: React.PropTypes.object
87+
currentPlanet: React.PropTypes.object,
88+
currentUser: React.PropTypes.object
5089
},
5190
render: function () {
5291
return (
5392
<div className='PlanetMain'>
54-
<SideNavigator currentPlanet={this.props.currentPlanet}/>
55-
<Screen currentPlanet={this.props.currentPlanet}/>
93+
<PlanetHeader currentPlanet={this.props.currentPlanet} currentUser={this.props.currentUser}/>
94+
<SideNavigator currentPlanet={this.props.currentPlanet} currentUser={this.props.currentUser}/>
95+
<PlanetBody currentPlanet={this.props.currentPlanet}/>
5696
</div>
5797
)
5898
}
@@ -62,6 +102,9 @@ var SideNavigator = React.createClass({
62102
propTypes: {
63103
currentPlanet: React.PropTypes.shape({
64104
name: React.PropTypes.string
105+
}),
106+
currentUser: React.PropTypes.shape({
107+
name: React.PropTypes.string
65108
})
66109
},
67110
getInitialState: function () {
@@ -82,29 +125,24 @@ var SideNavigator = React.createClass({
82125
},
83126
render: function () {
84127
var currentPlanetName = this.props.currentPlanet.name
128+
var currentUserName = this.props.currentUser.name
85129

86130
return (
87131
<div className='SideNavigator'>
88-
<div className='nav-header'>
89-
<p className='planet-name'>{currentPlanetName}</p>
90-
<button className='menu-btn'>
91-
<i className='fa fa-chevron-down'></i>
92-
</button>
93-
</div>
94132
<button onClick={this.openLaunchModal} className='btn-primary btn-block'>
95133
<i className='fa fa-rocket fa-fw'/> Launch
96134
</button>
97135
<ModalBase isOpen={this.state.isLaunchModalOpen} close={this.closeLaunchModal}>
98136
<LaunchModal submit={this.submitLaunchModal} close={this.closeLaunchModal}/>
99137
</ModalBase>
100138
<nav>
101-
<Link to='dashboard' params={{planetName: currentPlanetName}}>
139+
<Link to='dashboard' params={{userName: currentUserName, planetName: currentPlanetName}}>
102140
<i className='fa fa-home fa-fw'/> Home
103141
</Link>
104-
<Link to='snippets' params={{planetName: currentPlanetName}}>
142+
<Link to='snippets' params={{userName: currentUserName, planetName: currentPlanetName}}>
105143
<i className='fa fa-code fa-fw'/> Snippets
106144
</Link>
107-
<Link to='blueprint' params={{planetName: currentPlanetName}}>
145+
<Link to='blueprint' params={{userName: currentUserName, planetName: currentPlanetName}}>
108146
<i className='fa fa-wrench fa-fw'/> Blueprints
109147
</Link>
110148
</nav>
@@ -113,10 +151,10 @@ var SideNavigator = React.createClass({
113151
}
114152
})
115153

116-
var Screen = React.createClass({
154+
var PlanetBody = React.createClass({
117155
render: function () {
118156
return (
119-
<div className='Screen'>
157+
<div className='PlanetBody'>
120158
<RouteHandler/>
121159
</div>
122160
)
@@ -151,8 +189,8 @@ module.exports = React.createClass({
151189

152190
return (
153191
<div className='PlanetContainer'>
154-
<PlanetNavigator currentPlanet={currentPlanet}/>
155-
<PlanetMain currentPlanet={currentPlanet}/>
192+
<PlanetNavigator currentPlanet={currentPlanet} currentUser={currentUser}/>
193+
<PlanetMain currentPlanet={currentPlanet} currentUser={currentUser}/>
156194
</div>
157195
)
158196
}

browser/main/Containers/RegisterContainer.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ module.exports = React.createClass({
1717
Auth.register()
1818
// TODO: request user data
1919
.then(function (user) {
20-
this.transitionTo('dashboard', {planetName: user.name})
20+
this.transitionTo('dashboard', {userName: user.name, planetName: user.name})
2121
}.bind(this))
2222

2323
e.preventDefault()

browser/main/Containers/SnippetContainer.jsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ var SnippetList = React.createClass({
3232

3333
return (
3434
<div className='SnippetList'>
35-
<div className='search'><input className='block-input' type='text' placeholder='Search...'/></div>
3635
<ul>
3736
{snippets}
3837
</ul>

browser/main/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var BlueprintContainer = require('./Containers/BlueprintContainer.jsx')
2020

2121
var routes = (
2222
<Route path='/' handler={MainContainer}>
23-
<Route name='planet' path='planet/:planetName' handler={PlanetContainer}>
23+
<Route name='planet' path=':userName/:planetName' handler={PlanetContainer}>
2424
<DefaultRoute name='dashboard' handler={Dashboard}/>
2525
<Route name='snippets' handler={SnippetContainer}/>
2626
<Route name='blueprint' handler={BlueprintContainer}/>
Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,22 @@
11
.SideNavigator
2-
absolute top bottom left
2+
absolute bottom left
3+
top 65px
34
width 200px
45
border-right solid 1px highlightenBorderColor
56
padding 10px
67
box-sizing border-box
7-
.nav-header
8-
clearfix()
9-
margin-bottom 15px
10-
.planet-name
11-
float left
12-
line-height 30px
13-
font-size 1.1em
14-
.menu-btn
15-
float right
16-
display block
17-
font-size 0.8em
18-
color lightButtonColor
19-
border solid 2px lightButtonColor
20-
box-sizing border-box
21-
circle()
22-
background-image none
23-
background-color transparent
24-
width 30px
25-
height 30px
26-
text-align center
27-
cursor pointer
28-
transform scale(0.8)
29-
&:active, &.active, &:hover, &.hover
30-
background-color lightButtonColor
31-
color white
328
nav
339
a
3410
display block
35-
position relative
36-
right 0px
3711
box-sizing border-box
38-
width 190px
3912
padding 15px 15px
4013
margin 10px 0
14+
border-radius 10px
4115
text-decoration none
42-
border-radius left 10px
4316
background-color transparent
4417
color textColor
4518
transition 0.1s
4619
&:hover, &.hover
4720
background-color hoverBackgroundColor
4821
&:active, &.active
49-
background-color brandColor
50-
color white
22+
color brandColor

browser/styles/main/containers/SnippetContainer.styl

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,9 @@
77
absolute top bottom left
88
width 250px
99
border-right solid 1px highlightenBorderColor
10-
.search
11-
border-bottom solid 1px borderColor
12-
padding 5px
13-
margin 0
1410

1511
&>ul
16-
absolute bottom left right
17-
top 44px
12+
absolute top bottom left right
1813
overflow-y auto
1914
li
2015
border-bottom solid 1px borderColor
@@ -31,6 +26,8 @@
3126
font-size 0.8em
3227
&:hover, &.hover
3328
background-color hoverBackgroundColor
29+
&:active, &.active
30+
background-color white
3431
&:active, &.active
3532
border solid 2px brandBorderColor
3633
padding 9px 9px 8px

0 commit comments

Comments
 (0)