diff --git a/browser/main/Detail/FullscreenButton.js b/browser/main/Detail/FullscreenButton.js
new file mode 100644
index 00000000..a0e8c790
--- /dev/null
+++ b/browser/main/Detail/FullscreenButton.js
@@ -0,0 +1,19 @@
+import PropTypes from 'prop-types'
+import React from 'react'
+import CSSModules from 'browser/lib/CSSModules'
+import styles from './FullscreenButton.styl'
+
+const FullscreenButton = ({
+ onClick
+}) => (
+
+)
+
+FullscreenButton.propTypes = {
+ onClick: PropTypes.func.isRequired
+}
+
+export default CSSModules(FullscreenButton, styles)
diff --git a/browser/main/Detail/FullscreenButton.styl b/browser/main/Detail/FullscreenButton.styl
new file mode 100644
index 00000000..7cee4faa
--- /dev/null
+++ b/browser/main/Detail/FullscreenButton.styl
@@ -0,0 +1,22 @@
+.control-fullScreenButton
+ top 80px
+ topBarButtonRight()
+ &:hover .tooltip
+ opacity 1
+
+.tooltip
+ tooltip()
+ position absolute
+ pointer-events none
+ top 26px
+ right 0
+ z-index 200
+ padding 5px
+ line-height normal
+ border-radius 2px
+ opacity 0
+ transition 0.1s
+
+body[data-theme="dark"]
+ .control-fullScreenButton
+ topBarButtonDark()
\ No newline at end of file
diff --git a/browser/main/Detail/InfoButton.js b/browser/main/Detail/InfoButton.js
index 02d8dfe4..8a78ab4e 100644
--- a/browser/main/Detail/InfoButton.js
+++ b/browser/main/Detail/InfoButton.js
@@ -10,6 +10,7 @@ const InfoButton = ({
onClick={(e) => onClick(e)}
>
+ Info
)
diff --git a/browser/main/Detail/InfoButton.styl b/browser/main/Detail/InfoButton.styl
index 9a2604df..a1c302f0 100644
--- a/browser/main/Detail/InfoButton.styl
+++ b/browser/main/Detail/InfoButton.styl
@@ -1,6 +1,21 @@
.control-infoButton
top 10px
topBarButtonRight()
+ &:hover .tooltip
+ opacity 1
+
+.tooltip
+ tooltip()
+ position absolute
+ pointer-events none
+ top 26px
+ right 0
+ z-index 200
+ padding 5px
+ line-height normal
+ border-radius 2px
+ opacity 0
+ transition 0.1s
.infoButton
padding 0px
diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js
index 6b7b8fd4..37e3963d 100644
--- a/browser/main/Detail/MarkdownNoteDetail.js
+++ b/browser/main/Detail/MarkdownNoteDetail.js
@@ -18,8 +18,10 @@ import { findNoteTitle } from 'browser/lib/findNoteTitle'
import AwsMobileAnalyticsConfig from 'browser/main/lib/AwsMobileAnalyticsConfig'
import ConfigManager from 'browser/main/lib/ConfigManager'
import TrashButton from './TrashButton'
+import FullscreenButton from './FullscreenButton'
import PermanentDeleteButton from './PermanentDeleteButton'
import InfoButton from './InfoButton'
+import ToggleModeButton from './ToggleModeButton'
import InfoPanel from './InfoPanel'
import InfoPanelTrashed from './InfoPanelTrashed'
import { formatDate } from 'browser/lib/date-formatter'
@@ -355,18 +357,9 @@ class MarkdownNoteDetail extends React.Component {
onChange={(e) => this.handleChange(e)}
/>
-
-
this.handleSwitchMode('SPLIT')}>
-

-
-
this.handleSwitchMode('EDITOR_PREVIEW')}>
-

