this.handleArticleClick(article)(e)} className={'articleItem' + (activeArticle.key === article.key ? ' active' : '')}>
@@ -91,7 +97,7 @@ export default class ArticleList extends React.Component {
{article.status != null ? article.status : moment(article.updatedAt).fromNow()}
-
{article.status !== NEW ? article.title : '(New article)'}
+ {title}
{tagElements}
diff --git a/browser/main/HomePage/ArticleNavigator.js b/browser/main/HomePage/ArticleNavigator.js
index f3721e60..269d528f 100644
--- a/browser/main/HomePage/ArticleNavigator.js
+++ b/browser/main/HomePage/ArticleNavigator.js
@@ -1,6 +1,6 @@
import React, { PropTypes } from 'react'
import { findWhere } from 'lodash'
-import { setSearchFilter, switchFolder, switchMode, switchArticle, updateArticle, EDIT_MODE } from 'boost/actions'
+import { setSearchFilter, switchFolder, switchMode, switchArticle, updateArticle, clearNewArticle, EDIT_MODE } from 'boost/actions'
import { openModal } from 'boost/modal'
import FolderMark from 'boost/components/FolderMark'
import Preferences from 'boost/components/modal/Preferences'
@@ -85,6 +85,7 @@ export default class ArticleNavigator extends React.Component {
status: 'NEW'
}
+ dispatch(clearNewArticle())
dispatch(updateArticle(newArticle))
dispatch(switchArticle(newArticle.key, true))
dispatch(switchMode(EDIT_MODE))
diff --git a/browser/main/HomePage/ArticleTopBar.js b/browser/main/HomePage/ArticleTopBar.js
index 62880bc7..bcfba047 100644
--- a/browser/main/HomePage/ArticleTopBar.js
+++ b/browser/main/HomePage/ArticleTopBar.js
@@ -35,18 +35,33 @@ export default class ArticleTopBar extends React.Component {
super(props)
this.state = {
- isTooltipHidden: true
+ isTooltipHidden: true,
+ isLinksDropdownOpen: false
}
}
componentDidMount () {
this.searchInput = ReactDOM.findDOMNode(this.refs.searchInput)
+ this.linksButton = ReactDOM.findDOMNode(this.refs.links)
+ this.showLinksDropdown = e => {
+ e.preventDefault()
+ e.stopPropagation()
+ if (!this.state.isLinksDropdownOpen) {
+ this.setState({isLinksDropdownOpen: true})
+ }
+ }
+ this.linksButton.addEventListener('click', this.showLinksDropdown)
+ this.hideLinksDropdown = e => {
+ if (this.state.isLinksDropdownOpen) {
+ this.setState({isLinksDropdownOpen: false})
+ }
+ }
+ document.addEventListener('click', this.hideLinksDropdown)
}
componentWillUnmount () {
- this.searchInput.removeEventListener('keydown', this.showTooltip)
- this.searchInput.removeEventListener('focus', this.showTooltip)
- this.searchInput.removeEventListener('blur', this.showTooltip)
+ document.removeEventListener('click', this.hideLinksDropdown)
+ this.linksButton.removeEventListener('click', this.showLinksDropdown())
}
handleTooltipRequest (e) {
@@ -118,8 +133,11 @@ export default class ArticleTopBar extends React.Component {
: null
}
- - Search by tag : #{'{string}'}
- - Search by folder : /{'{folder_name}'}
+
+ - - Search by tag : #{'{string}'}
+ - - Search by folder : /{'{folder_name}'}
+ - exact match : //{'{folder_name}'}
+
@@ -129,10 +147,23 @@ export default class ArticleTopBar extends React.Component {
-
+
- Boost official page
-
+
+ {
+ this.state.isLinksDropdownOpen
+ ? (
+
+
+ Boost official page
+
+
+ Discuss
+
+
+ )
+ : null
+ }
{status.isTutorialOpen ? (
diff --git a/browser/styles/main/HomeContainer/components/ArticleDetail.styl b/browser/styles/main/HomeContainer/components/ArticleDetail.styl
index 2f4ae10c..e64e5da6 100644
--- a/browser/styles/main/HomeContainer/components/ArticleDetail.styl
+++ b/browser/styles/main/HomeContainer/components/ArticleDetail.styl
@@ -323,7 +323,8 @@ iptFocusBorderColor = #369DCD
right 15px
font-size 24px
line-height 60px
-
white-space nowrap
overflow-x auto
overflow-y hidden
+ small
+ color #AAA
diff --git a/browser/styles/main/HomeContainer/components/ArticleList.styl b/browser/styles/main/HomeContainer/components/ArticleList.styl
index 6617773a..7d406c25 100644
--- a/browser/styles/main/HomeContainer/components/ArticleList.styl
+++ b/browser/styles/main/HomeContainer/components/ArticleList.styl
@@ -48,6 +48,8 @@ articleItemColor = #777
left 19px
right 0
overflow ellipsis
+ small
+ color #AAA
.bottom
padding 5px 0
overflow-x auto
diff --git a/browser/styles/main/HomeContainer/components/ArticleNavigator.styl b/browser/styles/main/HomeContainer/components/ArticleNavigator.styl
index af61cf3d..93fd515f 100644
--- a/browser/styles/main/HomeContainer/components/ArticleNavigator.styl
+++ b/browser/styles/main/HomeContainer/components/ArticleNavigator.styl
@@ -14,7 +14,7 @@ articleCount = #999
.userProfileName
color brandColor
font-size 28px
- padding 6px 0 0 10px
+ padding 6px 37px 0 10px
white-space nowrap
text-overflow ellipsis
overflow hidden
diff --git a/browser/styles/main/HomeContainer/components/ArticleTopBar.styl b/browser/styles/main/HomeContainer/components/ArticleTopBar.styl
index 1d53d822..6397e74a 100644
--- a/browser/styles/main/HomeContainer/components/ArticleTopBar.styl
+++ b/browser/styles/main/HomeContainer/components/ArticleTopBar.styl
@@ -62,6 +62,13 @@ infoBtnActiveBgColor = #3A3A3A
opacity 1
&.hide
opacity 0
+ ul
+ li:last-child
+ line-height 10px
+ margin-bottom 3px
+ small
+ font-size 10px
+ margin-left 15px
input
absolute top left
width 350px
@@ -140,17 +147,33 @@ infoBtnActiveBgColor = #3A3A3A
.tooltip
opacity 1
- &>.logo
+ &>.linksBtn
display block
position absolute
top 8px
right 15px
opacity 0.7
- .tooltip
- tooltip()
- margin-top 44px
- margin-left -120px
&:hover
opacity 1
.tooltip
opacity 1
+ &>.links-dropdown
+ position fixed
+ z-index 50
+ right 10px
+ top 40px
+ background-color transparentify(invBackgroundColor, 80%)
+ padding 5px 0
+ .links-item
+ padding 0 10px
+ height 33px
+ width 100%
+ display block
+ line-height 33px
+ text-decoration none
+ color white
+ &:hover
+ background-color transparentify(lighten(invBackgroundColor, 30%), 80%)
+
+
+
diff --git a/finder.js b/finder.js
index 3ec97b6a..e0d12bf2 100755
--- a/finder.js
+++ b/finder.js
@@ -36,7 +36,7 @@ app.on('ready', function () {
}
}))
trayMenu.append(new MenuItem({
- label: 'Open Finder',
+ label: 'Open Finder window',
click: function () {
finderWindow.show()
}
diff --git a/lib/components/modal/CreateNewFolder.js b/lib/components/modal/CreateNewFolder.js
index 2686dafe..616f7692 100644
--- a/lib/components/modal/CreateNewFolder.js
+++ b/lib/components/modal/CreateNewFolder.js
@@ -1,4 +1,5 @@
import React, { PropTypes } from 'react'
+import ReactDOM from 'react-dom'
import linkState from 'boost/linkState'
import { createFolder } from 'boost/actions'
import store from 'boost/store'
@@ -15,6 +16,10 @@ export default class CreateNewFolder extends React.Component {
}
}
+ componentDidMount () {
+ ReactDOM.findDOMNode(this.refs.folderName).focus()
+ }
+
handleCloseButton (e) {
this.props.close()
}
@@ -84,7 +89,7 @@ export default class CreateNewFolder extends React.Component {
Create new folder
-
this.handleKeyDown(e)} className='ipt' type='text' valueLink={this.linkState('name')} placeholder='Enter folder name'/>
+
this.handleKeyDown(e)} className='ipt' type='text' valueLink={this.linkState('name')} placeholder='Enter folder name'/>
{colorElements}
diff --git a/lib/components/modal/EditedAlert.js b/lib/components/modal/EditedAlert.js
index fd60258d..5b487bb3 100644
--- a/lib/components/modal/EditedAlert.js
+++ b/lib/components/modal/EditedAlert.js
@@ -1,8 +1,13 @@
import React, { PropTypes } from 'react'
+import ReactDOM from 'react-dom'
import store from 'boost/store'
import { unlockStatus, clearNewArticle } from 'boost/actions'
export default class EditedAlert extends React.Component {
+ componentDidMount () {
+ ReactDOM.findDOMNode(this.refs.no).focus()
+ }
+
handleNoButtonClick (e) {
this.props.close()
}
@@ -22,8 +27,8 @@ export default class EditedAlert extends React.Component {
Do you really want to leave without finishing?
-
-
+
+
)
diff --git a/package.json b/package.json
index f06caf4a..827a3e4d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "boost",
- "version": "0.4.2",
+ "version": "0.4.3",
"description": "Boost App",
"main": "index.js",
"scripts": {