mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 01:36:22 +00:00
81 lines
2.4 KiB
JavaScript
81 lines
2.4 KiB
JavaScript
/**
|
|
* @fileoverview Filter for all notes.
|
|
*/
|
|
import React, { PropTypes } from 'react'
|
|
import CSSModules from 'browser/lib/CSSModules'
|
|
import styles from './SideNavFilter.styl'
|
|
|
|
/**
|
|
* @param {boolean} isFolded
|
|
* @param {boolean} isHomeActive
|
|
* @param {Function} handleAllNotesButtonClick
|
|
* @param {boolean} isStarredActive
|
|
* @param {Function} handleStarredButtonClick
|
|
* @return {React.Component}
|
|
*/
|
|
const SideNavFilter = ({
|
|
isFolded, isHomeActive, handleAllNotesButtonClick,
|
|
isStarredActive, handleStarredButtonClick, isTrashedActive, handleTrashedButtonClick, counterDelNote,
|
|
counterTotalNote, counterStarredNote
|
|
}) => (
|
|
<div styleName={isFolded ? 'menu--folded' : 'menu'}>
|
|
|
|
<button styleName={isHomeActive ? 'menu-button--active' : 'menu-button'}
|
|
onClick={handleAllNotesButtonClick}
|
|
>
|
|
<div styleName='iconWrap'>
|
|
<img src={isHomeActive
|
|
? '../resources/icon/icon-all-active.svg'
|
|
: '../resources/icon/icon-all.svg'
|
|
}
|
|
/>
|
|
</div>
|
|
<span styleName='menu-button-label'>All Notes</span>
|
|
<span styleName='counters'>{counterTotalNote}</span>
|
|
</button>
|
|
|
|
<button styleName={isStarredActive ? 'menu-button-star--active' : 'menu-button'}
|
|
onClick={handleStarredButtonClick}
|
|
>
|
|
<div styleName='iconWrap'>
|
|
<img src={isStarredActive
|
|
? '../resources/icon/icon-star-active.svg'
|
|
: '../resources/icon/icon-star.svg'
|
|
}
|
|
/>
|
|
</div>
|
|
<span styleName='menu-button-label'>Starred</span>
|
|
<span styleName='counters'>{counterStarredNote}</span>
|
|
</button>
|
|
|
|
|
|
<button styleName={isTrashedActive ? 'menu-button-trash--active' : 'menu-button'}
|
|
onClick={handleTrashedButtonClick}
|
|
>
|
|
<div styleName='iconWrap'>
|
|
<img src={isTrashedActive
|
|
? '../resources/icon/icon-trash-active.svg'
|
|
: '../resources/icon/icon-trash.svg'
|
|
}
|
|
/>
|
|
</div>
|
|
<span styleName='menu-button-label'>Trash</span>
|
|
<span styleName='counters'>{counterDelNote}</span>
|
|
</button>
|
|
|
|
|
|
</div>
|
|
)
|
|
|
|
SideNavFilter.propTypes = {
|
|
isFolded: PropTypes.bool,
|
|
isHomeActive: PropTypes.bool.isRequired,
|
|
handleAllNotesButtonClick: PropTypes.func.isRequired,
|
|
isStarredActive: PropTypes.bool.isRequired,
|
|
isTrashedActive: PropTypes.bool.isRequired,
|
|
handleStarredButtonClick: PropTypes.func.isRequired,
|
|
handleTrashdButtonClick: PropTypes.func.isRequired
|
|
}
|
|
|
|
export default CSSModules(SideNavFilter, styles)
|