mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	Merge pull request #51 from Unleash/github-link-into-menu-drawer
github link into menu + username tooltip + visual tweaks
This commit is contained in:
		
						commit
						e8058d426b
					
				| @ -4,7 +4,8 @@ import { Layout, Drawer, Header, Navigation, Content, | ||||
|     Grid, Cell, Icon, | ||||
| } from 'react-mdl'; | ||||
| import { Link } from 'react-router'; | ||||
| import style from './styles.scss'; | ||||
| import styles from './styles.scss'; | ||||
| import { styles as commonStyles } from './common'; | ||||
| import ErrorContainer from './error/error-container'; | ||||
| 
 | ||||
| import UserContainer from './user/user-container'; | ||||
| @ -100,30 +101,49 @@ export default class App extends Component { | ||||
|                 return [0, 0]; | ||||
|             } | ||||
|         }; | ||||
|         const createListItem = (path, caption, icon) => | ||||
|             <Link | ||||
|                 to={path} | ||||
|                 className={this.context.router.isActive(path) ? style.active : ''}> | ||||
|                 {icon && <Icon name={icon} />} {caption} | ||||
|             </Link>; | ||||
|         const createListItem = (path, caption, icon, isDrawerNavigation = false) => { | ||||
|             const linkColor = isDrawerNavigation && | ||||
|                 this.context.router.isActive(path) ? 'mdl-color-text--black' : 'mdl-color-text--grey-900'; | ||||
|             const iconColor = isDrawerNavigation && | ||||
|                 this.context.router.isActive(path) ? 'mdl-color-text--black' : 'mdl-color-text--grey-600'; | ||||
|             return ( | ||||
|                 <Link | ||||
|                     to={path} | ||||
|                     className={isDrawerNavigation && [styles.navigationLink, linkColor].join(' ')}> | ||||
|                     {icon && <Icon name={icon} className={isDrawerNavigation && [styles.navigationIcon, iconColor].join(' ')}/>}{caption} | ||||
|                 </Link> | ||||
|             ); | ||||
|         }; | ||||
| 
 | ||||
|         return ( | ||||
|             <div style={{}}> | ||||
|             <div> | ||||
|                 <UserContainer /> | ||||
|                 <Layout fixedHeader> | ||||
|                     <Header title={this.getTitleWithLinks()}> | ||||
|                         <Navigation> | ||||
|                             <a href="https://github.com/Unleash" target="_blank">Github</a> | ||||
|                             <ShowUserContainer /> | ||||
|                         </Navigation> | ||||
|                     </Header> | ||||
|                     <Drawer title="Unleash Admin"> | ||||
|                         <Navigation> | ||||
|                             {createListItem('/features', 'Feature toggles', 'list')} | ||||
|                             {createListItem('/strategies', 'Strategies', 'extension')} | ||||
|                             {createListItem('/history', 'Event history', 'history')} | ||||
|                             {createListItem('/archive', 'Archived toggles', 'archive')} | ||||
|                             {createListItem('/applications', 'Applications', 'apps')} | ||||
|                     <Drawer className="mdl-color--white"> | ||||
|                         <span className={[styles.title, 'mdl-layout-title'].join(' ')}>Unleash</span> | ||||
|                         <hr className={commonStyles.divider}/> | ||||
|                         <Navigation className={styles.navigation}> | ||||
|                             {createListItem('/features', 'Feature toggles', 'list', true)} | ||||
|                             {createListItem('/strategies', 'Strategies', 'extension', true)} | ||||
|                             {createListItem('/history', 'Event history', 'history', true)} | ||||
|                             {createListItem('/archive', 'Archived toggles', 'archive', true)} | ||||
|                             {createListItem('/applications', 'Applications', 'apps', true)} | ||||
|                         </Navigation> | ||||
|                         <hr className={commonStyles.divider}/> | ||||
|                         <Navigation className={styles.navigation}> | ||||
|                             <a href="https://github.com/Unleash" target="_blank" className={[styles.navigationLink, 'mdl-color-text--grey-900'].join(' ')}> | ||||
|                                 <i className={[ | ||||
|                                     'material-icons', | ||||
|                                     styles.navigationIcon, | ||||
|                                     styles.githubIcon, | ||||
|                                     'mdl-color-text--grey-600', | ||||
|                                 ].join(' ')}/>GitHub | ||||
|                             </a> | ||||
|                         </Navigation> | ||||
|                     </Drawer> | ||||
|                     <ScrollContainer scrollKey="container" shouldUpdateScroll={shouldUpdateScroll}> | ||||
|  | ||||
| @ -5,7 +5,8 @@ | ||||
| } | ||||
| 
 | ||||