-
-
+ this.handleSwitchMode(e)} editorType={editorType} />
-
+
this.handleFullScreenButton(e)}
- >
-
-
+ this.handleFullScreenButton(e)} />
this.handleTrashButtonClick(e)} />
diff --git a/browser/main/Detail/MarkdownNoteDetail.styl b/browser/main/Detail/MarkdownNoteDetail.styl
index 7032e36f..3357c6ef 100644
--- a/browser/main/Detail/MarkdownNoteDetail.styl
+++ b/browser/main/Detail/MarkdownNoteDetail.styl
@@ -19,10 +19,6 @@
top 40px
position relative
-.control-fullScreenButton
- top 80px
- topBarButtonRight()
-
.body
absolute left right
left 0
@@ -32,26 +28,6 @@
margin 0 45px
.body-noteEditor
absolute top bottom left right
-
-.mode-tab
- border 1px solid #eee
- height 34px
- display flex
- align-items center
- div
- width 40px
- height 100%
- background-color #f9f9f9
- display flex
- align-items center
- justify-content center
- cursor pointer
- &:first-child
- border-right 1px solid #eee
- .active
- background-color #fff
- box-shadow 2px 0px 7px #eee
- z-index 1
body[data-theme="white"]
.root
diff --git a/browser/main/Detail/PermanentDeleteButton.js b/browser/main/Detail/PermanentDeleteButton.js
index f0b10009..fd5c731b 100644
--- a/browser/main/Detail/PermanentDeleteButton.js
+++ b/browser/main/Detail/PermanentDeleteButton.js
@@ -10,6 +10,7 @@ const PermanentDeleteButton = ({
onClick={(e) => onClick(e)}
>
+ Permanent Delete
)
diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js
index bec6573b..f12f224d 100644
--- a/browser/main/Detail/SnippetNoteDetail.js
+++ b/browser/main/Detail/SnippetNoteDetail.js
@@ -634,7 +634,7 @@ class SnippetNoteDetail extends React.Component {
isActive={note.isStarred}
/>
-
diff --git a/browser/main/Detail/StarButton.js b/browser/main/Detail/StarButton.js
index 0616a1e0..57ba79c8 100644
--- a/browser/main/Detail/StarButton.js
+++ b/browser/main/Detail/StarButton.js
@@ -46,14 +46,14 @@ class StarButton extends React.Component {
onMouseDown={(e) => this.handleMouseDown(e)}
onMouseUp={(e) => this.handleMouseUp(e)}
onMouseLeave={(e) => this.handleMouseLeave(e)}
- onClick={this.props.onClick}
- >
+ onClick={this.props.onClick}>
+ Star
)
}
diff --git a/browser/main/Detail/StarButton.styl b/browser/main/Detail/StarButton.styl
index 1e5bf239..647f3f23 100644
--- a/browser/main/Detail/StarButton.styl
+++ b/browser/main/Detail/StarButton.styl
@@ -4,6 +4,22 @@
&:hover
transition 0.2s
color alpha($ui-favorite-star-button-color, 0.6)
+ &:hover .tooltip
+ opacity 1
+
+.tooltip
+ tooltip()
+ position absolute
+ pointer-events none
+ top 26px
+ right 0
+ width 100%
+ z-index 200
+ padding 5px
+ line-height normal
+ border-radius 2px
+ opacity 0
+ transition 0.1s
.root--active
@extend .root
diff --git a/browser/main/Detail/ToggleModeButton.js b/browser/main/Detail/ToggleModeButton.js
new file mode 100644
index 00000000..5a78cc51
--- /dev/null
+++ b/browser/main/Detail/ToggleModeButton.js
@@ -0,0 +1,25 @@
+import PropTypes from 'prop-types'
+import React from 'react'
+import CSSModules from 'browser/lib/CSSModules'
+import styles from './ToggleModeButton.styl'
+
+const ToggleModeButton = ({
+ onClick, editorType
+}) => (
+
+
onClick('SPLIT')}>
+

+
+
onClick('EDITOR_PREVIEW')}>
+

