From 72f6468d12a8134dc331057000b3a08fe0de17e3 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Sun, 1 Nov 2015 21:59:59 +0900 Subject: [PATCH] =?UTF-8?q?tooltip,=20tutorial=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- browser/main/HomePage/ArticleDetail.js | 4 +- browser/main/HomePage/ArticleTopBar.js | 8 +- browser/main/index.html | 2 +- .../components/ArticleDetail.styl | 4 +- browser/styles/main/HomeContainer/index.styl | 1 + .../main/HomeContainer/lib/Tutorial.styl | 129 ++++++++++++++++++ lib/components/modal/Tutorial.js | 107 +++++++++++++++ lib/modal.js | 2 +- package.json | 2 +- resources/finder.png | Bin 0 -> 22870 bytes 10 files changed, 251 insertions(+), 8 deletions(-) create mode 100644 browser/styles/main/HomeContainer/lib/Tutorial.styl create mode 100644 lib/components/modal/Tutorial.js create mode 100644 resources/finder.png diff --git a/browser/main/HomePage/ArticleDetail.js b/browser/main/HomePage/ArticleDetail.js index ae2a6acd..b07145de 100644 --- a/browser/main/HomePage/ArticleDetail.js +++ b/browser/main/HomePage/ArticleDetail.js @@ -139,10 +139,10 @@ export default class ArticleDetail extends React.Component {
diff --git a/browser/main/HomePage/ArticleTopBar.js b/browser/main/HomePage/ArticleTopBar.js index adcb364d..c8363b89 100644 --- a/browser/main/HomePage/ArticleTopBar.js +++ b/browser/main/HomePage/ArticleTopBar.js @@ -2,6 +2,8 @@ import React, { PropTypes } from 'react' import ReactDOM from 'react-dom' import ExternalLink from 'boost/components/ExternalLink' import { setSearchFilter, clearSearch } from 'boost/actions' +import { openModal } from 'boost/modal' +import Tutorial from 'boost/components/modal/Tutorial' export default class ArticleTopBar extends React.Component { constructor (props) { @@ -65,6 +67,10 @@ export default class ArticleTopBar extends React.Component { this.focusInput() } + handleTutorialButtonClick (e) { + openModal(Tutorial) + } + render () { return (
@@ -92,7 +98,7 @@ export default class ArticleTopBar extends React.Component {
- + Boost official page 公式サイト diff --git a/browser/main/index.html b/browser/main/index.html index 364f96ed..267377d4 100644 --- a/browser/main/index.html +++ b/browser/main/index.html @@ -2,7 +2,7 @@ - + diff --git a/browser/styles/main/HomeContainer/components/ArticleDetail.styl b/browser/styles/main/HomeContainer/components/ArticleDetail.styl index 4ccb2c52..399529e5 100644 --- a/browser/styles/main/HomeContainer/components/ArticleDetail.styl +++ b/browser/styles/main/HomeContainer/components/ArticleDetail.styl @@ -205,10 +205,10 @@ iptFocusBorderColor = #369DCD tooltip() &.editBtn .tooltip margin-top 25px - margin-left -63px + margin-left -65px &.deleteBtn .tooltip margin-top 25px - margin-left -96px + margin-left -98px &:hover color inherit .tooltip diff --git a/browser/styles/main/HomeContainer/index.styl b/browser/styles/main/HomeContainer/index.styl index d0551d0c..bb74ee2d 100644 --- a/browser/styles/main/HomeContainer/index.styl +++ b/browser/styles/main/HomeContainer/index.styl @@ -8,3 +8,4 @@ @require './lib/CreateNewTeam' @require './lib/CreateNewFolder' @require './lib/Preferences' +@require './lib/Tutorial' diff --git a/browser/styles/main/HomeContainer/lib/Tutorial.styl b/browser/styles/main/HomeContainer/lib/Tutorial.styl new file mode 100644 index 00000000..ced4547c --- /dev/null +++ b/browser/styles/main/HomeContainer/lib/Tutorial.styl @@ -0,0 +1,129 @@ + +slideBgColor0 = #2BAC8F +slideBgColor1 = #F68F92 +slideBgColor2 = #D6AD56 +slideBgColor3 = #26969B +slideBgColor4 = #00B493 + +.Tutorial.modal + background-color slideBgColor0 + color white + width 720px + height 480px + margin-top 75px + border-radius 5px + overflow hidden + + .priorBtn, .nextBtn + font-size 72px + position absolute + background-color transparent + color transparentify(white, 50%) + transition 0.1s + border none + line-height 72px + padding 0 + width 93px + height 72px + z-index 2 + top 189px + &:hover + color white + &.hide + opacity 0 + .priorBtn + left 15px + .nextBtn + right 15px + .title + text-align center + font-size 54px + margin 40px 0 + .content + text-align center + font-size 22px + line-height 1.8 + .dots + position absolute + left 0 + right 0 + bottom 25px + margin 0 auto + color gray + text-align center + z-index 2 + &>i + transition 0.3s + &.active + color white + .slide + absolute top bottom left right + z-index 1 + .slide0 + background-color slideBgColor0 + .content + margin-top 100px + .slide1 + background-color slideBgColor1 + .content + .markdown + background-color white + color textColor + width 480px + height 140px + margin 45px auto 0 + clearfix() + text-align left + border-radius 5px + overflow hidden + .left + float left + width 240px + height 140px + box-sizing border-box + font-size 0.5em + padding 30px + border-right 1px solid borderColor + .right + width 240px + height 140px + float right + box-sizing border-box + padding: 28px 0 0 10px + font-size 0.45em + marked() + ul + padding-left 20px + .slide2 + background-color slideBgColor2 + .code + border-radius 5px + overflow hidden + text-align left + width 480px + heght 140px + margin 45px auto 0 + font-size 14px + .ace_editor + height 140px + .slide3 + background-color slideBgColor3 + .content + &>img + margin-top 45px + .slide4 + background-color slideBgColor4 + .content + &>button + background-color white + color brandColor + font-size 60px + width 250px + height 250px + border-radius 125px + border none + transition 0.1s + &:hover + transform scale(1.2) + + diff --git a/lib/components/modal/Tutorial.js b/lib/components/modal/Tutorial.js new file mode 100644 index 00000000..1891ebd1 --- /dev/null +++ b/lib/components/modal/Tutorial.js @@ -0,0 +1,107 @@ +import React from 'react' +import MarkdownPreview from 'boost/components/MarkdownPreview' +import CodeEditor from 'boost/components/CodeEditor' + +export default class Tutorial extends React.Component { + constructor (props) { + super(props) + + this.state = { + slideIndex: 0 + } + } + + handlePriorSlideClick () { + if (this.state.slideIndex > 0) this.setState({slideIndex: this.state.slideIndex - 1}) + } + + handleNextSlideClick () { + if (this.state.slideIndex < 4) this.setState({slideIndex: this.state.slideIndex + 1}) + } + + startButtonClick (e) { + this.props.close() + } + + render () { + let content = this.renderContent(this.state.slideIndex) + + let dotElements = [] + for (let i = 0; i < 5; i++) { + dotElements.push() + } + + return ( +
+ + + {content} +
+ {dotElements} +
+
+ ) + } + + renderContent (index) { + switch (index) { + case 0: + return (
+
Welcome to Boost
+
+ Boost is a brand new note app for software
+ Don't waste time cleaning up your data.
+ devote that time to more creative work.
+ Hack your memory. +
+
) + case 1: + let content = '## Boost is a note app for engineer.\n\n - Write with markdown\n - Stylize beautiful' + return (
+
Write with Markdown
+
+ Markdown is available.
+ Your notes will be stylized beautifully and quickly. +
+
{content}
+ +
+
+
) + case 2: + let code = 'import shell from \'shell\'\r\nvar React = require(\'react\')\r\nvar { PropTypes } = React\r\nimport markdown from \'boost\/markdown\'\r\nvar ReactDOM = require(\'react-dom\')\r\n\r\nfunction handleAnchorClick (e) {\r\n shell.openExternal(e.target.href)\r\n e.preventDefault()\r\n}\r\n\r\nexport default class MarkdownPreview extends React.Component {\r\n componentDidMount () {\r\n this.addListener()\r\n }\r\n\r\n componentDidUpdate () {\r\n this.addListener()\r\n }\r\n\r\n componentWillUnmount () {\r\n this.removeListener()\r\n }' + return (
+
Beautiful code highlighting
+
+ Boost supports code syntax highlighting.
+ There are more than 100 different type of language. +
+ +
+
+
) + case 3: + return (
+
Easy to access with Finder
+
+ Finder is a small popup window.
+ With finder, You can search your articles faster.
+ +
+
) + case 4: + return (
+
Are you ready?
+
+ +
+
) + default: + return null + } + } +} diff --git a/lib/modal.js b/lib/modal.js index a445ec33..105888af 100644 --- a/lib/modal.js +++ b/lib/modal.js @@ -1,5 +1,5 @@ import React from 'react' -let ReactDOM = require('react-dom') +import ReactDOM from 'react-dom' class ModalBase extends React.Component { constructor (props) { diff --git a/package.json b/package.json index 7d862a9c..bb941c71 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "boost", - "version": "0.4.0-alpha.5", + "version": "0.4.0-alpha.6", "description": "Boost App", "main": "main.js", "scripts": { diff --git a/resources/finder.png b/resources/finder.png new file mode 100644 index 0000000000000000000000000000000000000000..4caf9249586d184c95b9b09a8e95696c06ce03e5 GIT binary patch literal 22870 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