diff --git a/client/homebrew/navbar/navbar.jsx b/client/homebrew/navbar/navbar.jsx index ae46045..8ab3856 100644 --- a/client/homebrew/navbar/navbar.jsx +++ b/client/homebrew/navbar/navbar.jsx @@ -6,19 +6,20 @@ const Nav = require('naturalcrit/nav/nav.jsx'); const Navbar = React.createClass({ getInitialState: function() { return { - showNonChromeWarning : false, + //showNonChromeWarning : false, ver : '0.0.0' }; }, componentDidMount: function() { - const isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); + //const isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); this.setState({ - showNonChromeWarning : !isChrome, + //showNonChromeWarning : !isChrome, ver : window.version }) }, +/* renderChromeWarning : function(){ if(!this.state.showNonChromeWarning) return; return @@ -28,7 +29,7 @@ const Navbar = React.createClass({ }, - +*/ render : function(){ return @@ -38,7 +39,7 @@ const Navbar = React.createClass({ {`v${this.state.ver}`} - {this.renderChromeWarning()} + {/*this.renderChromeWarning()*/} {this.props.children} diff --git a/client/homebrew/navbar/navbar.less b/client/homebrew/navbar/navbar.less index 250fcce..bb2a843 100644 --- a/client/homebrew/navbar/navbar.less +++ b/client/homebrew/navbar/navbar.less @@ -1,4 +1,4 @@ - +@navbarHeight : 28px; .homebrew nav{ .homebrewLogo{ .animate(color); diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index cc0e27b..650f9d0 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -17,6 +17,8 @@ const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx'); const Markdown = require('naturalcrit/markdown.js'); +const Warnings = require('homebrewery/warnings/warnings.jsx') + const SAVE_TIMEOUT = 3000; @@ -211,6 +213,8 @@ const EditPage = React.createClass({ return
{this.renderNavbar()} + +
{ - console.log('here2'); - }) .then(less('homebrew', './shared')) - .then(() => { - console.log('here?'); - }) .then(assets(Proj.assets, ['./shared', './client'])) .then(livereload()) .then(server('./server.js', ['server'])) diff --git a/scripts/quick.js b/scripts/quick.js new file mode 100644 index 0000000..e763d85 --- /dev/null +++ b/scripts/quick.js @@ -0,0 +1,17 @@ +const label = 'quick'; +console.time(label); + +const jsx = require('vitreum/steps/jsx.js').partial; +const less = require('vitreum/steps/less.js').partial; +const server = require('vitreum/steps/server.watch.js').partial; + +const Proj = require('./project.json'); + +Promise.resolve() + .then(jsx('homebrew', './client/homebrew/homebrew.jsx', Proj.libs, ['./shared'])) + .then(less('homebrew', ['./shared'])) + .then(jsx('admin', './client/admin/admin.jsx', Proj.libs, ['./shared'])) + .then(less('admin', ['./shared'])) + .then(server('./server.js', ['server'])) + .then(console.timeEnd.bind(console, label)) + .catch(console.error); \ No newline at end of file diff --git a/shared/homebrewery/warnings/warnings.jsx b/shared/homebrewery/warnings/warnings.jsx new file mode 100644 index 0000000..61e68cc --- /dev/null +++ b/shared/homebrewery/warnings/warnings.jsx @@ -0,0 +1,56 @@ + +const React = require('react'); +const _ = require('lodash'); +const cx = require('classnames'); + +const Warnings = React.createClass({ + getInitialState: function() { + return { + warnings: {} + }; + }, + componentDidMount: function() { + this.checkWarnings(); + + //TODO: Setup event for window zoom + + }, + warnings : { + chrome : function(){ + const isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); + if(isChrome){ + return 'OPtimized for Chrome'; + } + }, + zoom : function(){ + if(window.devicePixelRatio !== 1){ + return 'You are zoomed'; + } + } + }, + checkWarnings : function(){ + this.setState({ + warnings : _.reduce(this.warnings, (r, fn, type) => { + const text = fn(); + if(text) r[type] = text; + return r; + }, {}) + }) + }, + render: function(){ + if(_.isEmpty(this.state.warnings)) return null; + + const errors = _.map(this.state.warnings, (text, idx) => { + return
  • {text}
  • + }); + + return
    + +

    Rendering Warnings

    + If this homebrew is rendering badly if might be because of the following: +
      {errors}
    +
    + } +}); + +module.exports = Warnings; diff --git a/shared/homebrewery/warnings/warnings.less b/shared/homebrewery/warnings/warnings.less new file mode 100644 index 0000000..3984252 --- /dev/null +++ b/shared/homebrewery/warnings/warnings.less @@ -0,0 +1,36 @@ + +.warnings{ + position : fixed; + display : inline-block; + z-index : 10001; + padding : 20px; + padding-bottom : 10px; + padding-left : 100px; + right : 0px; + top : @navbarHeight; + background-color : @orange; + color : white; + i{ + position : absolute; + left : 30px; + opacity : 0.8; + font-size : 3em; + } + small{ + opacity : 0.7; + font-size : 0.6em; + } + h3{ + font-size : 1.1em; + font-weight : 800; + } + ul{ + margin-top : 15px; + font-size : 0.8em; + list-style-position : inside; + list-style-type : disc; + li{ + line-height : 1.6em; + } + } +} \ No newline at end of file