| .divider { | ||||
|     border-color: #e1e1e1; | ||||
|     margin: 0; | ||||
|     border-color: rgba(0,0,0,.12); | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 960px) { | ||||
|  | ||||
| @ -16,7 +16,7 @@ const StrategyChipItem = ({ strategy }) => ( | ||||
| 
 | ||||
| // TODO what about "missing" strategies here? | ||||
| const StrategiesList = ({ strategies }) => ( | ||||
|     <div style={{ verticalAlign: 'middle' }}>With {strategies.length > 1 ? 'strategies' : 'strategy'} { | ||||
|     <div style={{ verticalAlign: 'middle', paddingTop: '14px' }}>With {strategies.length > 1 ? 'strategies' : 'strategy'} { | ||||
|         strategies.map((strategy, i) => <StrategyChipItem key={i}  strategy={strategy} />) | ||||
|     }</div> | ||||
| ); | ||||
|  | ||||
| @ -1,17 +1,31 @@ | ||||
| .container { | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     bottom: 0; | ||||
|     left: 0; | ||||
|     right: 0; | ||||
|     width: 100%; | ||||
|     height: auto; | ||||
|     overflow-y: auto; | ||||
| .title { | ||||
|     padding-left: 24px !important; | ||||
| } | ||||
| 
 | ||||
| .navigation { | ||||
|     .active { | ||||
|         background-color: #EEE; | ||||
| @media screen and (max-width: 1024px) { | ||||
|     .title { | ||||
|         padding-left: 16px !important; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| .navigation { | ||||
|     padding: 8px 0 !important; | ||||
| } | ||||
| 
 | ||||
| .navigationLink { | ||||
|     padding: 12px 24px !important; | ||||
| } | ||||
| @media screen and (max-width: 1024px) { | ||||
|     .navigationLink { | ||||
|         padding: 12px 16px !important; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| .navigationIcon { | ||||
|     margin-right: 32px; | ||||
| } | ||||
| 
 | ||||
| .githubIcon { | ||||
|     width: 24px; | ||||
|     height: 24px; | ||||
|     background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJ3aWR0aDoyNHB4O2hlaWdodDoyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgPHBhdGggZmlsbD0iIzc1NzU3NSIgZD0iTTEyLDJBMTAsMTAgMCAwLDAgMiwxMkMyLDE2LjQyIDQuODcsMjAuMTcgOC44NCwyMS41QzkuMzQsMjEuNTggOS41LDIxLjI3IDkuNSwyMUM5LjUsMjAuNzcgOS41LDIwLjE0IDkuNSwxOS4zMUM2LjczLDE5LjkxIDYuMTQsMTcuOTcgNi4xNCwxNy45N0M1LjY4LDE2LjgxIDUuMDMsMTYuNSA1LjAzLDE2LjVDNC4xMiwxNS44OCA1LjEsMTUuOSA1LjEsMTUuOUM2LjEsMTUuOTcgNi42MywxNi45MyA2LjYzLDE2LjkzQzcuNSwxOC40NSA4Ljk3LDE4IDkuNTQsMTcuNzZDOS42MywxNy4xMSA5Ljg5LDE2LjY3IDEwLjE3LDE2LjQyQzcuOTUsMTYuMTcgNS42MiwxNS4zMSA1LjYyLDExLjVDNS42MiwxMC4zOSA2LDkuNSA2LjY1LDguNzlDNi41NSw4LjU0IDYuMiw3LjUgNi43NSw2LjE1QzYuNzUsNi4xNSA3LjU5LDUuODggOS41LDcuMTdDMTAuMjksNi45NSAxMS4xNSw2Ljg0IDEyLDYuODRDMTIuODUsNi44NCAxMy43MSw2Ljk1IDE0LjUsNy4xN0MxNi40MSw1Ljg4IDE3LjI1LDYuMTUgMTcuMjUsNi4xNUMxNy44LDcuNSAxNy40NSw4LjU0IDE3LjM1LDguNzlDMTgsOS41IDE4LjM4LDEwLjM5IDE4LjM4LDExLjVDMTguMzgsMTUuMzIgMTYuMDQsMTYuMTYgMTMuODEsMTYuNDFDMTQuMTcsMTYuNzIgMTQuNSwxNy4zMyAxNC41LDE4LjI2QzE0LjUsMTkuNiAxNC41LDIwLjY4IDE0LjUsMjFDMTQuNSwyMS4yNyAxNC42NiwyMS41OSAxNS4xNywyMS41QzE5LjE0LDIwLjE2IDIyLDE2LjQyIDIyLDEyQTEwLDEwIDAgMCwwIDEyLDJaIiAvPgo8L3N2Zz4=); | ||||
| } | ||||
| @ -1,4 +1,5 @@ | ||||
| import React, { PropTypes } from 'react'; | ||||
| import { Icon, Tooltip } from 'react-mdl'; | ||||
| 
 | ||||
| export default class ShowUserComponent extends React.Component { | ||||
|     static propTypes () { | ||||
| @ -15,9 +16,10 @@ export default class ShowUserComponent extends React.Component { | ||||
| 
 | ||||
|     render () { | ||||
|         return ( | ||||
|             <a className="mdl-navigation__link" href="#edit-user" onClick={this.openEdit} style={{}}> | ||||
|                 Username:  | ||||
|                 <strong>{this.props.user.userName || 'Unknown'}</strong> | ||||
|             <a className="mdl-navigation__link" href="#edit-user" onClick={this.openEdit}> | ||||
|                 <Tooltip label={this.props.user.userName || 'Unknown'} large> | ||||
|                     <Icon name="account_circle"/> | ||||
|                 </Tooltip> | ||||
|             </a> | ||||
|         ); | ||||
|     } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user