+
+
Toggle Mode
+
+)
+
+ToggleModeButton.propTypes = {
+ onClick: PropTypes.func.isRequired,
+ editorType: PropTypes.string.Required
+}
+
+export default CSSModules(ToggleModeButton, styles)
diff --git a/browser/main/Detail/ToggleModeButton.styl b/browser/main/Detail/ToggleModeButton.styl
new file mode 100644
index 00000000..de4303f2
--- /dev/null
+++ b/browser/main/Detail/ToggleModeButton.styl
@@ -0,0 +1,41 @@
+.control-toggleModeButton
+
+ border 1px solid #eee
+ height 34px
+ display flex
+ align-items center
+
+ div
+ width 40px
+ height 100%
+ background-color #f9f9f9
+ display flex
+ align-items center
+ justify-content center
+ cursor pointer
+
+ &:first-child
+ border-right 1px solid #eee
+ .active
+ background-color #fff
+ box-shadow 2px 0px 7px #eee
+ z-index 1
+ &:hover .tooltip
+ opacity 1
+
+.tooltip
+ tooltip()
+ position absolute
+ pointer-events none
+ top 47px
+ right 11px
+ z-index 200
+ padding 5px
+ line-height normal
+ border-radius 2px
+ opacity 0
+ transition 0.1s
+
+body[data-theme="dark"]
+ .control-fullScreenButton
+ topBarButtonDark()
\ No newline at end of file
diff --git a/browser/main/Detail/TrashButton.js b/browser/main/Detail/TrashButton.js
index bfaafe1e..474eb9e5 100644
--- a/browser/main/Detail/TrashButton.js
+++ b/browser/main/Detail/TrashButton.js
@@ -10,6 +10,7 @@ const TrashButton = ({
onClick={(e) => onClick(e)}
>
+ Trash
)
diff --git a/browser/main/Detail/TrashButton.styl b/browser/main/Detail/TrashButton.styl
index 0acd60a5..455d36a6 100644
--- a/browser/main/Detail/TrashButton.styl
+++ b/browser/main/Detail/TrashButton.styl
@@ -1,6 +1,21 @@
.control-trashButton
top 115px
topBarButtonRight()
+ &:hover .tooltip
+ opacity 1
+
+.tooltip
+ tooltip()
+ position absolute
+ pointer-events none
+ top 26px
+ right 0
+ z-index 200
+ padding 5px
+ line-height normal
+ border-radius 2px
+ opacity 0
+ transition 0.1s
.control-trashButton--in-trash
top 60px
diff --git a/browser/main/SideNav/ListButton.js b/browser/main/SideNav/ListButton.js
new file mode 100644
index 00000000..1365c4cb
--- /dev/null
+++ b/browser/main/SideNav/ListButton.js
@@ -0,0 +1,24 @@
+import PropTypes from 'prop-types'
+import React from 'react'
+import CSSModules from 'browser/lib/CSSModules'
+import styles from './SwitchButton.styl'
+
+const ListButton = ({
+ onClick, isTagActive
+}) => (
+
+)
+
+ListButton.propTypes = {
+ onClick: PropTypes.func.isRequired,
+ isTagActive: PropTypes.bool.isRequired
+}
+
+export default CSSModules(ListButton, styles)
diff --git a/browser/main/SideNav/PreferenceButton.js b/browser/main/SideNav/PreferenceButton.js
new file mode 100644
index 00000000..9f483a28
--- /dev/null
+++ b/browser/main/SideNav/PreferenceButton.js
@@ -0,0 +1,19 @@
+import PropTypes from 'prop-types'
+import React from 'react'
+import CSSModules from 'browser/lib/CSSModules'
+import styles from './PreferenceButton.styl'
+
+const PreferenceButton = ({
+ onClick
+}) => (
+
+)
+
+PreferenceButton.propTypes = {
+ onClick: PropTypes.func.isRequired
+}
+
+export default CSSModules(PreferenceButton, styles)
diff --git a/browser/main/SideNav/PreferenceButton.styl b/browser/main/SideNav/PreferenceButton.styl
new file mode 100644
index 00000000..97a48982
--- /dev/null
+++ b/browser/main/SideNav/PreferenceButton.styl
@@ -0,0 +1,51 @@
+.top-menu-preference
+ navButtonColor()
+ position absolute
+ top 22px
+ right 10px
+ width 2em
+ background-color transparent
+ &:hover
+ color $ui-button-default--active-backgroundColor
+ background-color transparent
+ .tooltip
+ opacity 1
+ &:active, &:active:hover
+ color $ui-button-default--active-backgroundColor
+
+body[data-theme="white"]
+ .top-menu-preference
+ navWhiteButtonColor()
+ background-color transparent
+ &:hover
+ color #0B99F1
+ background-color transparent
+ &:active, &:active:hover
+ color #0B99F1
+ background-color transparent
+
+body[data-theme="dark"]
+ .top-menu-preference
+ navDarkButtonColor()
+ background-color transparent
+ &:active
+ background-color alpha($ui-dark-button--active-backgroundColor, 20%)
+ background-color transparent
+ &:hover
+ background-color alpha($ui-dark-button--active-backgroundColor, 20%)
+ background-color transparent
+
+
+
+.tooltip
+ tooltip()
+ position absolute
+ pointer-events none
+ top 26px
+ left -20px
+ z-index 200
+ padding 5px
+ line-height normal
+ border-radius 2px
+ opacity 0
+ transition 0.1s
\ No newline at end of file
diff --git a/browser/main/SideNav/SideNav.styl b/browser/main/SideNav/SideNav.styl
index 474b1af3..a0ffb2e7 100644
--- a/browser/main/SideNav/SideNav.styl
+++ b/browser/main/SideNav/SideNav.styl
@@ -11,19 +11,6 @@
.top
padding-bottom 15px
-.top-menu-preference
- navButtonColor()
- position absolute
- top 22px
- right 10px
- width 2em
- background-color transparent
- &:hover
- color $ui-button-default--active-backgroundColor
- background-color transparent
- &:active, &:active:hover
- color $ui-button-default--active-backgroundColor
-
.switch-buttons
background-color transparent
border 0
@@ -31,21 +18,7 @@
display flex
text-align center
-.non-active-button
- color $ui-inactive-text-color
- font-size 16px
- border 0
- background-color transparent
- transition 0.2s
- display flex
- text-align center
- margin-right 4px;
- &:hover
- color alpha(#239F86, 60%)
-.active-button
- @extend .non-active-button
- color $ui-button-default--active-backgroundColor
.top-menu-label
margin-left 5px
@@ -109,33 +82,6 @@ body[data-theme="white"]
background-color #f9f9f9
color $ui-text-color
- .top-menu-preference
- navWhiteButtonColor()
- background-color transparent
- &:hover
- color #0B99F1
- background-color transparent
- &:active, &:active:hover
- color #0B99F1
- background-color transparent
-
- .non-active-button
- color $ui-inactive-text-color
- &:hover
- color alpha(#0B99F1, 60%)
-
- .tag-title
- p
- color $ui-text-color
-
- .non-active-button
- &:hover
- color alpha(#0B99F1, 60%)
-
- .active-button
- @extend .non-active-button
- color #0B99F1
-
body[data-theme="dark"]
.root, .root--folded
border-right 1px solid $ui-dark-borderColor
@@ -145,25 +91,6 @@ body[data-theme="dark"]
.top
border-color $ui-dark-borderColor
- .top-menu-preference
- navDarkButtonColor()
- background-color transparent
- &:active
- background-color alpha($ui-dark-button--active-backgroundColor, 20%)
- background-color transparent
- &:hover
- background-color alpha($ui-dark-button--active-backgroundColor, 20%)
- background-color transparent
-
- .non-active-button
- color alpha($ui-dark-text-color, 60%)
- &:hover
- color alpha(#0B99F1, 60%)
-
- .tag-title
- p
- color alpha($ui-dark-text-color, 60%)
-
body[data-theme="solarized-dark"]
.root, .root--folded
background-color $ui-solarized-dark-backgroundColor
diff --git a/browser/main/SideNav/SwitchButton.styl b/browser/main/SideNav/SwitchButton.styl
new file mode 100644
index 00000000..54e21b03
--- /dev/null
+++ b/browser/main/SideNav/SwitchButton.styl
@@ -0,0 +1,59 @@
+.non-active-button
+ color $ui-inactive-text-color
+ font-size 16px
+ border 0
+ background-color transparent
+ transition 0.2s
+ display flex
+ text-align center
+ margin-right 4px
+ position relative
+ &:hover
+ color alpha(#239F86, 60%)
+ .tooltip
+ opacity 1
+
+.active-button
+ @extend .non-active-button
+ color $ui-button-default--active-backgroundColor
+
+.tooltip
+ tooltip()
+ position absolute
+ pointer-events none
+ top 22px
+ left -2px
+ z-index 200
+ padding 5px
+ line-height normal
+ border-radius 2px
+ opacity 0
+ transition 0.1s
+
+body[data-theme="white"]
+ .non-active-button
+ color $ui-inactive-text-color
+ &:hover
+ color alpha(#0B99F1, 60%)
+
+ .tag-title
+ p
+ color $ui-text-color
+
+ .non-active-button
+ &:hover
+ color alpha(#0B99F1, 60%)
+
+ .active-button
+ @extend .non-active-button
+ color #0B99F1
+
+body[data-theme="dark"]
+ .non-active-button
+ color alpha($ui-dark-text-color, 60%)
+ &:hover
+ color alpha(#0B99F1, 60%)
+
+ .tag-title
+ p
+ color alpha($ui-dark-text-color, 60%)
\ No newline at end of file
diff --git a/browser/main/SideNav/TagButton.js b/browser/main/SideNav/TagButton.js
new file mode 100644
index 00000000..87d92c49
--- /dev/null
+++ b/browser/main/SideNav/TagButton.js
@@ -0,0 +1,24 @@
+import PropTypes from 'prop-types'
+import React from 'react'
+import CSSModules from 'browser/lib/CSSModules'
+import styles from './SwitchButton.styl'
+
+const TagButton = ({
+ onClick, isTagActive
+}) => (
+
+)
+
+TagButton.propTypes = {
+ onClick: PropTypes.func.isRequired,
+ isTagActive: PropTypes.bool.isRequired
+}
+
+export default CSSModules(TagButton, styles)
diff --git a/browser/main/SideNav/index.js b/browser/main/SideNav/index.js
index 05361ea4..4c162f1e 100644
--- a/browser/main/SideNav/index.js
+++ b/browser/main/SideNav/index.js
@@ -11,6 +11,9 @@ import SideNavFilter from 'browser/components/SideNavFilter'
import StorageList from 'browser/components/StorageList'
import NavToggleButton from 'browser/components/NavToggleButton'
import EventEmitter from 'browser/main/lib/eventEmitter'
+import PreferenceButton from './PreferenceButton'
+import ListButton from './ListButton'
+import TagButton from './TagButton'
class SideNav extends React.Component {
// TODO: should not use electron stuff v0.7
@@ -162,27 +165,11 @@ class SideNav extends React.Component {
>
-
-
+
+
-
+
{this.SideNavComponent(isFolded, storageList)}