diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index 77f246a8b..371219240 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -16,6 +16,8 @@ const HelpNavItem = require('../../navbar/help.navitem.jsx'); const NaturalCritIcon = require('naturalcrit/svg/naturalcrit.svg.jsx'); +const saveLocationKey = 'HOMEBREWERY-DEFAULT-SAVE-LOCATION'; + const AccountPage = createClass({ displayName : 'AccountPage', getDefaultProps : function() { @@ -29,6 +31,31 @@ const AccountPage = createClass({ uiItems : this.props.uiItems }; }, + componentDidMount : function(){ + if(!this.state.saveLocation) { + const saveLocation = window.localStorage.getItem(saveLocationKey) || ''; + if(saveLocation == '') { + // TO DO: Implement logic to determine the appropriate location given current state + console.log(this.state.uiItems); + }; + this.setState({ + saveLocation : saveLocation + }); + } + }, + + makeActive : function(newSelection){ + if(this.state.saveLocation == newSelection) return; + window.localStorage.setItem(saveLocationKey, newSelection); + this.setState({ + saveLocation : newSelection + }); + }, + + renderButton : function(name, key, condition=true){ + if(!condition) return; + return ; + }, renderNavItems : function() { return @@ -48,6 +75,13 @@ const AccountPage = createClass({

Username: {this.props.uiItems.username || 'No user currently logged in'}

Last Login: {moment(this.props.uiItems.issued).format('dddd, MMMM Do YYYY, h:mm:ss a ZZ') || '-'}

+
+

Default Save Location

+ {/* */} + {this.renderButton('Homebrewery', 'HOMEBREWERY')} + {/* {this.state.uiItems.googleId ? : <>} */} + {this.renderButton('Google Drive', 'GOOGLE-DRIVE', this.state.uiItems.username)} +

Homebrewery Information

Brews on Homebrewery: {this.props.uiItems.mongoCount}

diff --git a/client/homebrew/pages/basePages/uiPage/uiPage.less b/client/homebrew/pages/basePages/uiPage/uiPage.less index fc5ed583d..913c74a2e 100644 --- a/client/homebrew/pages/basePages/uiPage/uiPage.less +++ b/client/homebrew/pages/basePages/uiPage/uiPage.less @@ -16,6 +16,23 @@ margin : 5px 0px; border : 2px solid black; border-radius : 5px; + button { + background-color : transparent; + border : 1px solid black; + border-radius : 5px; + width : 125px; + color : black; + margin-right : 5px; + &.active { + background-color: #0007; + color: white; + &:before { + content: '\f00c'; + font-family: 'FONT AWESOME 5 FREE'; + margin-right: 5px; + } + } + } } h1, h2, h3, h4 { width : 100%; diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index 0f18d42be..923c4d61e 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -20,9 +20,10 @@ const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx'); const { DEFAULT_BREW } = require('../../../../server/brewDefaults.js'); -const BREWKEY = 'homebrewery-new'; +const BREWKEY = 'homebrewery-new'; const STYLEKEY = 'homebrewery-new-style'; -const METAKEY = 'homebrewery-new-meta'; +const METAKEY = 'homebrewery-new-meta'; +const SAVEKEY = 'HOMEBREWERY-DEFAULT-SAVE-LOCATION'; const NewPage = createClass({ @@ -54,6 +55,7 @@ const NewPage = createClass({ const brewStorage = localStorage.getItem(BREWKEY); const styleStorage = localStorage.getItem(STYLEKEY); const metaStorage = JSON.parse(localStorage.getItem(METAKEY)); + const saveStorage = localStorage.getItem(SAVEKEY); brew.text = brewStorage ?? brew.text; brew.style = styleStorage ?? brew.style; @@ -64,7 +66,8 @@ const NewPage = createClass({ brew.lang = metaStorage?.lang ?? brew.lang; this.setState({ - brew : brew + brew : brew, + saveGoogle : (saveStorage == 'GOOGLE-DRIVE' && this.state.saveGoogle) }); }