1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 09:46:22 +00:00

sort by time & add FolderMark

This commit is contained in:
Rokt33r
2015-10-17 16:46:10 +09:00
parent 2a339a2935
commit 1df4ed0fe9
5 changed files with 60 additions and 7 deletions

View File

@@ -69,6 +69,9 @@ function remap (state) {
let articles = state.articles['team-' + activeUser.id]
if (articles == null) articles = []
articles.sort((a, b) => {
return new Date(b.updatedAt) - new Date(a.updatedAt)
})
let activeArticle = findWhere(articles, {key: status.articleKey})
if (activeArticle == null) activeArticle = articles[0]

View File

@@ -9,6 +9,7 @@ import aceModes from 'boost/ace-modes'
import Select from 'react-select'
import linkState from 'boost/linkState'
import api from 'boost/api'
import FolderMark from 'boost/components/FolderMark'
var modeOptions = aceModes.map(function (mode) {
return {
@@ -19,7 +20,7 @@ var modeOptions = aceModes.map(function (mode) {
function makeInstantArticle (article) {
let instantArticle = Object.assign({}, article)
instantArticle.Tags = typeof instantArticle.Tags === 'array' ? instantArticle.Tags.map(tag => tag.name) : []
instantArticle.Tags = (typeof instantArticle.Tags === 'array') ? instantArticle.Tags.map(tag => tag.name) : []
return instantArticle
}
@@ -115,7 +116,7 @@ export default class ArticleDetail extends React.Component {
<div className='detailInfo'>
<div className='left'>
<div className='info'>
<i className='fa fa-fw fa-square'/> {folderName}&nbsp;
<FolderMark id={folder.id}/> {folderName}&nbsp;
by {activeArticle.User.profileName}&nbsp;
Created {moment(activeArticle.createdAt).format('YYYY/MM/DD')}&nbsp;
Updated {moment(activeArticle.updatedAt).format('YYYY/MM/DD')}
@@ -139,7 +140,7 @@ export default class ArticleDetail extends React.Component {
</div>
{activeArticle.mode === 'markdown'
? <MarkdownPreview content={activeArticle.content}/>
: <CodeEditor readOnly={true} onChange={this.handleContentChange} mode={activeArticle.mode} code={activeArticle.content}/>
: <CodeEditor readOnly onChange={this.handleContentChange} mode={activeArticle.mode} code={activeArticle.content}/>
}
</div>
</div>

View File

@@ -3,6 +3,7 @@ import ProfileImage from 'boost/components/ProfileImage'
import ModeIcon from 'boost/components/ModeIcon'
import moment from 'moment'
import { switchArticle, NEW } from '../actions'
import FolderMark from 'boost/components/FolderMark'
export default class ArticleList extends React.Component {
handleArticleClick (key) {
@@ -26,7 +27,7 @@ export default class ArticleList extends React.Component {
<div key={'article-' + article.key}>
<div onClick={e => this.handleArticleClick(article.key)(e)} className={'articleItem' + (activeArticle.key === article.key ? ' active' : '')}>
<div className='top'>
<i className='fa fa-fw fa-square'/>
<FolderMark id={article.FolderId}/>
by <ProfileImage className='profileImage' size='20' email={article.User.email}/> {article.User.profileName}
<span className='updatedAt'>{article.status != null ? article.status : moment(article.updatedAt).fromNow()}</span>
</div>

View File

@@ -4,6 +4,7 @@ import { findWhere } from 'lodash'
import { switchMode, CREATE_MODE } from '../actions'
import { openModal } from 'boost/modal'
import CreateNewFolder from 'boost/components/modal/CreateNewFolder'
import FolderMark from 'boost/components/FolderMark'
export default class ArticleNavigator extends React.Component {
handleNewPostButtonClick (e) {
@@ -23,9 +24,10 @@ export default class ArticleNavigator extends React.Component {
let activeFolder = findWhere(activeUser.Folders, {id: status.folderId})
let folders = activeUser.Folders.map(folder => {
let folders = activeUser.Folders.map((folder, index) => {
return (
<button key={'folder-' + folder.id} className={activeFolder != null && activeFolder.id === folder.id ? 'active' : ''}><i className='fa fa-fw fa-square'/> {folder.name}</button>
<button key={'folder-' + folder.id} className={activeFolder != null && activeFolder.id === folder.id ? 'active' : ''}>
<FolderMark id={folder.id}/> {folder.name}</button>
)
})
@@ -55,7 +57,7 @@ export default class ArticleNavigator extends React.Component {
<div className='folders'>
<div className='header'>
<div className='title'>Folders</div>
<button onCLick={e => this.handleNewFolderButton(e)} className='addBtn'><i className='fa fa-fw fa-plus'/></button>
<button onClick={e => this.handleNewFolderButton(e)} className='addBtn'><i className='fa fa-fw fa-plus'/></button>
</div>
<div className='folderList'>
<button className={activeFolder == null ? 'active' : ''}>All folders</button>